一、单选题(共 10 道试题,共 40 分。)V 1. 下面程序段的运行结果是 char *format="%sa=%db=%d\n" int a=11b=10 a+=b printf(format"a+=b"ab)
A. for"a+=b"ab
B. format"a+=b"
C. a+=ba=21b=10
D. 以上结果都不对
2.下面程序的运行结果是 #include main() { int a=1b=10 do {b=aa++}while(b<0) printf("a=%db=%d\n"ab) }
A. a=3b=11
B. a=2b=8
C. a=1b=1
D. a=4b=9
3.以下叙述中不正确的是
A. 在不同的函数中可以使用相同的名字的变量
B. 函数中的形式参数是局部变量
C. 在一个函数内定义的变量只在本函数范围内有效
D. 在一个函数内的复合语句中定义的变量在本函数范围内有效
4.请选出以下语句的输出结果 printf("%d\n"strlen("\t\"\065\xff\n"))
A. 5
B. 14
C. 8
D. 输出项不合法,无正常输出
5.下列程序的输出结果是 main() { double d=3.2 int xy x=1.2 y=(x+3.8)/5.0 printf("%d\n" d*y) }
A. 3
B. 3.2
C. 0
D. 3.07
6.下面程序的输出结果是 main() { int a[10]={12345678910}*p=a printf("%d\n"*(p+2))}
A. 3
B. 4
C. 1
D. 2
7.请选出可用作C语言用户标识符的是
A. voiddefineWORD
B. a3_b3_123IF
C. FORabcCase
D. 2aDoSizeof
8.C语言允许函数类型缺省定义,此时函数值隐含的类型是
A. float
B. int
C. long
D. double
9.若xij和k都是int型变量,则计算表达式x=(i=4j=16k=32)后,x的值为
A. 4
B. 16
C. 32
D. 52
10.sizeof(float)是
A. 一个双精度型表达式
B. 一个整型表达式
C. 一种函数调用
D. 一个不合法的表达式
二、多选题(共 5 道试题,共 20 分。)V 1. C提供的预处理功能主要有______。
A. 宏定义
B. 文件包含
C. 条件编译
D. 异常终止
BC
2.下列说法中错误的是______。
A. C程序总是从第一个定义的函数开始执行
B. C程序总是从main函数开始执行
C. C函数必须有返回值,否则不能使用函数
D. C程序中有调用关系的所有函数必须放在同一个程序文件中
CD
3.以下说法不正确的是______。
A. 定义函数时,形参的类型说明可以放在函数体内
B. return后边的值不能为表达式
C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
D. 如果形参与实参的类型不一致,以实参类型为准
BD
4.以下对C语言函数的有关描述中,错误的是:______。
A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B. 函数既可以嵌套定义又可以递归调用
C. 函数必须有返回值,否则不能使用函数
D. 程序中有调用关系的所有函数必须放在同一个源程序文件中
CD
5.下列说法不正确的是______。
A. C程序由符号构成
B. C程序由标识符构成
C. C程序由函数构成
D. C程序由C语句构成
BD
三、判断题(共 10 道试题,共 40 分。)V 1. ‘ a’和“a”在内存中所占字节数相同。( )
A. 错误
B. 正确
2.静态外部变量既可以在文本文件中引用,也可以在其它文件引用
A. 错误
B. 正确
3.使用符号常量的好处是:一,含义清楚,二,在需要改变一个常量时能做到“一改全改”( )
A. 错误
B. 正确
4.函数必须有返回值,否则不能使用函数
A. 错误
B. 正确
5.C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
A. 错误
B. 正确
6.C语言规定标识符可由字母、数字、下划线三种字符组成,第一个字符可以为数字或字母。( )
A. 错误
B. 正确
7.C程序中各函数之间既允许直接递归调用也允许间接递归调
A. 错误
B. 正确
8.调用函数只可得到一个返回值,而用宏可以设法得到几个结果。
A. 错误
B. 正确
9.C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真。( )
A. 错误
B. 正确
10.使用printf和scanf函数时,必须添加#include <stdio.h>命令。( )
A. 错误
B. 正确