资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
2005级信息学院C语言程序设计考试试题一、 判断下列语句或程序的对错。(“”表示错,“”表示对)(10分)1 float s=0,s1.1=0; ( )2 #define M=100 ( ) int aM;3 char *p=”c test” ”; ( )4 if(a=b)0)t=a; ( )5 char str120=” china”,str220; ( )str2=str1;6 int i,*p=&i; ( )7 float a100,*p; ( )p=a+1; 8 printf(“%dn”,(30,50,80); ( )9 int x,y; ( )y=20,x=y+a;10 int (*p)20,a20; ( )p=(int (*)20)a;二、 计算下列表达式的值(10分)设unsigned int a=7,b=17,c=5,d=3;float x=2.5,y=4.7; (1)x+a%3*(int)(x+y)%2/4 ( ) (2)!(a=b)|(bc) ( ) (3) (ab)+(cb)?+a:+b ( ) (5) a/2.0*b-c/3+d ( )三、程序改错,用标记指出错误,并在旁边将错误的地方进行修正(10分)(1) 求某班30个学生英语成绩的平局分#include main ()float a30,aver;int m;for(m=0;m30;m+) scanf(“%d”,a+m);aver=calculate(a,30);printf(“aver=%fn”,aver);calculate (float *p,int n) char x; int temp; for(x=0;x=n;x+) temp+=px; return temp/n;(2)找N个字符串中最大字符串#include #define N 5main() char stringN80,*p; char i; for(i=0;iN;i+) scanf(“%s”,&stringi); p=process(string,N); printf(Max string :=%sn”,p);process (char *p80,int n) int i; char *pmax; for(i=1;in;i+) if(pipmax) pmax=pi; return pmax;四 程序填空(10分) (1) 利用公式 sin x=x-设x=0.4时sin x的值# includemain() float x,sn,un; int i,j; x=0.4; un=_; sn=_; i=1; while(un=1e-5) un=_;sn=_;i+; printf(“x=%f,sinx=%fn”,x,sn); (2)以下itoa(int a,char *)是一个将整数转换为对应的数字串的函数,reverse(char*)是一个将字符串翻转函数,被itoa调用,main()函数是用来测试itoa函数的.#include#define LENGTH 6void reverse(char *);void itoa(int,char *);void main()int n;char sLENGTH;printf(“input a integer:n”);scanf(“%d”,&n);itoa(n,s);printf(“string:%s”,s);void itoa(int n,char *p) int i,sign; if(_) n= -n; do _; while(n/=10)0); if(sign0)_; pi=0;reverse(_);void reverse(char *) int i,j,k; for(i=0,j=strlen(p)-1;_;i+,j=j-1) k=pi; pi=pj; pj=k; 五, 写出结果(1)#include void main() int i,j,p,s; s=0; for(i=1;i=4;i+) p=1; for(j=1;j=i;j+) p=p*j; s=s+p; printf(s=%dn,s); (2) #include void mian() int i,j,a55; for(i=0;i5;i+) aii=1; ai0=1; for(i=2;i5;i+) for(j=1;j=i-1;j+) aij=ai-1j-1+ai-1j; for(i=0;i5;i+) for(j=0;j=i;j+) printf(%4d,aij); printf(n); (3) #include int d=1; void func(); void main(); func(); func(); func(); void func() static int a; register int b=0; int c=0; printf(a=%4dnb=%4dnc=%4dnd=%4dn,a+,b+,c+,d+); (4) #include struct Student char No10; char name20; char sex; int age; ; void main() struct Student stu3=10101,LI Lin,M,18,10102,Zhang fan,M,19,10104,Wang min,M,20; struct Student *p; int m; for(p=stu+1,m=0;mNo+3,p-name,p-age);(5)#include #include void main() char *name=“capital”,”index”,”large”,”small”; int a,b,n=4; char *temp; for(a=0;an-1;a+) for(b=a+1;bn;b+) if(strcmp(namea,nameb)0) temp=namea; namea=nameb; nameb=temp; for(a=2;an;a+) printf(“%sn”,namea+a);六 编写程序 (35分)1)(9分)售货价格随购货数量而异,买10个以上(含10,下同)为90折,买20个以上为85折,买30个以上为80折,买50个以上为6折,设商品的价格为65元,要求输入购买商品的个数后,打印出总货款。2)(9分)编写一个函数,求x=a1/2,其中求平方根的迭代公式为 xn+1=1/2(xn+a/xn),要求前后两次求出的差的绝对值小于10-6,编写的函数完成求平方根运算。主函数完成整数a的输入,调用所编函数,输出所求平方根;注意
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号