国家二级C语言(C语言基础知识)机试模拟试卷16
选择题
1.以下叙述中正确的是(B)
A. C程序书写格式严格,要求一行内只能写一个语句
B. C程序书写格式自由,一个语句可以写在多行上
C. C程序中的注释只能出现在程序的开始位置和语句的后面
D. 用C语言编写的程序只能放在一个程序文件中
解析:本题主要考查的是C语言结构中的源程序书写格式这个知识点,在C语言中注释部分对程序的运行结果不产生任何影响,它可以出现在任意位置;C语言书写自由,一行内可以写多个语句,一个语句可以写在多行上;由于C语言编写的程序有很好的移植性,可以放在多个程序文件中。
2.以下关于C语言的叙述中正确的是(D)
A. C语言中的变量可以在使用之前的任何位置进行定义
B. 在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致
C. C语言的数值常量中夹带空格不影响常量值的正确表示
D. C语言中的注释不可以夹在变量名或关键字的中间
解析:C语言中的注释可以出现在程序中的任何位置,但是不能夹在变量或者关键字之间;C语言的变量在函数开始位置进行定义,也可以在变量使用前位置定义;一个浮点数可以和一个整数相加,运算符两侧的运算类型也可以不一致;数值常量中不允许夹带空格。
3.有以下程序 #include <stdio.h>
main() {
int a=0, b=0;
/* 给a赋值 a=10; b=20; 给b赋值 */
printf(\\(D)
A. a+b=30
B. a+b=10
C. 出错
D. a+b=0
解析:C语言规定,在字符“/*”和其后紧跟的第一个字符“*/”中间的部分是注释内容,且注释部分的内容不参与程序的编译和运行,因此,本题中程序语句“a=10;b=20;”没有执行。
4.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下 说法错误的是(B)
A. 一条C语句可能会被转换成多条机器指令
B. 一条C语句对应转换成一条机器指令
C. 一条C语句可能会被转换成零条机器指令
D. 某种类型和格式的C语句被转换成机器指令的条数是固定的
解析:由C语言编写的程序,通过编译、链接转换成可以让机器识别的01二进制指令。这些二进制指令命令机器计算,这些就是机器指令,而C语言的语句条数和机器指令的条数不是一对一的关系。
5.以下选项中不属于C语言程序运算符的是(C)
A. sizeof
B. ( )
C. <>
D. &&
解析:sizeof为测试内存的运算符,()为算术运算符,&&为逻辑运算符。而<>不是C语言的运算符,C语言中!=表示不等于。
6.若变量已正确定义并赋值,以下不能构成C语句的选项是(C)
A. A=a+b;
B. B++;
C. a=a+b
D. A?a:b;
解析:C语言语句的表示为分号,不加分号的表达式不能看成C语句。
7.以下叙述中正确的是(D)
A. 程序必须包含所有三种基本结构才能成为一种算法
B. 如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达
C. 只有简单算法才能在有限的操作步骤之后结束
D. 我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令
解析:C语句构成了函数,函数构成的程序,经过编译转换成二进制代码后可以运行,算法是指为解决某个特定问题而采取的确定且有限的步骤,可以利用代码来描述算法,而算法+数据结构才是程序,结构化的程序由顺序结构、循环结构和选择结构三种基本结构组成。由这三种基本结构组成的算法可以解决任何复杂的问题,反之则不一定,所有算法必须在有限步骤后结束。
8.以下选项中不合法的标识符是(B)
A. FOR
B. &a
C. print
D. _00
解析:合法的标识符要满足组成字符为a~z以及A~Z,数字字符0到9和下划线,其中数字不开头,不能是关键字。选项B中,&不属于组成字符,是错误的。
9.以下选项中,能用作数据常量的是(A)
A. 115L
B. 0118
C. 1.5e1.5
D. o115
解析:本题考查常量定义。数据常量可有10进制、8进制、16进制、指数法等,8进制数字为0-7,第一个字符为0,而不是o。指数法表示时,指数部分须为整型,选项A中数字后加入L是说明此变量为长整型,是正确的常量表示形式。
10.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(A)
A. 连接符
B. 大写字母
C. 数字字符
D. 下划线
解析:在C语言中,合法标识符的命令规则是:标识符可以由字母、数字或下划线组成,并且第一个字符必须为字母或下划线。在C语言的标识符中,大写字母和小写字母被认为是两个不同的字符。选项A是连字符,不在C语言规定的命名变量标识符的范围内。
11.以下选项中,能用作用户标识符的是(A)
A. _0_
B. 8_8
C. void
D. unsigned
解析:在C语言中,用户的标识符只能由字母或下划线开始。一般强调文见其义的命名方法。但是C语言中的保留字不能用作用户的标识符。而选项C和D全部为保留字,选项B中以数字开头,这些都不正确。
12.下列定义变量的语句中错误的是(A)
A. float US$;
B. double int_;
C. char For;
D. int _int;
解析:C语言规定,变量的标识符只能由字母、数字或下划线3种字符组成,且首字符必须为字母或下划线。在C语言中大写字母和小写字母被认为是两个不同的字符。选项B定义的变量标识符int_和选项D定义的变量标识符_int与C语言的关键字int 是不同的,是正确的变量标识。选项C定义的变量标识符For与C语言中的关键字for是两个不同的标识符,而在选项A包含有特殊字符$,因而其不符合C语言的变量命名规定。
13.以下选项中关于C语言常量的叙述错误的是(B)
A. 常量分为整型常量、实型常量、字符常量和字符串常量
B. 经常被使用的变量可以定义成常量
C. 常量可分为数值型常量和非数值型常量
D. 所谓常量,是指在程序运行过程中,其值不能被改变的量
解析:常量指在程序运行过程中,其值不能被改变的量。常量分为整型常量(即整常数)、实型常量、字符型常量和字符串常量。常量也可以按数据类型分为为数据常量和非数据常量。变量是指在程序运行过程中,其值能被改变的量。
14.以下选项中,不合法的C语言用户标识符是(B)
A. AaBc
B. a-b
C. a_b
D. _1
解析:在C语言中的用户标识符只能由字母,数字和下划母组成,并且第一个字符必须是字母或下划线,在选项A中出现了非法的字符–。
15.以下关于C语言数据类型使用的叙述中错误的是(C)
A. 若要保存带有多位小数的数据,可使用双精度类型
B. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
C. 若只处理“真”和“假”两种逻辑值,应使用逻辑类型
D. 整数类型表示
本文档预览:3600字符,共6519字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载