C语言试卷1
- 格式:doc
- 大小:99.50 KB
- 文档页数:7
1
…………试卷装订线
………………
装订线内不要答题,不要填写考生信息………………试卷装订线
…………
姓 名
学 号
专业班级
学院 武汉理工大学考试试卷(A卷)
2012 ~2013 学年 2 学期 计算机技术基础(C语言) 课程 闭卷
时间120分钟, 学时, 学分,总分100分,占总评成绩 % 年 月 日
题号 一 二 三 四 五 六 七 八 九 十 合计
满分 30 10 10 25 25 100
得分
一、 单选题(每小题1分,共30分)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
1. 已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示
的字符常量'\101'是__A_
A、字符A B、字符a C、字符e D、非法的常量
2. 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是__D_
A、p=q; B、*p=*q; C、n=*q; D、p=n;
3. 下面四个选项中,均是合法整型常量的选项是__A_
A、160 -0xffff 011 B、-0xcdf 01a 0xe
C、-01 986,012 0668 D、-0x48a 2e5 0x
4. 若x为int类型,则逗号表达式(x=3*5,x*5),x+25执行后,x的值是__C
5.
A、15 B、75 C、40 D、表达式不正确
6. 若给定条件表达式(M)?(a++):(a--),则其中表达式M等价于__A_
A、(M!=0) B、(M==0) C、(M!=1) D、(M==1)
7. 设y为float类型,x为int类型,则以下能实现将y中的数值保留小数点后两位,
第三位进行四舍五入运算的表达式是__B_
A、y=(y*100+0.5)/100.0 B、x=y*100+0.5,y=x/100.0
C、y=y*100+0.5/100.0 D、y=(y/100+0.5)*100.0
8. 设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是__C_
A、0~255 B、-256~+255 C、0~65535 D、-32768~+32767
9. 表达式3.6-1/2+(int)5.7%2的值是__C_
得分
2 10. C语言中的sizeof( )是__B_
A、类型名 B、运算符 C、变量名 D、函数名
11. 若有说明语句:int a[2][4];,则对a数组元素的正确引用是__B_
A、a[0+2][3] B、a[1][2+1] C、a[0][4] D、a[2][2]
12. 若有说明:int a=1,b=2,c=3,d=4;则表达式a
A、1 B、2 C、3 D、4
13. 设int a=-1,b=3;,执行表达式++a&&(b=5)后,a和b的值分别是__B_
A、-1和3 B、0和3 C、0和5 D、-1和5
14. 若有:char s1[10], s2[10]={"books"},则能将字符串books赋给数组s1的正确语句是__C_
A、s1={"books"}; B、s1=s2;
C、strcpy(s1, s2); D、strcpy(s2, s1);
15. 若x为unsigned int型变量,则执行以下程序段后的输出是___D_
x=65535; printf("%d\n",x);
A、65535 B、1 C、无确定值 D、-1
16. 组成C语言程序的是__D_
A、子程序 B、语句 C、主程序 D、函数
17. 设x和y均为int型变量,则执行下的循环后,y值为__B_
for(y=1,x=1;y<=50;y++)
{ if(x= =10) break;
if(x%2==1) { x + =5; continue; }
x-=3; }
A、2 B、4 C、6 D、8
18. 与语句 if(a>b)if(c>d)x=1;else x=2;等价的是__D_
A、if(a<=b)x=2;else if(c>d) x=1; B、if(a>b){if(c>d)x=1;}else x=2;
C、if((a>b)&&(c>d))x=1;else x=2; D、if(a>b){if(c>d)x=1;else x=2;}
19. 在C程序中有如下语句:char *func(int x,int y); 它是__A_
A、对函数func的定义 B、不合法的
C、对函数func的说明 D、对函数func的调用
20. 设x为int型变量,则执行语句x=10; x*=x-=x-2; 后,x的值为__D_
A、100 B、20 C、10 D、4
21. 若已定义:int a[9],*p=a; 不能表示a[1] 地址的表达式是__D_
A、a+1 B、++p C、p+1 D、a++
22. 下列转义字符中正确的是__A_
A、'\\' B、'\' C、'\af0' D、'\810'
3 23. 有以下程序段:
#include
main()
{ char c;
while((c=getchar())!='?') putchar(--c); }
程序运行时,如果从键盘输入:Y?N?,则输出结果为__B_
A、Y B、X C、M D、N
24. 关于for(表达式1;表达式2;表达式3),叙述正确的是__C_
A、3个表达式都可以缺省 B、表达式1不可以缺省
C、表达式2不可以缺省 D、表达式3不可以缺省
25. 判断char型变量c1是否为大写字母的正确表达式是__B_
A、'A'<=c1<='Z' B、(c1>='A')&&(c1<='Z')
C、('A'<=c1) AND ('Z'>=c1) D、(c1>='A')&(c1<='Z')
26. 已知i=1,sum=0,执行以下程序段后s的值为__B_
while(i++<100)
sum+=i;
A、5050 B、5049 C、5051 D、5005
27. 若有以下定义和语句,则输出结果是__D_
char s[]="\t\v\\\0will\n";
printf("%d, %d\n",strlen(s), sizeof(s));
A、不确定 B、14, 15 C、9, 10 D、3, 10
28. 执行下列程序后输出的结果是__D_
int a[3][3]={{1},{2},{3}};
int b[3][3]={1,2,3};
main()
{ printf("%d\n”,a[1][0]+b[0][0]);
}
A、0 B、1 C、2 D、3
29. 若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是__D_
A、num%2= =1 B、!(num%2= =0) C、num%2 D、!(num%2)
30. 关于函数,下列叙述正确的是__D_
A、函数必须要有return语句 B、一个函数中可以定义其它的函数
C、main()函数也可以被调用 D、一个C程序只能有一个main()函数
4 31. 以下程序的运行结果是__A_
int y=2;
f1(int x)
{ int y=3;
y+=x++;
printf("%d", y); }
main( )
{ int i=2;
f1(i);
printf("%d\n", y+=i++); }
A、54 B、44 C、57 D、4
二、 填空题(每空1分,共10分)
1. 结构化程序设计的三种结构分别是:选择结构、顺序结构循环结构_。
2. 使用库函数sqrt( )时应包含的文件是_math.h_。
3. 设char ch='A'; 执行语句printf("%c,%d",ch+32,ch); 后的输出结果是_a,97_。
4. 设float a,b,c; 若a、b和c分别为三角形的三边长,它们“能构成三角形”的逻辑表达式是_a+b>c;a+c>b;b+c>a_。
5. 在C语言中,二维数组元素在内存中的存放顺序是_按行存放_。
6. 在C语言中,形参和实参的传递方式分为地址传递和_值传递_。
7. 在C语言中,一个函数通常由两部分组成,它们是_函数名_和_函数体_。
8. C语言的预处理语句以_#_开头。
三、 判断题(每小题1分,共10分)
1. 逻辑运算符两侧运算对象的数据能是0或1。 ( 错 )
2. C语言规定,在一个源程序中,main函数的位置必须在程序最开始。 ( 错 )
3. 如果实参与形参的类型不一致,以实参类型为准。 ( 对 )
4. 在一个源文件中定义的全局变量的作用域为本文件的全部范围。 ( 对 )
5. 在C程序中,%是只能用于整型运算的运算符。 ( 错 )
6. do-while的循环体可以是复合语句。 ( 错 )
7. C语言规定,在if-else的嵌套中,else子句总是与其之前最近的if配对。 ( 对 )
8. 从循环体内某一层跳出,继续执行循环外的语句是:continue语句。 ( 对 )
9. C语言程序中每条语句必须单独占一行。 ( 错 )
10. 二维数组y有m列,则在y[i][j]前的元素个数为i*m+j个。 ( 错 )
11. …………试卷装订线
………………
装订线内不要答题,不要填写考生信息………………试卷装订线
………… 得分
得分