《C语言程序设计基础》期末考试试卷‘B’及答案
- 格式:doc
- 大小:41.00 KB
- 文档页数:15
一、单项选择题 1. 在C语言中,下面字符串能用作变量名的是( )。 A、a+b B、auto C、2-and D、a2 2. 若double x=2,y;则执行y=x+3/2;后,y的值是( )。 A、3.500000 B. 3.000000 C. 2.000000 D. 3 3. 下列关于C语言中字符常量与字符串常量的叙述中,错误的是( )。 A、字符常量是用单撇号括起来的一个字符 B、空格字符也可用作字符常量 C、字符串常量是用单撇号括起来的一个字符序列 D、字符串常量是用双撇号括起来的一个字符序列 4. 若有以下变量说明和数据的输入方式,则正确的输入语句为( )。 变量说明:float x1,x2; 数据的输入方式:4.52 3.5 A、scanf(“%f,%f”,&x1,&x2); B、scanf(“%f%f”,&x1,&x2); C、scanf(“%3.2f,%2.1f”,&x1,&x2); D、scanf(“%3.2f%2.1f”,&x1,&x2); 6. 在一个源文件中定义的全局变量的作用域为( )。 A. 本文件的全部范围 B. 从定义该变量开始至本文件结束 C. 本函数的全部范围 D. 本程序的全部范围 7. 当调用函数时,实参是一个数组名,则向函数传送的是( )。 A、数组的长度 B、数组的首地址 C、数组每一个元素的地址 D、数组每个元素中的值 8.若j为整型变量,则下面while循环( )。 j=10; while(j!=0) j=j-1;
A、执行0次 B、执行1次
C、执行10次 D、执行无限次 9. 在while(x)语句中的x与下面条件表达式等价的是: ( )。 A、x!=0 B、 x==1 C、x!=1 D、x==0 10. 以下对C语言函数的描述中,正确的是( )。 A、调用函数时,参数可以是表达式 B、函数的定义可以是嵌套 C、函数必须有返回值 D、所有函数必须在同一个程序文件中定义 12. C语言中函数返回值的类型由( )决定的。 A、return语句中的表达式类型 B、调用该函数的主调函数的类型 C、调用函数时临时决定 D、定义函数时所指定的函数类型 13. 以下定义语句中,错误的是( )。 A、int a[ ]={1,2}; B、int a[ ][3]={1,2,3,4,5}; C、char s[10]=“test”; D、int n=5,a[n]; 14. 若变量c为char类型,能正确判断出c为大写字母的表达式是( )。 A、'A'<=c<= 'Z' B、(c>= 'A')||(c<= 'Z') C、(c>= 'A')&&(c<= 'Z') D、('A'<=c)and ('Z'>=c)
二、填空题(每空2分,共20分) 16.以下if语句执行后,a、b、c中的值分别为________。 int a=1,b=2,c=3; if(a>c) b=a; a=c; c=b; 17.若程序中用到strlen()函数,就在程序开头写上包含命令#include________。 18. 设有以下变量定义,并已赋确定的值 char w; int x; float y; double z; 则表达式:w*x +z-y所求值的数据类型为 。
20. 若int i=10,j=2;则执行i*=j+8;后i的值为 。 21. 若有定义float x,y;则从键盘给x、y输入数据的语句应写为 。 22. 若int a[2][2]={{1},{2,3}};则a[0][1]的值为___________。 23. 条件“y能被4整除但不能被100整除”的C语言表达式是___ _____ ___; 表达式“0≤a≤10”在C语言中应表示为 。 24. 有如下程序段 int *p,a=10,b=1; p=&a; a=*p+b; 执行该程序段后,a的值为 。
三、程序分析题(每小题5分,共10分) 11-15 BDBCA单项选择题(每小题2分,共30分) 1-5 DDCAB 6-10 ACDCA 二、填空题(每空2分,共20分) 16. 2 17. 5 18. 局部 19. 40 20. 9 21. 4 和 216 22. lf 23. 7 24. 25
三、程序分析题(每小题5分,共10分) 25. 10 26. 7,8,7 四、程序填空题(每小题10分,共20分)
27. (1) f[0]=f[1]=1; (2) i=0 28. (1) n%i= =0 (2) i>=n
五、程序设计题(每小题10分,共20分) 29. #include long fun(int n); int main() { int n; long f; scanf("%d",&n); f=fun(n); printf("%d!=%ld\n",n,f); return 0; } long fun(int n) { int i; long f=1; for(i=1;i<=n;i++) { f*=i; } return f; }
30. #include int main() { int i,x[10],max,min; for(i=0;i<10;i++) scanf("%d",&x[i]); max=x[0]; min=x[0]; for(i=1;i<10;i++) { if(x[i]>max) max=x[i]; if(x[i]min=x[i]; } printf("最高分为:%d,最低分为:%d",max,min); return 0; }
} 26. 阅读程序,写出下列程序的运行结果 。 # include main() { int m=1, n=2, *p=&m, *q=&n, *r; r=p; p=q; q=r; printf("%d,%d,%d,%d\n",m,n,*p,*q); }
四、程序填空题(每小题10分,共20分) 27. 该程序的功能为:向数组中录入十个数,然后求这十个数的平均值。 #include main() { float a[10],x; int i; for(i=0;i<10;i++) scanf(“%f”, (1) ); for(i=0,x=0;i<10;i++) (2) ; x=x/10.0; printf(“平均值=%f\n”,x); } (1) (2) 28. 程序完成的功能为:将三个整数按从小到大的顺序排列,并打印出来。 #include int main() { int x,y,z,t; scanf("%d%d%d",&x,&y,&z); if(x>y) {t=x;x=y;y=t;} if( (1) ) { (2) } if( y>z ) {t=y;y=z;z=t;} printf("这三个数从小到大为:%d,%d,%d",x,y,z); return 0; } (1) (2) 五、程序设计题(每小题10分,共20分) 29. 编写程序:计算任一输入的整数的各位数字之和。 要求:使用自定义函数求解;主函数包括输入、输出和函数调用语句。
30. 编写程序:实现下面的分段函数,输入x的值,求y的值。
y=21311xxx 101011xxx
题 号 一 二 三 四 五 六 七 八 九 十 成绩 满 分 30 20 10 20 20 100
得 分 【本套试卷共有五大题,计30小题】
一、单项选择题(每小题2分,共30分)
1-5 DBCBD 6-10 BBCAA 11-15 CDDCB 二、填空题(每空2分,共20分) 16. 3,2,2 。 17. #include 。 18. double 。 19. 8 。 20. 100 。 21. scanf(“%f %f”,&x,&y) ; 。 22. 0 。 23. y%4= =0&&y%100!=0_ . a>=0&&a<=10 。 24. 11
三、程序分析题(每小题5分,共10分)
25. 运行结果:1 2 3 5 6 9 26. 运行结果:1,2,2,1 四、程序填空题(每小题10分,共20分) 27.(1 ) &a[i] (2 ) x=x+a[i]; 28.(1 ) x>z (2 ) t=x;x=z;z=t;
五、程序设计题(每小题10分,共20分)
29. #include int shuzihe(int n); int main() { int n,sum; printf("请输入任一正整数:"); scanf("%d",&n); sum=shuzihe(n); printf("这个整数的各位数字之和为:%ld\n",sum); return 0; } int shuzihe(int n) {