1、东北大学秦皇岛c语言考试题13一、选择题答案 1. 以下所列的C语言常量中,错误的是A) 0xFF B) 1.2e0.5C) 2LD) 72你所选择的答案是:*,正确答案是:B 2. 有以下程序段int k=0while(k=1)k+;循环执行的次数是A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次你所选择的答案是:*,正确答案是:A 3. 以下程序执行后sum的值是main() int i , sum; for(i=1;i6;i+) sum+=i; printf(%dn,sum);A)15B)14C) 不确定D)0你所选择的答案是:*,正确答案是:C 4. 下列程序段的输
2、出结果是void fun(int *x, int *y) printf(%d %d, *x, *y); *x=3; *y=4;main() int x=1,y=2; fun(&y,&x); printf(%d %d,x, y);A) 2 1 4 3B) 1 2 1 2C) 1 2 3 4D) 2 1 1 2你所选择的答案是:*,正确答案是:A 5. 当调用函数时,实参是一个数组名,则向函数传送的是A) 数组的长度B) 数组的首地址C) 数组每一个元素的地址D) 数组每个元素中的值你所选择的答案是:*,正确答案是:B 6. 设有以下说明语句struct ex int x ; float y; c
3、har z ; example;则下面的叙述中不正确的是A) struct结构体类型的关键字B) example是结构体类型名C) x,y,z都是结构体成员名D) struct ex是结构体类型你所选择的答案是:*,正确答案是:B 7. 以下有4组用户标识符,其中合法的一组是A) For -sub CaseB) 4d DO SizeC) f2_G3 IF abcD) WORD void define你所选择的答案是:*,正确答案是:C 8. 以下程序的输出结果是#include stdio.hmain() int a, b; for(a=1, b=1; a=10) break; if(b%3=
4、1) b+=3;continue; printf(%dn,a);A) 101B) 6C) 5 D) 4你所选择的答案是:*,正确答案是:D 9. 在16位C编译系统上,若定义long a; ,则能给a赋40000的正确语句是A) a=20000+20000;B) a=4000*10;C) a=30000+10000; D) a=4000L*10L;你所选择的答案是:*,正确答案是:D 10. 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是A) fopen(A:userabc.txt,r)B) fopen(A:userabc.txt,r+)C
5、) fopen(A:userabc.txt,rb)C) fopen(A:userabc.txt,w)你所选择的答案是:*,正确答案是:B 11. 已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量101是A) 字符AB)字符aC)字符eD)非法的常量你所选择的答案是:*,正确答案是:A 12. 已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是A) scanf(%2d%2d%2d,&i,&j,&k);B) scanf(%d %d %d,&i,&j,&k);C) scanf(%d,%
6、d,%d,&i,&j,&k);D) scanf(i=%d,j=%d,k=%d,&i,&j,&k);你所选择的答案是:*,正确答案是:C 13. 以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下: main() int n,k; float score ,sum,ave; sum=0.0; for(n=1;n=10;n+) for(k=1;k=4;k+) scanf(%f,&score); sum+=score; ave=sum/4.0; printf(NO%d:%fn,n,ave); 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不
7、正确。这条语句是A) sum=0.0;B) sum+=score;C) ave=sun/4.0;D) printf(NO%d:%fn,n,ave);你所选择的答案是:*,正确答案是:A 14. 有以下程序main() char a =a,b,c,d, e, f, g,h,0; int i,j; i=sizeof(a); j=strlen(a); printf(%d,%dbi,j);程序运行后的输出结果是A)9,9B)8,9C)1,8D)9,8你所选择的答案是:*,正确答案是:D 15. 以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。void reverse(int a ,i
8、nt n) int i,t; for(i=0;i t=ai; ai=an-1-i;an-1-i=t;main() int b10=1,2,3,4,5,6,7,8,9,10; int i,s=0; reverse(b,8); for(i=6;i10;i+) s+=bi; printf(%dn,s);程序运行后的输出结果是A) 22B) 10C) 34D) 30你所选择的答案是:*,正确答案是:A 16. 有以下程序main() int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6; int i,s=0 for(i=0;i4;i+) s+=aai1; printf(%
9、dn,s);程序运行后的输出结果是A) 11B) 19C) 13D) 20你所选择的答案是:*,正确答案是:B 17. 有以下程序#include main() FILE *fp; int i=20,j=30,k,n; fp=fopen(d1.datw); fprintf(fp,%dn,i);fprintf(fp,%dnj); fclose(fp); fp=fopen(d1.dat, r); fp=fscanf(fp,%d%d,&k,&n); printf(%d%dn,k,n); fclose(fp); 程序运行后的输出结果是A) 20 30B) 20 50C) 30 50D) 30 20你所
10、选择的答案是:*,正确答案是:A 18. 有以下程序int fa(int x) return x*x; int fb(int x) return x*x*x; int f(int (*f1)(),int (*f2)(),int x) return f2(x)-f1(x); main() int i; i=f(fa,fb,2); printf(%dn,i);程序运行后的输出结果是A) -4B) 1C) 4D) 8你所选择的答案是:*,正确答案是:C 19. 有以下程序void ss(char *s,char t) while(*s) if(*s=t) *s=t-a+A; s+; main() c
11、har str1100=abcddfefdbd,c=d; ss(str1,c); printf(%sn,str1);程序运行后的输出结果是A) ABCDDEFEDBDB) abcDDfefDbDC) abcAAfefAbAD) Abcddfefdbd你所选择的答案是:*,正确答案是:B 20. 有以下程序#include main() char *p,*q; p=(char*)malloc(sizeof(char)*20); q=p; scanf(%s%s,p,q); printf(%s%sn,p,q); 若从键盘输入:abc def,则输出结果是:A) def defB) abc defC)
12、 abc dD) d d你所选择的答案是:*,正确答案是:A 21. 以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。#include void f(char p10,int n) char t20; int i,j; for(i=0;iN-1;I+) for(j=i+1;jN;J+ if(strcmp(pi,pj)0) strcpy(t,pi);strcpy(pi,pj);strcpy(pj,t);main() char p10=abc,aabdfg,abbd,dcdbe,cd;int i; f(p,5); printf(%dn,strlen(p0); 程序运行后的输出结果是A
13、) 6B) 4C) 5D) 3你所选择的答案是:*,正确答案是:C 22. 以下叙述中正确的是()。A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚,具有其他语言的一切优点你所选择的答案是:*,正确答案是:C 23. 有以下程序段int m=0,n=0; char c=a; scanf(%d%c%d,&m,&c,&n); printf(%d,%c,%dn,m,c,n);若从键盘上输入:10A10,则输出结果是:()。A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 1
14、0,A,0你所选择的答案是:*,正确答案是:A 24. 有以下程序main() int i; for(i=0;ibc) printf(%dn,d);else if(c-1=d)=1) printf(%dn,d+1);elseprintf(%dn,d+2)执行后输出结果是()。A) 2 B) 3 C) 4 D) 编译时有错,无结果你所选择的答案是:*,正确答案是:B 26. 阅读以下函数fun(char *s1,char *s2) int i=0;while(s1i=s2i& s2i!=0)i+;return(s1i= & s2i!=0);此函数的功能是()。A) 将s2所指字符串赋给s1B)
15、比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0C) 比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0D) 比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0你所选择的答案是:*,正确答案是:C 27. 已定义c为字符型变量,则下列语句中正确的是()。A)c=97; B)c=97; C)c=97; D)c=a;你所选择的答案是:*,正确答案是:C 28. 以下不能正确定义二维数组的选项是()。A)int a22=1,2; B)int a2=1,2,3,4;C)int a22=1,2,3; D)int a2=1,2,3,4
16、;你所选择的答案是:*,正确答案是:D 29. 以下程序 main() int x=3, y=2, z=1; printf(%dn,x/y&z); 程序运行后的输出结果是()。A)3 B)2 C)1 D)0你所选择的答案是:*,正确答案是:D 30. 你所选择的答案是:*,正确答案是:B 31. 以下4组用户定义标识符中,全部合法的一组是()。A) _main enclude sinB) If-maxturboC) txt REAL 3COMD)int k_2 _001你所选择的答案是:*,正确答案是:A 32. 设有以下定义 #define d 2 int a=0; double b=1.2
17、5; char c=A; 则下面语句中错误的是()。 A) a+; B) b+ C) c+; D) d+;你所选择的答案是:*,正确答案是:D 33. 以下4个选项中,不能看作一条语句的是()。 A) ; B) a=0,b=0,c=0; C) if(a0); D) if(b=0) m=1;n=2;你所选择的答案是:*,正确答案是:D 34. 以下程序段中与语句k=ab?(bc?1:0):0;功能等价的是()。A) if(aB) &(bC) ) k=1; else k=0;B) if(aB) |(bC) ) k=1 else k=0;C) if(a=B) k=0; else if(bB) k=1
18、; else if(bC) k=1;你所选择的答案是:*,正确答案是:A 35. 若程序中定义了以下函数 double myadd(double a,double B) return (a+B) ;并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()。 A) double myadd(double a,B) ; B) double myadd(double,double); C) double myadd(double b,double A) ; D) double myadd(double x,double y);你所选择的答案是:*,正确答案是:A 36.
19、有以下程序 main() char a=a,b; print(%c,+a); printf(%cn,b=a+); 程序运行后的输出结果是()。A)b,bB)b,cC)a,bD)a,c 你所选择的答案是:*,正确答案是:A 37. 下列条件语句中,功能与其他语句不同的是 ()。A) if(a) printf(%dn,x); else printf(%dn,y);B) if(a=0) printf(%dn,y); else printf(%dn,x);C) if (a!=0) printf(%dn,x); else printf(%dn,y);D) if(a=0) printf(%dn,x); e
20、lse printf(%dn,y); 你所选择的答案是:*,正确答案是:D 38. 有以下程序 main() char a,b,c,d; scanf(%c,%c,%d,%d,&a,&b,&c,&d); printf(c,%c,%c,%cn,a,b,c,d); 若运行时从键盘上输入:6,5,65,66。则输出结果是()。A)6,5,A,BB)6,5,65,66C)6,5,6,5D)6,5,6,6 你所选择的答案是:*,正确答案是:A 39. 有以下定义和语句int a32=1,2,3,4,5,6,*p3;p0=a1;则*p0+1)所代表的数组元素是()。A)a01 B)a10C)a11D)a12
21、你所选择的答案是:*,正确答案是:C 40. 有以下程序 main() char str10=China,Beijing,*p=str; printf(%sn,p+10); 程序运行后的输出结果是()。A) ChinaB)BejingC)ng D)ing 你所选择的答案是:*,正确答案是:B 41. 已有定义:int i,a10,*p;,则合法的赋值语句是()。A)p=100;B)p=a5;C)p=a2+2;D)p=a+2;你所选择的答案是:*,正确答案是:B 42. 设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是()。A)c1c2B)c1&c2C)c2D)c1|c
22、2你所选择的答案是:*,正确答案是:A 43. 有以下程序 void fun(int *a,int i,int j) int t; if(iJ) t=a;a=aj;aj=t; i+; j-; fun(a,i,j); main() int x=2,6,18,i; fun(x,0,3); for(i=0;inum B)p-numC)(*p).num D)stu3.age你所选择的答案是:*,正确答案是:D 45. 以下能正确定义一维数组的选项是 ()。A)int a5=0,1,2,3,4,5;B)char a=0,1,2,3,4,5;C)char a=A,B,C;D)int a5=0123;你所选
23、择的答案是:*,正确答案是:B 46. 以下叙述中错误的是 ()。A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占存储区的首地址,其值不可改变C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D)可以通过赋初值的方式确定数组元素的个数你所选择的答案是:*,正确答案是:C 47. 以下语句或语句组中,能正确进行字符串赋值的是()。A)char *sp; *sp=right!;B)char s10; s=right!;C)char s10; *s=right!;D)char *sp=right!;你所选择的答案
24、是:*,正确答案是:D 48. 有以下程序main()int a=1,b;for(b=1;b=8) break;if(a%2=1) a+=5; continue;a-=3;printf(%d ,b);程序运行后的输出结果是 ()。A)3B)4C)5D)6你所选择的答案是:*,正确答案是:B 49. 有以下程序main()int num44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j;for(i=0;i4;i+)for(j=1;j=i;j+) printf(%c, );for(j= j4;j+) printf(%4d,numij);printf( );若要按以下形式输出数组右上半三角1 2 3 46 7 811 1216则在程序下划线处应填入的是 ()。A) i-1B) iC) i+1D) 4-i你所选择的答案是:*,正确答案是:B 50. 有以下程序段 int k=0,a=1,b=2,c=3; k=ac?b:k;执行该程序段后,k的值是()。 A)3 B)2 C)1 D)0你所选择的答案是:*,正确答案是:B 51. 若有定义:int
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1