2018年山西大学计算机与信息技术院859软件工程专业基础之C程序设计考研基础五套测试题
● 摘要
一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。
A.0
B. 变量无定义,输出不确定
C.-1
D.1
【答案】A
【解析】NULL 是包含在头文件stdiah 中的宏定义,其数值由编译器确定,一般情况下是0。
2. 以下使指针指向一个字符串的选项错误的是( )。 A. B. C. D.
【答案】A
【解析】A 项中定义了指针ps 后,
法将str 的首地
址赋给一个常量,语法错误。
3. 若已有定义语句:inta ,b ,c ; ,且变量已正确赋初值,则以下选项中正确的赋值表达式是( )。
A.a=(b=c)+8;
B. (a=b)=c=9;
C.a=(b==c)=‘A ’;
D.a+b=c+l;
【答案】A
【解析】A 项正确,将c 赋值给b 后又加上8,然后再赋值给a ; B 、D 项错误,赋值运算符左
第 2 页,共 55 页 表示指针ps 指向地址的内容,而不是地址,无
边必须是一个变量;C 项错误,(b==c)是个表达式,语法错误。
4. 有以下程序:
程序的运行结果是( )。
A.11, 10
B.10, 10
C.10,11
D.11, 11
【答案】A
【解析】当i=l0时循环继续执行,i 值赋值给变量a 。赋值完成后执行i=i+l, 此时i=ll, 判定是
否满足条件不满足条件,结束循环。循环结束时,printf ( )是从右到左结合的,输出i , a 的值为11,10。
5. 以下选项中,当x 为大于1的奇数时,值为0的表达式是( )。
【答案】D
【解析】x 为大于1的奇数,
6. 以下叙述正确的是( )。 的值为1,^为假。
A. 只使用三种基本结构即可解决任何复杂问题
B.C 语言程序并不是必须要定义main ( )函数
C. 只要程序包含了任意一种基本结构,就肯定是结构化程序
D. 程序中的语法错误只能在运行时才能显现
【答案】A
【解析】A 项正确,程序设计语言仅仅使用顺序、选择和循环三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。B 项错误,C 语言程序必须要定义main ( )函数;C 项错误,只有同时包含三种基本结构 时,程序才是结构化程序;D 项错误,程序中的语法错误在编译时能显现。
7. 有以下程序:
第 3 页,共 55 页
程序运行后的输出结果是( )。
A.AAAA
B.CC
C.BBBCC
D.BBBB
【答案】D
【解析】程序中声明一个3行4列的字符型数组。要求输出
故ch[l]为第二行的BBBB 。
8. 若有定义和语句
赋给变量a 、5赋给变量b 的是( )。
A.3,5,
B.3, 5, 4
C.35
D.3, 5
【答案】C
【解析】输入数据时,必须在数据后面紧跟一个逗号,以便于格式控制中的逗号一一匹配,否则就不能正确读入数据。
9. 有以下程序
执行后的输出结果是( )。
A.32
B.24
C.5
D.40
【答案】A
【解析】自增运算符“++”分为前缀和后缀两种形式。两种形式的作用效果是一样的,都是使运算分量的值 加1,但是它们的表达式的值不一样,前缀形式表达式的值为运算分量加1之后的值,而后缀形式表达式的值为 运算分量加1之前的值。题目中使用了一个for 循环,循环变量i 从1递增到40。在循环体中有两条嵌套的if 语 句,首先判断
第 4 页,共 55 页
由于数组下标默认从0开始,以下选项中的输入数据,不能把值3即判断i++的值(i 加1