一、单项选择题
1. 在C语言中,下面字符串能用作变量名的是( )。 A、a+b B、auto C、2-and D、a2
2. 若double x=2,y;则执行y=x+3/2;后,y的值是( )。
A、 B. C. D. 3
3. 下列关于C语言中字符常量与字符串常量的叙述中,错误的是
( )。
A、字符常量是用单撇号括起来的一个字符 B、空格字符也可用作字符常量
C、字符串常量是用单撇号括起来的一个字符序列 D、字符串常量是用双撇号括起来的一个字符序列
4. 若有以下变量说明和数据的输入方式,则正确的输入语句为
( )。
变量说明:float x1,x2; 数据的输入方式:<回车> ??????? <回车>
A、scanf(“%f,%f”,&x1,&x2);?? B、scanf(“%f%f”,&x1,&x2); C、scanf(“%,%”,&x1,&x2); D、scanf(“%%”,&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(\ f=fun(n); printf(\ 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(\ max=x[0]; min=x[0]; for(i=1;i<10;i++) { if(x[i]>max)
}
max=x[i]; if(x[i] printf(\最高分为:%d,最低分为:%d\ return 0; } 26. 阅读程序,写出下列程序的运行结果 。 # include <> main() { int m=1, n=2, *p=&m, *q=&n, *r; r=p; p=q; q=r; printf(\%d\\n\ } 四、程序填空题(每小题10分,共20分) 27. 该程序的功能为:向数组中录入十个数,然后求这十个数的平 均值。 #include <> main() { float a[10],x; int i;