2018年北方民族大学软件工程832C语言程序设计与数据结构之C程序设计考研核心题库
● 摘要
一、选择题
1. 以下叙述中正确的是( )。
A.
语句B.
语句C.
语句D.
语句符
【答案】A
【解析】A 项正确,表示定义了长度为8的int 型数组,它里面的每个元素都是0。当所赋初值少于所定义数组的元素个数时,将自动给后面的元素补以初值0。B 项错误,C 语言规定可以通过赋初值来定义数组的大小,这时数组说明符的一对方括号中可以不指定数组的大小;C 项错误,a 是char 类型的数组,里面的元素应该是字符而非字符串,应该用单引号括起来;D 项错误,数组变量一旦定义,其地址值不可改变,不能给数组名重新赋值。
2. 有以下定义语句,编译时会出现编译错误的是( )。
【答案】C
【解析】本题中a 为一个字符型变量,只能为其赋值一个字符常量。C
项中量,所以会编译错误。BD 两项为转义字符,编译可以通过。
3. 以下叙述中正确的是( )。
A. 在scanf 函数的格式串中,必须有与输入项一一对应的格式转换说明符
B. 只能在printf 函数中指定输入数据的宽度,而不能在scanf 函数中指定输入数据占的宽度 C.scanf 函数中的字符串是提示程序员的,输入数据时不必管它 D. 复合语句也被称为语句块,它至少要包含两条语句 【答案】C
【解析】C 项正确,scanf 函数中的字符串是为了増加程序的可读性,并不影响数据的输入。A 项错误,
可以在%和格式字符之间加入
号,作用是跳过对应的输入数据;B 项错误,可以
不是字符常
是合法的
是不合法的,遗漏了数组的大小
是合法的,定义了一个包含两个字符的数组
是合法的,因为数组有三个字符空间的容量,可以保存两个字
在格式字符前加入一个正整数指定输入数据所占的宽度;D 项错误,用一对花括号把若干语句括 起来构成一条复合语句。一个复合语句在语法上视为一条语句,在一对花括号内的语句数量不限。
4. 设有如下程序段:
语句后,以下叙述正确的是( )。 表示
则执行A.
可以用
B.s 数组中元素的个数和p 所指字符串长度相等 C.s 和p 都是指针变量
D. 数组s 中的内容和指针变量p 中的内容相等 【答案】A 【解析】A 项正确,
后,指针p 指向s 的首地址,
B 项错误,p 是字符串指针所
指向的字符串为“Beijing”,其长度为7, 而数组a 中元素的个数为20; C项错误,s 为字符数组名;D 项,s 中的空间大于 p 所指空间。
5. 设有定义:
则以下赋值语句中正确的是( )。 A.s[0]=m[l]; B.s=m; C.s.l3=m.n;
D.s[2].x=m[2].x; 【答案】A
【解析】定义了结构体类型数组s ,长度为2,结构体类型数组m ,长度为2,并进行了初始化。同类型的结构体可以直接用变量名实现赋值,A 选项正确。数组名为数组首地址,地址常量之间不可以相互赋值,B 选项错误。C 选项引用结构体成员错误,数组名为地址常量不是结构体变量,不能引用成员。D 选项数组越界,不存在s[2]与m[2]。
6. 有以下程序:
程序运行后的输出结果是( )。 A.6, 1
B.1, 1 C.7, 1 D.1, 2 【答案】C 【解析】
表达式
. 中,>>是右移符号,数字13换算成二进制后右移1位,再和
中,首先判断13是否大于1,此时条件成立
1进行按位或运算,结果为7;
表达式
返回1后,再和1进行或运算,结果为1,因此答案为C 选项。
7. 有如下程序:
程序运行后,
在当前目录下会生成一个A.E B.EOF C.ABCDE D.A
【答案】A
向文件输入A ,
关闭文件件
退出循环
文件,其内容是( )。
【解析】程序执行过程为:i=0时,
以只写方式打开一个文本文件
时,再次以只写方式打开
_文件中内容为E 。
覆盖原本的A ,关闭文件;之后文件内的值依次为C 、D 、E ,当
8. 以下程序段中的变量已定义为int 类型,则
程序段的输出结果是( )。 A.6 B.4 C.5 D.7
【答案】D
调用函数fputo
调用函数fputc 向文件输入B 时,文件内为E , 然后关闭文
【解析】整型常量有3种表示方法,分别是十进制数表示法、八进制数表示法和十六进制数
相关内容
相关标签