欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    新视野二级C语言《笔试习题集》参考答案解析Word格式.docx

    • 资源ID:7850683       资源大小:85.33KB        全文页数:76页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    新视野二级C语言《笔试习题集》参考答案解析Word格式.docx

    1、 13 答案是A B答案中-max中-错误,C答案中3COM以字母3开头了,D答案中 int 是关键字,不是用户标识符 14 答案是B A答案中15. 后面不应该有点,C答案中出现了逗号,D中字母B有 问题 15 答案是D Visual C+6.0中int类型的变量占的字节数为4。 16 答案是B B中出现了8,而八进制只能有0到7组成 17 答案是D 答案D中开头是0不是o 18 答案是C 答案A中E后面是整数,0.5是小数 答案B 中E后面不能为空 答案D中E前面不能为空 本题目考察指数的表示形式 19 答案是C 答案A中2.0有问题,不能为小数形式 答案B中E前面不能为空 答案D中E后面

    2、不能为空 20 答案是A B中八进制中不能出现数字8,C中e后面不能是小数,D中e后面 不能为空 21 答案是B B中0.4是小数,不正确 22 答案是C C中0.5是小数,不正确 23 答案是D 3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8 本题目考察算术运算符,需要注意整数除以整数结果只能是整数 24 答案是D %不能用于实型的计算 25 答案是D D答案中$不属于字母,数字,下划线 26 答案是 A A答案是逗号表达式,B答案中x+1=y是赋值表达式,左边只能是变 量,而这里是x+1, 同理答案C中x+10也是错误的,在D答案中, 考察的是强制类型转换, 正确的是(do

    3、uble)x/10 27 答案是 A 本题考察的是注释需要注意的地方,具体解答见课本第2页中间部分 28 答案是B 答案A中n2没有定义,答案C中在定义f之前不能使用它,答案D 中E后面必须是整数 29 答案是 C 考察的是强制类型转换,正确的是k%(int)f 30 答案是 D 本题目类似与第七课时的例一,解题方法是要抓住+m,-n,-m, 表达式的值是变量变化之后的值,而n-表达式的值是变量n变化之 前的值 31 答案是B 本题目考察的是负 整数与无符号正整数在计算机中存放的格式的一样的,但表示的不 同的两个数 32 答案是C A答案中%运算对象不能为实型,26.8错误,B答案中考察的赋值

    4、 运算符,赋值运算符左边必须是变量,所以赋值运算符左边1+2错 误,同理答案D错误 33 答案是 C 本题目考察的是课本第15页的关于自加与自减运算符的第一点说 明,即增量运算符的运算对象只能是变量,而在C答案中+(i+1) 中,i+1是表达式 34 答案是 B 本题目考察的是整数除以整数结果是整数,在B答案中1/2结果是0,导致整个表达式的值是0,明显是错误的 35 答案是D对于+、-单目运算符来说,其运算对象可以是char型、int型和float型变量 36 答案是A 本题目主要考察n+表达式的值是n变化之前的值,然后使n的值增加1 37 答案是 B c=a/b+0.4 c=8/5+0.4

    5、 c=1+0.4 c=1.4 因为c 是int 型的,所以c的值是1 ,做此题目需要仔细阅读题目 38 答案是 D (int)a+b/b=(int)5.5+2.5/2.5=5+1.000000=b=6.000000 同样a,b的类型是double型的 39 答案是D long 和short不能相互修饰 40 答案是 C 标识符中不能有$41 答案是CA选项中,在变量赋值时不能赋给表达式,而y*5是表达式;选项B中进行强制类型转换时,类型标识符要加上括号,所以错误;选项D中,%(求余运算符)运算对象只能是整形数。 42 答案是 A 选项A中,b变量还没有定义 43 答案是C选项A中long是关键

    6、字;选项B中“-”符号不属于字母、数字或下划线;选项D中,int是关键字。 44 答案是 B选项A中,八进制数只能由07之间的数字组成;选项C,十六进制数应该以0X开头,并且由09以及af组成,Oabc不正确;选项D中10,000包含逗号,不正确。 45 答案是B C语言的标识符中只能包含字线、数字和下划线,没有连接符。 46 答案是 C既然在内存中,字符数据以 ASCII 码存储,它的存储形式就与整数的存储形式类似。这样使字符型数据和整型数据之间可以通用。一个字符数据既可以以字符形式输出,也可以以整数形式输出。以字符形式输出时,需要先将存储单元中的 ASCII 码转换成相应字符,然后输出。以

    7、整数形式输出时,直接将 ASCII 码作为整数输出。也可以对字符数据进行算术运算,此时相当于对它们的 ASCII 码进行算术运算。 47 答案是D不同的计算机系统或者编译系统,对3种整数类型所占用的字节数有不同的规定。 48 答案是A选项B中求余运算(%)的运算对象必须是整型;选项C中,赋值运算符(=)的左边必须是变量,不能是常量或表达式;选项D与选项C同理。 49 答案是 A +运算符有前缀和后缀两种形式,本题中的选项C就是前缀形式,其表达式的值为增1后的值,而选项A为后缀形式,其表达式的值为增1之前的值。而选项B和D的表达式都是k加1之后的值 50 答案是A 51 答案是C 选项A中将一个

    8、变量j的值赋给了一个表达式,这种写法是错误的,只能给变量赋值,而不能给常量和表达式赋值;选项B中强制类型转换的格式使用出错,强制类型转换时,类型标识符必须用括号括起来;选项D中,求余运算符(%)的两端必须是整形数。 52 答案是 D 字符常量是用单引号括起来的单个字符,所以选项B错误;此外还有一种特殊的字符专为控制设计,称为转义字符,有三种转义字符:一种是由一个“”开头加一个普通字符组成,代表一个字符。如表示一个单引号字符,所以选项D正确;表示一个斜杠字符,而选项C中的则是错误的;用“”与其后的13位八进制数字构成的字符序列,表示ASCII码等值于该八进制数的字符;用“x”与其后的12位十六进

    9、制数字构成的字符序列,表示ASCII码等值于该十六进制数的字符;所以选项A错误。 53 答案是B字符常量是用单引号括起来的单个字符,所以选项A正确;如n表示一个换行符,所以选项D正确;用“”与其后的13位八进制数字构成的字符序列,表示ASCII码等值于该八进制数的字符,所以选项B错误,因为9不是八进制数字;所以选项C正确。 54 答案是D 大写字母的ASCII码值比小写字母的ASCII码值小32 55 答案是 A选项A中的字符变量ch只能接收单个字符,ab不是单个字符,所以错误。 56 答案是Bchar x=C将一个大写字母赋给了字符型变量x;然后通过x=x+32将x中字符的ASCII码值加3

    10、2,即为小写字符c的ASCII码值;然后将x以字符形式输出,即为小写字母c。 57 答案是A语句char x,y;定义两个字符型变量x,y;然后通过x=B-A+a将用大写字母B的ASCII码送去大写字母A的ASCII码,结果便为1,然后再加上小写字每a的AS CII码,结果就为小写字母b的ASCII码,然后再赋值给变量x;通过y=x+2,将变量x中的ASCII码值加2,即变成小写字母d的ASCII码值再赋值给变量y;然后以数值形式输出变量x中的ASCII码值为98,再以字符形式输出变量y中的字符为d。 58 答案是 B选项A中字符0的ASCII码值为48,所以A的结果不为1;选项B中0代表空值

    11、,空值NULL的ASCII码值为0所以结果为1;选项C中字符1的ASCII码值为49,所以结果不为1;选项D相当于用0-48结果也不为1。 59 答案是 D如果要表示十六进制字符,则要用x开头,所以选项A错误;如果要表示八进制,则0开头,后面跟13位的八进制数,八进制数由07组成,不包含8,所以选项B错误;用单引号括起来的单个字符才是字符常量,所以C错误;而n是转义字符,用来表示回车符。 60 答案是B 用单引号括起来的单个字符,称为字符常量,所以选项B错误。 61 答案是C先将c1 变量中的字符的ASCII码值输出,即为65,将变量c2中字符的ASCII码值减2后输出,即为66。 62 答案

    12、是 A我们知道异或运算,只有两个操作数不同,结果才为1。所以01=1,11=0,由此可推理,任何数与1进行异或运算都得它的相反数;变量b中的高4位为1,所以要让变量a的高4位取反,即可让变量a和变量b进行异或运算。 63 答案是A变量c1和c2中的值相同,所以转换成二进制数后,对应的二进制位上的值也相同,当两值相同时,只有进行异或运算,结果才为0,所以c1c2值为0。所以本题的正确答案为A。 64 答案是A4|3转换成对应的二进制数即100|011=111再转换为十进制数即为7;而4&3转换成对应的二进制数即100&011=000,再转换为十进制数即为0;所以选择A。 65 答案是 Dx/y的

    13、值为1,z的值也为1,1和1求反进行与运算,结果一定为0。所以本题选择D。 66 答案是D2+x=00000010+10100111=10101001;3=00000011=11111100;所以就相当于1010100111111100=01010101,所以选择D。 67 答案是 Da=0x3转换为二进制数即为00000011;b=a|0x8转换为二进制数即为00000011|00001000=00001011即b=11,b1即000010111=00010110即c=22,所以本题选择D。二,填空题 1 位 0 1 2 关键字 预定义标识符 用户标识符 3 8 4 八 十 十六 5 int

    14、 float double 6 5+3.6/2=5+1.8=6.8 7 15 16 a+表达式的值是a变化之前的值,当然a本身增加了18 把10赋给变量B 9 123.46 (int)(x*100+0.5)/100.0=(int)(12345.67+0.5)/100.0=(int)(12346.17)/100.0=12346/100.0=123.46。 10 3整个表达式是一个逗号表达式,变量n和i赋值为2后,通过+i将i的值增加1变为3,然后再通过i+为i增加1,整个逗号表达式的值为i+的值,此时是后缀,所以整个i+表达式的值为3,而变量i的值为2。 11 11110111第11题没有详细解

    15、析而且答案出错: xy1=00000010000001011=1111110100001010=11110111 12 2 只有和b是正确的 13 2 20.000000x=f*=n/=(c=50)是一个赋值表达式,它的顺序是从右向左赋值,先执行c=50,然后执行n/=50即n=n/50=100/50=2,接着执行f*=2即f=f*2=10*2=20.000000,最后再将值赋给变量x。输出变量n和x的值,即为2 20.000000。 14 a=14表达式a=(3*5,a+4)的括号中是一个逗号表达式,其结果是最后一个表达式的值,即将a+4=14的值赋给变量a。所以输出结果为a=14。第二章

    16、顺序结构一 选择题1, 答案是 C 随意使用空语句会导致逻辑上出现错误,不要随便使用。2, 答案是 B 语句必须以分号结尾,A,C,D表达式后面均没有分号。3, 答案是 Cint x=13,y=4;说明x,y均为整型,所以x/y只取整数部分(舍去法),值为3,把3赋值给x,整个x=x/y表达式的值为左边变量x的值,所以输出为3。4, 答案是 Aa,b均为整型,a/b是取ab所得商的整数部分,所以是0,再把0赋值给 c,所以是c的值是0。5, 答案是 DA 注释语句可以放在代码的任何位置B 将r定义为整型不会在编译时出错,会自动进行类型转换C 变量s为浮点型,格式描述符f时正确的D 是非法的变量

    17、6, 答案是 D(x,y)是逗号表达式,它的值只有一个,所以格式说明符的个数和输出项的个数是相等的。并且逗号表达式的值为最后一个表达式的值,最后一个表达式是y=2003,所以整个表达式的值是2003,因此输出值为2003。7, 答案是 Am是十进制整数以十进制有符号的形式输出,即照原样输32767,n=032767,032767是八进制的整数以八进制无符号形式输出,去掉前面的0。见教材P348, 答案是 C m,n的值都是十六进制数0xabc,m-=n即是m=m-n, 把m-n的值赋给m, 即把0赋给m,再把m值以十六进制无符号的形式输出,输出的十六进制 数不用在前面0x或者0X。见教材P35

    18、9, 答案是 B表达式i的值是在变量自减之前的值,i的初值为10,所以该表达式的值也为10;表达式j+的值是变量自加之后的值,j初值为1,所以该表达 式在值是2。10, 答案是 C m=0256,即m是八进制的数0256,要以八进制无符号的形式输出,即输出 256;n=256,即n是十进制的数256,也要以八进制无符号的形式输出,首 先要把十进制数转化为八进制数,256转化为八进制为0400,以无符号形 式输出,即输出400。11, 答案是 B在printf语句中,格式控制的个数只有一个,即d,而输出项有两项,即a和b。而得到的结果应该只有一个,所以应该输出第一个变量的值,即变量a的值。12,

    19、 答案是 C第一个数据的输出控制宽度是2位,但是x的值是102,占3位,要输出的数据宽度大于规定的输出宽度,所以按数据的实际宽度输出,输出102。第二个数据要求以十进制形式输出,输出控制宽度是2,y的值为012,是八进制数,所以要转换成十进制数10后再输出。13, 答案是 B表达式af/=c*=(x=6.5),按从右到左结合,先把6.5赋值给x,再执行cc*6.5,c的值变为65,再执行ff/65,为浮点数的除法,f的值为1.53,再把f的值赋给a,a为整型数据,执行强制类型转换,a的值为1。a对应的输出格式为d,即输出1;c对应的输出格式为d,输出65,f对应的输出格式3.1f,即输出控制宽

    20、度为3位,保留小数点后一位小数,即输出1.5,x对应的输出格式也为3.1f,输出6.5。14, 答案是 Dfloat x=-123.456;说明x为单精度浮点数据,单精度浮点数据对应的输出格式应该为%f。15, 答案是 Cm=(k+=i*=k);按从右到左结合,先执行i=i*k;即i被赋值为4,再执行kk4;k被赋值为6,最后把6赋给m,输出m和i的值。16, 答案是 C 略(参考12题)17, 答案是 Dm遵循从右向左结合的原则;m的值为m自增之前的值,所以执行完xm以后,x被赋值为3;表达式xx8/+n中有加号除号,先算8/+n,+n的值为自增之后的值为5,8/5取整为1,即xx8/+n转

    21、化为xx1,即把x1的值赋给x,x的值变为2。18, 答案是 D A 输入函数应为scanf(); B,C 输入数据列表必须是地址表达式;19, 答案是 A 从键盘输入数据的格式必须与输入控制要求的格式一样 B答案三个之间不要有空格;C答案用逗号分开是多余的;D答案格式不匹配。20, 答案是 A格式控制要求输入的两个数据之间要用逗号隔开,A没有逗号所以错误,D两个输入数之间的回车换行可以忽略。21, 答案是 Cx乘以100是为了把x小数点后的两位小数变为整数,再加上0.5,如果小数点后一位大于等于5则会进一位,如果小数点后一位小于5则不会出现进位的情况,再对其进行强制类型转换,采用舍去法丢掉小

    22、数部分,即对x乘上100后的数实现了小数位到整数位的四舍五入。最后再除以100.0,把数字变回原来的大小,整数与浮点数相除结果为浮点数,即实现了要求。22, 答案是 C 从键盘输入数据的格式必须与输入控制要求的格式一样。23, 答案是 B输入控制中第一个数要求以“2d”形式输入,即要求输入一个两位的数,而从键盘输入的数为876,所以从左到右取两位数字87,即把87赋值给整型变量a,余下的6再赋值给浮点型变量b,自动进行类型转换,b的值为6.000000,后面输入的543则没有赋值给变量。24, 答案是 D“”会输出一个“”,“d”会照原样输出,因为没有格式说明,m,n无法输出到屏幕。25, 答

    23、案是 D第1个输出语句要求ch以%c(字符)形式输出所以为输出“a”,以%d(整数)形式输出为,字符转换为整型要使用ASCII码所以为“97”,k没有对应的输出符所以没有输出,第2个输出语句要求以整型方式输出k得到“12”。结果为“a,97,k=12”26, 答案是 Ba+b的结果为30,按照“a+b=%dn”的输出格式得到输出结果“a+b=30”B27, 答案是 Bprintf可以没有输出项,没有输出项的printf只是没有输出内容;整数不能以十二进制输出,getchar()只能读入字符。28, 答案是 Agetchar()可以读入空格符合回车符。二 填空题1, 一条语句 分号2, 88首先

    24、将八进制数0210转化为十六进制的数0X88,输出格式说明要以十六进制无符号的形式输出,所以省略0X,直接输出88。3, 11把十进制数转化为八进制数,以无符号的形式输出4, 25 21 37 b为八进制数025,c为十六进制数0X25,首先把b、c都转化为十进制的整数,分别为21、37,按照输出格式要求a、b、c以十进制整数形式输出,中间以空格分开,所以输出为25 21 37。5, n1%dnn2=%d除了n1,n2的值之外,还必须加入“n1”“n2”照原样输出的字符,很明显在两个数据之间还加了换行符。6, i=10,j=20格式控制中加入了格式说明以外的其他字符,则在输入数据时这些字符也要

    25、同样输入。输入格式控制为i=%d,j=%d,所以则应该从键盘输入i=10,j=207, 261a为十进制数177转化为八进制的数为0261,以无符号的形式输出为2618, 16a的初值为0,在表达式a+=(a=8)中,a首先被赋值为8,再执行操作a=aa,所以a最后被赋值为16,即输出a的值为169, printf(“a=%d,b=%d”, a, b);10, B 66B在ASCII码中派在A的后面A为65,那么B为66。11, 10 012为八进制数,转换为十进制为10。12, 12 34 在scanf函数中指定了宽度为2,输入123456,a=12,b=34,后面的567无效。13, 12

    26、程序运行时输入12,getchar()函数只能接受单个字符,所以ch1=1,ch2=2。n1=ch1-0,转化为ASCII码计算n1=50-49,n1的值为1。n2=n1*10+(ch2-0)转化为ASCII码计算n2 = 1*10+(51-49),n2的值为12。第三章 选择结构一、选择题1、D 此题主要是考语句的特征。一条语句只包含一个分号,D项有两个分号,应该是两条语句,所以选D。2、C此题主要是考真假条件的等价。题目中的E为非0时条件为真,为0时为假。那么把非0和0带到选项中可知,C项正好是E为0时表达式为真,非0时为假,所以选C。3、D 任意合法的表达式都可以作为逻辑运算符的运算对象

    27、4、D 此题主要是考逻辑运算和关系运算的优先级别.只要掌握!、算术运算和&的优先级别便可选对.这几种运算符的具体优先级关系见见教材P188,附录三。5、A 此题主要是考逻辑运算符!、&和|之间的优先级别。!最高,&次之,|最低。先求得!a为0,所以不必计算!b的值,即!a&!b的值为0,由c=0,!c=1,而0|1=1,所以选A。6、A 此题主要是考了逻辑、关系和算术运算,熟练掌握逻辑运算、关系运算和算术运算的优先级别后,就不难了。A 选项中!a为0,所以!a=1为假,那么就不用计算&后面的表达式了,因为0与任何数均为假;B项中先计算出ab为假,则(ab)&c也为假,而0|1=1; C项中a和

    28、b均为真,所以a&b的值为1;D项中先计算出(b+b)&(c-a)=1,又a=2,2|1=1 所以选A。7、D 此题考到了+运算符以及逻辑运算。当计算机碰到a&b时,先计算表达式a的值,若为真才会计算表达式b的值,否则将不会去计算b的值,因为一旦a=0,则0&b必为0;而a|b则正好是相反的,即先计算表达式a的值,若a为假才会计算表达式b的值,否则将不会去计算b的值,因为一旦a=1,则1|b的值必为1,理解了这两点后,我们在看题目:i+=1的值为1,此时i为2,所以计算&后的表达式,首先计算+j=3的值为1,j的值为3,由上面的原理我们可知,|后面的表达式不用再计算,所以此时i,j,k的值分别为2,3,3。8、D 此题和题2非常的相似,也是考真假条件的转换,其中D项中只有k为0时,!k%2=1才成立,显然和A、B


    注意事项

    本文(新视野二级C语言《笔试习题集》参考答案解析Word格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




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

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开