2017年大连海洋大学649C语言程序设计原理复试仿真模拟三套题
● 摘要
一、选择题
1. 有以下程序:
程序的运行结果是( )。 A.10 B.20 C.14 D.16
【答案】C 【解析】
2. 有以下程序:
程序运行后的输出结果是( )。 A.0 B.1 C.2 D.3
【答案】C
【解析】“++”和“一”运算,当以前缀形式出现时,贝U 先进行加一或减一操作,再取值,当以后缀形式出现时,则先取值,再进行加一或减一操作。a 初始定义为1,b 为0,先执行--a ,结果为0,即if 判断为假,执行b+=2; ,然后输出b 的值。即b 为2。
3. 以下程序段中,与语句:功能相同的是( )。
第 2 页,共 16 页
系统默认为指针指向数组中第
执行的是将数组
和
个元素,因此,在for 循环中
,
累加后赋值给n , 最后输出,值为14。
【答案】A
【解析】三元运算符表达式的形式为:表达式果果
那么就执行
前面的语句
且
时,
表达式
表达式3, 当表达式1的值为真时,
的关系:①如否则
②如
结果为表达式2的值;当表达式1的值为假时,结果为表达式3的值。首先判断
判断b 、c 的关系,如果否则
综上所述:当
与A 项语句功能相同。
4. 有以下程序:
程序运行后的输出结果是( )。 A.6 B.7 C.11 D.12
【答案】A 【解析
】
是字符数组,初始化时未赋初始值的自动赋
值
即
函数求字符串长度,统计
长度时以结束,即统计到长度为6时结束,strlen 函数返回值为6。
5. 若变量已正确定义为int 型,要通过语句
给a 赋
值1、给b 赋值2、给c 赋值3,以下输入形式中错误的是(u 代表一个空格)( )。
【答案】B
【解析】scanf 函数要求除格式控制符以外的字符都要原样输入。逗号是非格式符,所以需要原样输入,否则就不能正确读入数据。B 项前两个数据后面没有紧跟一个逗号,格式不匹配所以输入形式错误。
第 3 页,共 16 页
6. 下面选项中关于位运算的叙述正确的是( )。
A. 位运算符都需要两个操作数
B. 位运算的对象只能是整型或字符型数据 C. 左移运算的结果总是原操作数据2倍 D. 右移fe 算时,尚位总是补0 【答案】B
【解析】B 项正确,C 语言中,位运算的对象只能是整型或字符型数据,不能是其他类型的数据。A 项错误,位运算符中取反操作符只需要一个操作符;C 项错误,左移时,若左端移出的部分不包含有效二进制数1, 则每左移一位,相当于移位对象乘以2, 如果端移出的部分包含有效二进制数1,结论不成立;D 项错误,右移运算时,对于无符号整数和正整数,高位补0; 对于负整数,高位补1。
7. 有以下程序:
程序运行的结果是( )。 A.10, 1 B.20, 1 C.10,2 D.20, 2 【答案】C
【解析】题目首先定义结构体st 的同时定义结构体数组data ,可
知
结构体指针p 指向数组的首地址,指向
的第二个元素data[l],
然后输出
8. 以下叙述中正确的是( )。
即输出
则指向数组
所以分别为10和2。
A. 只要是用户定义的标识符,都有一个有效的作用域
B. 只有全局变量才有自己的作用域,函数中的局部变量没有作用域 C. 只有在函数内部定义的变量才是局部变量 D. 局部变量不能被说明为static 【答案】A
【解析】A 项正确,标识符的“作用域”是指程序中的某一部分中,标识符是有定义的,可以
第 4 页,共 16 页
相关内容
相关标签