一、选择题
1. 若有以下程序
则程序的输出结果是( )。 A.17,37 B.49,2401 C.17,289 D.49,289 答:A
【解析】S (k+j)展开后是5+2*5+2=17,T (k+j)展开后是5+2*5+2*5+2*5+2=37。
2. 设有定义:
则以下赋值语句中错误的是( )。 A.data2=datal;
B.data2=(2,6); C.data2.real=datal.real; D.data2.real=datal.unreal; 答:B
【解析】B 项错误,对结构体进行初始化时,应该用花括号括起来的一组值,而不是用小括号。
3. C 语言主要是借助以下( )功能来实现程序模块化的。
A. 定义函数
B. 定义常量和外部变量 C. 三种基本结构语句 D. 丰富的数据类型 答:A
【解析】C 程序的模块化主要通过函数来实现。C 语言允许对函数单独进行编译,从而可以实现模块化。
4. 设变量均已正确定义,若要通过
语句为变量al 和a2赋数值10和20, 为变量cl 和c2赋字符X 和Y 。以下所示的输入形式中正确的是(注:口代表空格字符)( )。
A.
B. C.
D. 答:A
【解析】因为空格和回车也是字符变量,所以在输入X 和Y 时,它们的前面不能有空格和回车,否则将取到空格或者回车,而非X 和Y ; int 类型不会取到空格和回车,所以10和20前面可以有空格和回车。
5. 有以下程序:
程序运行后输出的结果是( )。
答:A
【解析】C 语言中可以将多条语句放在同一行,用右结合。首
先执行C ,使得C
的值也为5。然后执行下句逗号表达式中的执行
使得B 的值为4, 最后打印输出。
6. 有如下定义:
隔开。赋值运算和逗号运算都是从左到
即将A 的值5赋给变量
即得A 的值为5, 然后执行
把B 的值0赋给A ,此时A 的值为0, 然后
若文件已正确打开,且数组x 的10个元素均已赋值,以下将数组元素写到文件中的语句错误的是( )。
答:A
【解析】A 项中,因为n=l, 即每次写入1个结构体数据,x 是数组的首地址,因此,每次写入的数据都是数组的首个结构体元素,没有将整个数组写入文件中去。
7. 若变量均已正确定义并赋值,以下合法的c 语言赋值语句是( )。
答:A
【解析】A 项正确,
返回0或者1, 然后赋值给x 。B 项错误,浮点数不能参与模运算;
C 项错误, 是右值,不能给它赋值;D 项错误,5是常量,不能被赋值。
8. 有以下程序:
程序的运行结果是( )。 A.1, 2 B.3, 6 C.4, 7
D. 变量的地址值 答:B
【解析】程序的执行过程为:定义整型数组结构体数组X ,并为其初始化,则
x2的第一个元6。程序的运行结果是3,6, 故B 选项正确。
9. 以下程序段中,循环次数不超过10的是( )。
A.
并进行初始化,两个数组长度均为2。定义
输出x[0]的成员指针b
指向的内存单元值,即数组xl 的第一个元素3, 输出x[l]的成员指针b 指向的内存单元值,即数组