欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:1332035       资源大小:53.50KB        全文页数:10页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    1、国家二级 C语言机试(C 语言基础知识)模拟试卷 9及答案解析(总分: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 10,000 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.999C.123E02D.0Xab8.以下选项中能表示合法常量的是(分数:2.00)A.007B.15E20C.D.1,2009.以下选项中可用作 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.doubl

    4、e a=7,b=7;12.若有以下程序段 double x=516894;printf(“fn“,(int)(x*1000+05)(double)1000);则程序段的输出结果是(分数: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.常量的类型不能从字面形式上区分,需要根据类型名来决定C.预定

    5、义的标识符是 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 studentint age;char num8; struct student stu3=20,“200401“,21,“200402“,19,“200403“; struct student *p=stu;以下选项中引用结构体变量

    6、成员的表达式错误的是(分数:2.00)A.(p+)numB.PnumC.(*p)numD.stu3age19.以下合法的字符型常量是(分数:2.00)A.x13B.081C.65D.n20.已有定义:char c;,程序前面已在命令中包含 ctypeh 文件。不能用于判断 c中的字符是否为大写字母的表达式是(分数:2.00)A.isupper(c)B.A=c=Z ,C.A=c&c=ZD.c=(z32)&(a32)=c21.以下选项中不属于字符常量的是(分数:2.00)A.CB.CC.xCCD.07222.设变量己正确定义,以下不能统计出一行中输入字符个数(不包含回车符)0 的程序段是(分数:2

    7、.00)A.n=0;while(ch=getchar()!=n)n+;B.n=0;while(getchar()!=n)n+;C.for(n=0;getchar()!=n;n+);D.n=0;for(ch=getchar();ch!=n;n+);23.以下选项中非法的字符常量是(分数:2.00)A.019B.65C.xffD.10124.以下定义语句中正确的是(分数: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;25.以下不合法的字符常量是(分数:2.00)A.“B.C.018D.xc

    8、c26.有以下程序,己知字母 A的 ASCII码为 65,程序运行后的输出结果是 main()char c1,c2; c1=A+84: c2=A+8一5; printf(“c,n“,c1,c2);(分数:2.00)A.D,69B.E,68C.E,DD.输出无定值27.以下不能输出字符 A的语句是(注:字符 A的 ASCII码值为 65,字符 a的 ASCII码值为 97)(分数:2.00)A.printf(“cn“,a-32);B.printf(“dn“,A);C.printf(“cn“,65);D.printf(“cn“,B-1);28.以下选项中不能作为 c语言合法常量的是(分数:2.00

    9、)A.cdB.01e+6C.aD.01129.有以下定义语句,编译时会出现编译错误的是(分数:2.00)A.char a=n;B.char a=“aa“;C.char a=a;D.char a=x2d;30.已知字符A的 ASCII代码值是 65,字符变量 c1的值是A,c2 的值是D。则执行语句printf(“d,d“,c1,c2-2);的输出结果是(分数:2.00)A.A,68B.A,BC.65,66D.65,68国家二级 C语言机试(C 语言基础知识)模拟试卷 9答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.C语言中的标识符分为关键字、

    10、预定义标识符和用户标识符,以下叙述正确的是(分数:2.00)A.关键字可用作用户标识符,但失去原有含义B.在标识符中大写字母和小写字母被认为是相同的字符C.用户标识符可以由字母和数字任意顺序组成D.预定义标识符可用作用户标识符,但失去原有含义 解析:解析:预定义标识符是 C语言中的标识符,在 C语言中也有特定的含义,如函数printf、scanf、sin 等和编译预处理命令名(如 define和 include)。预定义标识符可以作为用户标识符使用,只是这样会失去系统规定的原义。2.以下叙述中错误的是(分数:2.00)A.常量可以用一个符号名来代表B.数值型常量有正值和负值的区分C.常量是在程

    11、序运行过程中值不能被改变的量D.定义符号常量必须用类型名来设定常量的类型 解析:解析:C 语言中,常常用一个标识符来代表一个常量,称为符号常量。符号常量在使用之前要先定义,定义格式:#define符号常量名(常量) 其中,符号常量名)用标识符,习惯上用大写字母,常量可以是数字常量,也可以是字符。3.与十进制数 200等值的十六进制数为(分数:2.00)A.A8B.A4C.C8 D.C4解析:解析:本题考察了进制转换,十进制的数转换为十六进制规则:整数部分除以 16取余数,将余数倒过来排列。4.以下选项中,合法的一组 C语言数值常量是(分数:2.00)A.120Xa23 45e0 B.0285e

    12、-3-0xfC.177 4e15 0abcD.0x8A 10,000 3e5解析:解析:八进制数其开头必须是数字“0”,其数字包括 07,而在选项 B)中,028 是错误的。浮点数据的指数形式表示常量中,C 语言规定字母 e或 E之前必须要有数字,且 e或 E之后的指数必须为整数,而选项 C)中 4e15 是错误的。在选项 D)中,整型数据 10,000 的表示形式是错误的。5.C源程序中不能表示的数制是(分数:2.00)A.八进制B.十进制C.二进制 D.十六进制解析:解析:在 C语言的源程序中,数值可以用十进制、八进制和十六进制来表示。不用二进制来表示。6.以下叙述中正确的是(分数:2.0

    13、0)A.在 C程序中的八进制和十六进制,可以是浮点数B.八进制数的开头要使用英文字母 o,否则不能与十进制区分开C.整型变量可以分为 int型、short 型、long 型和 unsigned型四种 D.英文大写字母 X和英文小写字母 x都可以作为二进制数字的开头字符解析:解析:整型变量分为以下 4种类型: 基本型:以 int表示。短整型:以 short int表示,或以 short表示。长整型:以 long int表示,或以 long表示。无符号型:以 unsigned int表示,选项 c)正确,实型常量仅有十进制表示形式,八进制以数字 0开头,十六进制开头为 0x或者 0X,不是二进制。

    14、7.以下选项中合法的常量是(分数:2.00)A.27eB.999C.123E02D.0Xab 解析:解析:0xab 是十六进制表示的常量。8.以下选项中能表示合法常量的是(分数:2.00)A.007 B.15E20C.D.1,200解析:解析:选项 D),1200 中间不能有逗号,否则编译时会认为是 1或出错。选项 B),20 错误,必须为整数。选项 C),要表示字符斜杠常量,应该在反斜杠的前面再加上一个反斜杠。选项 A)为字符串常量,为正确选项。9.以下选项中可用作 C程序合法实数的是(分数:2.00)A.30e02B.E9C.1e0 D.912E解析:解析:C 程序的合法实数有两种表示形式

    15、,一种是小数形式,另一种是指数形式,对于用指数形式表示的实数来说,需要注意的是字母 e或 E之前必须要有数字,且字母 e或 E后面的指数必须为整数。10.以下不合法的数值常量是(分数:2.00)A.1e1B.011C.0xabcdD.80E05 解析:解析:实型常量又称为实数或浮点数。在 C语言中,可以用两种形式表示一个实型常量。小数形式是由数字和小数点组成的一种实数表示形式,这种表示形式的常量必须要有小数点。指数形式用以“e”或“E”后跟一个整数来表示以 10为底的幂数。C 语言的语法规定,字母 e或 E之前必须要有数字,且 e或 E后面的指数必须为整数。因为选项 D)中字母 E后面的指数为

    16、小数形式,所以选项 D)这种表示方法不合法。11.以下选项中正确的定义语句是(分数:2.00)A.double a=b=7;B.double a;b;C.double,a,b;D.double a=7,b=7; 解析:解析:在 C语言中,可以用一条语句同时定义几个同类型的变量,变量之间用逗号隔开。12.若有以下程序段 double x=516894;printf(“fn“,(int)(x*1000+05)(double)1000);则程序段的输出结果是(分数:2.00)A.5175000B.5169000 C.5170000D.5168000解析:解析:fint)(x*1000+05)(dou

    17、ble)1000 表达式功能,保存数据 x的后三位小数,把第四位四舍五入。13.以下选项中合法的实型常量是(分数:2.00)A.914 B.313e-21C.0D.20*10解析:解析:实型常量又称实数或浮点数,一般用小数形式或指数形式来表示。实型常量分为以下两种形式: 小数形式:小数形式是由数字和小数点组成的一种实数表示形式。例如 0345、123、00 等是合法的实数。这种表示形式必须要有小数点;指数形式:在 C语言中,用“e”或“E”后跟一个整数来表示以 10为底的幂数。注意:字母“e”或“E”之前必须要有数字,后面的指数必须为整数。选项 B)中 e后必须为整数,选项 C)没有小数点,而

    18、选项 D)则出现非法字符*。14.C语言中 double类型数据占字节数为(分数:2.00)A.4B.12C.8 D.16解析:解析:double 类型所占字节为 8。15.以下叙述中正确的是(分数:2.00)A.整型常量和实型常量都是数值型常量 B.常量的类型不能从字面形式上区分,需要根据类型名来决定C.预定义的标识符是 C语言关键字的一种,不能另作它用D.只能在函数体内定义变量,其他地方不允许定义变量解析:解析:整型常量和实型常量都是数值型常量,选项 A)正确;常量的类型可以从字面上区分,比如整型常量不能有小数点,组成字符为 09 等,选项 B)错误;预定义标识符,即预先定义并具有特定含义

    19、的标识符,可以另作他用,不过更改了原有的含义,选项 C)错误;变量可以定义在程序中任何的地方,属于不同的变量,选项 D)错误。16.sizeof(double)是(分数:2.00)A.一个双精度型表达式B.一个整型表达式 C.一个不合法的表达式D.一种函数调用解析:解析:sizeof 关键字为 C语言的运算符,用于测试()内类型其变量所占内存,表达式结果返回十进制整数,因此为整型表达式,表明变量所占的内存字节数。17.以下选项中,值为 1的表达式是(分数:2.00)A.1一0B.1一 0C.1一0 D.0一0解析:解析:在 C程序中,字符量可参与任何整数运算。字符参与运算时,首先要将字符转换为

    20、其对应的ASCII码值再参与整数运算。字符“1”对应的 ASCII码值是 49,字符0对应的 ASCII码值是 48,字符“0”是字符串结束标识符 NULL,其对应的 ASCII码值是 0。18.有以下说明和定义语句 struct studentint age;char num8; struct student stu3=20,“200401“,21,“200402“,19,“200403“; struct student *p=stu;以下选项中引用结构体变量成员的表达式错误的是(分数:2.00)A.(p+)numB.PnumC.(*p)numD.stu3age 解析:解析:本题考查结构体和

    21、结构体指针,stu 是一个结构体数组,p 是结构体指针,且 p指向 stu数组,即 p指向了 stu数组的首元素地址。选项 A)中 p+表示先引用 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)正

    22、确,使用了转义字符“ ”,x13 表示 16进制的 13;选项 B)同样使用了转义字符,但 081错误,以 0开始表示 8进制,8 进制数字的范围是 07,没有 8;选项C)错误,65 是一个字符串,不是字符;选项 D)错误,换行符是“n”。20.已有定义:char c;,程序前面已在命令中包含 ctypeh 文件。不能用于判断 c中的字符是否为大写字母的表达式是(分数:2.00)A.isupper(c)B.A=c=Z ,C.A=c&c=ZD.c=(z32)&(a32)=c 解析:解析:本题考查字符变量和逻辑运算。选项 A)通过调用函数 isupper来判断字符 c是否是大小字母,满足要求;选

    23、项 B)是逻辑表达式,不管 c为何值,A=c 为真或者假,然后再和z比较结果必然为真(0 和 1都小于Z的 ASCII值);选项 C)是通过与运算来判断 c是否是大小字母;选项 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.设变量己正

    24、确定义,以下不能统计出一行中输入字符个数(不包含回车符)0 的程序段是(分数:2.00)A.n=0;while(ch=getchar()!=n)n+;B.n=0;while(getchar()!=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增加,输入回车符循环结束;选项

    25、C)使用 for循环,n 的初值为0,每次循环 n增加 1,循环的结束条件是输入回车符;选项 D)中 for循环的初始条件 ch值为输入的字符,只有一次输入,不能统计输入的字符数,如果第一次输入的不是回车符循环不能结束。23.以下选项中非法的字符常量是(分数:2.00)A.019 B.65C.xffD.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

    26、 a=1,*b=&a,*c=&b;D.double a=00;b=11;解析:解析:本题考查的是数据类型的定义并赋值,选项 B)中对变量声明类型且赋值的情况是不允许出现的,必须单独定义且赋值。选项 C)中对于指针变量 c的赋值须为同型指针,而b 为二级指针。选项 D)中C语言允许在一个类型说明符后说明多个相同类型的变量,各变量之间要用逗号(,)隔开,而不是用分号(;)隔开;在计算机存储字符时将字符相应的 ASCII码以其对应的二进制进行存放,选项 A)中的定义是合法的。25.以下不合法的字符常量是(分数:2.00)A.“B.C.018 D.xcc解析:解析:在 C语言中,一个字符常量代表 AS

    27、CII字符集中的一个字符,在程序中用单引号把一个字符括起来用为字符常量。转义字符常量也是必须括在一对单引号内,以一个反斜线开头后跟一个特定的字符,用来代表某一个特定的 ASCII字符。在选项 C)中,018是用八进制数来代表一个字符常量,所以其中的数字只能小于 8,并不包括 8。26.有以下程序,己知字母 A的 ASCII码为 65,程序运行后的输出结果是 main()char c1,c2; c1=A+84: c2=A+8一5; printf(“c,n“,c1,c2);(分数:2.00)A.D,69B.E,68 C.E,DD.输出无定值解析:解析:字符变量 c1的 AsCII值等于 69,而字

    28、符变量 c2的 AsCII值等于 68,当分别以字符和整型输出 c1和 c2的 ASCII码值时,其结果为 E,68。27.以下不能输出字符 A的语句是(注:字符 A的 ASCII码值为 65,字符 a的 ASCII码值为 97)(分数:2.00)A.printf(“cn“,a-32);B.printf(“dn“,A); C.printf(“cn“,65);D.printf(“cn“,B-1);解析:解析:在选项 B)的输出函数中,大写字符A以整型数据的形式输出。28.以下选项中不能作为 c语言合法常量的是(分数:2.00)A.cd B.01e+6C.aD.011解析:解析:常量指的是在程序的

    29、运行过程中,其值不能被改变的量。在 C语言中,包括整型常量、实型常量、字符常量和字符串常量等类型。选项 B)01e+6 是用指数形式表示的实型常量。在 C语言中,用以“e”或“E”后一个整数来表示以 10为底的幂数。以用这种形式表示实型常量时要注意 C语言的语法规定,字母 e或 E之前必须要有数字,且 e或 E后面的指数必须为整数,并且在字母 e或 E的前后以及数字之间不得插入空格。选项 C)中用双引号括起来表示的字符串“a”。选项 D)中011表示用单引号括起来的转义字符八制进数 011。选项 A)表示的字符常量是非法的,在用单引号表示的字符常量中,只能包含一个字符,而选项 A)中包含两个字

    30、符。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。


    注意事项

    本文(【计算机类职业资格】国家二级C语言机试(C语言基础知识)模拟试卷9及答案解析.doc)为本站会员(花仙子)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开