欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    华中科技大学级信息学院《C语言程序设计》考试试题及答案DOC.docx

    • 资源ID:13375866       资源大小:33.83KB        全文页数:58页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    华中科技大学级信息学院《C语言程序设计》考试试题及答案DOC.docx

    1、华中科技大学级信息学院C语言程序设计考试试题及答案DOC2003级信息学院C语言程序设计考试试题系 班级 姓名 学号 成绩 一. 判断下列语句或程序的对错。(“”表示错,“”表示对)(10分)1 int x=y=z=20; ( ) y,z需要在前定义2 define M 50; ( ) 不能有分号3 printf(“%t”,(40,50,60); ( )4 float a100,*p;p=a+; ( ) 数组名是地址常量,不能做+操作5 char str20;str20=0; ( ) str20单元不可用6 int data4=0,1,2,3,4; ( ) 0,1,2,3,4是5个元素,与da

    2、ta4不匹配7 int x=014; ( )8 int xyz.1=2; ( ) xyz.1不是合法的标识符(变量名)9 char *p=”c:testprg.c”; ( ) 修改为c:testprg.c10 int *p;*p=20; ( ) 指针不能用常量进行赋值二. 计算下列表达式的值 (10分) 设unsigned int a=15,b=21,c=5,d=1; float f; (1) f=b/c ( 4.0 ) b/c是整数除,先得到4,然后赋值给f (2) !(a+b)+c-1&b+c/2 ( 1 ) (3) ab+b&0x55+c3|015 ( 0x000f ) (4) d*=c

    3、-%b+ ( 5 ) (5) a%=(c%=2) ( 0 )三程序改错(10分) 1从键盘上输入三个字符串,然后按字典(从小到大)顺序进行输出 # include # include void swap(char *,char *); /函数声明需要分号结束 main() char a80,b80,c80;scanf(“%s%s%s”,&a,&b,&c); /去掉&号,数组名即表示地址 if(ab)swap(a,b); strcmp(a,b)0 a,b比较需要用字符串比较函数if(bc)swap(b,c); strcmp(b,c)0 b,c比较需要用字符串比较函数printf(“%sn%sn%

    4、sn”,a,b,c);void swap(char *pstr1,char *pstr2)char *p; /char p80;p=pstr1; /strcpy(p,pstr1);字符串赋值需要用拷贝函数pstr1=pstr2; /strcpy(pstr1,pstr2);pstr2=p; /strcpy(pstr2,p);(2)求某班30个学生数学成绩的最高分和平均分.# include flaot process(float *p1,int n,int *p2); 添加函数声明main() float a30,aver; int ; for(m=0;m30;m+) scanf(“%f”,&a

    5、m); max=process(a,30,&aver); printf(“max=%f,ave=%fn),max,aver);float process(float *p1,int n,int *p2)char x;int temp; /float temp 与函数返回类型匹配for(x=0;x=n;x+) /for(x=0;xtemp) temp=p1x; *p2+=p1x;p2=p2/n; /*p2=*p2/n;return temp;四.程序填空(1) 有一分数系列:2/1,3/2,/5/3,8/5,13/8,21/13求出这数列的前50项和# include main() int m;

    6、 float_ _; / t,s=0,a=2,b=1for(m=1;_ _;m+) /m=50 s=s+a/b; t=a; a=_a+b_; b=_t_; printf(“sum=%fn:,s);(2) 按如图所示格式打印杨辉三角形的前10行11 11 2 11 3 3 11 4 6 4 1main() int m,n,a1010;for(m=0;m10;m+) am0=1;_; amm=1;for(_m=2_;m10;m+) for(_n=1_;_nm_;n+) amn=am-1n-1+am-1n;for(m=0;m10;m+) for(n=0;_n=m_;n+) printf(“%6d”,

    7、amn); _printf(“%5d”,amn);五写输出结果(1) include void main() int m,n,p,s; s=0; for(m=1;m=4;m+) for(n=1;n=m;n+) p=1; for(n=1;n=m;n+) p=p*n; s=s+p; printf(“s=%dn”,s); S = 33; /1!+2!+3!+4!;(2) # include void auto_static();int g_val;main() int m; for(m=0;m5;m+) auto_static(); void auto_static() int au=0; stat

    8、ic int st=0; printf(“au=%d,st=%d,g_val=%dn”,au+,+st,g_val+); au=0,st=1,g_val=0au=0,st=2,g_val=1au=0,st=3,g_val=2au=0,st=4,g_val=3au=0,st=5,g_val=4 (3) # include main() int i,j,a3=2,4,6,1,2,3; int *p2=a0,a1; for(i=0;i2;i+) for(j=0;j3;j+) printf(“%3dt”,*(pi+j); printf(“n”); 2 4 61 2 3(4)# include # in

    9、clude struct person char name20; int count;void main() struct person leader3=“li”,0,“zhang”,0,“wang”,0; char name20,m,n; for(m=1;m7;m+) scanf(“%s”,name); for(n=0;n3;n+) if(!strcmp(name,leaderj.name) leaderj.count+; break; printf(“n”); for(m=0;m3;m+) printf(“%s:%dn”,leaderm.name,leaderm.count); 当程序运行

    10、时,键入情况如下:liwangleiliwangzhang写出程序的输出结果。基本上是书中例题8.3 p238-239li:2zhang:1wang:2 (5)include #define NULL 0void main() char *pp; char *name=“fortran”,”basic”,”pascal”,”; int m; pp=name; for(m=0;*pp!=NULL;m+,pp+) printf(“%sn”,*pp+m);fortranasicscal六.编写程序(35分)(1) 一个程序实现这样的功能:商店卖西瓜,10斤以上(包括10斤,以下同)的每斤0.8元,8

    11、斤以上10斤以下的每斤0.6元,8斤以下的每斤0.4元。输入西瓜的重量和顾客所付的金额,输出应付货款和应找钱数。(9分)#include void main() float weight,a,b,c; printf(请输入重量和所付金额:); scanf(%f%f,&weight,&a); if(weight8.0) b = weight*0.4; c = a - b; else if(weight10) b = 8*0.4+(weight-8)*0.6; c = a - b; else b = 8.0*0.4+2*0.6+(weight-10)*0.8; c = a - b; printf(

    12、应付货款:%f 应找钱数:%fn,b,c);(2) 编写一个函数,求两个在整数的最大公约数;主函数完成两个整数的输入,调用所编函数和输出所求的最大公约数。(9分)(3) 编写一个函数,删除给定字符串中的指定字符,如给定字符串“abcdfrc”,删除指定的字符c后,字符串变成“abdfr”;主函数完成给定字符串和指定字符的输入,调用所编函数,输出处理后的字符串。注意:不得使用全局变量,注意程序结构。(9分)(4) 编程处理某班30个学生4门课的成绩,它们是数学,物理,英语和计算机,按学号依次输入学生的学号,姓名,性别(用1表示男生,0表示女生)和4门课成绩。要求以清晰的格式从高分到低分的顺序打印

    13、平均分高于全班总平均分的男生的成绩单。(8分)要求:输入.输出,计算和排序分别用程序实现,主函数只是调用这些函数。不得使用全局变量,注意程序结构。#include #define NUM 5struct Student int number; char name20; int sex; float maths; float phys; float eng; float comp; float aver;Input(struct Student *stu) int i; for(i=0;iNUM;i+) printf(please enter name:); gets(stui.name); p

    14、rintf(please enter num sex maths phys english computer:); scanf(%d %d %f %f %f %f, &stui.number, &stui.sex, &stui.maths, &stui.phys, &stui.eng, &p); getchar(); Aver(struct Student *stu,float *total_aver) int i; float total=0; float sum=0; for(i=0;iNUM;i+) total = stui.maths+stui.phys+stui.eng+p; stu

    15、i.aver= total/4; sum += total; *total_aver = sum/(4*NUM);Sort(struct Student *stu) int i,j; struct Student temp; for(i=0;iNUM-1;i+) for(j=i+1;jstuj.aver) temp = stui; stui = stuj; stuj = temp; Output(struct Student *stu,float total_aver) int i; printf(total_aver:%fn,total_aver); printf(num name sex

    16、math phys english computer avern); for(i=0;i=total_aver) printf(%d %s %d %f %f %f %f %fn, stui.number, stui.name, stui.sex, stui.maths, stui.phys, stui.eng, p, stui.aver); void main() struct Student stuNUM; float total_aver; Input(stu); Aver(stu,&total_aver); Sort(stu); Output(stu,total_aver);2004级信

    17、息学院C语言设计考试试题一、判断下列语句或程序的对错。 10分 1 int x=y=z=0; () y,z没有定义2 #include ; () 不能有分号,#开头的结尾均不能有分号;3 printf(“%sn”,”c language”); ()4 float a100;int *p=a; () 数据类型不匹配5 char str20;6 int data4=0,1,2,3,4; ()五个元素,但是只有四个单元7 float x=1.45e+310L; ()数值越界8 int xyz-1=2; ()9 int x=xae ; () 10 int *p,a23 ;p=a ; () 数据类型不匹

    18、配二 计算下列表达式的值 10分设 unsigned int a=10,b=17,c=5,d=3;float f ; (1)f=b/c ( 3.0 ) (2)!(a+b)+c-1&b+c/2 ( 1 ) (3)(ab)+(c1+d) ( 0x1b ) (4)a+=b%=a=b ( 17 ) (5)a=2,b=a*+b ( 36 )三 程序改错 10分(1) 求两个浮点数的平方和及平方差#include float calculate (float x,float y,float *sub);添加函数原型声明main ()float a,b;float add_reasult, sub_resu

    19、lt;scanf (“%f,%f”,a,b);add_result=calculate(a,b,&sub_result);printf( “a*a+b*b=%d,a*a-b*b=%dn”,add_result,sub_result);float calculate (float x,float y,float *sub) 添加函数类型float *temp; 应该直接定义为变量float temp;sub=a*a-b*b ; *sub=a*a-b*b;temp = a*a+b*b;return *temp; return temp(2) 统计N 个字符中大写字母和数字字符的个数 #includ

    20、e #define N 5Count(char *str,int *result); 添加函数声明 main () char stringN80; char i; int Capital_Count=0,Num_Count=0;需要初始化为0 for(i=0;iN;i+)scanf( “%s”,&stringi) ; 去掉&符 for(I=0;IN;I+)Capital_Count+=Count(stringI,&Num_Count); Printf(“Capital count :=%d,numbercount=%dn”,Capital_Count,Num_Count) ;Count(cha

    21、r *str, int *result)int temp,I ; int temp=0,i; temp应该初始化为0for(I=0;I=A& strI0|strI9) *result+; return temp; 四 程序填空 10分(答案参考书中p8586)(1)利用公式 sin x=x-x/3!+x x=0.5,n=20 #includemain() float y,s,x,d,t;int n,I,j;scanf(“%d%f”,&n,&x);s=1.0;_;for(I=2;In;I+) d=t=_; for(j=1;_;j+) d=_; t=_; s=(-1)*s; y+=_;(2)利用库

    22、函数char *strstr(char *sl,char *s2)在给定字符串中查找子串最后(最右)一次出现的位置。如果S2并没有出现在S1的任何地方,函数返回一个NULL指针。如果第二个参数是一个空字符串,函数就返回S1;注:库函数char strstr(char*s1,char*s2),这个函数在S1中查找子字符 串S2第一次出现的起始位置,并返回一个指向该位置的指针。如果S2并没有出现在S1的任何地方,函数返回一个NULL指针。如果第二个参数是一个空字符串,函数返回S1;(答案见书中p196197)#include#includevoid main(void)char str80=”AB

    23、Cdabcdfgabc”;char *p;p=my_strrstr(str,”abc”);printf(“%s n”,p);p=my_strrstr(str,” “);printf(“%sn”,p);char *my_strrstr(char *s1,char*s2) char *last;char *current;_; if(_) last=current=_;While(_); last=current;current=_;return last;五写输出结果(20分) (1)#include void fun(int*,int);void main() int a=5,6,7,8,i;

    24、 fun(a,4); for(i=0;i4;i+) printf(%dn,ai);void fun(int *b,int n) int i; for(i=0;in;i+) bi=i*2; return; 0246(2)#includevoid main() int i,j,max; int row=0,column=0; int a33=1,2,3,2,-3,4,9,4,7; max=a00; for(i=0;i3;i+) for(j=0;jmax) max=aij; row=i+1; column=j+1; printf(max=%d,row=%d,column=%dn,max,row,co

    25、lumn);(书中例题5.5,p123)max=9,row=3,column=1(3)#include int n=1;void func();void main() static int x=5; int y; y=n; printf(main:x=%d,y=%d,n=%dn,x,y,n); func(); printf(main:x=%d,y=%d,n=%dn,x,y,n);void func() static int x=4; int y=10; x=x+2; n=n+2; y=y+n; printf(func:x=%d,y=%d,n=%dn,x,y,n);main:x=5,y=1,n=1func:x=6,y=13,n=3main:x=5,y=1,n=3 (4)#include #include struct person char name20; int count;


    注意事项

    本文(华中科技大学级信息学院《C语言程序设计》考试试题及答案DOC.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开