资源描述:
《华中科技大学2011级信息学院C语言试卷及答案.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2011级信息学院《C语言程序设计》考试试题一、判断下列语句或程序的对错。(“×”表示错,“√”表示对)(10分)1int_Max_int=65535;(×)2#defineN018(×)inta=N;3printf(”%d”,(10>20?50:(60,70));(×)4int*p,a[10];(×)*p=a[0];5char*pstr,str[20];(×)pstr=str=”HUST”;6floatdata[4]={0};(√)7intx=‘101’;\将一个变量初始化(×)8while(3
2、)if(getchar()==‘0’)break;(√)9intx=(3>5);(√)10float*p[3],a[2][3];(×)p=a;二、计算下列表达式的值。(10分)设unsignedinta=13,b=11,c=4,d=3;floatf;1f=d/c*(b%c)(0.0)2(!(a+b))&&(b+c/2)(0)3(a&c)^(b
3、d)(15)4f=(d-c)/2(32767.0)5(++b,a=10,a+b)?a/b:0(0)三、改错,根据题意改正下列程序的错误和漏掉的部分。(10分)第
4、一题如下程序将从键盘输入的N个整数中找出最小值,其中main()函数中输入和输出,在find函数中查找。#include#defineN10intfind(int*p);voidmain(){inti;intstr[N][80];intstr[N]for(i=0;i5、find(intp)voidfind(int*p){inti,j;intmax;intmax=p[0];for(i=0;imax)if(p[i]floatfunc(floatx,floaty,floatz,float*add);main(){inta,b,c;floata,b,c;flaotadd2
6、_v,add3_v;floatadd2_v,add3_v;scanf(“%f,%f”,a,b);scanf(“%f,%f,%f”,&a,&b,&c);add3_v=func(a,b,add2_v);add3_v=func(a,b,c,&add2_v);printf(“add2_v=%f,add3_v=%f”,add2_v,add3_v);}func(intx,floaty,floatadd)floatfunc(floatx,floaty,floatz,float*add){float*temp;flo
7、attemp;sub=x*x+y*y+z*z;*add=x*x+y*y+z*z;*temp=x*x*x+y*y*y+z*z*z;temp=x*x*x+y*y*y+z*z*z;return*temp;returntemp;}四、程序填空。(10分)第一题编一程序实现一个最简单的计算器的功能,如输入3+5回车显示3+5=8;输错就退出(输入的不是加减乘除运算就算错)#include#includevoidmain(){floata,b,s;charop;while(1){
8、scanf("%f%c%f",&a,&op,&b);if((op!='+')&&(op!='-')&&(op!='*')&&(op!='/'))break;switch(op){case'+':printf("%f+%f=%f",a,b,a+b);break;case'-':printf("%f-%f=%f",a,b,a-b);break;case'*':printf("%f*%f=%f",a,b,a*b);break;case'/':if(fabs(b)<1e-6)printf("除法错");els
9、eprintf("%f/%f=%f",a,b,a/b);break;}}}第二题3579xxxx编程计算sin()xx,并使最后一项的绝对值小于1e-6为止,x从键盘输入。3!5!7!9!#include#includevoidmain(){inti;floatx,sum,a,b;chars;printf("pleaseinputx:");scanf("%f",&x);s=1;sum=0;a=x;b=1;for