2018年北方民族大学计算机系统结构832C语言程序设计与数据结构之C程序设计考研核心题库
● 摘要
一、选择题
1. 若有定义inta=l,b=2,c=3;II ,则执行表达式(a=b+c)(++b)后a 、b 、c 的值依次为( )。
A.1、2、3 B.5、3、2 C.5、2、3 D.5、3、3 【答案】C
【解析】根据优先级规则,晒边都是括号,则从左至右执行括号中的表达式,将b+c的值赋值给a ,即a 为5, 不为0, 则II 右边的括号不需要再执行。
2. 下面选项中关于“文件指针”概念的叙述正确的是( )。
A. 文件指针就是文件位置指针,表示当前读写数据的位置 B. 文件指针是程序中用FILE 定义的指针变量 C. 文件指针指向文件在计算机中的存储位置
D. 把文件指针传给fscanf 函数,就可以向文本文件中写入任意的字符 【答案】B
【解析】文件指针实际上是指向一个结构体类型的指针,包含有诸如:缓冲区的地址在缓冲区中当前存取的字符的位置、对文件是“读”还是“写”、是否出错、是否已经遇到文件结束标志等信息。B 项正确,结构体类型名为FILE ,用来定义文件指针。A 项错误,文件指针是指在程序中定义的FILE 类型的变量,通过fopen 函数调用给文件指针赋值,使文件指针和某个文件建立联系,C 程序中通过文件指针实现对文件的各种操作;文件位置指针只是一个形象化的概念,表示当前读或写的数据在文件中的位置;C 项错误,文件在计算机中的存储位置由操作系统负责,文件指针并没有指向文件的存储位置;D 项错误,fscanf 可以用于读文件,而非写文件。
3. 有以下程序段:
已知字符a 的ASCII 码十进制值为97,则执行上述程序段后输出的结果是( )。 A. 因变量类型与格式描述符的类型不匹配输出无定值
B. 输出项与格式描述符个数不符,输出为零值或不定值 C.a ,97,12k=12 D.a ,97,k=12 【答案】D
【解析】字符变量中的值就是该字符的Ascn 代码值,
可以参与对整型变量所允许的任何运算。
c 表示以字符格式输出ch 的值,所以输出为a ; %d表示以十进制代码的形式输出。h
的值,为97; k 没有对应的输出格式,不输出。在第二个语句中,首先输出“k=”,然后以十进制代码输出k 的值,为12。
4. 以下叙述错误的是( )。
A. 未经赋值的全局变量值不确定 B. 未经赋值的auto 变量值不确定 C. 未经赋值的register 变量值不确定 D. 未经赋值的静态局部变量值为0 【答案】A
【解析】C 语言中,系统将未经赋初值的全局变量默认为0, 答案为A 选项。
5. 有以下程序:
程序运行的结果是( )。 A.10, 1 B.20, 1 C.10,2 D.20, 2 【答案】C
【解析】题目首先定义结构体st 的同时定义结构体数组data ,可
知
结构体指针p 指向数组的首地址,
指向
的第二个元素data[l],
然后输出
即输出
6. 以下关于逻辑运算符两侧运算对象的叙述中正确的是( )。
A. 可以是任意合法的表达式 B. 只能是整数0或非0整数
则指向数组
所以分别为10和2。
C. 可以是结构体类型的数据 D. 只能是整数0或1 【答案】A
【解析】C 语言的逻辑运算符比较特别,它的操作数没有明确的数据类型,可以是任意合法的表达式。
7. fun 函数的功能是:通过键盘输入给x 所指的整型数组所有元素赋值。在下画线处应该填写的是( )。
A.
B.
C.
D. 【答案】D
【解析】数组名本身就是地址,
所以不需要用
符号。C 选项不能对所有元素赋值而是反复
给一个数值赋值且是死循环。
8. 以下选项中不能作为C 语言合法常量的是( )。
【答案】A
【解析】常量包括整型常量、实型常量、字符常量和字符串常量等。B 项,O.le+6是指数形式的常量,是合法的;C 项,是字符串常量;D 项,\011是表示八进制数整型常量。A 项错误,单引号表示字符常量,不能包含字符串,若要包含字符串,需用双引号。
9. 有如下程序:
程序运行后的输出结果是( )。