1、c语言期末考试试题及答案1. 一个C程序的组成部分可以是()。A)一个主函数和一至若干个其他函数B)一至若干个主函数C)一个主程序和一至若干个其他函数D)一个主程序和一至若干个子程序2. 一个C程序的执行是从()。 (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 (C)本程序的main函数开始,到本程序文件的最后一个函数结束 (D)本程序文件的第一个函数开始,到本程序main函数结束3. 语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、
2、数字和下划线中任一种字符 4. 设有定义:intm=1,n=-1;则执行语句printf(%dn,(m-&+n);后的输出结果是()。A)1 B)0 C)1 D)2 5. 表达式11&10的结果用二进制表示为()。A)11B)3C)1D)106. 设有语句inta=3;则执行语句a+=a-=a*a后,变量a的值是()。(A)3(B)0(C)9(D)-127. 在下列选项中,不的赋值语句是()。A)t/=5;B)n1=(n2=(n3=0); C)k=i=j;D)a=b+c=1;8. 下列( )表达式不满足:当x的值为偶数时值为真,为奇数时值假。A)X%2=0 B)!x%2!=0C)(x/2*2-
3、x)=0D)!(x%2) 9. 若有定义: int a=8, b= 5, c; 执行语句c=a/b+0.4 后 c的值为()A) 1.4 B)1 C) 2.0 D)2 10. 假设a=3,b=4,c=5,则逻辑表达式: !(a+b)+c-1&b+c/2的值是()。A)trueB)falseC)0D)1 11. 若inta=3,b=4;则执行c=a+2|b-=4之后,b变量的值为()。A)3B)0C)4D)212. 以下哪个表达式的值为4()A)11/3B)11.0/3C)(flaot)11/3D)(int)(11.0/3+0.5) 13. 若变量a,i已经正确定义,且i已经正确赋值,合法的语句
4、是()A) a=1 B) +i C) a=a+=5 D)a=int(i) 14. 以下程序的输出结果是()int a=1234;printf(%2d,a);A) 12 B) 34 C)1234 D) 提示错误,无结果 15. 设x,y分别为单精度和双精度类型变量,则下列选项()可将表达式x+y的运算结果强制转换为整型数据。A)(int)x+yB)int(x)+y C)int(x+y)D)(int)(x+y)16. 当a=3,b=2,c=1时,表达式f=abc执行完后f的值是()A)1B)0C)3D)2 17. 若x=2,y=1,则表达式xy?1:1.5的值为()A)1 B)1.5C)1.0D)
5、2 18. 在位运算中,操作数每左移一位,其结果相当于() A)操作数乘以2B)操作数除以2C)操作数乘以4D)操作数除以4 19. 在位运算中,某操作数右移3位,其结果相当于() A)操作数乘以6B)操作数除以6C)操作数乘以8D)操作数除以8 20. 在C语言中,若以下变量均为int型,则下面程序段的输出结果是()。s=6,u=6;u=s+;u+;printf(%d,u);A)7B)6C)5D)421. 若有定义:intx,y;chara,b,c;并有以下输入数据:x=12ABC,则能给x赋整数1,给赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的程序段是()A)scanf(x%dy=
6、%d,&x,&y);a=getch();b=getch();c=getch();B)scanf(x=%d%d,&x,&y);a=getch();b=getch();c=getch();C)scanf(x=%d%d%c%c%c,7x,&y,&a,&b,&c);D)scanf(x=%d%d%c%c%c%c%c,&x,&y,&a,&b,&b,&c,&c);22. 如下程序: #include voidmain() intm,n,k; m=(n=4)+(k=10-7); printf(“m=%dn”,m); 运行后m的值为()。(A)4(B)3(C)7(D)1423. 结构化程序的三种基本结构是()。
7、(A)顺序结构、选择结构、循环结构(B)递归结构、循环结构、转移结构(C)嵌套结构、递归结构、顺序结构(D)循环结构、转移结构、顺序结构24. 有如下程序main()floatx=4.0,y;if(x0.0)y=0.0;elseif(x10.0)y=1.0/x;elsey=1.0;printf(“%fn”,y);该程序的输出结果是()A)0.0B)0.25C)0.5D)1.025. 设inta=0,b=5,c=2;选择可执行x+的语句是()。(A)if(a)x+(B)if(a=b)x+;(C)if(a=b)x+;(D)if(!(b-c)x+;26. 下列程序段运行后,x的值是()。inta,b
8、,c,x;a=b=c=0;x=35;if(!a)x-;elseif(b);if(c)x=3;elsex=4;A)3B)4C)34D)35 27. 若要求在if后一对圆括号中表示a不等于0的关系,则能表示这一关系的表达式为A)a0B)!aC)a=0D)a28. 若N为整型变量,则for(N=10;N=0;N-);循环里的循环体被()。A)无限循环 B)执行10次 C)执行一次 D)一次也不执行 29. 下列程序段运行后i的值是()。inti=10switch(i+1) case10:i+;break;case11:+i;case12:+i;break;default:i=i+1; A)11B)1
9、3C)12D)1430. 以下程序的输出结果为()。#includemain()inti;for(i=0;i10;i+);printf(%d,i);(A)0(B)123456789(C)0123456789(D)10 31. C语句for(;)是指()。(A)无意义(B)无限循环(C)循环执行1次(D)循环执行0次32. 有如下程序main()intx=1,a=0,b=0;switch(x)case0:b+;case1:a+;case2:a+;b+;printf(“a=%d,b=%dn”,a,b);该程序的输出结果是()A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=23
10、3. 如果程序中有#include文件名则意味着()。(A)将文件名所指的该文件的全部内容,复制插入到此命令行处。(B)指定标准输入输出 (C)宏定义一个函数 (D)条件编译说明 34. 要将一个整数12000分别以ASCII码文件和二进制文件形式存放,各自所占的存储空间数分别是()字节。A)5和2B)2和5C)2和2D)5和5 35. 在下面关于一维数组的定义中,其中()有语法错0。A)intx=1,2,3,4,5; B)intx5=0;C)intx; D)intx5; 36. 设有字符数组a,则的输入语句是()。(A)gets(a);(B)scanf(%c,a); (C)scanf(%s,
11、a);(D)gets(a); 37. 函数调用“strcat(strcpy(str1,str2),str3)”的功能是()。(A)将字符串str1复制到字符串str2后再连接到字符串str3之后(B)将字符串str1连接到字符串str2后再复制到字符串str3之后(C)将字符串str2复制到字符串str1后再将字符串str3连接到str1之后(D)将字符串str2连接到字符串str1后再将str1复制到字符串str3中 38. 定义如下变量和数组:inti;intx33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是()。for(i=0;ic)&(a+cb)&(b+ca)print
12、f(“YES”);_5_printf(“NO”);3计算1-100的和main ()int i,sum;sum=0;i=_6_;do sum=sum+i; i+ while(i=_7_);printf(%dn,sum);4、* 计算每个学生成绩的平均分,并把结果保存在数组bb中。例如,当scoreNM83.5,82,86,65,67,80,91.5,84,99,95,90.5,95,86,95,97时,三个学生的平均分为76.7,89.9,92.7。#include #define N 3#define M 5void _8_ (int x,int y,float cc,float aa5)i
13、nt i,j;for(i=0;ix;i+) for(j=0;jy;j+)cci+=aaij;cci/=y; void main() int i; static float scoreNM=83.5,82,86,65,67,80,91.5,84,99,95,90.5,95,86,95,97; float _9_N; for(i=0;iN;i+)bbi=0; Fun(N,M,bb,score); for(i=0;iN;i+)printf(nstudent%dtaverage=%5.1f,i+1,bbi); printf(n);5.判断某个大于2的证书是否是素数main() int n, i, fl
14、ag; scanf(%d, _10_); for(i=2;in;i+) if(n%i=0) flag =0; _11_; if(flag!=0) printf(yes); else printf(no);6.输出程序的运行结果main() int a, b; int *p_1, *p_2; a=100; b=10; p_1=&a; p_2=&b; printf(%d%d,*p_1,*p_2);运行结果_12_ ,_13_7.打印9*9乘法表,输出格式要求为:1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=9main() int m,n ; for(m=1; m=9;m+) fo
15、r(n=1;n_14_m;n+) printf(%d*%d=%2d,m,m,m*n); printf(_15_); 编程1. * 编写程序:* 计算20到30的每个整数立方根之和(保留小数点后两位)参考答案:#include #include int main() int i;double s=0; for(i=20; i=30; i+) s=s+pow(i,1.0/3); /如果平方根改为s=s+sqrt(i); printf(%.2fn,s); return 0; 运行结果:32.11* 编写程序:* 读取文件wj6.txt中数据,一行为一组,作为三角形三边长,统计有多少组能组成三角形。参
16、考答案:#include int main() int a,b,c,k=0;FILE *p;p=fopen(D:wj6.txt,r); while(!feof(p) fscanf(p,%d%d%d,&a,&b,&c); if(a+bc&b+ca&c+ab) k+; printf(%dn,k); fclose(p); return 0; C语言001选择1.A 2.A 3.C 4.B 5.D 6.D 7.D 8.B 9.B 10.D 11.C 12.D 13.B 14.C 15.D 16.B 17.C 18.A 19.D 20.B21.D 22.C 23.A 24.B 25.B 26.B 27.D 28.D 29.C 30.D 31.B 32.A 33.A 34.A 35.C 36.C 37.C 38.C 39.A 40.C41.A 42.C 43.B 44.D 45.A 46.B 47.D 48.A 49.C 50.A填空1.%d 2.case 3.default4.float 5.else6. 1 7. 1008. Fun 9.bb10. &n 11.break12.100 13. 1014.= 15.n
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1