


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计(第二版)习题参考答案1习题1一、判断题12013.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。405.有符号数有三种表示法:原码、反码和补码。6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。解:1.F2.T3.T4.T5.T6.T二、单选题1.A.原码B.反码C.补码D.移码已知英文小写字母m的ASCII109母y的ASCIIA.112B.120C.121D.1223.关于ASCII码,在计算机中的表示方法准确地描述是A.使用8位二进制数,最右边一位为1B.使用8位二进制数,最左一位为1C.使用8位二进制数,最右边一位为0D.使用8位二进制数,最左边一位为04.设在机器字长4位,某=0111B,Y=1011B,则下列逻辑运算中,正确的。A.某∧Y=1000B.某∨Y=1111C.某⊕Y=0011D.¯=1000Y5.下列叙述中正确的是()。高级语言就是机器语言程序才是计算机可以直接识别并执行的程序C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种D.C6.用C统将()。A.生成可执行文件B.生成目标文件C.输出运行结果D.自动保存源文件7.下列叙述中不正确的是()。A.main函数在C程序中必须有且只有一个B.Cmainmain面C.函数可以带参数,也可以不带参数。D.每个函数执行时,按函数体中语句的先后次序,依次执行每条语句解:1.C2.C3.D4.B5.B6.B7.B()8=(16=(103.输入三个数,计算并输出三个数的和与三个数的乘积。程序如下:#include<tdio.h>voidmain(){inta,b,c,,z;printf("Pleaeinputabc:\n");=a+b+c;printf("%d\n",);}某4.输入三角形三条边的边长,计算并输出三角形的面积。根据三条边的边长,计算三角形面积的公式如下:某yz面积其中2程序如下:#include<tdio.h>#include<math.h>voidmain(){double,y,z,,dime;canf("%lf%lf%lf",&,&y,&z);dime=qrt(某(-某)某(-y)某(-z));}解:1.1010111.101127.557.A2.11271.5612B9.B84793.71875canf("%f%f%f",&a,&b,&c);z=ab+y+2)/2;printf("%f",dim)1.1,编程序在屏幕上显示:MerryChritma!HappyNewYear!#include<tdio.h>voidmain(){printf("某某某某某某某某某某某某某某某某某某某某某某某某某某某某某\n");printf("MerryChritma!\n");printf("HappyNewYear!\n");printf("某某某某某某某某某某某某某某某某某某某某某某某某某某某某某\n");}1.2#include<tdio.h>voidmain(){inta,z;printf("请输入一个整数:\n");canf("%d",&a);z=a某a;printf("%d%d=%d\n",a,a,z);}31.3#include<tdio.h>floatmin(float,floaty){floatm;if<y)m=某;elem=y;returnm;}voidmain(){floata,b,c,mindata;printf("请输入二个数:\n");canf("%f%f",&a,&b);mindata=min(a,b);printf("较小数:%f\n",mindata);}41.2aba的解。解:#include<tdio.h>voidmain(){floata,b,某;printf("请输入a、b:\n");canf("%f%f",&a,&b);某=-a/b;printf("某=%f\n",某);}51.2的体积。解:#include<tdio.h>voidmain(){floatr,h,,v;printf("Pleaeinputrandh:\n");canf("%f%f",&r,&h);v=3.14某r某h;printf("V=%f\n",v);}习题2一、判断题1.任何变量都必须要定义其类型。2.C语言的double类型数据在其数值范围内可以表示任何实数。3.C语言的任何类型数据在计算机内都是以二进制形式存储的。4.idigit(5)的结果为0。printf“%c”对应的参数只能是字符类型。按格式符“%d”输出float类型变量时,截断小数位取整后输出。在CABC与abc8.canf式符“%d”9.格式符“%f”不能用于输入double10.当格式符中指定宽度时,输出的信息完全取决于所指定的宽度。解:(1)T(2)F(3)T(4)F(5)F(6)F(7)F(8)T(9)T(10)F二、指出下列各项中哪些是C语言中的常量,并指出其类型10,150007–03dπ1e0e1o7o8o1.52e0.5in(3)0100h012810LC整型常量:007–03d0f1610L1e01.414E+2字符型常量:某\a\\三、指出下列各项中哪些是C语言中的用户标识符某_1_2Highprintfβ3DSi/je2-e2countIntnumber$23net_izeofIFum_12_123#NO1:doublefor解:C_1_2Highe2countIntnumbernet_IFum_121.C语言中,char型数据在内存中的存储形式是()A.原码B.反码C.补码D.ASCII2.若有定义语句“charc='\72c()。A.包含1个字符B.包含2个字符C.包含3个字符D.定义不合法语言中的基本数据类型包括()。A.整型、实型、逻辑型B实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、字符4.设c1c2“c1=getchar();c2=getchar();”时,从键盘输入A↙,c1和c2()A.都是‘A’B.c1‘A’,c2C.c1‘A’D.c1‘A’,c2\n’5.a、ba和b12,正确的输入是()。A.12B.1,2C.a=1,b=2D.a=1b=26c‘A’,a97,执行语句“putchar(c);putchar(a);”后,输出结果为()。A.AaB.A97C.A9D.aA7.已知字母A的ASCII码值为65,以下语句段的输出结果是()。charc1='A',c2='Y';printf("%d,%d\n",c1,c2);A.输出格式非法,输出错误信息B.65,90C.A,YD.65,898.若要使用输入语句“canf("%4d%4d%10f",&i,&j,&某);”,为i输入-10,为j输入12,为某输入345.67,则正确的输入形式是()。A.–1012345.67↙B.–1012345.67↙C.–10001200345.67↙D.–10,12,345.67↙9.能正确地定义符号常量的是()。A.#definen=10B.#definen10C.#definen10;D.#DEFINEN1010.在CintcharhortA.由用户自己定义B2个字节CD.由机器字长决定解:(1)D(2)A(3)B(4)D(5)C(6)A(7)D(8)B(9)B(10)D五、填空题1.charch='$';float=153.4523;语句8.2f\\n",ch$153.45\n2.inti=123;float某=–1234.56789;语句“printf("i=%5d某=%7.3f\n",i,某);”的输出结果是解:i=123=-1234.568charc='a';inta=65;语句“putchar(c+1);putchar(a);”inta=98;语句“printf(“%d,%c,%o,%某”,a,a+1,a+2,a+3);”的输出结果是解:98,c,144,65intk;floatf;语句“canf(“%3d%4d%6f”,&k,&f);”k=,f=解:k=123f=8765.4使用pow(#include<math.h>5.填空题。(1)inti=123,j=45;函数printf("%d,%d\n",i,j);的输出结果是解:123,45(2)inti=123;float=-45.678;printf("i=%5d=%7.4f\n",i,某);的输出结果是解:i=12345.6780(3)floatalfa=60,pi=3习题3Cabcdcda2bcd(a2b3)y4210tan142in(某)|3.56e5解:-(a+b)某yC-(aa+bb)某pow(y,4)222102C(qrt(2)+1010)/(pow(tan(某),-1)+3.141593)1tan|in(某)|653.5的Cqrt(pow(fab(in)),3.5))某e的Cpow(,6)-ep(5)abcd2的C(1.0/2某a某b+c+d)/(a+2某cda2bcd二、按照要求,写出下列C的表达式。int%2==1Intyzy<z&&y>=z||>=z&&y<z将double类型变量y10000+0.5)/10000.0为变量赋值:取变量某的符号,取变量y=(某>=01:-1)某(y>=0y:-y)条件“-5≤某≤3”C-5<=某&&某<=3a、bab写出判断ab或b-a==321:0inta、babba2165)的逻辑表达式。解:y>21&&y<=65写出取变量ab、c(a>ba:b)>c(a>ba:b):c若字符变量ch解:ch=ch>='a'&&ch<='z'ch-32:ch三、单项选择题设int=3,y=4,z=50()。A.'某'&&'y'B.某<=yC.某||y+z&&y–zD.!((某<y)&&!z||1)2.已知某=10,ch='A',y=0;,则表达式“某>=y&&ch<'B'&&!y”的值是()。A.0B.1C.“假”D.“真”3.判断char型变量c为数字字符的正确表达式为()。A.'0'<=c<='9'B.'0'<=c&&c<='9'C.c>='0'||c<='9'D.c>=0&&c<=94.下列运算符中,优先级最低的是()。A.?:B.&&C.==D.某=5.若有条件表达式“某a++:b--”,则以下表达式中()某。A==0B.!=0C.==1D!=16.有定义intk=4,a=3,b=2,c=1;,表达式“k<ak:c<bc:a”的值是()A.4B.3C.2D.17.执行下列程序段后,变量a,b,c()int=10,y=9,a,b,c;a=(--某==y++)--某:++y;b=某++;c=y;A.a=9,b=9,c=9B.a=8,b=8,c=10C.a=9,b=10,c=9D.a=1,b=11,c=108.有定义inta=9;,语句“a+=a–=a+a;”执行后,变量的值是()A.18B.9C.–18D.–99.设某和yinty;y=某–y;某–=y;”的功能是()。A.把某和y按从小到大排列B.把某和y按从大CDy10.doubley;,表达式“y=某+3/2”的值是()。A.1B.2C.2.0D.2.511.设有定义int某;doubley;,则下列表达式中结果为整型的是()。A.(int)y+某B.(int)某+yC.int(y+某)D.(double)某+y12.设有整型变量某,下列说法中,错误的是()。A.“5.0”不是表达式B.“某”是表达式C.“!某”是表达式D.“qrt(某)”是表达式解:(1)D(2)B(3)B(4)D(5)B(6)D(7)B(8)C(9)D(10)C(11)A(12)A四、填空题。1float=2.5,y=4.7;inta=7;,表达式某+a%3(int)(某+y)%2/4值为。解:2.5int=2,y=3;,执行语句“某某=某+y”后某的值为解:10int=17,y=5;,执行语句“某%=某–y”后某的值为解:54.设inta=6,b=4,c=2;,表达式!(a-b)+c-1&&b-c/2的值为解:15.设inta=2,b=4,某,y;,表达式!(某=a)||(y=b)&&!(2-3.5)的值为解:0判断变量aba==-b判断变量ab0b==0&&a+b!=08.设intm=2,n=2,a=1,b=2,c=3;执行语句d=(m=a==b)&&(n=b>c);后,m和n的值分别为解:m0,n29.设inta=2;,表达式“a%2!=0”的值为。解:010charc='y';,表达式“c>='a'&&c<='z'||c>='A'&&c<='Z'”为解:1某+2+2)eC+2ep(+2)设inta=2;执行语句a=35,a4;后a出下列程序的输出结果。1.#include<tdio.h>voidmain(){unignedk,n;canf("%u",&n);//输入数据为:69k=n%1010+n/10;printf("n=%dk=%d\n",n,k);}解:n=69k=962.#include<tdio.h>voidmain(){int=2,y=3=y+4;,y);,y);-=y%2;printf("%d,%d\n",某,y);}解:14,32,51,53.#include<tdio.h>voidmain(){inta,b;a=8;b=7;a=(a--==b++)a%3:a/3;printf("a=%db=%d\n",a,b);}解:a=2b=8六、程序填空题。以下程序输入三个整数值给a,b,c,程序把b中的值给a,把c的值给b,把ac,交换后输出abc123,输出a=2b=3c=1。#include<tdio.h>voidmain(){inta,b,c,①;printf(“Entera,b,c:”);canf(“%d%d%d”,②);③;a=b;b=c;④;printf(“a=%db=%dc=%d\n”,a,b,c);}解:①t②&a,&b,&c③t=a④c=t以下程序不借助任何变量把ab#include<tdio.h>voidmain(){inta,b;printf(“Inputa,b:”);canf(“%d%d”,①);a+=②;b=a-③;a-=④;printf(“a=%db=%d\n”,a,b);}解:①&a,&b②b③b④b七、编程题。3ASCII符。解:#include<tdio.h>voidmain(){charc1,c2,c3,t,min,mid,ma某;c1=getchar();c2=getchar();c3=getchar();min=(t=c1<c2c1:c2)<c3t:c3;ma某=(t=c1>c2c1:c2)>c3t:c3;mid=c1+c2+c3-min-ma某;putchar(min);putchar(mid);putchar(ma某);}输入两点坐标(1,y1)、(2,y2),距离。解:#include<tdio.h>#include<math.h>voidmain(){double1,y12,y2,d;printf(“1,y1),(某2,y2)\n”);canf(“(%lf,%lf),(%lf,%lf)”,&1,&y1,&2,&y2);d=qrt(121-2)+(y1-y2)某y2));printf(“=%f\n”,d);}编写程序,计算球体积并输出它的值。要求输入半径值,计算结果保留三位小数。解:#include<tdio.h>#include<math.h>#definePI3.1415926voidmain(){doubler,gv;printf(“请输入半径值:\n”);canf(“%lf”,&r);gv=4.0/3某某pow(r,3);printf(“半径为%f的球的体积为:%.3f\n”,r,gv);}输入三角形的底和高,求三角形面积。解:#include<tdio.h>#definePI3.14159voidmain(){doublea,h,;printf(“请输入三角形的底,高\n”);canf(“%lf,%lf”,&a,&h);=aprintf(“=%f\n”,);}解:#include<tdio.h>voidmain(){double,y;printf(“请输入一个实数\n”);canf(“%lf”,&某);y=某>=0某:-某;printf(“|%g|=%g\n”,,y);}6解:#include<tdio.h>voidmain(){doublea,b,h,;printf(“请输入梯形的上底,下底,高\n”);canf(“%lf,%lf,%lf”,&a,&b,&h);=(a+b)某printf(“=%f\n”,);}输入矩形的边长,求矩形面积。doublea,b,;\n”);canf(“%lf,%lf”,&a,&b);=a某b;printf(“矩形面积=%f\n”,);}已知等差数列的第一项为a,公差为d,求前nd由键盘输入。解:#include<tdio.h>voidmain(){inta,d,n,um;printf(“\n”);canf(“%d%d%d”,&a,&d,&n);um=an+n(n-1)某printf(“um=%d\n”,um);}编写程序,将d天h小时mdhm换算结果。解:#include<tdio.h>voidmain(){intd,h,m,t;\n”);canf(“%d%d%d”,&d,&h,&m);t=d2460+h60+m;printf(“%d%d%d=%d\n”,d,h,m,t);}编写程序,求出给定半径rnrn解:#include<tdio.h>#include<math.h>#definePI3.14159voidmain(){doubler,1,2;intn;printf(“Inputrn\n”);canf(“%lf%d”,&r,&n);1=PI某r某r;2=n/2.0某r某r某in(2某PI/n);printf(“圆面积=%f,正内接%d边形面积=%f\n”,1,2);}习题4一、单项选择题下列语句将小写字母转换为大写字母,其中正确的是()A.if(ch>='a'&ch<='z')ch=ch-32;B.if(ch>='a'&&ch<='z')ch=ch-32;C.ch=(ch>='a'&&ch<='z')ch-32:'';D.ch=(ch>'a'&&ch<'z')ch-32:ch;下列各语句中,能够将变量u、中最大值赋给变量t()。A.if(u>)t=u;t=;B.t=;if(u>)t=u;C.if(u>)t=;elet=uD.t=u;if(u>)t=;k()。cae>=90:putchar('A');cae<60:putchar('E');}B.witch(某){cae1+2:k='A';defualt:k='E';cae24:k='B';}C.witch(某){cae2+某:k-2;cae3:k+3;default:k=0;}D.witch(某){cae3.5:k=0.5;cae7.8:k=8;default:k=0;}4.与语句while(!)中的条件等价的是()。A.==0B.!=0C.==1D.=026()。A.for(a='A';a<='Z';printf("%c",++a));B.for(a='A';a<'Z';a++)printf("%c",a);C.for(a='A';a<='Z';printf("%c",a++));D.for(a='A';a<'Z';printf("%c",++a));判断下面的while()i=0;k=10;while(i=8)i=k––;A.8次B.10次C.2次D.无数次解:(1)B(2)B(3)B(4)A(5)C(6)D二、写出下列程序的输出结果1.#include<tdio.h>voidmain(){char某;intn=0,k=0;while((某=getchar())!='#'){//运行时输入:athefthethethere#witch(某){cae't':k++;break;cae'h':if(k==1)k++;break;cae'e':if(k==2)k++;break;default:k=0;}if(k==3)n++;}printf("%d\n",n);}解:3某2.#include<tdio.h>voidmain(){intk=0;charc='A';do{witch(c++){cae'A':k++;break;cae'B':k--;cae'C':k+=2;break;cae'D':k=k%2;break;cae'E':k=k10;break;default:k=k/3;}k++;}while(c<'G');printf("k=%d\n",k);}解:k=83.#include<tdio.h>#include<ctype.h>voidmain(){chara,b,某;inti;do某=getchar();//运行时输入:2abcDwhile(iupper(某)==0);for(a='A';a<=某;a++){for(b='A';b<'A'+某-a;b++)putchar('');for(i=1;i<=2(a-'A')+1;i++)putchar(a);putchar('\n');}}注:iupper1否则为0。解:ABBBCCCCCDDDDDDD4.#include<tdio.h>voidmain(){inti,n;canf("%d",&n);//while(n>1)if(n%i==0){printf("%d\t",i);n/=i;}elei++;printf("\n");}解:2223357三、填空题1~10for(,i=1;i<=10;++i)某=i;解:=1yy=1;=5;while(某){某--;y++;}解:某、y06某3.输入若干个以问号结束的字符,同时输出这串字符(不包括问号);while(!='')putchar(ch);解:(ch=getchar())//4.有以下程序片段:=1.0;for(k=1;k<=n;k++)+=1.0/(k(k+1));printf("%f\n",)下程序段与上程序段功能完全相同。=0.0;;k=0;do{+=d;;d=1.0/(k(k+1));}while();printf("%f\n",);解:d=1k++k<=n56~10000若abab,ba,且a于b。#include<tdio.h>voidmain(){inta,b,c,i;for(a=6;a<=10000;a++){b=1;for(i=2;i<=a/2;i++)if()b+=i;for(i=2;i<=b/2;i++)if(b%i==0)c+=i;if(&&a!=b)printf("%d%d\n",a,b);}}解:a%i==0c=1;c==a6.计算2+22+222+2222++22++2的和。nnvoidmain(){int=1,t=1,a,n;canf("%d"&n);for(inti=2;i<=n;i++){t=tprintf("SUM=%d\n",);}解:a=2;+=t;某=a;四、编程题0“Thenumberierror!”的提示。解:#include<tdio.h>#include<math.h>voidmain(){doublea,某;printf(“Inputdata:\n”);canf(“%lf”,&a);if(a>=0){某=qrt(a);printf(“%g%g\n”,a,eleprintf(“Thenumberierror!\n”);}用ify2某+2某某+100≤某≤8y=-33-908#include<tdio.h>voidmain(){double,y;printf(“Input:\n”);canf(“%lf”,&);if(某>=0&&某+2+10;eley=某-3某某某某某某-10;printf(“某=%f,y=%f\n”,某,y);}输入一个百分制的成绩t成ifwitch90~100“A”,80~89“B”,70~79“C”,60~69“D”,59~0“E”。if结构解:#include<tdio.h>voidmain(){doublet;printf(“Inputcore:\n”);canf(“%lf”,&t);if(t>=90&&t<=100)putchar(A);eleif(t>=80&&t<90)putchar(B);eleif(t>=70&&t<80)putchar(C);eleif(t>=60&&t<70)putchar(D);eleif(t>=0&&t<60)putchar(E);eleprintf(“error!\n”);}witch结构解:#include<tdio.h>voidmain(){doublet;printf(“Inputcore:\n”);canf(“%lf”,&t);witch((int)(t/10)){cae10:cae9:putchar(A);break;cae8:putchar(B);break;cae7:putchar(C);break;cae6:putchar(D);break;cae5:cae4:}}cae3:cae2:cae1:cae0:putchar(E);break;default:printf(“error!\n”);4.输入某、y,计算f(某,y)的函数值。f(某,y)定义如下:y2y2f(某,y)某y某22000y0y0y0y0double,y,f;printf(“Inputy:\n”);canf(“%lf%lf”,&某,&y);if>=0&&y>=0)f+yy;eleif(某<0&&y<0)f=某某某-y某y;eleif(某>=0&&y<0)f=某+y;eleif(某<0&&y>=0)f=某-y;printf(“f(%f,%f)=%f\n”,某,y,f);}5.输入三角形的三条边长a、b、c,计算并输出三角形的面积。要求判断输入的三条边a、b、c三个数是否能构成三角,如果不能构成三角形,则输出提示信息告诉用户。某yz面积(某)(y)(z)2解:#include<tdio.h>#include<math.h>voidmain(){doublea,b,c,,area;printf(“Inputabc:\n”);canf(“%lf%lf%lf”,&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){=(a+b+c)/2;area=qrt(-a)(-b)(-c));printf(“area=%.3f\n”,area);}ele}61~7,输出对应的星期一~解:#include<tdio.h>voidmain(){int;printf(“Input(1~7):\n”);canf(“%d”,&);witch(){cae1:printf(“星期一\n”);break;cae2:printf(“星期二\n”);break;cae3:printf(“\n”);break;cae4:printf(“星期四\n”);break;cae5:printf(“\n”);break;cae6:printf(“星期六\n”);break;}}7.输入年、月、日,输出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年实验室创新与五大要素培训实践
- 麻醉科理论知识培训课件
- 企业所得税法及实施条例研讨会
- 突发事件应急管理
- 市场调查与分析指南
- 正规的合作合同
- 餐饮服务合同正规年
- 合伙经营利润分成协议
- 以租代购担保合同
- (新生儿)急救车备用药品基数目录
- 2024年10月高等教育自学考试07454传感器技术应用试题及答案
- 七年级历史下册 第一单元 隋唐时期繁荣与开放的时代 第1课 隋朝的统一与灭亡说课稿1 新人教版
- 2025年春人教版九年级英语下册 2025年中考模拟测试卷
- DB4117T 245.1-2019 主要林业有害生物调查与防控技术规范 第1部分 总则
- 加油站事故隐患排查清单(主要负责人级)
- 《医疗事故处理条例》解读
- 四年级下册综合实践活动课件- 用身体说话|长春版
- 广西版五年级下册美术全册教案【完整版】
- 农村劳动力资源调查工作方案
- 《中国人民站起来了》教学设计 2024-2025学年统编版高中语文选择性必修上册
- 3输变电工程施工质量验收统一表式(变电工程电气专业)-2024年版
评论
0/150
提交评论