C语言程序设计习题参考答案习题1一、填空题1.C语言符号集包括。答案:26个英文字母、10个阿拉伯数字(0,1,2,……,9)和其它特殊符,以运算符为主(+,-,*,/,=,%,,等)。2.一个C程序有且仅有一个函数。答案:main()3.一个C源程序有个main()函数和个其他函数。答案:一个多个4.C语言程序的执行是从开始执行的。答案:main()5.C语言源程序的语句分隔符是。答案:;二、单项选择题1.以下不是C语言特点的是()。A)C语言简洁、紧凑B)能够编制出功能复杂的程序C)C语言可以直接对硬件进行操作D)C语言移植性好答案:B2.以下不正确的C语言标识符是()。A)ABCB)abcC)a_bcD)ab.c答案:D3.以下正确的C语言标识符是()。A)%xB)a+bC)a123D)test!答案:C4.一个C程序的执行是从()。A)main()函数开始,直到main()函数结束B)第一个函数开始,直到最后一个函数结束C)第一个语句开始,直到最后一个语句结束D)main()函数开始,直到最后一个函数结束答案:A5.在C程序中,main()的位置()。A)必须作为第一个函数B)必须作为最后一个函数C)可以任意D)必须放在它所调用的函数之后答案:C错误!使用“开始”选项卡将标题1,部分标题1应用于要在此处显示的文字。26.一个C程序是由()。A)一个主程序和若干个子程序组成B)一个或多个函数组成C)若干过程组成D)若干子程序组成答案:B7.C语言源程序的基本单位是()。A)过程B)函数C)子程序D)标识符答案:B三、编程题1.请参照本章例题,编写一个C程序,从键盘上输入圆的半径,求圆的面积、周长和以此半径所组成的球的体积。答案:voidmain(){floatr,s,l,v,pi=3.1415926;printf(Pleaseinputaradius:);scanf(%f,&r);s=pi*r*r;l=2*pi*r;v=4.0/3.0*pi*r*r*r;printf(%f,%f,%f\n,s,l,v);}2.编写一个C程序,输入45、21、60三个数,输出其中最大者。答案:intmax(intx,inty){retum(xy?x:y);}voidmain(){intnuml,num2,num3;printf(Inputthefirstintegernumber:);scanf(%d,&numl);printf(Inputthesecondintegernumber:);scanf(%d,&num2);printf(Inputthethreeintegernumber:);scanf(%d,&num3);printf(max=%d\n,maxmax((numl,num2),num3));}或:voidmain(){inta,b,c,d,max;printf(Pleaseinputthreenuber:);scanf(%d%d%d,&a,&b,&c);错误!使用“开始”选项卡将标题1,部分标题1应用于要在此处显示的文字。3d=(ab?a:b);max=(dc?d:c);printf(%d\n,max);}或:voidmain(){inta,b,c,max;printf(Pleaseinputthreenuber:);scanf(%d%d%d,&a,&b,&c);if(ab&&ac)max=a;if(ba&&bc)max=b;if(ca&&cb)max=c;printf(%d\n,max);}习题2一、填空题1.表达式10/3的结果是,表达式10%3的结果是。答案:312.定义intx,y,执行y=(x=l,++x,x+2);语句后,y的值是。答案:43.设intx=9,y=8;表达式x==y+1的结果是。答案:14.设inta=l,b=2,c=3,d:执行d=!(a+b+c)后,d的结果是。答案:05.设intx;当x值分别为1、2、3、4时,表达式(x&1==1)?1:0的值分别是,,,。答案:10106.执行下列语句后,a的值是。inta=12:a+=a-=a*a;答案:-2647.执行下列语句后,z的值是。intx=4,y=25,z=2;z=(--y/++x)*z--;答案:78.执行下列语句后,a,b,c的值分别是、、。intx=10,y=9;inta,b,c;错误!使用“开始”选项卡将标题1,部分标题1应用于要在此处显示的文字。4a=(--x==y++)?--x:++y;b=x++;c=y;答案:88109.以下程序的执行结果是。#includestdio.hvoidmain(){floatf=13.8;intn;n=((int)f)%3;printf(n=%d\n,n);}答案:110.以下程序的执行结果是。#includestdio.hvoidmain(){inta,b,x;x=(a=3,b=a--);printf(x=%d,a=%d,b=%d\n,x,a,b);}答案:x=3,a=2,b=311.如下程序的执行结果是。#includestdio.hvoidmain(){intn=l;printf(%d%d%d\n,n,++n,n--);}答案:111二、选择题1.以下结果为整数的表达式(设有inti;charc;floatf;)()。A.i+fB.i*cC.c+fD.i+c+f答案:B2.以下不正确的语句(设有intp,q)是()。A.p*=3;B.p/=q;C.p+=3;D.p&&=q;答案:D3.以下使i的运算结果为4表达式是()。错误!使用“开始”选项卡将标题1,部分标题1应用于要在此处显示的文字。5A.inti=0,J=0;B.inti=1,j=0;j=i=((i=3)*2);C.inti=0,j=1;(j==1)?(i=1):(i=3);D.inti=1,j=1;i+=j+=2;答案:D4.设charch;以下正确的赋值语句是()。A.ch='123';B.ch='\xff';C.ch='\08';D.ch=\;答案:C5.设n=10,i=4,则值运算n%=i+1执行后,n的值是()。A.0B.3C.2D.1答案:A6.逗号表达式(a=3*5,a*4),a+15的值为(),a的值为()。(1)A.15B.60C.30D.不正确(2)A.60B.30C.15D.90答案:CC7.如果a=1,b=2,c=3,d=4,则条件表达式ab?a:cd?c:d的值为()。A.1B.2C.3D.4答案:A8.设intn=3;则++n的结果是(),n结果是()。A.2B.3C.4D.5答案:CC9.设intn=3;则n++的结果是(),n结果是()。A.2B.3C.4D.5答案:CC10.设inta=2,b=2,则++a+b的结果是(),a的结果是(),b的结果是()。A.2B.3C.4D.5答案:DBA11.设intm=l,n=2,则m++==n的结果是()。A.0B.1C.2D.3答案:A12.设a=2,b;则执行b=a==!a;语句后,b的结果是()。A.0B.1C.2D.3答案:A13.设有以下语句,则c的二进制值是()。chara=3,b=6,c;c=a^b2;A.00011011B.00010100C.00011100D.00011000答案:A14.sizeof(double)是一个()表达式。错误!使用“开始”选项卡将标题1,部分标题1应用于要在此处显示的文字。6A.整型B.双精度C.不合法D.函数调用答案:A15.编辑程序是()。A.建立并修改程序B.将C源程序编译成目标程序C.调试程序D.命令计算机执行指定的操作答案:A16.C编译程序是()。A.C程序的机器语言版本B.一组机器语言指令C.将C源程序编译成目标程序的程序D.由制造厂家提供的一套应用软件答案:C17.设有整型变量a,实型变量f,双精度型变量x,则表达式10+'b'+x*f的值的类型为()。A.intB.floatC.doubleD.不能确定答案:C18.若有intk=5;flaotx=1.2;则表达式(int)(x+k)的值是()。A.5B.6.2C.7D.6答案:D19.下面对变量赋初值正确的是()。A.inta=b=c=1;B.inta=1,b=c=2;C.inta=1,b=1,c=1;D.inta=b=1,c=2;答案:C20.设有以下语句:inta=3,b=6,c;c=a^b2;则c的二进制值是()。A.00011011B.00010100C.00011100D.00011000答案:A21.当a=3,b=2,c=1时,表达式f=abc执行完后f的值是()。A.1B.0C.3D.2答案:B习题3一、填空题1.若定义floatx=1.23444355;则”printf(“%f\n”,x);”的输出结果为。答案:1.2344442.标准C的所有输入输出函数都包含在头文件中。错误!使用“开始”选项卡将标题1,部分标题1应用于要在此处显示的文字。7答案:stdio.h3.设a=3,b=4,c=5,若有语句“scanf(“a=%d:b=%d,c=%d”,&a,&b,&c);”,则正确的输入格式为。答案:a=3:b=4,c=54.设已说明inti=65,j=66;charch1=’A’,ch2=’B’;则执行下列与剧组的输出结果为:printf(“%d,%d,%c,%c”,i,j,ch1,ch2);printf(“%c,%c,%d,%d”,i,j,ch1,ch2);答案:65,66,A,BA,B,65,665.设有语句scanf(“%c%c%c”,&c1,&c2,&c3);,若c1,c2,c3的值分别为a,b,c,则正确的输入方法为。答案:abc6.请写出下面程序的输出结果:#includestdio.hvoidmain(){inta=5,b=7;floatx=67.8564,y=-789.124;charc=’A’;longn=1234567;unsignedu=65535;printf(“%d%d\n”,a,b);printf(“%3d%3d\n”,a,b);printf(“%f,%f\n”,x,y);printf(“%-10f,%-10f\n”,x,y);printf(%8.2f,%8.2f,%.4f,%.4f,%3f%3f\n,x,y,x,y,x,y);printf(“%e,%10.2e\n”,x,y);printf(“%c,%d,%o,%x\n”,c,c,c,c);printf(“%ld,%lo,%x\n”,n,n,n);printf(“%u,%o,%x,%d\n”,u,u,u);printf(“%s,%5.3s\n”,”computer”,”computer”);}答案:错误!使用“开始”选项卡将标题1,部分标题1应用于要在此处显示的文字。8二、选择题1.能正确定义整型变量a和b,并为他们赋初值5的语句是()。A.a=b=5B.inta,b=5;C.inta=b=5;D.inta=5,b=5;答案:D2.以下程序段的输出结果是()。intu=020,v=0x20,w=20;printf(%d%d%d,u,v,w);A.16,32,20B.20,20,20C.16,16,20D.32,16,20答案:A3.以下程序段的输出结果是()。charc1='a',c2='c';printf(%d%c,c2-c1,c2-'a'+'c');A.2,mB.3,EC.2.ED.格式控制与输出项不一致。结果不确定。答案:C4.下列程序的执行结果是()。main(){inta=100,b;b=a++100?a+100:a+200;printf(%d%d,a,b);}A.101201B.101301C.100200D.100300答案:B5.下列程序的输出结果是()。错误!使用“开始”选项卡将标题1,部分标题1应用于要在此处显示的文字。9main(){inta,b,c=241