2018年河南师范大学计算机与信息工程院847信息技术基础与C程序设计[专硕]之C程序设计考研核心题库
● 摘要
一、选择题
1. 以下选项中,能用作数据常量的是( )。
【答案】D
【解析】A 项错误,十六进制数用数学0和字符x (或大写字母X )开头;B 项错误,八进制整数常量以数字0开始,有效数字为0〜7; C项错误,C 语言中实型常量有两种表示:小数形式和指数形式。指数形式中,字母e (或E )之前必须要有数字,且后面的指数必须为整数。
2. 以下叙述正确的是( )。
A.C 语言程序是由过程和函数组成的
B.C 语言函数可以嵌套调用,例如:fun (fun (x ) C.C 语言函数不可以单独编译
D.C 语言中除了main 函数,其他函数不可以作为单独文件形式存在 【答案】B
【解析】一个函数的返回值可以作为参数然后传给另一个函数,因此函数是可以嵌套调用的。A 项错误,C 语言程序只有函数构成,没有过程;C 项错误,编译系统的任务在于检查语法错误,只要符合语法规则的C 程序都可以通过编译,就算是单独的函数也可以;D 项错误,在C 语言中除main ( )函数以外的其他函数可以和main ( )函数在同一个C 文件中,也可以单独处于其他的C 文件,只要在使用到这些函数的main ( )函数的C 文件中用预编译指令“#include”包含进来即可。
3. 有以下程序:
程序的运行结果是( )。 A.21,18 B.81,81
C.21,21 D.18,18 【答案】A
【解析】带参数的宏的调用格式:宏名(实参表),替换过程是,用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。S (k+j+2•被置换成k+j+2*k+j+2,计算时先计算2*k,结果为21; S (j+k+2.被置换成j+k+2*j+k+2,计算时先计算2*j,结果为18。程序的运行结果是21,18,故A 选项正确。
4. 有以下程序
程序运行后的输出结果是( )。 A.36 B.24 C.32 D.28
【答案】D
【解析】函数f 可以重写成: 1 234 5678 9
1011
1314151617
12
f (0)时,进入第9行else 语句,第11行a 等于6; 返回12。
f (l )时,进入第4行if 语句,第6行
第14行第14行
第15行静态a 自增,此时a 是调用完f (0)后
自增的静态a ; 第15行静态a 自增,a 等于7; 返回12。 所以,其中4是全局变量a 的值。
5. 以下叙述中正确的是( )。
A. 在scanf 函数的格式串中,必须有与输入项一一对应的格式转换说明符
B. 只能在printf 函数中指定输入数据的宽度,而不能在scanf 函数中指定输入数据占的宽度 C.scanf 函数中的字符串是提示程序员的,输入数据时不必管它 D. 复合语句也被称为语句块,它至少要包含两条语句 【答案】C
【解析】C 项正确,scanf 函数中的字符串是为了増加程序的可读性,并不影响数据的输入。A 项错误,可以在%和格式字符之间加入
号,作用是跳过对应的输入数据;B 项错误,可以
在格式字符前加入一个正整数指定输入数据所占的宽度;D 项错误,用一对花括号把若干语句括 起来构成一条复合语句。一个复合语句在语法上视为一条语句,在一对花括号内的语句数量不限。
6. 有以下程序:
程序的运行结果是( )。 A. B. C. D. 【答案】A
【解析】函数facl 中嵌套函数fac2, fac2为递归函数。程序执行过程为:调用函数facl (3),输出3>0 成立,调用函数fac2 (2),输出调用fac2 (0),输出
函数调用结束。程序的运行结果是:
成立,调用fac2 (1),输出
成立,
不成立,返回fac2 (1),再返回fac2 (2), 再返回facl (3),
故A 项正确。
相关内容
相关标签