1、C语言试题答案仅供参考1. 分析下面的C语言代码:char ch; while(ch=getchar()!=e) printf(“*”); 若输入字符串:abcde,则以上while循环体将执行(D)次。(选择一项) A)0 B)1 C)5 D)42. 下列C程序段的输出结果是(C)。(选择一项) void main() int a4 = 5,2,3,4; int *p; p = a; p += 2; printf(“%d”,*p);A) 1B) 2C) 3D) 43. 在C语言中,假设:char w; int x; float y; double z; 则表达式:w*x+z-y 值得数据类型
2、为(D)。(选择一项) A) floatB) charC) intD) double4. 已知十六进制数1A的十进制数为26,请问十六进制数2B的十进制数表示是(D)。(选择一项)a) 27b) 37c) 42d) 435. 在C语言中,下列代码输出的结果是(D)。#includevoid main() int i; int bookNum=4; int totalPrice=0; int bookPrice4=10,20,30,40; for(i=0;i4;i+=2) totalPrice+=bookPricei; i-;printf(“%d”,totalPrice);(选择一项)A)30B
3、)40C)60D)1006. 在语言中有如下定义:int a10;则对a数组元素的正确引用是(AD)。(选择二项)a) a10b) a3+1c) a(5)d) a07. 在C语言中,下列代码的运行结果是(C)。(选择一项)#include #include void main()double squ,power,value;squ=sqrt(4.0);power = pow(3.0,2);value = pow(power,squ);printf(%1.0f,value);a) 1b) 16c) 81d) 2568. 下列C语言代码的运行结果是(A)。(选择一项)#include#includ
4、e(string.hvoid main() char str10 = “12345”; strcat(str,”6789”); printf(“%sn”,str);a) b) c) d) 9. void main() char ch; ch=a+3; putchar(ch); 上述C语言代码的输出是(D)。(选择一项)A)aB)100C)cD)d10. 在C语言中,下列程序的输出结果是(A)。(选择一项)#includeint f(int m) static int k=3; k+; return k+m;void main() int s;s=f(2);printf(“%d,%dn”,s,f
5、(s); a) 6,11b) 6,9c) 6,8d) 4,611. 分析下面的语言代码:下面说法正确的是(A)。(选择一项)void main()int x=3;do printf(“%d”,x-);while(!x);a) 输出:b) 输出:c) 输出:d) 不输出任何内容12. 在语言中,下列代码的输出结果是(B)。(选择一项)void main()int i,j=0;for(i=1 ; i = 10;i+) if ( i% 5 = 0) break;j += i;printf(“%d,%d”,i,j);a) ,b) ,c) ,d) ,13. 运行下列C语言代码段,输出结果是(B)。(选择
6、一项)#includevoid func(int *a,int b) b=4; *a=b+2;void main() int a=2,b=2; func(&a,b); printf(“%d,%d”,a,b);a) 6,4b) 6,2c) 2,2d) 2,414. 考虑下面的C语言代码:执行后,num的值应该是(B)。(选择一项)#includevoid main() int i,j,num=0; for(i=0;i4;i+) for(j=0;j2;j+) num=num+j; printf(“nThe Value of num is %d”,num); A)2 B)4 C)6 D)815. 在
7、C语言中,以下正确的函数形式是(D) (选择一项) A) double run(int x,y) /此处省略B) double run(x,y) /此处省略C) double run(int x;int y) /此处省略D) double run(int x,int y) /此处省略16. 在C语言中,下面所示的流程图符号代表的是(C)。(选择一项) A) 程序开始或结束 B) 判断和分支 C) 输入/出指令 D) 计算步骤17. 在C语言中,下列代码的输出结果是(A).void main() int i,j=0; for(i=1;i10;i+) if(i%4=0) continue; j+=
8、i; printf(%d,%d,i,j);(选择一项)A) 10,33B) 3,6C) 10,12D) 4,1018. 下列C语言代码的运行结果是(C)。void main() int a=2,b=-1,c=2; if(ab) if(b0) c=0; else c+; printf(%d,c);(选择一项)A) 0B) 1C) 2D) 319. 如下C语言程序段,请问在函数main中可以使用的变量有(B)。(选择一项)#includeint z;int p(int y) static int x; return(x+y);void main() int a b; printf(“%dn”,p(
9、a);A) a,bB) a,b,zC) a,b,y,zD) a,b,x,y,z20. 在C语言中,下列代码的输出结果是(B )。(选择一项)void main() printf(“%1.0fn”,sqrt(4);A) 0B) 2C) 4D)1621. 在C语言中,5/3的值是(A)。(选择一项)A) 1B) -1C) 2D) 1.6722. 在C语言中,下面(B)转义序列表示换行。(选择一项)A) aB) nC) rD) f23. 在C语言中,下列代码运行的结果是().#includevoid main(B) int stuAge5=18,22,26; int i,avgAge=0; for(
10、i=1;i5;i+) avgAge+=stuAgei/5; printf(%d,avgAge);(选择一项)A) 0B) 9C) 11D) 2224. 在C语言中,下列C语言代码的循环体执行的次数是(A).int n=2;while(n=0) printf(%d,n); n-;(选择一项)A) 0次B) 1次C) 2次D) 3次25. 在C语言中,下面不能对字符串正确赋初值得语句是(C)。(选择一项)A) char str5=”good!”;B) char str=”good”;C) char *str=”good!”;D) char str5=g,o,o,d;26. int a=20,b=5
11、0;int *x;x=&a;x=&b;以上C代码执行后,*x的值是(B)(选择一项)A) 20B) 50C) aD) b27. 下列C语言代码输出的结果是()#includestruct abcint a,b,c;void main() struct abc ss2=1,2,3,4,5,6; printf(%dn,ss0.a+ss1.b); (选择一项)A) 5B) 6C) 7D) 828. 在语言中,下列代码的输出结果是(C)。(选择一项)int age=2;int w=sizeof(age);printf(%d,w);A) 0B) 2C) 4D) 829. #includevoid mai
12、n() int a=97,c=65; printf(a=%c,c=%cn,a,c);以上C程序的运行结果是(B)。(选择一项)A) a=%a,c=%AB) a=a,c=AC) a=97,c=65D) a=A,c=a30. 在c语言中,下面(C)正确声明了一个指针变量,并为指针变量赋值。(选择 一项) A) int age=10; int ptr ; ptr=*age; B) int age=10; int ptr ; ptr=&age; C) int age=10; int *ptr ; ptr=&age; D) int age=10; int *ptr ; ptr=age; 31. 在语言中
13、,下列代码的运行结果是(C)。(选择一项)ing a = 2; switch(a) case 1 : printf(“in case 1 a = %d”,a); break; case 2 : printf(“in case 2 a = %d”,a); case 3: printf(“in case 3 a = %d”,a); break; default: printf(“in default a = %d”,a);) in case 1 a = 1in case 2 a 2 B ) in case 1 a = 2in case 2 a = 2 in case 3 a =2 C) in ca
14、se 2 a = 2in case 3 a =2 D) in default a = 232. 下列关于语言变量命名规则说法正确的是(AD)(选择二项)A) 变量名必须以字母或下划线开头B) 变量的第一个字符是字母或数字C) 变量名不区分大小写D) 第一个字母后可以是字母、数字和下划线组成的序列33. 在C语言环境下,设有以下定义,则选项中运行错误的是(A)。(选择一项)#define a 2int b=0;double c = 1.25;char d=A;a) a+b) b+c) c+d) d+34. 在C语言中,下列关于函数和函数调用的说法正确的是(A)。(选择一项) a) 被调函数的定义
15、必须在调用之前b) 除了main函数外,所有其他自定义函数都必须进行声明。c) 在声明函数原形时,参数表里的参数名可以不写。d) 每个函数都有返回类型和参数35. 二元运算符是指处理两个操作数的运算符,以下(B)操作符不是C语言的二元运算符。(选择一项)a) +b) c) %d) &36. 在C语言中,下列变量定义和赋值错误的是(B)。(选择一项)a) short i = 5;int j=i;b) char c = “c”; int j = c;c) float f = c+1;d) float i=5;double d = i;37. 在C语言中,在int num 5 = 10,20,30,
16、40,50;中,num3的值是(C)。(选择一项)a) 30b) 50c) 40d) 10。38. 有如下C语言程序,则程序执行后的输出结果(A)。(选择一项)#includevoid main()int x = 10;int y = 3;int z ;printf(“%dn”,z=x%y);a) 1b) 039. 在C语言中有如下定义,能输出字母M的语句是()。 (选择一项)struct person char name9; int age;struct person team10 = “John”,17,”Scott”,19,”Mary”,18,”Adam”,16;A)printf(“%c
17、n”,team3.name);B)printf(“%cn”,team3.name0);C)printf(“%cn”,team2.name0);D)printf(“%cn”,team2.name1);40. 在C语言中有如下代码,执行后输出的结果是(C)。(选择一项)void main() int i=0; int j=10; for(i=0;isex);42. 在C语言中有如下代码,执行后输出的结果是(A)。(选择一项)#include #include void main() char str110=National; char str220; strcpy(str2,str1); strc
18、at(str2,str1); printf(%s,%sn,str1,str2);A) National, NationalNationalB) National,National, NationalC) National, NationalD) National,National, National,National,43. 某图书管理员在书桌上堆放了共12本的一沓小说,该沓小说有4套,每套小说分为上中下三册,按上中下顺序依次堆放,某学生想看看每套小说上册的价格,因此需要把所有上册小说拿出来。下列代码是模拟学生从该沓书中拿出所有上册小说的过程(输出如图所示的效果),请问在空白处应该填写的代码是
19、()。(选择一项)void main() int i; int bookPrice12; for(i=0;i12;i+) bookPricei = 30 + i%12; for(i=0;空白处) printf(拿出第%d本小说t价格是:%dn,i+1,bookPricei); A)i4;i+=3B)i12;i+C)i12;i+=3D)i4;i+44. 分析如下C语言代码段,输出结果为(B)。(选择一项)includevoid main() int i=6,j=4;printf(%d,i%j);a) 0 b) 2 c) 1.5d) 145. 在C语言中,以下能对一维数组a正确初始化的语句是(CD
20、).(选择二项)a) int a2=1,2; b) int a1=10,20; c) int a=;d) int a2=10;46. 有如下C语言程序,则程序运行后的输出结果为(B)。(选择一项)#include void main() int a=2; int b=3; int c; printf(%dn,c=ab?a:b);a) 2 b) 3 c) 1 d) 047. 有如下C语言程序,运行后m的值为(B)。void main() int a=4; int m=0; int i,j; for(i=0;ia;i+) for(j=0;j=i;j+) m+; (选择一项)a) 9 b) 10 c
21、) 12 d) 1648. 有如下C语言程序:#include int main() int x=1; int y=0; switch(x) case 1: switch(y) case 0: printf(*0*); break; case 1: printf(*1*); break; case 2: printf(*2*); break; 则程序运行后的输出结果是(A)。(选择一项)a) *0* b) *0*1* c) *0*2* d) *0*1*2*49. 分析如下C语言程序段,输出为( B)。 (选择一项) char name14=”tom”; char name24=”cat”; strcpy(name1,name2); printf(“%s”,name1);a) tomb) catc) tomcatd) cattom50. 有如下C语言程序,则程序运行后的输出结果是( C)。 (选择一项) #include int d=1; void fun(int p) int d=5; d+=p+; printf(“%d”,d);void main() int a=3; fun(a); d+=a+; printf(“%d”,d);a) 9 6b) 9 4c) 8 4d) 8 5