1习题一基本数据类型、运算符及输入/输出专业班级:姓名:学号:1.字符串ab\045\\\x6\6在内存中占用的字节是()。A.6个B.7个C.8个D.13个2.VC++中,若定义doubleb,则变量b在内存中分配的字节数是()。A.1个B.2个C.4个D.8个3.下列()是C语言中的合法常量。A.08B.'\045'C.e1D.1.0e0.54.下面表达式中错误的是()。A.7%(-4)B.0%4C.7%-4D.7%4.05.在只有字符型数据的表达式运算中,其最后结果的类型是()。A.char型B.int型C.float型D.double型6.C语言的标识符必须以开头。7.hello,c!是常量,'\r'是常量。8.设有floata=2,则a+=a/=a*a的值为。9.有定义intr;表达式3.14*r*r的结果是类型。10.代数表达式|1-x3.6|的C语言算术表达式是。11.代数表达式xxee2的C语言算术表达式是。12.设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为。13.说明5,'5',5的区别,它们各占几个字节的存储空间,属于哪种常量,在内存中是如何存储的。14.编写程序,从键盘输入两个复数的实部和虚部,计算并显示这两个复数的和与差。215.输入连续4个数字字符,将它们拼成一个int类型的数值。如输入数字字符'7'、'8'、'9'、'0',应该得到一个整型数值7890。3习题二选择结构专业班级:姓名:学号:1.用C语言表达式表示:x=100且y、z都大于80,或者y=100且x、z都大于80。。2.用C语言表达式表示条件:-10≤y≤10。。3.以下程序的功能是:当a值为1时显示a值,否则如果b+1的值为3时显示b值。分析下面的程序,找出其中的错误并改正。#includestdio.hIntmain(){inta=5.2;b=3;ifa==1printf(a=%f\n,a);elseif(++b=3){b=b-1;printf(b=%d\n,b);}4.编程计算分段函数。(注意定义域之外的数据处理方式)5x+7-1≤x<0y=4x2+10x-10≤x<13x3+8x2-2x+11≤x<25.用整数1~12依次表示1~12月,由键盘输入一个月份,输出对应的季节英文名称(12~2月为冬季,3~5月为春季,6~8月为夏季,9~11月为秋季)。46.编写程序,由键盘输入3个整数分别表示小时、分钟、秒,要求显示下一秒的时间。如输入当前时间为23:59:59,则下一秒的时间为00:00:00。(要求验证输入的3个整数是有效的时、分、秒数据,如果输入数据无效,显示“wrongtime!”)。5习题三循环结构I专业班级:姓名:学号:1.设ch1为char类型变量,若由键盘上输入以下数据:right?回车则以下三个程序段的输出结果分别是①,②,③。①c=getchar();while(c!='?'){putchar(c);c=getchar();}②while((c=getchar())!='?')putchar(++c);③while(putchar(getchar())!='?');2.设x和y均为int类型变量,则以下for循环中的scanf语句最多可执行__________次。for(x=0,y=0;y!=123&&x3;x++)scanf(%d,&y);3.当遇到以下三种情况时,应该怎样编写for语句的控制行?(已设定循环变量为i)(1)从1计数到60。(2)从1开始,每次计数加8,直到变成三位数为止。(3)从200开始,反向计数,每次减去3,直到变成0为止。4.分析以下程序代码,如果程序运行时输入345,屏幕显示,当程序运行时输入82,屏幕显示,当程序运行时输入6,屏幕显示。因此,这段程序代码的作用是。printf(\nEnterapositiveinteger:);scanf(%d,&num);do{printf(%d,num%10);num/=10;}while(num0);5.编程计算数学常数e,......!31!21!111e直到累加项1/n!小于10-4为止。66.写程序,键盘输入一个正实数作为一个圆或一个球体的半径。要求提供以下文本菜单,运行程序时根据输入的选项进行相应的操作,重复文本菜单显示及相应操作,直到用户选择0为止。Chooseanoption:1computeanddisplaythecircleperimeter.2computeanddisplaythecirclearea.3computeanddisplaythespherearea4computeanddisplaythespherevolume0quitYourchoice?7习题四循环结构II专业班级:姓名:学号:1.执行下面的程序段后会显示几行星号?__________for(i=0;i10;i++)for(j=0;j5;j++)printf(“**********\n”);2.以下程序的功能是求出右框算式中的X、Y、Z的值,请填空。#includestdio.hmain{intx,y,z,k,result=532;for(x=1;x10;x++)for(y=1;y10;y++)for(z=_________;_________;z++){k=(_________)+(100*y+10*z+z);if(k==result)printf(X=%d,Y=%d,Z=%d\n,x,y,z);}}3.下面程序段的功能是计算1000!的末尾含有多少个零。请填空。(提示:只要算出1000!中含有因数5的个数即可。)for(m=0,n=5;n=1000;n+=5){t=n;while(__________){m++;t=t/5;}}4.编程找出500以内的所有素数。算式:XYZ+YZZ53285.由计算机随机生成一个整数,对其分解质因数。例如生成的随机数为120,屏幕显示120=2*2*2*3*5。9习题五数组专业班级:姓名:学号:1.判断以下代码是否正确,若有错则写出正确代码。程序代码正确否改错intn=10,score[n];intdata[];floatx[10];x={1.0,2.0,3.0};charname[5]=Hello;inta[10];for(i=0;i=10;i++)scanf(%d,a[i]);intx[2][]={{1},{2}};intx[][2]={{1,2,3},{4,5}};charstr1,str2=Smith;str1=str2;doubley[20];scanf(%lf,y);charname[20];gets(name[i]);2.从键盘上输入20个整数给数组a,编程完成以下功能(提示:注意本题要求只编写1个程序,完成2个要求)。(1)将数组a中的下标值为偶数的元素从小到大排列;下标值为奇数的元素值不变,排列之后输出数组a,要求按每行5列输出;(2)找出数组a中下标值为奇数(不含下标为偶数的元素)最大值和最小值以及它们所在的下标(有多个最大值或最小值时,只要求输出其中1个元素的下标)。103.大奖赛现场统分。已知某大奖赛有n个选手参赛,m(m2)个评委为参赛选手评分(最高100分,最低0分)。统分规则为:在每个选手的m个得分中,去掉1个最高分和1个最低分后,取平均分作为该选手的最后得分。要求编程实现根据n个选手的最后得分,从高到低输出选手的得分名次表,以确定获奖名单。11习题六函数专业班级:姓名:学号:1.根据给出的函数功能,将函数的空缺处填写完整。①函数的功能是计算12n212254343212nnn的结果。doublecalculate(){inti;doubleresult=0;for(i=1;i=n;i++)result=;returnresult;}②函数的功能是:采用选择排序法,将n个整数按照从小到大的顺序排序。voidselect_sort(){inti,j,index,temp;for(i=0;in-1;i++){index=I;for(j=i+1;jn;j++)if()index=j;if(index!=i){temp=value[index];value[index]=value[i];value[i]=temp;}}}2.编写1个求n!的函数和1个求xn的函数(n为正整数),并计算s=x+x2/2!+x3/3!+…+xn/n!(要求不能使用pow()函数)。123.在主函数中定义1个302的二维数组用来存放1个班级中30名学生的学号(1到30)及C语言考试成绩(设学号和考试成绩都是整型数据),要求通过键盘输入学号和成绩,并完成以下两个功能。(1)求出该班级C语言考试的平均成绩。(2)定义1个函数find(),用于通过学号来查询该学生的成绩,并将该学生的学号及成绩输出。在主函数中查询学号为20的学生的考试成绩。13阅读程序练习阅读程序,写出程序的运行结果6.main(){intx=2,y;switch(x){case1:y=x;break;case2:y=-x;case3:y=x*3;default:y=0;}printf(y=%d\n,y);}5.main(){inta=3,b=6,s;if(a=2)s=a++;else{if(ab)s=b;}if(b5)s=b+1;elses=0;s=1;printf(s=%d,s);}1.main(){inta,b,c;a=3;b=2;a+=2;b++;printf(%d,%d\n,a,b);c=a||(b=1);printf(%d,%d,%d,a,b,c);}2.main(){floatx=9.5,y;if(x2)y=x;if(2=x&&x10)y=2*x-1;if(x=10)y=3*x+10;printf(%f,%f\n,x,y);}3.main(){intx=6,y=5;if(xy){x=y;y=x;}else{x++;y++;}printf(%d,%d\n,x,y);}4.main(){inta=2,b=-1,c=2;if(ab)if(b0)c=0;elsec+=1;printf(%d\n,c);}7.main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf(a=%d,b=%d\n,a,b);}8.main(){inta=1,b=1,x=3,y=5;if(x0)a=a+1;if(xy)b=b+1;elseif(x==y)b=5;elseb=2*x;printf(a=%d,b=%d\n,a,b);}1412.main(){chara=65;do{printf(%c,a);a++;}while(a=68);}10.main(){inta=1,s=0;while(a=10){s+=a;a++;}printf(a=%d,s=%d,a,s);}15.main(){inti;for(i=1;i=5;i++)switch(i%5){case0:printf(/);break;case3:printf(*);break;case1:printf(+);break;case2:printf(-);default:printf(\n);}}11.main(){inti,j,k;for(i=0;i=3;i++){for(j=0;j=2-i;j++)printf(#);for(k=0;k=2*i;k++)printf(*);printf(\n);}}14.main(){inti,j,k=0;for(i=1;i6;i+=2);for(j=1;j=3;j++);k++;printf(%d,k);}13.#defineA10main(){inti=0,sum=0;do{if(i==(i/2)*2)continue;s