校园网.新视野教育全国计算机等级考试二级C语言教程课后习题解析1说明:1、原先的少部分题目有错,请用红色的部分替换掉;2、如果红色部分有文字“删除该行”,就直接删除该行;第一章C语言的基础知识第一节对C语言的初步认识习题1.下列叙述中错误的是BA)任何一个C程序都必须有且仅有一个main函数,C语言总是从main函数开始执行。B)C语言中的变量,可以先使用后定义。C)所有的C语言语句最后都必须有一个分号D)C程序书写格式自由,语句可以从任一列开始书写,一行内可以写多个语句。第二节熟悉VisualC++习题1.C语言源程序名的后缀是BA).exeB).cC).objD).cp2.下列叙述中错误的是DA)计算机不能直接执行用C语言编写的源程序B)C程序经C编译后,生成后缀为.obj的文件是一个二进制文件C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D)后缀为.obj和.exe的二进制文件都可以直接运行3.用C语言编写的代码程序BA)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行第三节标识符习题1.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是BA)大写字母B)连接符C)数字字符D)下划线2.以下选项中不合法的标识符是CA)printB)FORC)&aD)_003.以下叙述中错误的是AA)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识4.可在C程序中用作用户标识符的一组标识符是AA)andB)DateC)Hi校园网.新视野教育全国计算机等级考试二级C语言教程课后习题解析2D)case_2007y-m-dDr.TomBigl5.以下不合法的用户标识符是CA)j2_KEYB)DoubleC)4dD)_8_6.以下不能定义为用户标识符的是DA)MainB)_0C)_intD)sizeof7.下列选项中,不能用作标识符的是DA)_1234_B)_1_2C)int_2_D)2_int_8.以下4组用户定义标识符中,全部合法的一组是AA)_mainB)IfC)txtD)intenclude-maxREALk_2sinturbo3COM_001第四节数制转换习题1.十进制整数360的八进制为__________,十六进制为_____________。550168第五节整数和实数习题1.以下选项中正确的整型常量是CA)10110BB)0386C)0XffaD)x2a22.以下关于long、int和short类型数据占用内存大小的叙述中正确的是DA)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定3.以下选项中不属于C语言的类型的是DA)signedshortintB)unsignedlongintC)unsignedintD)longshort4.以下选项中合法的实型常数是CA)5E2.0B)E-3C).2E0D)1.3E5.以下选项中,不能作为合法常量的是BA)1.234e04B)1.234e0.4C)1.234e+4D)1.234e06.以下选项中可作为C语言合法常量的是AA)-80.B)-080C)-8e1.0D)-80.0e7.以下符合C语言语法的实型常量是CA)1.2E0.5B)3.14.159EC).5E-3D)E158.以下不合法的数值常量是CA)011B)lelC)8.0E0.5D)0xabcd9.以下选项中,合法的一组C语言数值常量是BA)028B)12.C).177D)0x8A5e-3OXa234c1.510,000-0xf4.5e0Oabc3.e5校园网.新视野教育全国计算机等级考试二级C语言教程课后习题解析310.下列定义变量的语句错误的是DA)int_int;B)doubleint_;C)longFor;D)floatUS$;第六节算术表达式与赋值表达式习题1.表达式3.6-5/2+1.2+5%2的值是DA)4.3B)4.8C)3.3D)3.82.设有定义:floatx=123.4567;,则执行以下语句后输出的结果是_____。123.46printf(%f\n,(int)(x*100+0.5)/100.0);3.设有定义:floata=2,b=4,h=3;,以下C语言表达式与代数式×h计算结果不相符的是BA)(a+b)*h/2B)(1/2)*(a+b)*hC)(a+b)*h*1/2D)h/2*(a+b)第七节自加自减运算符、逗号表达式习题1.设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为______。32.设有定义:intk=0;,以下选项的4个表达式中与其他3个表达式的值不相同的是AA)k++B)k+=1C)++kD)k+13.有以下程序Bmain(){chara1='M',a2='m';printf(%c\n,(a1,a2));}以下叙述中正确的是A)程序输出大写字母MB)程序输出小写字母mC)格式说明符不足,编译出错D)程序运行时产生出错信息4.有以下程序:Bmain(){inta=0,b=0;a=10;/*给a赋值b=20;给b赋值*/printf(a+b=%d\n,a+b);/*输出计算结果*/}程序运行后的结果是A)a+b=30B)a+b=10C)30D)程序出错第八节字符习题1.以下选项中不属于字符常量的是()。BA)'C'B)CC)'0'D)'\072'2.已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是()。BA)kk='A'&&kk='Z'B)!(kk='A'‖kk='Z')C)(kk+32)='a'&&(kk+32)='z'D)kk=48&&kk91校园网.新视野教育全国计算机等级考试二级C语言教程课后习题解析43.已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'。执行语句printf(%d,%d,c1,c2-2);后,输出结果是()。CA)A,BB)A,68C)65,66D)65,684.以(25)以下合法的字符型常量是A)'\x13'B)'\018'C)'65'D)'\n'5.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是()。DA)c=c-'Z'+'z'B)c=c+32C)c=c-'A'+'a'D)c='A'+c-'a'第九节位运算习题1.变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是AA)a^bB)a|bC)a&bD)a42.有以下程序#includestdio.hmain(){inta=1,b=2,c=3,x;x=(a^b)&c;printf(%d\n,x);}程序的运行结果是DA)0B)1C)2D)33.有以下程序main(){unsignedchara=2,b=4,c=5,d;d=a|b;d&=c;printf(%d\n,d);}程序运行后的输出结果是BA)3B)4C)5D)64.若变量已正确定义,则以下语句的输出结果是()。Bs=32;s^=32;printf(%d,s);A)-1B)0C)1D)325.设有以下语句inta=1,b=2,c;c=a^(b2);执行后,c的值为DA)6B)7C)8D)9校园网.新视野教育全国计算机等级考试二级C语言教程课后习题解析5第二章数据输出与输入第一节第二节数据输出2节合在一起只有1个课件习题1.有以下程序段charch;intk;ch='a';k=12;printf(%c,%d,,ch,ch,k);printf(k=%d\n,k);已知字符a的ASCII十进制代码为97,则执行上述程序段后输出结果是DA)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=122.若变量已正确定义,有以下程序段删除该题inta=3,b=5,c=7;if(ab)a=b;c=a;if(c!=a)c=b;printf(%d,%d,%d\n,a,b,c);其输出结果是BA)程序段有语法错B)3,5,3C)3,5,5D)3,5,73.有以下程序,其中%u表示按无符号整数输出main(){unsignedshortx=0xFFFF;/*x的初值为十六进制数*/printf(%u\n,x);}程序运行后的输出结果是BA)-1B)65535C)32767D)0XFFFF4.以下叙述中不正确的是AA)调用printf函数时,必须要有输出项B)使用putchar函数时,必须在之前包含头文件stdio.hC)在C语言中,整数可以以十进制、八进制或十六进制的形式输出D)使用putchar函数可以不要输出项5.设有以下程序main(){intc=35;printf(%d,c&c);}程序运行后的输出结果是C校园网.新视野教育全国计算机等级考试二级C语言教程课后习题解析6A)0B)70C)35D)536.以下程序运行后的输出结果是______________。88main(){intx=0210;printf(%X\n,x);}第三节数据输入习题1.以下程序运行时若从键盘输入:102030回车。输出结果是____。A#includestdio.hmain(){inti=0,j=0,k=0;scanf(%d%*d%d,&i,&j,&k);printf(%d,%d,%d,i,j,k);}A)10,30,0B)10,20,30C)0,0,0D)程序出错2.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33回车。输出结果是A#includestdio.hmain(){chara,b;a=getchar();scanf(%d,&b);a=a-A+0;b=b*2;printf(%c%c,a,b);}A)程序段有语法错B)1BC)165D)1b3.有以下程序main(){intm=0256,n=256;printf(%o%o\n,m,n);})。A)02560400B)0256256C)256400D)4004004.有以下程序main(){inta=666,b=888;printf(%d\n,a,b);}程序运行后的输出结果是()。B校园网.新视野教育全国计算机等级考试二级C语言教程课后习题解析7A)错误信息B)666C)888D)666,8885.设有以下程序main(){intx=102,y=012;printf(%2d,%d\n,x,y);}执行后输出结果是CA)10,01B)02,12C)102,10D)02,106.执行以下程序时输入1234567CR,则输出结果是________。#includestdio.hmain(){inta=1,b;scanf(%2d%2d,&a,&b);printf(%d%d\n,a,b);}第三章选择结构第一节关系运算与逻辑运算习题1.已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是BA)kk='A'&&kk='Z'B)!(kk='A'‖kk='Z')C)(kk+32)='a'&&(kk+32)='z'D)isalpha(kk)&&(kk91)2.当变量c的值不为2、4、6时,值也为“真”的表达式是BA)(c==2)‖(c==4)‖(c==6)B)(c=2&&c=6)‖(c!=3)‖(c!=5)C)(c=2&&c=6)&&!(c%2)D)(c=2&&c=6)&&(c%2!=1)3.以下选项中,当x为大于1的奇数时,值为0的表达式DA)x%2==1B)x/2C)x%2!=0D)x%2==04