您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > c语言程序设计第三章答案
第三章习题答案一、选择题(带**号的题选作)1)以下叙述中正确的是()A)C语言的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内完成2)下列叙述中错误的是A)计算机不能直接执行用C语言编写的源程序B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D)后缀为.obj和.exe的二进制文件都可以直接运行3)计算机能直接执行的程序是()A)源程序B)目标程序C)汇编程序D)可执行程序4)以下叙述中错误的是A)C语言是一种结构化程序设计语言B)结构化程序有顺序、分支、循环三种基本结构组成C)使用三种基本结构构成的程序只能解决简单问题D)结构化程序设计提倡模块化的设计方法5)对于一个正常运行的C程序,以下叙述中正确的是A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束6)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数7)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以再使用之前的任何位置进行定义C)在C语言算术的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示8)以下叙述中错误的是A)C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数9)以下叙述中正确的是A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中10)C语言源程序名的后缀是A).exeB).CC).objD).cp11)以下叙述中错误的是A)在程序中凡是以“#”开始的语句行都是预处理命令行B)预处理命令行的最后不能以分号表示结束C)#defineMAX是合法的宏定义命令行D)C程序对预处理命令行的处理是在程序执行的过程中进行的12)以下选项中不能作为C语言合法常量的是()A)‘cd’B)0.1e+6C)“a”D)‘\011’13)一下选项中,能用作数据常量的是A)o115B)0118C)1.5e1.5D)115L14)以下选项中不属于字符常量的是A)'C'B)CC)'\xCC0'D)'\072'15)以下合法的字符型常量是A)’\x13’B)’\018’C)”65”D)”\n”16)以下不合法的字符常量是A)'\018'B)'\”'C)'\\'D)‘\xcc'17)以下不合法的数值常量是A)011B)1e1C)8.0E0.5D)0xabcd18)以下选项中能表示合法常量的是A)整数:1,200B)实数:1.5E2.0C)字符斜杠:‘\’D)字符串:\00719)C源程序中不能表示的数制是()A)二进制B)八进制C)十进制D)十六进制20)以下选项中,合法的一组C语言数值常量是A)028B)12.C).177D)0x8A.5e-3OXa234c1.510,000-0xf4.5e0Oabc3.e521)以下不合法的用户标识符是A)j2_KEYB)DoubleC)4dD)_8_22)一下选项中合法的标识符是A)1_1B)1-1C)_11D)1__23)以下选项中,能用作用户标识符的是A)voidB)8_8C)_0_D)unsigned24)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是A)大写字母B)连接符C)数字字符D)下划线25)可在C程序中用做用户标识符的一组标识符是A)andB)DateC)HiD)case_2007y-m-dDr.TomBigl26)以下C语言用户标示符中,不合法的是A)_1B)AaBcC)a_bD)a--b27)以下选项中不合法的标识符是A)printB)FORC)&aD)_0028)下列定义变量的语句错误的是()。A)int_int;B)doubleint_;C)charFor;D)floatUS$;29)以下定义语句中正确的是A)inta=b=0;B)charA=65+1,b='b';C)floata=1,*b=&a,*c=&b;D)doublea=0.0,b=1.1;30)有以下定义语句,编译时会出现编译错误的是A)chara='a';B)chara='\n';C)chara='aa';D)chara='\x2d';31)若函数中有定义语句:intk;,则A)系统将自动给k赋初值0B)这是k中的值无意义C)系统将自动给k赋初值-1D)这时k中无任何值32)以下选项中正确的定义语句是()A)doublea;b;B)doublea=b=7;C)doublea=7,b=7;D)double,a,b;33)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定34)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5;B)x=n%2.5;C)x+n=I;D)x=5=4+1;35)若有定义:doublea=22;inti=0,k=18;则不符合C语言规定的赋值语句是A)a=a++,i++B)i=(a+k)=(i+k)C)i=a%11D)i=!a36)有以下定义:inta;longb;doublex,y;则以下选项中正确的表达式是A)a%(int)(x-y)B)a=x!=y;C)(a*y)%bD)y=x+y=x37)表达式a+=a-=a=9的值是A)9B)_9C)18D)038)表达式:(int)((double)9/2)-(9)%2的值是A)0B)3C)4D)539)若有定义语句:intx=10;,则表达式x-=x+x的值为A)-20B)-10C)0D)1040)有以下程序#includestdio.hmain(){inta=1,b=0;printf(%d,,b=a+b);printf(%d,a=2*b);}程序运行后的输出结果是A)0,0B)1,0C)3,2D)1,241)有以下程序#includestdio.hmain(){charc1,c2;c1='A'+'8'-'4';c2='A'+'8'-'5';printf(%c,%d\n,c1,c2);}已知字母A的ASCII码为65,程序运行后的输出结果是A)E,68B)D,69C)E,DD)输出无定值42)设有定义:intx=2;,以下表达式中,值不为6的是A)x*=x+1B)x++,2*xC)x*=(1+x)D)2*x,x+=243)以下不能正确表示代数式的C语言表达式是()A)2*a*b/c/dB)a*b/c/d*2C)a/c/d*b*2D)2*a*b/c*d44)设变量已正确定义并赋值,以下正确的表达式是A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.045)表达式3.6-5/2+1.2+5%2的值是A)4.3B)4.8C)3.3D)3.8**46)若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是()A)sqrt(abs(n^x+e^x))B)sqrt(fabs(pow(n,x)+pow(x,e)))C)sqrt(fabs(pow(n,x)+exp(x)))D)sqrt(fabs(pow(x,n)+exp(x)))47)设有定义:intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是A)k++B)k+=1C)++kD)k+148)若变量X、Y已正确定义并赋值,以下符合C语言语法的表达式是()。A)++X,Y=X--B)X+1=YC)X=X+10=X+YD)double(x)/1049)已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是A)c=(c-‘A’)%26+’a’B)c=c+32C)c=c-‘A’+’a’D)c=(‘A’+c)%26-‘a’50)有以下程序,其中k的初值为八进制数#includestdio.hmain(){intk=011;printf("%d\n",k++);}程序运行后的输出结果是A)12B)11C)10D)951)有以下程序:main(){intx,y,z;x=1;y=2;z=x++,y++,++y;printf(%d,%d,%d\n,x,y,z);}程序运行后的结果是()。A)2,3,3B)2,3,2C)2,3,1D)2,2,152)程序段:intx=12;doubley=3.141593;printf(%d%8.6f,x,y);的输出结果是A)123.141593B)123.141593C)12,3.141593D)123.141593053)下四个程序中,完全正确的是A)#includeB)#includemain();main(){/*programming*/{/*/programming/*/printf(“programming!\n”);printf(“programming!\n”);}}C)#includeD)includemain()main(){/*/*programming*/*/{/*programming*/printf(“programming!\n”);printf(“programming!\n”);}}54)阅读以下程序#includestdio.hmain(){intcase;floatprintF;printf(请输入2个数:);scanf(%d%f,&case,&printF);printf(%d%f\n,case,printf);}该程序在编译时产生错误,其出错原因是A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无措,printf不能输出case的值55)设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:□代表空格字符)A)10□X□20□Y〈回车〉B)10□X20□Y〈回车〉C)10□X〈回车〉D)10X〈回车〉20□Y〈回车〉20Y〈回车〉56)有以下程序,其中%u表示按无符号整数输出main(){unsignedintx=0xFFFF;/*x的初值为十六进制数*/printf(“%u\n”,x);}程序运行后的输出结果是A)-1B)65535C)32767D)0xFFFF57)有以下程序段charch;intk;ch='a';k=12;printf(%c,%d,,ch,ch,k);printf(k=%d\n,k);已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=1258)设有定义:inta;floatb;,执行scanf(%2d%f,&a,&b);语句时,若从键盘输入876543.0回车,a和b值分别是()。A)876和5
本文标题:c语言程序设计第三章答案
链接地址:https://www.777doc.com/doc-2908271 .html