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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2003级信息学院《C语言程序设计》考试试题 系 班级 姓名 学号 成绩 一. 判断下列语句或程序的对错。(“×”表示错,“√”表示对)(10分) 1 int x=y=z=20; ( × ) y,z需要在前定义 2 #define M 50; ( × ) 不能有分号 3 printf(“%\t”,(40,50,60)); ( √ ) float a[100],*p; p=a++; ( × ) 数组名是地址常量,不能做++操作 char str[20]; str[20]=0; ( × ) str[20]单元不可用 int data[4]={0,1,2,3,4}; ( × ) 0,1,2,3,4是5个元素,与data[4]不匹配 int x=’\014’; ( √ ) int xyz.1=2; ( × ) xyz.1不是合法的标识符(变量名) char *p=”c:\test\prg.c”; ( × ) 修改为c:\\test\\prg.c 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-1b+c/2 ( 1 ) (3) a^b+b0x55+c3|015 ( 0x000f ) (4) d*=c--%b++ ( 5 ) (5) a%=(c%=2) ( 0 ) 三.程序改错(10分) 1从键盘上输入三个字符串,然后按字典(从小到大)顺序进行输出 # include stdio.h # includestring.h void swap(char *,char *); //函数声明需要分号结束 main() { char a[80],b[80],c[80];  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(“%s\n%s\n%s\n”,a,b,c); } void swap(char *pstr1,char *pstr2) { char *p; //char p[80]; p=pstr1; //strcpy(p,pstr1);字符串赋值需要用拷贝函数 pstr1=pstr2; //strcpy(pstr1,pstr2); pstr2=p; //strcpy(pstr2,p); } (2)求某班30个学生数学成绩的最高分和平均分. # include stdio.h flaot process(float *p1,int n,int *p2); 添加函数声明 main() { float a[30],aver; int ; for(m=0;m30;m++) scanf(“%f”,a[m]); max=process(a,30,aver); printf(“max=%f,ave=%f\n),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;xn;x++) 不能要等号 { if (p1[x]temp) temp=p1[x]; *p2+=p1[x]; }

文档评论(0)

飞扬的岁月 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档