2018年北京市培养单位遥感与数字地球研究所864程序设计之C程序设计考研核心题库
● 摘要
一、选择题
1. 若有以下程序
则程序的输出结果是( )。
A.1, 2
B.0, 2
C.1, 3
D.2, 3
【答案】A
【解析】是先判定a 是否等于0, 如果a 等于0, 跳出循环;否则进入循环;但是不管判定是否成功,判定结束后都要执行a++操作。
第一次循环,a 等于-2, 满足条件,执行a++,++b, a 变成-1,b 变成1;
第二次循环,a 等于-1,满足条件,执行a++,++b, a 变成0,b 变成2;
第三次循环,a 等于0, 不满足条件,执行a++,a 变成1,b 仍然是2。
2. 以下能正确输出字符a 的语句是( )。
【答案】A
【解析】“格式控制串”用来指定每个输出项的输出格式,对应字符串,对应字符,对应整型。双引号里面的内容为字符串“a ”,单引号里面的内容为字符’a ’,A 选项正确。B 、C 、D 选项语句本身就有问题。
3. 下面是有关C 语言字符数组的描述,其中错误的是( )。
A. 不可以用赋值语句给字符数组名赋字符串
B. 可以用输入语句把字符串整体输入给字符数组
C. 字符数组中的内容不一定是字符串
D. 字符数组只能存放字符串
【答案】D
【解析】字符数组可以用来存放单个的字符或者字符串。
4. 在C 语言中,只有在使用时才占用内存单元的变量,其存储类型是( )。
A.auto 和 register
B.extern 和 register
C.auto 和 static
D.static 和 register
【答案】A
【解析】C 语言中,动态存储区域中存放的变量在使用时才分配内存空间,函数调用时返回
auto 变量的储存处单元是分配在内存的动态的地址和自动类 局部变量等存放在动态存储区域中。
存储区中,每当进入函数体时自 动分配存储单元。register 变量也是自动类变量, 。static 说明的变
extern 量为静态变量,静态变量在内存的静态存储中 占据着永久的存储单元,直至程序运行结束。
说明的变量为外部变量,属于全局变量,全局变量在整个程 序运行期间都占用内存空间。
5. 有如下程序:
程序运行后的输出结果是( )。
A.A45D78
B.ABC678
C.34CD78
D.34AB78
【答案】A
【解析】本题执行过程为:if 条件不成立执行else 函数体,i%3=l, if 输出字符A ; i=l,
条件成立输出字符4; i=2, i%3=2, if 条件成立输出字符5; i=3, if 条件不成立,输出字符D ; i=4和i=5时,分别输出字符7与8; i=6退出for 循环。所以程序运行后输出结果为A45D78, 故A 项正确。
6.
若有定义则下列说法中正确的是( )。
A. 定义了基类型为int 的三个指针变量
B. 定义了基类型为int 的具有三个元素的指针数组pt
C.
定义了一个名为
【答案】D
【解析】pt 是一个指针,指向的数据类型为含有三个约束的整型数组。
7. 以下不合法的数值常量是( )。
A.8.0E0.5
B.lei
C.011
D.Oxabcd
【答案】A
【解析】E 前E 后有数字,E 后数字为整数,A 项E 后面为小数,错误。
8. 以下不构成无限循环的语句或者语句组是。
A.
B.n=0:
C.n=10:
D.
【答案】A
【解析】A 项,为do-while 循环语句,首先执行do
后面的语句得n=l,while 条件表达式为假,退出循环;B 项,while 条件表达式的值始终为1,条件为真,构成无限循环;C 项,while (n ); 语句循环体为空,n 的值在循环中一直保持不变,构成无限循环;D 项,i=l,for 语句中条件判断语句为空,永远为真,构成无限循环。
9. C 语言主要是借助以下( )功能来实现程序模块化的。
A. 定义函数
B. 定义常量和外部变量
C. 三种基本结构语句
D. 丰富的数据类型
【答案】A
【解析】C 程序的模块化主要通过函数来实现。C 语言允许对函数单独进行编译,从而可以实现模块化。
10.下列叙述中错误的是( )。
A.C 程序在运行过程中所有的计算都以二进制方式进行
B.C 程序在运行过程中所有的计算都以十进制方式进行
具有三个元素的整型数组 D. 定义了一个名为pt 的指针变量,它可以指向每行有三个整数元素的二维数组