[计算机类试卷]国家二级C语言(C语言基础知识)机试模拟试卷9及答案与解析.doc

上传人:tireattitude366 文档编号:498946 上传时间:2018-11-30 格式:DOC 页数:16 大小:50.50KB
下载 相关 举报
[计算机类试卷]国家二级C语言(C语言基础知识)机试模拟试卷9及答案与解析.doc_第1页
第1页 / 共16页
[计算机类试卷]国家二级C语言(C语言基础知识)机试模拟试卷9及答案与解析.doc_第2页
第2页 / 共16页
[计算机类试卷]国家二级C语言(C语言基础知识)机试模拟试卷9及答案与解析.doc_第3页
第3页 / 共16页
[计算机类试卷]国家二级C语言(C语言基础知识)机试模拟试卷9及答案与解析.doc_第4页
第4页 / 共16页
[计算机类试卷]国家二级C语言(C语言基础知识)机试模拟试卷9及答案与解析.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、国家二级 C语言( C语言基础知识)机试模拟试卷 9及答案与解析 一、选择题 1 下列叙述中错误的是 ( A) C程序可以由多个程序文件组成 ( B)一个 C语言程序只能实现一种算法 ( C) C程序可以由一个或多个函数组成 ( D)一个 C函数可以单独作为一个 C程序文件存在 2 关于算法,以下叙述中错误的是 ( A)同一个算法对于相同的输入必能得出相同的结果 ( B)一个算法对于某个输入的循环次数是可以事先估计出来的 ( C)某个算法可能会没有输入 ( D)任何算法都能转换成计算机高级语言的程序,并在有限时间 内运行完毕 3 有以下程序,在 VC6平台上编译运行,程序运行后的输出结果是 #

2、include stdio h main()int s, t, A=10; double B=6: s=sizeof(A); t=sizeof(B); printf(“ d, d n“, s, t); ( A) 4, 4 ( B) 2, 4 ( C) 4, 8 ( D) 10, 6 4 下列叙述中正确的是 ( A)在 C程序中 main函数的位置是固定的 ( B) C程序中所有函数之间都可以相互调用 ( C)每个 C程序文件中都必须要有一个 main函数 ( D)在 C程序的函数中不能定义另一个函数 5 C语言主要是借助以下哪种手段来实现程序模块化 ( A)定义常量和外部变量 ( B)使用丰富

3、的数据类型 ( C)使用三种基本结构语句 ( D)定义函数 6 以下关于 C语言的叙述中正确的是 ( A) C语言中的变量可以在使用之前的任何位置进行定义 ( B)在 C语言算 *表达式的书写中,运算符两侧的运算数类型必须一致 ( C) C语言的数值常量中夹带空格不影响常量值的正确表示 ( D) C语言中的注释不可以夹在变量名或关键字的中间 7 以下叙述中正确的是 ( A)程序必须包含所有三种基本结构才能成为一种算法 ( B)如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达 ( C)只有简单算法才能在有限的操作步骤之后结束 ( D)我们所写的每条 C语句,经过编译最终都将转

4、换成二进制的机器指令 8 可在 C程序中用作用户标识符的一组标识符是 ( A) and 2007 ( B) Date y-m-d ( C) Hi Dr Tom ( D) case Bigl 9 以下选项中表示一个合法的常量是 (说明:符号 表示空格 ) ( A) 123E0 2 ( B) 2 7e ( C) 0999 ( D) 0Xab 10 下列定义变量的语句中错误的是 ( A) float US$; ( B) double int; ( C) char For; ( D) int int; 11 阅渎以下程序 #include stdio h main()int case; float p

5、rintf; printf(“请输入 2个数: “); scanf(“ d f“, &case, &printF); printf(“ d f n“, case, printF); 该程序在编译时产生错误,其出 错原因是 ( A)定义语句出错, printF不能用作用户自定义标识符 ( B)定义语句出错, case是关键字,不能用作用户自定义标识符 ( C)定义语句无错, scanf不能作为输入函数使用 ( D)定义语句无错, printf不能输出 case的值 12 以下选项中合法的变量是 ( A) 5a ( B) A ( C) _10_ ( D) sizeof 13 以下选项中,合法的一组

6、 C语言数值常量是 ( A) 12 0Xa234 5e0 ( B) 028 5e-3-0xf ( C) 1774e1 50abc ( D) 0x8A10 0003 e5 14 以下选项中可用作 C程序合法实数的是 ( A) 3 0e0 2 ( B) E9 ( C) 1e0 ( D) 9 12E 15 C语言中 double类型数据占字节数为 ( A) 4 ( B) 12 ( C) 8 ( D) 16 16 以下合法的字符型常量是 ( A) x13 ( B) 081 ( C) 65 ( D) n 17 以下定义语句中正确的是 ( A) char A=65+1, b=b; ( B) int a=b

