c语言期末试卷卷(附答案)
一、单项选择题(每小题2分,共30分)
1. 下列关于C语言用户标识符的叙述中正确的是 B A 用户标识符中可以出现在下划线和中划线(减号)
B 用户标识符中不可以出现中划线,但可以出现下划线
C 用户标识符中可以出现下划线,但不可以放在用户标识符的开头
D 用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头
2. 在C语言中,合法的字符常量是( A )
A ’\087’ B ’\x43’ C ’abe’ D ”\0”
3. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是 B A INPUT x、y、z; B scanf “%d%d%d”,&x,&y,
C scanf “%d%d%d”,x,y,z ; D scanf “%d%d%d”,&x,y,&z ;
4. 若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a b?a:c d?c:d的值 A 1 B 2 C 3 D 4
5. 设有:int a 3,b 2,c 6,d 4,m 2,n 3;执行 ( m a b || n c d ) 后n的值为 ( B )
A 0 B 1 C 2 D 3
6. 若a为int类型,且其值为3,则执行完a* a+ a*a;后,a的值是 ( D )
A –3 B 9 C –12 D 144
7. 设int a 12,b 8;则a/b的结果为: B A 1.5 B 1 C 3/2 D 2
8. 若定义:int a 511,*b &a; 则printf "%d\n",*b ;的输出结果为 D
A 无确定值 B a的地址 C 512 D 511
9. 在C语言中,引用数组元素时,其数组下标的数据类型允许是 ( C )
A 整型常量 B) 整型表达式
C 整型常量或整型表达式 D 任何类型的表达式
10. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是 B A 地址传递 B 单向值传递
C 由实参传给形参,再由形参传回实参 D 传递方式由用户指定
11. 数字字符0的ASCII值为48,若有以下程序
main char??a '1',b '2'; printf "%c,",b++ ; printf "%d\n",b-a ; 程序运行后的输出结果是 A A 3,2 B 50,2 C 2,2 D 2,50
12. 以下函数值的类型是 D fun float x float y;
y 3*x-4;
return y; A int B 不确定 C void D float
13. 以下能正确定义一维数组的选项是 B A int??a[5] 0,1,2,3,4,5 ; B int??a[] 0,1,2,3,4,5 ;
C char? a 'A','B','C' ; D int??a[5] "0123";
14. 有以下程序,结果为: D main int a[5] 1,2,3,4,5 ; int *pa &a[1]; printf “%d”,pa[2] ; A 3 B 4 C 5 D 2
15. 假设
struct student int num; float score; stu1;
则下列赋值语句中正确的是( C )
A student.score 85; B student 1001,95 ;
C stu1.num 1001; D stu1- num 1001;
二、判断题(对的打“√”,错的打“×”,每小题1分,共10分)
1. 定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。√
2. C语言中,若函数定义未给出返回值类型,系统默认为返回值类型为int类型。×
3. 全局变量的作用域一定比局部变量的作用域范围大。×
4. 对字符串”c program”进行完整赋值的操作是: ×
char str[9] ”c program” ;
5. 在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同×。
6. 若有定义int a[4][5];排列在数组中的第11个元素是a[3][1]。√
7. 存储字符串”\’acd1\376”需要的字节数为7个。×
8. 存储字符数组中的最后一个字符必须是'\0'。√
9. 在一个函数内定义的变量只能在本函数范围内有效。√
10.设int m 7; float n 3.5;执行m- m-!n后, m的值是1。√
三、写出下列程序段的输出结果(每小题5分,共20分)
1. 有下列程序段,