2017年北京信息科技大学信息管理学院820程序设计基础考研强化模拟题
● 摘要
一、选择题
1. 以下选项中表示一个合法的常量是(说明:符号表示空格)( )。
【答案】B
【解析】十六进制数用数字0和字母x (或大写字母X )开头。法的常量。
2. 有如下程序段:
是指十六进制数,是合
则for 循环体执行的次数是( )。 A.0次 B.1次 C.2次 D. 无限次 【答案】A
【解析】for (k=2; k==0; )表示给k 赋值2, 如果k 等于0, 则选入循环,但是k 不满足条件,因此循环体不执行。
3. 设有定义:
若变量均已正确赋初值,则以下语句中错误的是( )。
【答案】A
【解析】A 项错误,struct 中的mark 成员是数组,数组一旦定义,不能直接赋值。B 项正确,numl 是int 变量,可以直接赋值。C 项正确,C 语言中struct 变量可以直接赋值,实际操作是内存拷贝;D 项正确,num2是int 变量,可以直接赋值;C 语言中,数组不能直接赋值,但是把数组包装在struct 中,就可以实现直接赋值。
4. 有以下程序:
程序运行后的输出结果是( )。 A.6 B.7 C.11 D.12
【答案】A 【解析
】
是字符数组,初始化时未赋初始值的自动赋
值
即
函数求字符串长度,统计
长度时以结束,即统计到长度为6时结束,strlen 函数返回值为6。
5. 在C 语言中,只有在使用时才占用内存单元的变量,其存储类型是( )。
A.auto 和 register B.extern 和 register C.auto 和 static D.static 和 register 【答案】A
【解析】C 语言中,动态存储区域中存放的变量在使用时才分配内存空间,函数调用时返回auto 变量的储存处单元是分配在内存的动态的地址和自动类 局部变量等存放在动态存储区域中。
存储区中,每当进入函数体时自 动分配存储单元。register 变量也是自动类变量, 。static 说明的变extern 量为静态变量,静态变量在内存的静态存储中 占据着永久的存储单元,直至程序运行结束。说明的变量为外部变量,属于全局变量,全局变量在整个程 序运行期间都占用内存空间。
6. 设已有定义: float x;
则以下对指针变量p 进行定义且赋初值的语句中正确的是( )。 A. B. C. D. 【答案】A
【解析】A 项正确,p 是float 类型的指针,指向x 的存储单元;B 项错误,p 是int 类型的指针,只能指向 int 变量的存储单元;C 项错误,p 的float 类型的变量,
是取变量x 的地址,不
能把地址赋值给float 类型变量;D 项错误,p 是指向float 类型的指针,不能使用常整型赋值。
7. 若有定义语句:
A. B. C. D. 【答案】A
且则错误的赋值是( )。
【解析】二维数组名是指向指针的指针,故a 和q 都为指向指针的指针,而p 为指向int 类型的指针。A 项,将一个指向int 类型的指针指向一个指针的指针。
8. 若有以下程序
则程序的输出结果是( )。 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。
9. 设有定义:以下选项中,表达式值与其他三个不同的是( )。
【答案】A
【解析】赋值运算结合性为由右向左结合,成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。A 项,逻辑表达式值给b ,
再将b 赋给a ,
D 项,逻辑表达式
10.有如下程序:
不成立,则表达式值为0; B项,将C 赋成立,则
表达式值为1;
表达式值为1; C项,逻辑表达式
成立,则表达式值为1。A 项与其他项不同。
相关内容
相关标签