校园网[1]100分新视野教育全国计算机等级考试二级C语言笔试习题集答案及解析.pdf
《校园网[1]100分新视野教育全国计算机等级考试二级C语言笔试习题集答案及解析.pdf》由会员分享,可在线阅读,更多相关《校园网[1]100分新视野教育全国计算机等级考试二级C语言笔试习题集答案及解析.pdf(193页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章 C语言基础知识一,选择题1 答案是AA正确B 0可以作为复合语句的标志C main函数不是用户命名的D分号是语句结束的标志,肯定是语句的一部分做这个题目需要对书上的概念透彻的理解2 答案是AA错误 用户标识符:命名时,标识符的选择由用户自定,但是不能与关键字相同,所 以A选项错误。这个题目考察用户标识符3 答案是B用户标识符是标识符,所以可以是有下划线,但是中划线不属于字母,数字,下划线其中一种。这个题目考察用户标识符的概念。4 答案是Bdefine是预定义标识符,而预定义标识符可以是用户标识符,所以define可以是用户标识,if是关键字,而关键字不能是用户标识符,所 以if不可 以
2、是用户标识符5 答案是Dlong是关键字,参照附录二注:6 1 3考察用户标识符概念6 答案是DD答案以数字2 开头了,不符合标识符定义7 答案是CC答案以数字开头了8 答案是Di n t 是关键字9 答案是B答案A 是关键字,答案C是以数字开头了,不符合概念,答案D出现了小数点10 答案是A答案A出现了小数点11 答案是C答案C 以数字开头了12 答案是AB答案中f lo a t是关键字,C答案中3c以数字3开头了,D答案中-5 d 中-不属于字母,数字,下划线中一种13 答案是AB答案中-max中-错误,C答案中3coM以字母3开头了,D答案中i n t 是关键字,不是用户标识符1 4 答
3、案是BA答案中1 5.后面不应该有点,C 答案中出现了逗号,D 中字母B有问题15 答案是DVisual C+6.0 中 in t类型的变量占的字节数为4。16 答案是BB 中出现了 8,而八进制只能有0到 7组成17 答案是D答案D中开头是0 不是。18 答案是C答案A中E后面是整数,0.5 是小数答案B 中E后面不能为空答案D中E前面不能为空本题目考察指数的表示形式19 答案是C答案A中2.0有问题,不能为小数形式答案B中E前面不能为空答案D中E后面不能为空本题目考察指数的表示形式20 答案是AB 中八进制中不能出现数字8,C中e 后面不能是小数,D中e 后面不能为空21 答案是BB 中
4、0.4 是小数,不正确22 答案是CC中0.5是小数,不正确23 答案是D3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8本题目考察算术运算符,需要注意整数除以整数结果只能是整数24 答案是D%不能用于实型的计算25 答案是DD答案中$不属于字母,数字,下划线26 答案是AA答案是逗号表达式,B答案中*+1=丫是赋值表达式,左边只能是变量,而这里是x+1,同理答案C中x+10也是错误的,在D答案中,考察的是强制类型转换,正确的是(double)x/1027 答案是A本题考察的是注释需要注意的地方,具体解答见课本第2页中间部分28 答案是B答案A中n2没有定义,答案C中在定义f之前
5、不能使用它,答案D中E后面必须是整数29 答案是C考察的是强制类型转换,正确的是k%(int)f3 0 答案是D本题目类似与第七课时的例一,解题方法是要抓住+m,n,m,表达式的值是变量变化之后的值,而n 表达式的值是变量n变化之前的值3 1 答案是B本题目考察的是负整数与无符号正整数在计算机中存放的格式的一样的,但表示的不同的两个数32答案是CA答案中%运算对象不能为实型,2 6.8错误,B答案中考察的赋值运算符,赋值运算符左边必须是变量,所以赋值运算符左边1+2错误,同理答案D错误33答案是C本题目考察的是课本第1 5页的关于自加与自减运算符的第一点说明,即增量运算符的运算对象只能是变量,
6、而在C答案中+(i+l)中,i+1是表达式34答案是B本题目考察的是整数除以整数结果是整数,在B答案中1/2结果是0,导致整个表达式的值是0,明显是错误的3 5 答案是D对于+、一单目运算符来说,其运算对象可以是c h a r型、in t型和f l o a t型变3 6 答案是A本题目主要考察n+表达式的值是n变化之前的值,然后使n的值增加137 答案是Bc=a/b+O.4 c=8/5+0.4 c=l+O.4 c=l.4 因为 c 是 int 型的,所以c的值是1,做此题目需要仔细阅读题目38 答案是D(int)a+b/b=(int)5.5+2.5/2.5=5+1.000000=b=6.000
7、000同样a,b的类型是double型的39 答案是Dlo n g和sh o rt不能相互修饰40 答案是C标识符中不能有$41 答案是CA选项中,在变量赋值时不能赋给表达式,而y*5是表达式;选项B中进行强制类型转换时,类型标识符要加上括号,所以错误;选项D中,%(求余运算符)运算对象只能是整形数。42 答案是A选项A中,b变量还没有定义43 答案是C选项A中long是关键字;选项B中“-”符号不属于字母、数字或下划线;选项D中,in t是关键字。44 答 案 是B选 项A中,八进制数只能由07之间的数字组成;选 项C,十六进制数应该以0X开头,并且由09以及a-f组成,Oabc不正确;选
8、项D中10,000包含逗号,不正确。45 答案是BC语言的标识符中只能包含字线、数字和下划线,没有连接符。46 答 案 是C既然在内存中,字符数据以ASCII码存储,它的存储形式就与整数的存储形式类似。这样使字符型数据和整型数据之间可以通用。一个字符数据既可以以字符形式输出,也可以以整数形式输出。以字符形式输出时,需要先将存储单 元 中 的ASCII码转换成相应字符,然后输出。以整数形式输出时,直 接 将ASCII码作为整数输出。也可以对字符数据进行算术运算,此时相当于对它们的ASCII码进行算术运算。47 答案是D不同的计算机系统或者编译系统,对3种整数类型所占用的字节数有不同的规定。48
9、答案是A选 项B中求余运算()的运算对象必须是整型;选 项C中,赋值运算符(=)的左边必须是变量,不能是常量或表达式;选 项D与选项C同理。49 答案是A+运算符有前缀和后缀两种形式,本题中的选项C就是前缀形式,其表达式的值为增1后的值,而选项A为后缀形式,其表达式的值为增1之前的值。而选项B和D的表达式都是k加1之后的值50 答案是A51 答案是C选项A中将一个变量j的值赋给了一个表达式,这种写法是错误的,只能给变量赋值,而不能给常量和表达式赋值;选项B中强制类型转换的格式使用出错,强制类型转换时,类型标识符必须用括号括起来;选项D中,求余运算符()的两端必须是整形数。52 答案是D字符常量
10、是用单引号括起来的单个字符,所以选项B错误;此外还有一种特殊的字符专为控制设计,称为转义字符,有三种转义字符:一种是由一个“”开头加一个普通字符组成,代表一个字符。如,八表示一个单引号字符,所以选项D正确;,W 表示一个斜杠字符,而选项C中的V则是错误的;用“”与其后的1-3位八进制数字构成的字符序列,表示ASCII码等值于该八进制数的字符;用“x”与其后的12位十六进制数字构成的字符序列,表示ASCH码等值于该十六进制数的字符;所以选项A错误。53 答案是B字符常量是用单引号括起来的单个字符,所以选项A正确;此外还有一种特殊的字符专为控制设计,称为转义字符,有三种转义字符:一种是由一个“”开
11、头加一个普通字符组成,代表一个字符。如,n,表示一个换行符,所以选项D正确;用“”与其后的1一3位八进制数字构成的字符序列,表示ASCII码等值于该八进制数的字符,所以选项B错误,因为9不是八进制数字;用“x”与其后的1-2位十六进制数字构成的字符序列,表示ASCH码等值于该十六进制数的字符;所以选项C正确。54 答案是D大写字母的ASCII码值比小写字母的ASCII码值小3 255 答案是A选项A中的字符变量ch只能接收单个字符,电 炉 不是单个字符,所以错误。56 答案是Bchar x=5 CJ将一个大写字母赋给了字符型变量x;然后通过x=x+3 2将x中字符的ASCII码值加32,即为小
12、写字符 c?的ASCII码值;然后将x以字符形式输出,即为小写字母c。57 答案是A语 句c h a r x,y;定义两个字符型变量x,y;然后通过x=,B5-A,+,a 将用大写字母B的A S C H码送去大写字母A的A S C H码,结果便为1,然后再加上小写字每a的A S C I I码,结果就为小写字母b的A S C I I码,然后再赋值给变量x;通 过y=x+2,将变量x中的A S C I I码 值 加2,即变成小写字母d的A S C I I码值再赋值给变量y;然后以数值形式输出变量x中的A S C I I码 值 为9 8,再以字符形式输出变量y中的字符为d05 8 答 案 是B选 项
13、A中字符,05的A S C H码 值 为4 8,所 以A的结果不为1;选 项B中,0?代表空值,空值N U L L的A S C I I码值为0所以结果为1;选 项C中字符,F的A S C I I码值为4 9,所以结果不为1;选 项D相当于用0-4 8结果也不为L5 9 答 案 是D如果要表示十六进制字符,则 要 用 x,开头,所以选项A错误;如果要表示八进制,贝了 0 开头,后 面 跟1一3位的八进制数,八进制数由0 7组成,不 包 含8,所以选项B错误;用单引号括起来的单个字符才是字符常量,所以C错误;而,n,是转义字符,用来表示回车符。6 0 答案是B用单引号括起来的单个字符,称为字符常量
14、,所以选项B错误。6 1 答案是C先 将 c l 变量中的字符的ASCII码值输出,即 为 6 5,将变量 c 2 中字符的ASCII码值减2 后输出,即 为 66。62 答 案 是 A我们知道异或运算,只有两个操作数不同,结 果 才 为 L所 以 0Al=1,lAl=0,由此可推理,任何数与1 进行异或运算都得它的相反数;变 量 b 中的高4 位 为 1,所以要让变量 a 的 高 4 位取反,即可让变量a 和变量b 进行异或运算。63 答案是A变 量 c l 和 c 2 中的值相同,所以转换成二进制数后,对应的二进制位上的值也相同,当两值相同时,只有进行异或运算,结果才为0,所 以 c1Ac
15、2值 为 0o所以本题的正确答案 为 A。64 答案是A413转换成对应的二进制数即1001011=111再转换为十进制数即为7;而4&3转换成对应的二进制数即100&011=000,再转换为十进制数即为0;所以选择A。65 答 案 是 Dx/y 的值为1,z 的值也为1,1 和 1 求反进行与运算,结果一定为0。所以本题选择D。66 答案是D2+x=00000010+10100111=10101001;-3=-00000011=11111100;所以就 相当于10101001AH i11100=01010101,所以选择 D。67 答 案 是Da=0 x3转换为二进制数即为00000011;
16、b=a|0 x8转换为二进制数即为 00000011100001000=00001011 即 b=ll,b l即 000010111=00010110 即 c=22,所以本题选择 Do二,填空题1 位 0 12 关键字 预定义标识符 用户标识符3 84 八 十 十六5 int float double6 5+3.6/2=5+l.8=6.87 15 16 a+表达式的值是a变化之前的值,当 然a本身增加了18 把10赋给变量B9 123.46(int)(x*100+0.5)/100.0=(int)(12345.67+0.5)/100.0=(int)(12346.17)/100.0=12346/1
17、00.0=123.46O10 3整个表达式是一个逗号表达式,变量n和i赋值为2后,通过+i将i的值增加1变 为3,然后再通过i+为i增加1,整个逗号表达式的值为i+的值,此时是后缀,所以整个 i+表达式的值为3,而变量i 的值为2。11 11110111第 11题没有详细解析而且答案出错:xAy l=-00000010A00000101l=11111101A00001010=l111011112 2只有 和 b 是正确的13 2 20.000000 x=f*=n/=(c=5 0)是一个赋值表达式,它的顺序是从右向左赋值,先执行c=50,然后执行n/=50即 n=n/50=100/50=2,接着
18、执行f*=2即 f=f*2=10*2=20.000000,最后再将值赋给变量X。输出变量n 和 x 的值,即 为 2 20.O O O O O O o14 a=14表 达 式 a=(3*5,a+4)的括号中是一个逗号表达式,其结果是最后一个表达式的值,即将a+4=14的值赋给变量a。所以输出结果为a=14o第 二 章 顺 序 结 构-选择题1,答 案 是 C随意使用空语句会导致逻辑上出现错误,不要随便使用。2,答 案 是 B语句必须以分号结尾,A,C,D表达式后面均没有分号。3,答 案 是 Cint x=13,y=4;说 明 x,y 均为整型,所 以 x/y只取整数部分(舍去法),值 为 3,
19、把 3 赋 值 给 x,整 个 x=x/y表达式的值为左边变量x 的值,所以输出为3。4,答 案 是 Aa,b 均为整型,a/b是 取 a+b 所得商的整数部分,所以是0,再把 0赋 值 给 c,所以是c 的值是0。5,答 案 是 DA 注释语句可以放在代码的任何位置B将 r 定义为整型不会在编译时出错,会自动进行类型转换C变 量 s 为浮点型,格式描述符时正确的D 7T是非法的变量6,答 案 是 D(x,y)是逗号表达式,它的值只有一个,所以格式说明符的个数和输出项的个数是相等的。并且逗号表达式的值为最后一个表达式的值,最后一个表达式是y=2003,所以整个表达式的值是2 0 0 3,因此输
20、出值为2003。7,答 案 是 Am 是十进制整数以十进制有符号的形式输出,即照原样输32767,n=032767,032767是八进制的整数以八进制无符号形式输出,去掉前面的0。见教材P348,答 案 是 Cm,n的值都是十六进制数Oxabc,m-=n即是m=m-n,把m-n的值赋给m,即 把0赋 给m,再 把m值以十六进制无符号的形式输出,输出的十六进制数不用在前面Ox或 者0Xo见教材P3 59,答 案 是B表 达 式i-的值是在变量自减之前的值,i的初值为1 0,所以该表达式的值也为1 0;表 达 式j+的值是变量自加之后的值,j初值为1,所以该表达式在值是2。1 0,答 案 是Cm=
21、0256,即m是八进制的数0256,要以八进制无符号的形式输出,即输出256;n=256,即n是十进制的数2 5 6,也要以八进制无符号的形式输出,首先要把十进制数转化为八进制数,256转化为八进制为0400,以无符号形式输出,即输出400。1 1,答 案 是B在printf语句中,格式控制的个数只有一个,即(1,而输出项有两项,即a和b。而得到的结果应该只有一个,所以应该输出第一个变量的值,即变量a的值。1 2,答 案 是C第一个数据的输出控制宽度是2位,但 是x的值是102,占3位,要输出的数据宽度大于规定的输出宽度,所以按数据的实际宽度输出,输 出102。第二个数据要求以十进制形式输出,
22、输出控制宽度是2,y的值为012,是八进制数,所以要转换成十进制数10后再输出。1 3,答 案 是B表达式a=f/=c*=(x=6.5),按从右到左结合,先 把6.5赋值给x,再 执 行c=c*6.5,c的值变为6 5,再 执 行f=f/65,为浮点数的除法,f的值为1.53,再 把f的值赋给a,a为整型数据,执行强制类型转换,a的值为1。a对应的输出格式为d,即输出1;c对应的输出格式为d,输 出65,f对应的输出格式 3.If,即输出控制宽度为3位,保留小数点后一位小数,即输出1.5,x对应的输出格式也为 3.I f,输 出6.5。1 4,答 案 是Dfloat x=-123.456;说
23、明x为单精度浮点数据,单精度浮点数据对应的输出格式应该为九1 5,答 案 是Cm=(k+=i*=k);按从右到左结合,先执行i=i*k;即i被赋值为4,再 执 行k=k+4;k被赋值为6,最 后 把6赋 给m,输 出m和i的值。1 6,答 案 是C略(参 考12题)1 7,答 案 是D-m+遵循从右向左结合的原则;m+的 值 为m自增之前的值,所以执行完x=-m +以后,x被赋值为-3;表 达 式x=x+8/+n中有加号除号,先算8/+n,+n的值为自增之后的值为5,8/5取 整 为1,即x=x+8/+n转化为x=x+1,即 把x+1的值赋 给x,x的 值变为-2。1 8,答 案 是DA输入函
24、数应为scanf();B,C输入数据列表必须是地址表达式;1 9,答 案 是A从键盘输入数据的格式必须与输入控制要求的格式一样B答案三个之间不要有空格;C答案用逗号分开是多余的;D答案格式不匹配。2 0,答 案 是A格式控制要求输入的两个数据之间要用逗号隔开,A没有逗号所以错误,D两个输入数之间的回车换行可以忽略。2 1,答 案 是Cx乘 以100是为了把x小数点后的两位小数变为整数,再加上0.5,如果小数点后一位大于等于5则会进一位,如果小数点后一位小于5则不会出现进位的情况,再对其进行强制类型转换,采用舍去法丢掉小数部分,即 对x乘 上100后的数实现了小数位到整数位的四舍五入。最后再除以
25、100.0,把数字变回原来的大小,整数与浮点数相除结果为浮点数,即实现了要求。2 2,答 案 是C从键盘输入数据的格式必须与输入控制要求的格式一样。2 3,答 案 是B输入控制中第一个数要求以“2d”形式输入,即要求输入一个两位的数,而从键盘输入的数为8 7 6,所以从左到右取两位数 字8 7,即 把87赋值给整型变量a,余 下 的6再赋值给浮点型 变 量b,自动进行类型转换,b的值为6.000000,后面输入的543则没有赋值给变量。2 4,答 案 是D“%”会 输 出 一 个“”,“d”会照原样输出,因为没有格式说明,m,n无法输出到屏幕。2 5,答 案 是D第1个输出语句要求ch以 c(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 校园网 100 新视野 教育 全国 计算机等级考试 二级 语言 笔试 习题集 答案 解析
限制150内