【计算机类职业资格】国家二级C语言机试(C语言基础知识)模拟试卷14及答案解析.doc

上传人:刘芸 文档编号:1332025 上传时间:2019-10-17 格式:DOC 页数:10 大小:53.50KB
下载 相关 举报
【计算机类职业资格】国家二级C语言机试(C语言基础知识)模拟试卷14及答案解析.doc_第1页
第1页 / 共10页
【计算机类职业资格】国家二级C语言机试(C语言基础知识)模拟试卷14及答案解析.doc_第2页
第2页 / 共10页
【计算机类职业资格】国家二级C语言机试(C语言基础知识)模拟试卷14及答案解析.doc_第3页
第3页 / 共10页
【计算机类职业资格】国家二级C语言机试(C语言基础知识)模拟试卷14及答案解析.doc_第4页
第4页 / 共10页
【计算机类职业资格】国家二级C语言机试(C语言基础知识)模拟试卷14及答案解析.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、国家二级 C语言机试(C 语言基础知识)模拟试卷 14及答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是(分数:2.00)A.关键字可用作用户标识符,但失去原有含义B.在标识符中大写字母和小写字母被认为是相同的字符C.用户标识符可以由字母和数字任意顺序组成D.预定义标识符可用作用户标识符,但失去原有含义2.以下叙述中错误的是(分数:2.00)A.常量可以用一个符号名来代表B.数值型常量有正值和负值的区分C.常量是在程序运行过程中值不能被改变的量D.定义符号常量必须用类型名来设

2、定常量的类型3.与十进制数 200等值的十六进制数为(分数:2.00)A.A8B.A4C.C8D.C44.以下选项中,合法的一组 C语言数值常量是(分数:2.00)A.120Xa23 45e0B.0285e-3-0xfC.177 4e15 0abcD.0x8A 10000 3e55.C源程序中不能表示的数制是(分数:2.00)A.八进制B.十进制C.二进制D.十六进制6.以下叙述中正确的是(分数:2.00)A.在 C程序中的八进制和十六进制,可以是浮点数B.八进制数的开头要使用英文字母 o,否则不能与十进制区分开C.整型变量可以分为 int型、short 型、long 型和 unsigned型

3、四种D.英文大写字母 X和英文小写字母 x都可以作为二进制数字的开头字符7.以下选项中合法的常量是(分数:2.00)A.27eB.9 9 9C.123E 02D.0Xab8.以下选项中能表示合法常量的是(分数:2.00)A.007B.15E20C.D.12009.以下选项中可用作 C程序合法实数的是(分数:2.00)A.30e02B.E9C.1e0D.912E10.以下不合法的数值常量是(分数:2.00)A.1e1B.011C.0xabcdD.80E0511.以下选项中正确的定义语句是(分数:2.00)A.double a=b=7;B.double a;b;C.double,a,b;D.dou

4、ble a=7,b=7;12.若有以下程序段 double x=516894; printf(“fn“,(int)(x*1 000+05)(double)1 000); 则程序段的输出结果是(分数:2.00)A.5175000B.5169000C.5170000D.516800013.以下选项中合法的实型常量是(分数:2.00)A.914B.313e-21C.0D.20*1014.C语言中 double类型数据占字节数为(分数:2.00)A.4B.12C.8D.1615.以下叙述中正确的是(分数:2.00)A.整型常量和实型常量都是数值型常量B.常量的类型不能从字面形式上区分,需要根据类型名来

5、决定C.预定义的标识符是 C语言关键字的一种,不能另作它用D.只能在函数体内定义变量,其他地方不允许定义变量16.sizeof(double)是(分数:2.00)A.一个双精度型表达式B.一个整型表达式C.一个不合法的表达式D.一种函数调用17.以下选项中,值为 1的表达式是(分数:2.00)A.1-0B.1=0C.1-0D.0-018.有以下说明和定义语句 struct student int age;char num8; struct student stu3=20,“200401“,21,“200402“,19,“200403“; struct student *p=stu; 以下选项中

6、引用结构体变量成员的表达式错误的是(分数:2.00)A.(p+)-numB.p-numC.(*p)numD.stu3age19.以下合法的字符型常量是(分数:2.00)A.x13B.081C.65D.n20.已有定义:char c;,程序前面已在命令中包含 ctypeh 文件。不能用于判断 c中的字符是否为大写字母的表达式是(分数:2.00)A.isupper(c)B.AnumB.p-numC.(*p)numD.stu3age 解析:解析:本题考查结构体和结构体指针,stu 是一个结构体数组,p 是结构体指针,且 p指向 stu数组,即 p指向了 stu数组的首元素地址。选项 A中 p+表示先

7、引用 p指针,然后 p指向下一个元素,(p+)-num表示取出 stu首元素的 num值,然后 p指向 stu1元素地址;选项 B是通过结构体指针访问结构体元素,使用“-”运算符:选项 C中*p 代表 stu0元素,因此(*p)num 表示 stu0num;选项 D中,stu数组的长度为 3,stu3已经超出数组范围,错误。19.以下合法的字符型常量是(分数:2.00)A.x13 B.081C.65D.n解析:解析:本题考查字符型常量。选项 A正确,使用了转义字符“” x13 表示 16进制的 13;选项 B同样使用了转义字符,但 08l错误,以 0开始表示 8进制,8 进制数字的范围是 07

8、,没有 8;选项 C错误,65 是一个字符串,不是字符;选项 D错误,换行符是“n”。20.已有定义:char c;,程序前面已在命令中包含 ctypeh 文件。不能用于判断 c中的字符是否为大写字母的表达式是(分数:2.00)A.isupper(c)B.A=c=ZC.A=c&c=ZD.c=(z-32)&(a-32)=c 解析:解析:本题考查字符变量和逻辑运算。选项 A通过调用函数 isupper来判断字符 c是否是大小字母,满足要求:选项 B是逻辑表达式不管 c为何值,A=c 为真或者假,然后再和Z比较结果必然为真(0和 1都小于Z的 ASCII值);选项 C是通过与运算来判断 c是否是大小

