您好,欢迎访问三七文档
1练习一一、选择题12345678910CDACDCBCCC1112131415ABDCB二、填空题(注:答案中的□代表空格)1编译6主函数(或main函数)2.exe7/*…*/3编译8算法4顺序结构9main函数5函数10流程图三、编程/思考题1.C语言的主要特点有:(1)C语言具有结构化的高级编程语言应有的所有高级指令,使程序员不需要知道硬件细节。同时,C也具有一些低级指令,允许程序员能够直接快速地访问硬件。(2)C语言是结构式语言。(3)C语言是一种高效的语言。(4)C语言简洁紧凑,使用方便灵活。(5)C语言运算符丰富。(6)C语言是一种可移植性语言。2.编辑C语言程序源代码,编译源文件,连接程序,执行程序。3.算法具有以下特点:(1)有穷性;(2)确定性;(3)有零个或多个输入;(4)有一个或多个输出;(5)有效性。4.算法流程图如下:25.#includestdio.hvoidmain(){printf(*********************************\n);printf(ThisisasimpleCprogram!\n);printf(*********************************\n);}练习二一、选择题12345678910BCBADADBDA11121314151617181920CDBDACDADB2122232425CBBAB二、填空题1float,double6doubea=5.6,b=5.6;2普通常量和符号常量7intx=3276833字母、数字、下划线8‘a’4回车换行,回车不换行99,905float、double、char10BeijingChina三、思考题1.解:C语言中,要求对所有用到的变量“先定义,后使用”,这样做的好处是:能够保证程序中变量名使用得正确;在编译时就能为变量分配相应的存储单元;便于在编译过程中检查对该变量进行的运算是否合法。2.解:字符常量是一个字符,在程序中是用单撇号括起来的;字符串常量由0个或若干个字符组合而成,在程序中是用双撇号括起来的,在存储时,系统自动在字符串最后加上一个字符串结束符’\0’。3.解:在内存中,字符型数据以ASCII码存储,ASCII码是一串二进制编码,每个字符的ASCII码对应一个整数值,大写字母与其对应小写字母的ASCII码对应整数值相差32。因此,要将一个大写字母转换为小写字母,只需将该变量的值加上32即可。4.解:常量’a’与”a”在内存中所占用的字节数不相同,因为’a’是字符常量,在内存中占用一个字节存储,而”a”是字符串常量,在内存中存储时,系统自动在其后加上一个字符串结束符’\0’,在内存中占用2个字节存储。5.若有定义inta;floatf,则表达式’c’+a+f的结果为double型。因为表达式中f为float型,在计算之前必须先转换为double型,根据数据类型的自动转换规则,表达式的结果为double型。6.解:整数在内存中以补码形式存储,负数的补码为反码+1,所以,当x=-12时,其在内存中的存储形式为:1111111111110100。7.解:输出结果为-32768,因为一个short型数据在内存中占用2个字节存储,所能表示的数值范围为-32768~32767,当x=32768时,超出了其能表示的范围,发生了溢出,数值32768的二进制编码的16位正好对应数值-32768。8.解:若有x为int型变量,则执行x=3.14后,变量x的值为3,因为x为int型变量,不能存储实型数据,当把一个实型数据赋给x时,发生了数据类型转换,系统自动把实型数据的小数部分舍去。9.解:两个程序的运行结果相同。因为字符型数据以ASCII码存储,ASCII码是一串二进制编码,每个字符的ASCII码对应一个整数值。因此,在一定范围内,整型数据和字符型数据是可以通用的。字符’a’和’b’对应的ASCII编码值分别为97,98。10.解:(注:答案中的□代表空格)运行结果为:aAbB□□□□cC□□□□□□abcA□□□□□□□BB4练习三一、选择题12345678910CDABCCDBDB11121314151617181920CCCDBCDDDA21222324252627282930CCCBADADAA31323334353637383940BBADBCCDCD二、填空题(注:答案中的□代表空格)111112212135.513x=0&&x=1||x=-1&&x=043.514-165115-60601626701710,68&&,||,!1839019A100204三、编程题1.(1)2.5,(2)4.5;2.如果一个表达式的值为“真”,则以1表示,如果值为“假”,则以0表示;当判断一个量的逻辑值时,系统将0判断为“假”,将非0判断为“真”。3.(1)0;(2)1;(3)1;(4)0;(5)14.(1)30;(2)10;(3)45;(4)0;(5)0;(6)-420;(7)0;5.a=4,b=6,表达式的值为6;6.11,9,11,107.2,03,-18.559.#includestdio.hvoidmain(){intx;printf(请输入x的值:);scanf(%d,&x);x%2?printf(奇数\n):printf(偶数\n);}10.#includestdio.hvoidmain(){charch;printf(请输入一个大写字母:);scanf(“%c”,&ch);ch=ch+32;printf(%c\n,ch);}练习四一、选择题12345678910ABADBDDAAB11121314151617181920CABDBACDBD21222324252627282930DBABADBBAD二、填空题(注:答案中的□代表空格)1;(分号)9202输出数据左对齐1012343可以使同一输出语句中的输出宽度得以改变11*3.140000,3.14*4x=1y=2*sum*=3122,48,20.0,20.05261133.66scanf(%d%f%f%c%c,&a,&b,&c1,&c2);14a=66,b=E7a=%d\nb=%d\n15A□□□B□□□回车6810,11三、编程题1.#includestdio.hmain(){inta;a=0x123;printf(“%d\n”,A.;}2.#includestdio.hmain(){inth,m,t=450;h=t/24;m=t%24;printf(450分钟换算成小时和分钟表示:%d小时,%d分钟\n,h,m);}3.#includestdio.hmain(){floatpi,r,h,c1,cs,cvz;printf(请输入圆的半径r和圆柱的高h:);scanf(%f,%f,&r,&h);pi=3.14159;c1=2*pi*r;cs=pi*r*r;cvz=pi*r*r*h;printf(圆的周长为:%6.2f\n,c1);printf(圆的面积为:%6.2f\n,cs);printf(圆柱的体积为:%6.2f\n,cvz);}4.#includestdio.hmain(){charch;printf(请输入一个字母:);scanf(%c,&ch);printf(字母%c对应的ASCII码为%d\n,ch,ch);}5.#includestdio.h7main(){intx,y;printf(请输入两个整数:);scanf(%d%d,&x,&y);printf(两数的商是%5.2f,两数的余数是%d\n,(double)x/y,x%y);}6.#includestdio.hmain(){floatf,c;printf(请输入华氏温度:);scanf(%f,&f);c=5.0/9.0*(f-32);printf(摄氏温度为:%f\n,C.;}7.#includestdio.hmain(){charch;printf(请输入一个大写字母:);scanf(%c,&ch);ch=ch+32;printf(小写字母为:%c\n,ch);}8.#includestdio.hmain(){intnum1,num2,num3;floataver;printf(请输入三个整数:);scanf(%d,%d,%d,&num1,&num2,&num3);aver=(num1+num2+num3)/3.0;printf(三个整数分别为:%d,%d,%d\n,num1,num2,num3);printf(平均值=%7.2f\n,aver);}9.#includestdio.hmain(){intx,y,t;printf(请输入两个整数:);8scanf(%d,%d,&x,&y);printf(交换前:x=%d,y=%d\n,x,y);t=x;x=y;y=t;printf(交换后:x=%d,y=%d\n,x,y);}10.#includestdio.hmain(){charch1,ch2;printf(请输入两个字符:);ch1=getchar();ch2=getchar();printf(用putchar函数输出结果为:);putchar(ch1);putchar(ch2);putchar('\n');printf(用printf函数输出结果为:);printf(%c,%c\n,ch1,ch2);}练习五一、选择题12345678910DCBBDACBDB11121314151617181920DCDCABBBAC21222324252627282930DBADDDABBA31323334353637383940CBBBDCAADC二、填空题1your$3.0yuan/xiaoshi11x110&&x=1002当a0,b=-1;当a=0,b=0;当a0,b=112x=5Thevalueofxisunknown.33635.413F4xy14输入两个数x,y,比较x+y和x*y哪个大。5x=2152,0,06x-1&&x=2162097a+bc&&b+ca&&a+cb175518-1180ab90,119mark/1010x:y2060~6960Error!三、编程题1.#includestdio.hmain(){intx;printf(请输入一个整数:);scanf(%d,&x);if(x%2==0)printf(%d是偶数!\n,x);elseprintf(%d是奇数!\n,x);}2.#includestdio.hmain(){inta,b,x,y;scanf(%d,%d,&a,&b);x=a*a+b*b;if(x100){y=x/100;printf(%d,y);}elseprintf(%d,x);}3.#includestdio.hmain(){10intx;floaty;scanf(%d,&x);if(x0)y=0;elseif(x0&&x=10)y=x;elsey=-0.5*x+20;printf(%f,y);}4.#includestdio.hmain(){inty=0,m=0,d=0,yt=0,mt=0,dt=0,age=0;printf(请输入生日日期:);scanf(%d%d%d,&y,&m,&d);printf(请输入今天日期:);scanf(%d%d%d,&yt,&mt,&dt);age=yt-y;if(mtm)age--;elseif(mt=m&&dtd)age--;printf(实际年龄:%d,age);}5.#includestdio.hmain(){charch;printf(请输入一个字符:);scanf(%c,&ch);if(ch='0'&&ch='9')printf(%c是数字!\n,ch);elseif(ch='A'&&ch='Z')printf(%c是大写字母!\n,ch);els
本文标题:C语言复习题答案
链接地址:https://www.777doc.com/doc-2907927 .html