国家二级C语言机试(C语言基础知识)模拟试卷18
选择题
1.关于程序的编译执行和解释执行,以下叙述中正确的是( )。(A)
A. C语言程序仅可以编译执行
B. C语言程序既可以编译执行又可以解释执行
C. C语言程序仅可以解释执行
D. 以上说法都不对
解析:C语言属于编译型语言,只在编译链接后才能执行。
2.关于C语言程序的叙述中错误的是( )。(B)
A. 一个C函数可以单独作为一个C程序文件存在
B. 一个C语言程序只能实现一种算法
C. C语言程序可以由一个或多个函数组成
D. C语言程序可以由多个程序文件组成
解析:在一段C语言程序中可以包含多个算法.用来实现不同的任务,因为算法是指为解决某个特定问题而采取的确定且有限的步骤,它是通过函数来实现的。一个C语言源程序由许多函数组成,这些函数都是根据实际任务确定具体的算法,由用户自己编写。C语言源程序可以放在不同的文件中,同一个源程序中的函数也可放在不同的文件中,所以一个C语言程序可以实现多种算法。
3.关于C语言程序及函数的叙述中正确的是( )。(B)
A. 程序可以包含多个主函数,但总是从第一个主函数处开始执行
B. 在C程序中,模块化主要是通过函数来实现的
C. 程序的主函数名除main外,也可以使用Main或_main
D. 书写源程序时,必须注意缩进格式,否则程序会有编译错误
解析:C语言程序都有且只能有一个main()函数,一个C程序总是从main函数开始执行,到main函数体执行完后结束,而不论main函数在整个程序中的位置如何。而为了代码清晰容易看懂,最好加上注释,这是程序书写风格。与编译无关。
4.关于C程序语句的叙述中正确的是( )。(B)
A. C语句必须在一行内写完
B. 简单C语句必须以分号结束
C. C语言程序中的注释必须与语句写在同一行
D. C程序中的每一行只能写一条语句
解析:C语言的源程序代码编写时的格式相对灵活,一行可写多条语句,一条语句也可写在不同行上。C语言注释也可以写在一行或者多行。C语言规定每条语句和数据定义的最后必须有一个分号,分号是C语句的必要组成部分。
5.非法的用户标识符是( )。(D)
A. Main
B. _0
C. _int
D. sizeof
解析:用户标识符只能由字母、下划线和数字组成,且必须以字母或者下划线开头,不能和C语言的关键字相同。选项A、B和C都符合要求,选项D中的sizeof是C语言关键字,不能作为用户标识符。
6.合法的用户标识符是( )。(A)
A. _2007
B. y-m-d
C. Dr.Tom
D. case
解析:用户标识符只能由字母、下划线和数字组成,且必须以字母或者下划线开始。选项A正确;选项B中使用了一字符,选项C使用了字符;选项D中的case是C语言关键字,不能作为用户标识符。
7.不合法的C语言常量是( )。(A)
A. 3,141
B. ’314’
C. 314
D. ’\x7G’’
解析:选项A错误,多了逗号;选项B是字符常量;选项C是整型常量;选项D是字符常量。
8.以下表达式中,输出与其他三组不同的是( )。(C)
A. m++;printf(’’%d\n’’,m);
B. ++m;printf(’’%d\n’’,m);
C. n=x++;printf(”%d\n”,n);
D. n=++x;printf(’’%d\n’’,n);
解析:C语言中++在前表示先自增然后使用,++在后面表示先使用然后自增。选项A中首先执行m++,执行完后m自增1,然后printf输出的是m自增后的值;选项B首先执行++m,脚的值增加1,接着输出m的值;选项C中++在x的后面,因此n的值是x自增前的值,printf输出的是x自增前的值;选项D中++在x的前面,因此x首先自增,然后再赋值给n,n的值是x自增后的值,输出的也是x自增后的值。
9.不合法的C语言标识符是( )。(B)
A. print
B. &a
C. while
D. _00
解析:C语言合法的标识符要满足组成字符为a~z以及A~Z,数字字符0~9和下划线,其中数字不开头,不能是关键字。选项B中,&不属于组成字符,是错误的。
10.不能出现在C语言标识符中的是( )。(A)
A. 连接符
B. 小写字母
C. 数字
D. 下划线
解析:在C语言中,标识符可以由字母、数字或下划线组成,并且第一个字符必须为字母或下划线。大写字母和小写字母被认为是两个不同的字符。选项A是连接符,不在C语言规定的命名变量标识符的范围内。
11.会出错的C语言表达式是( )。(A)
A. double B. float int_;
C. char For;
D. int_int;
解析:C语言的变量名只能由字母、数字或下划线3种字符组成,且首字符必须为字母或下划线。大写字母和小写字母被认为是两个不同的字符。选项B定义的变量标识符int_和选项D定义的变量标识符_int与C语言的关键字int是不同的是正确的变量标识。选项C定义的变量标识符For与C语言中的关键字for是两个不同的标识符,而在选项A包含有特殊字符
12.与十进制数200等值的十六进制数为( )。(C)
A. A12
B. A8
C. C8
D. C4
解析:C语言中不同数制之间是可以转换的,十进制的数转换为十六进制规则:整数部分除以16取余数,将余数倒过来排列。
13.C语言不能使用的数制是( )。(C)
A. 八进制
B. 十进制
C. 二进制
D. 十六进制
解析:在C语言中的数值可以用十进制、八进制和十六进制来表示,但不用二进制来表不。
14.合法的C语言常量是( )。(A)
A. ’’\006’’
B. 2.5E2.0
C. ’\’
D. 2,345
解析:选项D中间不能有逗号。选项B2.0错误,必须为整数。选项A要表示字符斜杠常量\,应该在反斜杠的前面再加上一个反斜杠。选项C为字符串常量,为正确选项。
15.不合法的C语言数值常量是( )。(D)
A. lel
B. 023
C. 0xabcd
D. 1.0E0.2
解析:实型常量又称为实数或浮点数。在C语言中,可以用两种形式表示一个实型常量。①小数形式是由数字和小数点组成的一种实数表示形式,这种表示形式的常量必须要有小数点。②指数形式用以“e”或“E”后跟一个整数来表示以10为底的幂数。C语言的语法规定,字母e或E之前必须要有数字,且e或E后面的指数必须为整数。因为选项D中字母E后面的指数为小数形式,所以选项D这种表示方法不合法。
16.以下程序段中不能统计出一
本文档预览:3600字符,共6407字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载