7、=0; ( C) float a=1, *b=&a, *c=&b; ( D) double a=0 0=b=1 1; 18 有以下定义语句,编译时会出现编译错误的是 ( A) char a= n; ( B) char a: “aa“; ( C) char a=a; ( D) char a= x2d; 19 若有定义语句 char c= 101;则变量 c在内存中占 ( A) 2个字节 ( B) 3个字节 ( C) 1个字节 ( D) 4个字节 20 若有定义语句: char a= 82;则变量 a ( A)包含 1个字符 ( B)说明不合法 ( C)包 含 2个字符 ( D)包含 3个字符 2

8、1 若 x和 y代表整型数,以下表达式中不能正确表示数学关系 |x-y| 10的是 ( A) abs(x-y) 10 ( B) x-y -10&x-y 10 ( C) !(x-y) -10|!(y-x) 10 ( D) (x-y)*(x-y) 100 22 表达式 3 6 5 2+1 2+5 2的值是 ( A) 4 8 ( B) 3 3 ( C) 3 8 ( D) 4 3 23 设有定义: int k=1, m=2; float f=7;,则以下选项中错误的表达式是 ( A) k=k =k ( B) -k+ ( C) k int(0 ( D) k =f=m 24 若有定义语句: int x=1

9、0;则表达式 x-=x+x的值为 ( A) -20 ( B) 0 ( C) -10 ( D) 10 25 若有以下程序 #include stdio h main()int a=-11, b=10; a =b =-4; printf(“ d d n“, a, b); 则程序的输出结果是 ( A) -1-2 ( B) 5-2 ( C) 4-3 ( D) 5-3 26 在 16位编译系统上,若有定义 “int a=10, 20, 30, *p=a; ”,当执行“p+; ”后,下列说法错误的是 ( A) p向高地址移了一个字节 ( B) p向高地址移了一个存储单元 ( C) p向高地址移了两个字节

10、( D) p与 a+1等价 27 若有以下程序,则程序的输出结果是 #include stdio h main()int a=0, b=0, c=0; c=(a-=+a), (a+=b, b+=4); printf(“ d, d, d n“, a, b, c); ( A) 0, 4, 4 ( B) 1, 4, 1 ( C) 0, 4, 0 ( D) 1, 4, 4 28 以下叙述中正确的是 ( A)关系运算符两边的运算对象可以是 C语言中任意合法的表达式 ( B)在 C语言中,逻辑真值和假值分别对应 1和 0 ( C)对于浮点变量 x和 y,表达式: x=y是非法的,会出编译错误 ( D)分支

11、结构是根据算 *表达式的结果来判断流程走向的 29 表示关系式 xyz的 C语言表达式的是 ( A) (x =y)|(y =z) ( B) (x =y =z) ( C) (x =y)&(y =z) ( D) (x =y)!(y =z) 30 以下叙述中正确的是 ( A)由 &构成的逻辑表 达式与由 |构成的逻辑表达式都有 “短路 ”现象 ( B) C语言的关系表达式: 0 x ( C)逻辑 “非 ”(即运算符 !)的运算级别是最低的 ( D)逻辑 “或 ”(即运算符 |)的运算级别比算 *运算要高 国家二级 C语言( C语言基础知识)机试模拟试卷 9答案与解析 一、选择题 1 【正确答案】 B

12、 【试题解析】 算法是指为解决某个特定问题而采取的确定且有限的步骤。在 C语言中一个算法是用函数来实现的。一个 C语言源程序由许多函数组成,这些函数都是根据实际任务,确定具体的算法,由用户自己编写。 C语言源程序可以放在 不同的文件中,同一个源程序中的函数也可放在不同的文件中,所以一个 C语言程序可以实现多种算法。 【知识模块】 C语言基础知识 2 【正确答案】 D 【试题解析】 算法和程序不同,算法满足以下特性:算法有 5个特性,即有穷性、确定性、可行性、有零个或多个输入以及有一个或多个输出。算法的确定性是指算法中的每一个步骤都必须有明确定义,不允许有模棱两可的解释,也不允许有多义性,因此对

13、于相同的输入必有相同的输出,同时可以事先估计算法的时间复杂度,对于有循环的算法,以循环体内的循环次数来估测时间复杂度。 【知识模块】 C语言基础知识 3 【正确答案】 C 【试题解析】 关键字 sizeof用于测试不同类型变量所占的内存空间,返回所占的字节数。在 VC编译系统中,整型燹量占用 4个字节的内存空间,而双精度型变量占用 8个字节的内存空间。 【知识模块】 C语言基础知识 4 【正确答案】 D 【试题解析】 当一个程序作为另一个程序的子程序,并且它自己不独立执行时,这该程序可以没有主函数。主函数的位置不固定,并且可以调用程序中的其他函数,而其他函数不可以调用 main()函数。 C语

14、言规定,不能在函数的内部定义函数。 【知识模块】 C语言基础知识 5 【正确答案】 D 【试题解析】 C语言用函数实现软件的模块化设计。 【知识模块】 C语言基础知识 6 【正确答案】 D 【试题解析】 C语言中的注释可以出现在程序中的任何位置,但是不能夹在变量或者关键字之间; C语言的变 量在函数开始位置进行定义,也可以在变量使用前位置定义:一个浮点数可以和一个整数相加,运算符两侧的运算类型也可以不一致:数值常量中不允许夹带空格。 【知识模块】 C语言基础知识 7 【正确答案】 D 【试题解析】 c语句构成了函数,函数构成的程序,经过编译转换成二进制代码后可以运行,算法是指为解决某个特定问题

15、而采取的确定且有限的步骤,可以利用代码来描述算法,而算法 +数据结构才是程序,结构化的程序由顺序结构、循环结构和选择结构三种基本结构组成。由这三种基本结构组成的算法可以解决任何复杂的问题,反 之则不一定,所有算法必须在有限步骤后结束。 【知识模块】 C语言基础知识 8 【正确答案】 A 【试题解析】 本题考查用户标识符, C语言中,用户标识符只能由字母、下划线和数组组成,且必须以字母或者下划线开始。选项 A)正确:选项 B)中使用了字符“一 ”:选项 C)使用了字符 “ ”:选项 D)中的 case是 C语言关键字,不能作为用户标识符。 【知识模块】 C语言基础知识 9 【正确答案】 D 【试

