2016年中国人民公安大学085224安全工程程序设计复试笔试仿真模拟题
● 摘要
一、选择题
1. 以下叙述中错误的是( )。
A.C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
B.C 程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件
C. 用C 语言编写的程序称为源程序,它以
D.C 语言源程序经编译后生成后缀为
答:A
【解析】A 项错误,注释语句不会被翻译成二进制的机器指令。C 源程序经过C 编译程序编
,然后由“连接程序”(Link )的软件,译之后生成后缀 为.OBJ 的二进制文件(称为目标文件)
把OBJ 文件与各种库函数连接 起来生成一个后缀为.EXE 的可执行文件。
2. 下面是有关C 语言字符数组的描述,其中错误的是( )。
A. 不可以用赋值语句给字符数组名赋字符串
B. 可以用输入语句把字符串整体输入给字符数组
C. 字符数组中的内容不一定是字符串
D. 字符数组只能存放字符串
答:D
【解析】字符数组是可以用来存放字符或者字符串的。
3. 有以下程序
程序运行后的输出结果是( )。
答:A
【解析】注释
之间计算机不参与编译,所以a 、b 值仍为0。 代码形式存放在一个文本文件中 的目标程序
4. 设变量均己正确定义并且赋值,以下与其他三组输出结构不同的一组语句是( )。
答:D
【解析】“++”和“一”运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以后缀形式出现时,则先取值,再进行加一或减一操作。++X表示先将X 值加1后再用,X++表示先使用X 值,用后再加1,所以本题中ABC 选项都会输出x+1的值。
5. 若有定义语句:且则错误的赋值是( )。
A. B. C. D.
答:A
【解析】二维数组名是指向指针的指针,故a 和q 都为指向指针的指针,而p 为指向int 类型的指针。A 项,将一个指向int 类型的指针指向一个指针的指针。
6. 以下叙述中正确的是( )。
A. 如果根据算法需要使用无限循环(即通常所称的“死循环”),则只能使用while 语句
B. 对于“for (表达式1; 表达式2; 表达式3)循环体”首先要计算表达式2的值,以便决定是否开始循环
C. 对于“for (表达式1; 表达式2; 表达式3)循环体”,只在个别情况下才能转换成while 语句
D. 只要适当地修改代码,就可以将do-while 与while 相互转换
答:D
【解析】D 项正确,C 语言中do-while 语句和while 语句作用是等价的,二者可以经过适当的修改互换。A 项错误,do-while 和for 循环也能写成死循环;B 项错误,for 循环首先执行表达式1; C 项错误,for 循环体经过适当的修改都可以转换成while 语句。
7. 以下选项中能表示合法常量的是( )。
答:A
【解析】A 项,表示的是字符串常量。B 项,浮点数的指数部分应该是整型;C 项,单个转义符没有意义; D 项,整数常量中间不能出现逗号。
8. 有以下程序:
程序运行后的输出结果是( )。
A.A
B.a
C.H
D.h
答:D
【解析】首先将H 赋给变量a ,问号前一个表达式成立,问号后面减去一个大写字母A 再加上小写字母a 实际是将原来的大写字母转换成小写字母,即H 转换成h ,再将结果赋给a 。
9. 有以下程序:
程序运行后的输出结果是( )。
A.12
B.11
C.10
D.9
答:C 【解析】表示按照八进制赋值,则十进制数为9, 所以输出++x的结果为10。
10.为了建立如图所示的存储结构(即每个结点含两个域,data 是数据域,next 是指向结点的指针域),则在处应填入的选项是( )。
答:C
【解析】结构体中的成员可以是各种类型的指针变量。当一个结构体中有一个或多个成员的基类型是本结构体类型时,称为“引用自身的结构体”。题目中next 指针指向struct 自身结点。