9、字母:选项 D中z-32 和大小字母Z相等,同样a-32 和大小字母A相等。21.以下选项中不属于字符常量的是(分数:2.00)A.CB.C C.xCCD.072解析:解析:本题考查字符型常量。选项 A正确,是大小字母 C;选项 B错误,使用双引号括起来的是字符串,不是字符;选项 C正确,使用了转义字符“”,xCC 表示 16进制的 CC;选项 D正确,使用了转义字符“”,072 表示 8进制的 72。22.设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)0 的程序段是(分数:2.00)A.n=0;while(ch=getchar()!=n)n+;B.n=0;while(ge

10、tchar() !=n)n+;C.for(n=0;getchar()!=n;n+);D.n=0;for(ch=getchar();ch!=n;n+); 解析:解析:本题主要考查循环的使用。选项 A中,首先把输入的字符放到 ch变量中,然后判断 ch是否为回车符,如果不是则 n增加,循环结束条件是输入的是回车符;选项 B中,直接判断 getchar。函数的返回值是否是回车符,如果不是则 n增加,输入回车符循环结束;选项 C使用 for循环,n 的初值为 0,每次循环 n增加 1,循环的结束条件是输入回车符:选项 D中 for循环的初始条件 ch值为输入的字符,只有一次输入,不能统计输入的字符数,

11、如果第一次输入的不是回车符循环不能结束。23.以下选项中非法的字符常量是(分数:2.00)A.019 B.65C.cffD.101解析:解析:本题考查字符型常量。选项 A错误,使用了转义字符“”,019 以 0开始表示 8进制,8进制数字的范围是 0-7,没有 9;选项 B、C 和 D正确。24.以下定义语句中正确的是(分数:2.00)A.char A=65+1,b=b; B.int a=b=0:C.float a=1,*b=&a,*c=&b;D.double a=00;b=11;解析:解析:本题考查的是数据类型的定义并赋值,选项 B中对变量声明类型且赋值的情况是不允许出现的,必须单独定义且赋

12、值。选项 C中对于指针变量 c的赋值须为同型指针,而&b 为二级指针。选项 D中C语言允许在一个类型说明符后说明多个相同类型的变量,各变量之间要用逗号(,)隔开,而不是用分号(:)隔开;在计算机存储字符时将字符相应的 ASCII码以其对应的二进制进行存放,选项 A中的定义是合法的。25.以下不合法的字符常量是(分数:2.00)A.“B.C.018 D.xcc解析:解析:在 C语言中,一个字符常量代表 ASCII字符集中的一个字符,在程序中用单引号把一个字符括起来用为字符常量。转义字符常量也是必须括在一对单引号内,以一个反斜线开头后跟一个特定的字符,用来代表某一个特定的 ASCII字符。在选项

13、C中,018是用八进制数来代表一个字符常量,所以其中的数字只能小于 8,并不包括 8。26.有以下程序,已知字母 A的 ASCII码为 65,程序运行后的输出结果是 main()char c1,c2; c1=A+8-4: c2=A+8-5: printf(“c,dn“,c1,c2);(分数:2.00)A.D,69B.E,68 C.E,DD.输出无定值解析:解析:字符变量 cl的 ASCII值等于 69,而字符变量 c2的 ASCII值等于 68,当分别以字符和整型输出 cl和 c2的 ASCII码值时,其结果为 E,68。27.以下不能输出字符 A的语句是(注:字符 A的 ASCII码值为 6

14、5,字符 a的 ASCII码值为 97)(分数:2.00)A.printf(“cn“,a-32);B.printf(d n“,A); C.printf(“cn“,65);D.printf(“cn“,B-1);解析:解析:在选项 B的输出函数中,大写字符A以整型数据的形式输出。28.以下选项中不能作为 C语言合法常量的是(分数:2.00)A.cd B.01e+6C.aD.011解析:解析:常量指的是在程序的运行过程中,其值不能被改变的量。在 C语言中,包括整型常量、实型常量、字符常量和字符串常量等类型。选项 B01e+6 是用指数形式表示的实型常量。在 C语言中,用以“e”或“E”后一个整数来表

15、示以 10为底的幂数。以用这种形式表示实型常量时要注意 C语言的语法规定,字母 e或 E之前必须要有数字,且 e或 E后面的指数必须为整数,并且在字母 e或 E的前后以及数字之间不得插入空格。选项 C中用双引号括起来表示的字符串“a”。选项 D中011表示用单引号括起来的转_义字符八制进数 011。选项 A表示的字符常量是非法的,在用单引号表示的字符常量中,只能包含一个字符,而选项 A中包含两个字符。29.有以下定义语句,编译时会出现编译错误的是(分数:2.00)A.char a=n;B.char a=“aa“; C.char a=a;D.char a=x2d;解析:解析:在选项 B中,由两个字符 aa组成一个字符串赋给一个字符变量 a时会出错。30.已知字符A的 ASCII代码值是 65,字符变量 c1的值是A,c2 的值是D。则执行语句printf(“d,d“,c1,c2-2);的输出结果是(分数:2.00)A.A,68B.A,BC.65,66 D.65,68解析:解析:在 C语言中,字符常量在内存中占一个字节,存放的是字符的 ASCII码值。所有的字符常量都作为整型量来处理。在本题中输出语句用整型格式输出字符时,输出的是其 ASCII码值。因为字符A和D的 ASCII码值分别为 65和 68,所以 c2-2=68-2=66。

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

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

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