16、题解析】 本题考查 C语言中的常量。选项 A)字母 E后面必须是整型数。浮点数错误;选顼 B)字 *e后面没有整型数;选项 C)以 0开始表示 8进制数, 8进制数没有 9:选项 D)是一个正确的 16进制常数。 【知识模块】 C语言基础知识 10 【正确答案】 A 【试题解析】 C语言规定,变量的标识符只能由字母、数字或下划线 3种字符组成,且首字符必须为字母或下划线。在 C语言中大写字母和小写字母被认为是两个不同的字符。选项 B)定义的变量标识符 int和选项 D)定义的变量标识符 int与 C语言的关键字 int是不同的,是正确的变量标识。选项 C)定义的变量标识符 For与 C语言中的

17、关键字 for是两个不同的标识符, 而在选项 A)包含有特殊字符 $,因而其不符合 C语言的变量命名规定。 【知识模块】 C语言基础知识 11 【正确答案】 B 【试题解析】 case是 C语言中的一个关键字,不能嗣作用户标识符来使用,所以这段程序代码在编译时就会出错。 【知识模块】 C语言基础知识 12 【正确答案】 C 【试题解析】 对于变量的命名要利用际识符命名,所谓标识符就是 C语言中的变量名、函数名、数组名、文件名、类型名等。其中标识符构成如下: 标识符由字母、数字和下划线组成; 第一个字符必须为字母或下划 线; 因此选项 A)中数字开头,选项 B)出现了非法字符,而选项 D)中 s

18、izeof为关键字,不能为变量命名。 【知识模块】 C语言基础知识 13 【正确答案】 A 【试题解析】 八进制数其开头必须是数字 “0”,其数字包括 0 7,而在选项 B)中, 028是错误的。浮点数据的指数形式表示常量中, C语言规定字母 e或 E之前必须要有数字,且 e或 E之后的指数必须为整数,而选项 C)中 4e1 5是错误的。在选项 D)中,整型数据 10, 000的表示形式是错误的。 【知识模块】 C语言基础知识 14 【正确 答案】 C 【试题解析】 C程序的合法实数有两种表示形式,一种是小数形式,另一种是指数形式,对于用指数形式表示的实数来说,需要注意的是字母 e或 E之前必

19、须要有数字,且字 *e或 E后面的指数必须为整数。 【知识模块】 C语言基础知识 15 【正确答案】 C 【试题解析】 double类型所占字节为 8。 【知识模块】 C语言基础知识 16 【正确答案】 A 【试题解析】 本题考查字符型常量。选项 A)正确,使用了转义字符 “ ”, x13表示 16进制的 13;选项 B)同样使用了转义字符 ,但 081错误,以 0开始表示 8进制, 8进制数字的范围是 0-7,没有 8:选项 C)错误, 65是一个字符串,不是字符;选项 D)错误,换行符是 “ n”。 【知识模块】 C语言基础知识 17 【正确答案】 A 【试题解析】 本题考查的是数据类型的

