东北大学C语言期末考试题及答案.pdf
《东北大学C语言期末考试题及答案.pdf》由会员分享,可在线阅读,更多相关《东北大学C语言期末考试题及答案.pdf(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、东北大学 C 语言期末考试题及答案(1)6、执行下面程序段的结果是_B_。main()int x=1,a=0,b=0;switch(x)case 0:b+;case 1:a+;case 2:a+;b+;printf(a=d,b=d,a,b);a=1,b=1a=2,b=1a=1,b=0a=2,b=210、下面关于局部变量的描述中,错误的是_D_.函数的局部变量的有效范围只能在本函数函数的形式参数也是局部变量局部变量的名称不能和函数同名称不同的函数中不能定义相同名称的局部变量11、下列初始化字符数组的语句中,错误的是_A_。char str5=”hello;char str=h,e,l,l,o,0
2、;char str5=”hi”;char str100=”;13、已知:char str10,*p=str;下面的语句中正确的是_B_.str=ABC;p=ABC;str=ABC;p=ABC;14、下面语句中,错误的是_D_.int i;int p;p=&i;int i,*p;p=a;int i,p=&a;int i,*p;p=i;15、下面对于结构体类型的描述正确的是_A_.结构体类型的大小为各成员变量所占内存的总和结构体类型变量与简单数据类型变量的引用规则一致。结构体类型的大小为其成员中所占内存空间最大的变量的大小结构体类型的大小为其最后一个成员中所占内存空间的大小17、表达式 18/4*
3、sqrt(4.0)/8 值的数据类型是 _C_。intfloatdouble不确定18、在 c 语言中,char 型数据在内存中的存储形式是 _D_.补码反码原码ASCII 码19、阅读以下程序,当输入的数据形式为:25,13,10时,正确的输出结果为_D_.main()int x,y,z;scanf(”dd%d”,&x,&y,&z);printf(”x+y+z=%dn,x+y+z);x+y+z=48x+y+z=35x+z=35不能确定21、判断 char 型变量 s 是否为小写字母的正确表达式是_C_.a=s=z(s=a)(s=z)(s=a)&(s=s)22、执行以下语句后,y 的值为_A_
4、。int x,y,z;x=y=z=0;+x|+y&+z;012不确定值23、有如下程序段:int number=0;while(number+=3)printf(“%dn”,number+);则正确的执行结果是_C_。2 3 40 1 21 32 424、有如下程序 void main()int n=9;while(n6)n-;printf(“%d”,n);该程序段的输出结果是_B_.9878768765987625、要使以下程序段输出10 个整数,请在空格中填入一个整数.for(i=0;i void f(char*s,int n)char a,*q1,q2;q1=s;q2=s+n1;whil
5、e(q1q2)a=*q1+;*q1=q2-;q2=a;main()char b=ABCDEFG”;f(b,sGAGGAGAAGAAGAGGFEDCBAAGADAGA36、定义如下的结构体描述同学信息 struct Student unsigned long id;char name 30;char class30;s;假设此同学的序号为 1002,姓名为黎明,班级为冶金班,则描述正确的为_C_。id=1002;name=黎明;class=冶金班;id=1002;name=黎明”;class=”冶金班”;s。id=1002;s。name=”黎明;s.class=”冶金班;s。id=1002;s.
6、name=黎明;s.class=冶金班;37、用来描述 C 程序中注释的是_C_。/*38、下列变量中合法的定义是_A_.short _a=21long if=0 xabcLdouble 1_d=1.5e2float a=1.5e2.739、当 c 的值不为 0 时,能够将 c 的值赋给变量 a 和 b 的是_C_c=b=a(a=c)|(b=c)(a=c)&(b=c)a=c=b40、设有以下程序段,执行后的输出结果是_B_ int x=100,y=200;printf(”%d”,(x,y));100200100,200编译出错东北大学 C 语言期末考试题及答案(2)1、若执行下面的程序时从键盘
7、输入10,则输出是_B_ main()int a;scanf(“%d”,a);if(a+10)printf(“%dn”,+a);else printf(”dn,a-);12111094、以下关于循环的描述中,错误的是_D_.可以用 for 语句实现的循环一定可以用while 语句实现可以用 while 语句实现的循环一定可以用for 语句实现可以用 dowhile 语句实现的循环一定可以用while 语句实现dowhile 语句与 while 语句的区别仅仅是关键字while 的位置不同5、下面的描述错误的是_C_。函数可以有多个形式参数函数可以没有返回值函数内可以嵌套定义函数函数可以被其他函
8、数调用6、函数返回值的类型是由_A_决定的。定义函数时指定的返回类型函数中 return 语句的表达式类型主调函数的实际参数类型主调函数的返回值类型7、定义了一维 int 型数组 a10后,下面错误的引用是_B_.a0=1;a10=2;a0=5*2;a1=a2*a0;8、定义了 int 型二维数组 a67后,数组元素 a34前的数组元素个数为_B_.242518179、下面语句中,错误的是_D_。int i;int*p;p=i;int i,*p;p=a;int i,p=&a;int i,*p;p=i;10、已知 int 型二维数组 a34,数组元素 a12的地址不能表达为_C_。&a12a1+
9、2a1+2*(a+1)+211、C 语言中,5 种基本数据类型的存储空间长度的排列顺序为_A_。charchar=intcharchar=int=long int=float12、假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是 _B_。786213、若有说明语句:char c=72;则变量 c _A_.包含 1 个字符包含 2 个字符包含 3 个字符说明不合法,c 的值不确定14、若x,y均定义为整型,z定义为double型,以下不合法的scanf函数调用语句是_C_。scanf(”dlx,%le”,&x,y,&z);scanf(2d*dlf,&x,y,z);scanf(
10、%x%d%o”,&x,&y,&z);scanf(x%o6。2f”,x,&y,&z);15、若输入字符串:abcde回车,则以下 while 循环体将执行_A_次.while((ch=getchar())=e)printf(*);1 次死循环0 次5 次16、执行下面的程序段后,k 的值是_C_。k=1;n=263;dok=n%10;n/=10;while(n);36336217、下面程序段中循环的执行次数是_B_。a=10;b=0;dob+=2;a=2+b;while(a=0);1035418、下面程序段的运行结果是_D_。x=2;doprintf(*”);x;while(!x=0);*没有输
11、出19、下面程序段的运行结果是_B_。i=1;s=1;a=0;doa=a+si;s=s;i+;while(i=10);printf(”%d”,a);2-23020、有如下程序 void main()int a=2,b=-1,c=2;if(a)if(by?x:y;int f2(int x,int y)return xy?y:x;main()int a=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d);f=f1(f2(a,b),f2(c,d);g=a+b+c+def;printf()_A_4,3,73,4,75,2,72,5,724、若有说明:int a3=1,2,
12、3,4,5,6,7;则数组 a 第一维的大小是_B_.234无确定值25、判断字符串 s1 是否大于字符串 s2,应当使用_D_。if(s1s2)if(strcmp(s1,s2)if(strcmp(s2,s1)0)if(strcmp(s1,s2)0)26、当运行以下程序时,从键盘输入:AhaMA AhaCR 表示回车,则下面程序的运行结果是_A_.#include”stdio。h”main()char s80,c=a;int i=0;scanf(”%s,s);while(si!=0)if(si=c)ahAMaAhAMaAhAMa ahAahAMa ahA27、以下程序执行后a 的值为_C_。m
13、ain()int a,m=2,k=1,p=k;a=p!=&m;printf(”%dn,a);101228、以下能正确读入字符串的程序段是_C_。char p;scanf(%s,p);char str10;scanf(s,str);char str10,*p;p=str;scanf(%s,p);char str10,*p=str;scanf(”s,p1);29、若有定义:int i,x34;,则不能将 x11的值赋给变量 i 的语句是_B_。i=x11i=*(*(x+1)i=*(*(x+1)+1)i=*(x1+1)30、下面程序的运行结果是_A_.#include stdio.h include
14、 y)if(y z)x=y;elsez=y;765436、执行下面程序段的结果是_D_ int x=0;do printf(“2d,x-);while(x);打印出 321打印出 23不打印任何结果陷入死循环37、以下关于 switch 语句和 break 语句的描述正确的是_D_在 switch 语句中必须使用 break 语句break 语句只能用于 switch 语句体中break 语句只能用于循环语句中在 switch 语句中可以使用 break 语句38、与语句 while(!x)等价的语句是_A_while(x=0)while(x!=0)while(x!=1)while(x)39、
15、下面的描述错误的是_C_函数可以有多个形式参数函数可以没有返回值函数内可以嵌套定义函数函数可以被其他函数调用40、下面关于局部变量的描述中,错误的是_D_函数的局部变量的有效范围只能在本函数函数的形式参数也是局部变量局部变量的名称不能和函数同名称不同的函数中不能定义相同名称的局部变量东北大学 C 语言期末考试题及答案(3)1、定义了一维 int 型数组 a10后,下面错误的引用是_正确答案是:Ba0=1;a10=2;a0=5*2;a1=a2*a0;2、设有定义:int a=1,p=&a;float b=2.0;char c=A;,以下不合法的运算是()正确答案是:Cp+;a-;b+;c-;3、
16、若有定义:int x10,p=x;,则(p+5)表示()正确答案是:B数组元素 x5的地址数组元素 x5的值数组元素 x6的地址数组元素 x6的值4、执行以下程序段后,y 的值是()。int a=1,3,5,7,9 int x=0,y=1,*ptr;ptr=&a1;while(!x)y+=*(ptr+x);x+;正确答案是:C124245、下面程序的运行结果是()。include stdio.h void select(char s)int i,j;char t;t=s;for(i=0,j=0;(t+i)!=0;i+)if(t+i)=0&*(t+i)=9)*(s+j)=(t+i);j+;(s+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东北大学 语言 期末 考试题 答案
限制150内