1、国家二级 C语言机试( C语言基础知识)模拟试卷 17及答案与解析 一、选择题 1 DOS操作系统中的文件系统是如何组织的 ?( ) ( A)拓扑结构 ( B)网状结构 ( C)环形结构 ( D)树形结构 2 关于 C程序的编译和运行,以下叙述中错误的是 ( )。 ( A) C语言源代码程序通过编译、链接步骤之后才能形成一个可执行文件 ( B)用 C语言编写的程序是以 ASC 代码形式存放在一个文本文件中 ( C) C语言中的所有语句都将被转换成二进制的机器指令 ( D) C语言源程序经编译后生成后缀为 obj的目 标程序 3 计算机程序设计的模块化一般是哪一项实现的 ?( ) ( A)语句
2、( B)程序行 ( C)函数 ( D)变量 4 关于结构化程序设计的叙述中正确的是 ( )。 ( A)由三种基本结构构成的程序只能解决小规模的问题 ( B)一个结构化程序必须同时由顺序、分支、循环三种结构组成 ( C)结构化程序使用 goto语句会很便捷 ( D)在 C语言中,程序的模块化是利用函数实现的 5 合法的 C语言常量是 ( )。 ( A) 20 ( B) 020 ( C) 2el 0 ( D) 20 0e 6 非法的 C语言常量是 ( )。 ( A) 6 123e04 ( B) 6 234e0 4 ( C) 6 234e+4 ( D) 6 234e0 7 不合法的用户标识符是 (
3、)。 ( A) _a ( B) DaBc ( C) x_b ( D) a b 8 关于数的表示的叙述中正确的是 ( )。 ( A)只有用八进制表示的数才不会有误差 ( B)只有整型数在允许范围内能精确无误的表示,实型数会有误差 ( C)只有实型数在允许范围内能精确无误的表示,整型数会有误差 ( D)只要允许范围内整型数和实型数都能精确的表 示 9 合法的 C语言常量是 ( )。 ( A) 432E0 2 ( B) 1 7e ( C) 03249 ( D) OXab 10 合法的 C语言数据常量是 ( )。 ( A) 123L ( B) 0328 ( C) 2 5e1 2 ( D) o225 1
4、1 合法的 C语言标识符是 ( )。 ( A) _1_ ( B) 2_8 ( C) void ( D) unsigned 12 关于 C语言常量的叙述中错误的是 ( )。 ( A)所谓常量,是指在程序运行过程中,其值不能被改变的量 ( B)经常被使用的变量可以定义成常量 ( C)常量可分为数值型常量和非数值型常量 ( D)常量分为整型常量、实型常量、字符常量和字符串常量 13 合法的 C语言数值常量是 ( )。 ( A) 21 0 Xa33 4 5e0 ( B) 018 5e 3 0xf ( C) 134 4el 5 0abc ( D) 0x8A 10, 000 3 e5 14 关于 C语言数
5、制的叙述中正确的是 ( )。 ( A)英文大写字母 X和英文小写字母 x都可以作为二进制数字的开头字符 ( B)八进制数的开头要使用英文字母 o,否则不能与十进制区分开 ( C)整型变量可以分 为 int型、 short型、 long型和 unsigned型四种 ( D)在 C程序中的八进制和十六进制,可以是浮点数 15 合法的 C语言实数是 ( )。 ( A) 1 0e0 2 ( B) E12 ( C) 3e0 ( D) 2 12E 16 不是 C语言字符常量的是 ( )。 ( A) C ( B) C ( C) xCC ( D) 072 17 不合法的 C语言字符常量是 ( )。 ( A)
6、028 ( B) 35 ( C) xdf ( D) 101 18 不合法的 C语言 字符常量是 ( )。 ( A) x ( B) ( C) 018 ( D) xcc 19 若 int x=12, y=8, z;在其后执行语句 z=0 9+x y;则 z的值为 ( )。 ( A) 0 1 ( B) 1 ( C) 2 ( D) 1 4 20 39有以下定义: int a; long b; double x, y; 则以下选项中正确的表达式是 ( )。 ( A) a (int)(x一 y) ( B) a=x运算符不存在,选项 C中 double类型不能进行余 ( )操作,要求 两个运算数必须是整数,
7、选项 D中 x+y=x错误。 【知识模块】 C语言基础知识 21 【正确答案】 A 【试题解析】 C语言中的逻辑运算主要要看运算符的优先级。选项 A中, (!a=1)中!运算优先级比 =高,因此! a为假,然后再和 1比较是否相等,因此整个表达式的结果为假, (! a=1)和 (! b=0)是与的关系,前面的表达式为假,整个表达式结果就是假,选项 C中 a b为真,! c值为假, (a b)&! c值为假, (ab)&! c为真;选项 B中 a&b的值为 2;选项 D中 a的值为真,表达式的结果为真 。 【知识模块】 C语言基础知识 22 【正确答案】 A 【试题解析】 选项 B、 C、 D都
8、是对 k的值加 1,选项 A的语句 k+表示先利用k的值进行运算,然后 k值才加 1。 【知识模块】 C语言基础知识 23 【正确答案】 C 【试题解析】 对于语句 (a+=+b, b+=4),首先计算 “a=a+(+b)”, a, b初值为0,则计算以后 a为 1, b为 1,然后计算 b+=4,得到 b的值为 5,此时表达式b+=4的值为整个逗号表达式的值,因此 c的值为 5。 【知识模块】 C语言基础知识 24 【正确答案】 C 【试题解析】 关系表达式和逻辑表达式的结果为非零或者 0,其中 0表示假,而非零表示真, 3! =4的结果为真,即 1, 1 2的结果为假。 【知识模块】 C语言基础知识 25 【正确答案】 A 【试题解析】 逻辑表达式的运算比较复杂,有短路现象,也就是首先计算 “逻辑与 ”或者 “逻辑或 ”运算的第一个运算量的值,根据表达式的值决定是否进行第二个量的值的计算。 “逻辑与 ”和 “逻辑或 ”运算低于关系运算和算术运算。但是 “逻辑非 ”运算却高于算术运算。 【知识模块】 C语言基础知识