20、定义并赋值,选项 B)中对变量声明类型且赋值的情况是不允许出现的,必须单独定义且赋值。选项 C)中对于指针变量 c的赋值须为同型指针,而 &b为二级指针。选项 D)中 C语言允许在一个类型说明符后说明多个相同类型的变量,各变量之间要用逗号 (, )隔开,而不是用分号 (; )隔开 ;在计算机存储字符时将字符相应的 ASCII码以其对应的二进制进行存放,选项 A)中的定义是合法的。 【知识模块】 C语言基础知识 18 【正确答案】 B 【试题解析】 在选项 B)中,由两个字符 aa组成一个字符串赋给一个字符变量 a时会出错。 【知识模块】 C语言基础知识 19 【正确答案】 C 【试题解析】 每

21、个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以 ASCII码的形式存放在变量的内存单元之中的。 【知识模块】 C语言基础知识 20 【正确答案 】 B 【试题解析】 转义字符以一个反斜线开头后跟一个特定的字符,可以利用 ddd3位八进制数代表的一个 ASCII字符,也可以 hh2位十六进制数代表的一个 ASCII字符。选项 A)中的八进制表示出现字符 8,非法。 【知识模块】 C语言基础知识 21 【正确答案】 C 【试题解析】 数学关系 |x-y| 10表示 x和 y的差的绝对值小于 10,选项 A)使用了 abs求绝对值函数,满足要求;选项 B)是 x和 y的差值在

22、-10和 10之间,满足要求;选项 C)是 x和 y的差值大于 -10或者 y和 x的差值 小于 10,不满足要。 【知识模块】 C语言基础知识 22 【正确答案】 C 【试题解析】 表达式的计算过程为: 3 6-5 2+1 2+5 2=3 6-2+1 2+1=3 8。此题要注意 5 2的结果是 2,而不 2 5,因为除法运算符两边的数值类型均为整型,故运算结果的数值类型也被认定为整型。 【知识模块】 C语言基础知识 23 【正确答案】 C 【试题解析】 本题考查了赋值表达式,在赋值表达式中,等号的左边必须是变量,等号右边可以是变量、表达式或者常量。选项 A)是一个赋值表达式; 选项 B)是一

23、个表达式:选项 C)是计算余数表达式;选项 D)错误,等号的左边不是变量。 【知识模块】 C语言基础知识 24 【正确答案】 C 【试题解析】 表达式 x-=x+x等价于 x=x-(x+x),整型变量 x的初始值等于 10,计算题目所求表达式的值时,首先计算 x与 x的和等于 20,然后再用 10减去 20等于 -10,得到该表达式的值。 【知识模块】 C语言基础知识 25 【正确答案】 B 【试题解析】 对于语句 “a =b =-4; ”相当于 “a=a (b=b -4)”a初值为 -11, b的初值为 10,则运算以后 10 -4值为 -2, -11 -2值为 5。 【知识模块】 C语言基

24、础知识 26 【正确答案】 B 【试题解析】 本题考查数组和数组指针。 a是一个整型数组, p指针指向 a数组,即 p指向 a数组的首元素的地址,因此 p+之后, p往高地址移动,指向首元素后面一个元素的地址。 【知识模块】 C语言基础知识 27 【正确答案】 C 【试题解析】 表达式 c=(a-=+a), (a+=b, b+=4)相当于逗号表达式,首先计算c=(a-=+a),其中 (a-=+a)等价于 a=a-(+a),得到 a的值 0, c的值为 0,在计算(a+=b, b+=4)时, a和 b的初值为 0,计算以后, a为 0, b为 4。 【知识模块】 C语言基础知识 28 【正确答案

25、】 A 【试题解析】 C语言中没有逻辑类型,用非零表示逻辑真。 0表示逻辑假,选项B)错误,无法判断两个浮点变量是否相等,但是 x=y不会出现编译错误,选项C)错误,分支结构根据表达式的值,不一定为算术表达式,选项 D)错误。 【知识模块】 C语言基础知识 29 【正确答案】 C 【试题解析】 表示三个变量的关系 ,要利用逻辑表达式,用逻辑与连接。 【知识模块】 C语言基础知识 30 【正确答案】 A 【试题解析】 逻辑表达式的运算比较复杂,有短路现象,也就是首先计算 “逻辑与 ”或者 “逻辑或 ”运算的第一个运算量的值,根据表达式的值决定是否进行第二个量的值的计算。 “逻辑与 ”和 “逻辑或 ”运算低于关系运算和算术运算。但是 “逻辑非 ”运算却高于算 *运算。 【知识模块】 C语言基础知识

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1