还剩21页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
练习
一一、选择题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.算法流程图如下5.#includestdio.hvoidmain{printf*********************************\n;printfThisisasimpleCprogram!\n;printf*********************************\n;}练习
二一、选择题12345678910BCBADADBDA11121314151617181920CDBDACDADB2122232425CBBAB
二、填空题1floatdouble6doubea=
5.6b=
5.6;2普通常量和符号常量7intx=327683字母、数字、下划线8‘a’4回车换行,回车不换行99905float、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时,其在内存中的存储形式为
11111111111101007.解输出结果为-32768,因为一个short型数据在内存中占用2个字节存储,所能表示的数值范围为-32768~32767,当x=32768时,超出了其能表示的范围,发生了溢出,数值32768的二进制编码的16位正好对应数值-
327688.解若有x为int型变量,则执行x=
3.14后,变量x的值为3,因为x为int型变量,不能存储实型数据,当把一个实型数据赋给x时,发生了数据类型转换,系统自动把实型数据的小数部分舍去
9.解两个程序的运行结果相同因为字符型数据以ASCII码存储,ASCII码是一串二进制编码,每个字符的ASCII码对应一个整数值因此,在一定范围内,整型数据和字符型数据是可以通用的字符’a’和’b’对应的ASCII编码值分别为
979810.解(注答案中的□代表空格)运行结果为aAbB□□□□cC□□□□□□abcA□□□□□□□BB练习
三一、选择题12345678910CDABCCDBDB11121314151617181920CCCDBCDDDA21222324252627282930CCCBADADAA31323334353637383940BBADBCCDCD
二、填空题(注答案中的□代表空格)
111112212135.513x=0x=1||x=-1x=
043.514-165115-6060162670171068,||,!1839019A100204
三、编程题1.
12.
524.5;2.如果一个表达式的值为“真”,则以1表示,如果值为“假”,则以0表示;当判断一个量的逻辑值时,系统将0判断为“假”,将非0判断为“真”3.10;21;31;40;514.130;210;345;40;50;
(6)-420;
(7)0;5.a=4b=6表达式的值为6;6.11911107.203,-18.59.#includestdio.hvoidmain{intx;printf请输入x的值;scanf%dx;x%2printf奇数\n:printf偶数\n;}10.#includestdio.hvoidmain{charch;printf请输入一个大写字母:;scanf“%c”ch;ch=ch+32;printf%c\nch;}练习
四一、选择题12345678910ABADBDDAAB11121314151617181920CABDBACDBD21222324252627282930DBABADBBAD
二、填空题(注答案中的□代表空格)1;(分号)9202输出数据左对齐1012343可以使同一输出语句中的输出宽度得以改变11*
3.
1400003.14*4x=1y=2*sum*=
31224820.
020.
05261133.66scanf%d%f%f%c%cabc1c2;14a=66b=E7a=%d\nb=%d\n15A□□□B□□□回车81011
三、编程题1.#includestdio.hmain{inta;a=0x123;printf“%d\n”A.;}2.#includestdio.hmain{inthmt=450;h=t/24;m=t%24;printf450分钟换算成小时和分钟表示%d小时%d分钟\nhm;}3.#includestdio.hmain{floatpirhc1cscvz;printf请输入圆的半径r和圆柱的高h:;scanf%f%frh;pi=
3.14159;c1=2*pi*r;cs=pi*r*r;cvz=pi*r*r*h;printf圆的周长为:%
6.2f\nc1;printf圆的面积为:%
6.2f\ncs;printf圆柱的体积为:%
6.2f\ncvz;}4.#includestdio.hmain{charch;printf请输入一个字母;scanf%cch;printf字母%c对应的ASCII码为%d\nchch;}5.#includestdio.hmain{intxy;printf请输入两个整数;scanf%d%dxy;printf两数的商是%
5.2f两数的余数是%d\ndoublex/yx%y;}6.#includestdio.hmain{floatfc;printf请输入华氏温度;scanf%ff;c=
5.0/
9.0*f-32;printf摄氏温度为%f\nC.;}7.#includestdio.hmain{charch;printf请输入一个大写字母;scanf%cch;ch=ch+32;printf小写字母为%c\nch;}8.#includestdio.hmain{intnum1num2num3;floataver;printf请输入三个整数:;scanf%d%d%dnum1num2num3;aver=num1+num2+num3/
3.0;printf三个整数分别为%d%d%d\nnum1num2num3;printf平均值=%
7.2f\naver;}9.#includestdio.hmain{intxyt;printf请输入两个整数:;scanf%d%dxy;printf交换前:x=%dy=%d\nxy;t=x;x=y;y=t;printf交换后:x=%dy=%d\nxy;}10.#includestdio.hmain{charch1ch2;printf请输入两个字符:;ch1=getchar;ch2=getchar;printf用putchar函数输出结果为;putcharch1;putcharch2;putchar\n;printf用printf函数输出结果为;printf%c%c\nch1ch2;}练习
五一、选择题12345678910DCBBDACBDB11121314151617181920DCDCABBBAC21222324252627282930DBADDDABBA31323334353637383940CBBBDCAADC
二、填空题1your$
3.0yuan/xiaoshi11 x110x=1002当a0,b=-1;当a=0,b=0;当a0,b=112x=5Thevalueofxisunknown.
33635.413F4xy14输入两个数xy,比较x+y和x*y哪个大5x=2152006x-1x=216207a+bcb+caa+cb175518 -1180ab90,119mark/1010 x:y2060~6960Error!
三、编程题1.#includestdio.hmain{intx;printf请输入一个整数;scanf%dx;ifx%2==0printf%d是偶数!\nx;elseprintf%d是奇数!\nx;}
2.#includestdio.hmain{intabxy;scanf%d%dab;x=a*a+b*b;ifx100{y=x/100;printf%dy;}elseprintf%dx;}
3.#includestdio.hmain{intx;floaty;scanf%dx;ifx0y=0;elseifx0x=10y=x;elsey=-
0.5*x+20;printf%fy;}
4.#includestdio.hmain{inty=0m=0d=0yt=0mt=0dt=0age=0;printf请输入生日日期;scanf%d%d%dymd;printf请输入今天日期;scanf%d%d%dytmtdt;age=yt-y;ifmtmage--;elseifmt=mdtdage--;printf实际年龄%dage;}
5.#includestdio.hmain{charch;printf请输入一个字符;scanf%cch;ifch=0ch=9printf%c是数字!\nch;elseifch=Ach=Zprintf%c是大写字母!\nch;elseifch=ach=zprintf%c是小写字母!\nch;elseprintf%c是其他字符!\nch;}6.#includestdio.hmain{intx;scanf%dx;ifx%3==0x%5==0x%7==0printf%d能被357整除!\nx;elseifx%3==0x%5==0printf%d能被35整除!\nx;elseifx%3==0x%7==0printf%d能被37整除!\nx;elseifx%5==0x%7==0printf%d能被57整除!\nx;elseifx%3==0printf%d能被3整除!\nx;elseifx%5==0printf%d能被5整除!\nx;elseifx%7==0printf%d能被7整除!\nx;elseprintf%d不能被357整除!\nx;}7.#includestdio.hmain{floatx;inty;printfx=;scanf%fx;switchx0{case1:y=-1;break;case0:switchx==0{case1:y=0;break;default:y=1;}}printfy=%dy;}8.#includestdio.h#includestdlib.hmain{floatdata1data2data3;charop;printf表达式:;scanf%f%c%fdata1opdata2;switchop{case+:data3=data1+data2;break;case-:data3=data1-data2;break;case*:data3=data1*data2;break;case/:ifdata2==0{printf除数为0!;exit1;}data3=data1/data2;break;}printf%
6.2f%c%
6.2f=%
6.2f\ndata1opdata2data3;}9.#includestdio.hmain{intscoretemp;chargrade;printf请输入分数:;scanf%dscore;temp=score/10;ifscore100||score0printf输入错误!\n;else{switchtemp{case10:case9:grade=A;break;case8:grade=B;break;case7:grade=C;break;case6:grade=D;break;default:grade=E;}printfscore=%dgrade=%c\nscoregrade;}}10.#includestdio.hmain{intab;charsymbol;printf请输入一个复数:;scanf%d%c%diasymbolb;printf复数为:%d%c%di\nasymbolb;ifsymbol==-symbol=+;elsesymbol=-;printf共轭复数为:%d%c%di\nasymbolb;}练习
六一、选择题12345678910CCBDBCCBCB11121314151617181920BAADCCCBBB21222324252627282930DBDACCDDDC31323334353637383940DCBAADCBAA
二、填空题(注答案中的□代表空格)1**11k=14n=-122*x+4*y==9012sum=343313****#4j%3!=014break525811141586sjhiu16m+=i7s=25417x=1y=2083618m=19319continue10sum%4==020a=16y=60
三、编程题
1.#includestdio.hmain{intisum=0;fori=1;i=50;i++ifi%7==0sum+=i;printf%dsum;}
2.#includestdio.hmain{intrmn;scanf%d%dmn;ifmn{r=m;m=n;n=r;}r=m%n;whiler{m=n;n=r;r=m%n;}printf%d\nn;}
3.#includestdio.hmain{intxi;scanf%dx;fori=1;i=x;i++ifx%i==0printf%3di;}
4.#includestdio.hmain{intit=1s=0;fori=1;i=101;i+=2{t=t*i;s=s+t;t=-t/i;}printf%d\ns;}
5.#includestdio.hmain{intij=0;fori=1;i=1000;i++{ifi%3==2i%5==3i%7==2{printf%4di;j=j+1;ifj%5==0printf\n;}}}
6.#includemath.h#includestdio.hmain{longi=1;doublepi=0;whilei*i=1e-6{pi=pi+
1.0/i*i;i++;}pi=sqrt
6.0*pi;printfpi=%
10.6f\npi;}
7.#includestdio.hmain{inti;fori=1;1100;i++ifi*i%10==iprintf%3di;elseifi*i%100==iprintf%3di;}
8.#includestdio.hmain{intday=0buy=2;floatsum=
0.0ave;do{sum+=
0.8*buy;day++;buy*=2;}whilebuy=100;ave=sum/day;printf%fave;}
9.#includestdio.hmain{intncountmaxt;count=0;max=0;scanf%dn;do{t=n%10;ift==0++count;elseifmaxtmax=t;n/=10;}whilen;printfcount=%dmax=%dcountmax;}10.#includestdio.h#includemath.hmain{intin;doublehsa=0b=
1.2;n=100;h=b-a/n;s=
0.5*sina*cosa+sinb*cosb;fori=1;i=n-1;i++s+=sina+i*h*cosa+i*h;s*=h;printfs=%
10.4f\ns;}练习
七一、选择题12345678910CDDBCCBBAB11121314151617181920DDCBCACCCB21222324252627282930AABDBCAABB31323334353637383940BBDDDCBCDC
二、填空题(注答案中的□代表空格)11511i=72按行主顺序存放12he
30、413134684doublea[M][M]={0};
14121234567850、615min=-2row=2col=16Dog16num[i]07917a[i]8Hello18b[i]=a[i]+a[i-1];91046824612219t*M1060020aabcd
三、编程题1.#includestdio.hvoidmain{floatscore
[10]avesum=0;inti;printf请输入十个学生的成绩\n;fori=0;i10;i++{scanf%fscore[i];sum=sum+score[i];}ave=sum/10;printf平均分为%
6.2f\nave;printf低于平均分的成绩是\n;fori=0;i10;i++ifscore[i]aveprintf%
6.2fscore[i];printf\n;}2.#defineM50#includestdio.hvoidmain{inta[M]c
[5]={0}in=0x;printfEnter0or1or2or3or4toendwith-1\n;scanf%dx;whilex!=-1{ifx=0x=4{a[n]=x;n++;}scanf%dx;}fori=0;in;i++c[a[i]]++;printfTheresultis:\n;fori=0;i=4;i++printf%d:%d\nic[i];printf\n;}3.#includestdio.hvoidmain{inta
[2]
[3]={{123}{456}};intb
[3]
[2]ij;printfThearrayais:\n;fori=0;i=1;i++{forj=0;j=2;j++{printf%5da[i][j];b[j][i]=a[i][j];}printf\n;}printfThearraybis:\n;fori=0;i=2;i++{forj=0;j=1;j++printf%5db[i][j];printf\n;}}4.#defineSIZE30#includestdio.hvoidmain{floatb[SIZE/5]sum;inta[SIZE]ijk;fork=2i=0;iSIZE;i++{a[i]=k;k+=2;}sum=
0.0;fork=0i=0;iSIZE;i++{sum+=a[i];j=i+1;ifi+1%5==0{b[k]=sum/5;sum=0;k++;}}printfTheresultis:\n;fori=0;iSIZE/5;i++printf%
7.2fb[i];printf\n;}5.#includestdio.hvoidmain{inta
[5]
[5]ijn=1;fori=0;i5;i++forj=0;j5;j++a[i][j]=n++;printfTheresultis:\n;fori=0;i5;i++{forj=0;j=i;j++printf%4da[i][j];printf\n;}}6.#includestdio.hvoidmain{inta
[5]
[5]ij;intsumxy;fori=0;i5;i++{forj=0;j5;j++{scanf%da[i][j];}}sum=a
[0]
[0];fori=0;i5;i++{forj=0;j5;j++{ifsuma[i][j]{sum=a[i][j];x=i;y=j;}}7.#includestdio.hvoidmain{inta
[10]b
[10]i;fori=0;i10;i++scanf%da[i];fori=1;i10;i++b[i]=a[i]/a[i-1];fori=1;i10;i++{printf%3db[i];ifi%3==0printf\n;}}8.#includestdio.hvoidmain{intij;inta
[10]
[10];printf\n;fori=0;i10;i++{a[i]
[0]=1;a[i][i]=1;}fori=2;i10;i++forj=1;ji;j++a[i][j]=a[i-1][j-1]+a[i-1][j];fori=0;i10;i++{forj=0;j=i;j++printf%5da[i][j];printf\n;}}9.#includestdio.hvoidmain{chara
[80]b
[80];inti=0j;printfInputtwostrings:\n;getsa;getsb;whilea[i++]!=\0;forj=0i--;j5b[j]!=\0;j++a[i++]=b[j];a[i]=\0;putsa;}10.#includestdio.h#includestring.hvoidmain{chara
[80]b[]=abmax;inti=1j;printfInputastring:\n;getsa;putsa;max=a
[0];whilea[i]!=\0{ifa[i]max{max=a[i];j=i;}i++;}fori=strlena+2;ij;i--a[i]=a[i-2];a[i+1]=a;a[i+2]=b;putsa;}。