版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2012级信息学院C语言程序设计试卷(闭卷)1、 判断下列语句或程序的对错。(“”表示错,“”表示对)(10分) /评分:每小题1分( 1) char ch=55; ( )( 2 ) unsigned int a=b=c=5; ( ) ( 3) int a=2,*p; p=&a; printf(”%d”, *&a); ( ) (4) int a55, (*p)5; ( ) p=&a00;(5) char a=a,c; ( ) c=a+;(6) int n; scanf(”%d”,&n); ( ) int an; (7) int a10,*p; ( ) p=a+2;(8) int a,b; (
2、) scanf(”%d,%f”,a,b);(9) float a=1,*b=&a,*c=&b; ( )(10) char str=”World”; ( ) printf(”%c”,*(str+2);二、计算下列表达式的值(10分) /评分:每小题2分 设 int x=3,y=-4,z=4; float k=3.5;(1) x+ - y+ +z ( 12 )(2) yz|z2&x+ ( 1 )(3) x|z&xz ( 7 )(4) x-y+!z-1&x+y/2 ( 1 )(5) y+(x/3*(int)(x+k)/2)%4 ( -1 )三、改错,根据题意改正下列程序的错误和漏掉的部分(10分)(
3、1)输入球体半径r,求其体积.#include “stdio.h”; #include “stdio.h” 0.5分define pi=3.; #define pi 3. 0.5分float volume(int r); float volume(float r); 1分void mian() void main() 0.5分 float r,v; scanf(“%d”, r); scanf(“%f”, &r); 0.5分 v= volume(r); printf(“%d”,v); printf(“%f”,v); 0.5分float volume(int r); float volume(fl
4、oat r) 0.5分 v=4/3*pi*r*r*r; v=4.0/3*pi*r*r*r; 1分 return v;(2)利用指针数组对字符数组中的5个姓名字符串排序,字符数组内容不变。.#include ; #include 0.5分 #include 0.5分 void main() char name520; char* p5; int i; int i,j; 0.5分 char temp20; char *temp; 0.5分 for(i=0;i=5;i+) for(i=0;i5;i+) 0.5分 gets(name+i); p=namei; pi=name+i; 或pi=namei
5、0.5分for(i=0;i5;i+) for(j=0;j5;j+) for(j=i+1;jpj) if(strcmp(pi,pj)0) 或if(strcmp(pi,pj)0) 0.5分 temp=pi;pi=pj;pj=pi;for(i=0;i5;i+) printf(“%c”,pi); printf(“%s”,pi); 1分4、 程序填空(10分) /评分:每空1分(1)给出年月日,计算出该日是该年的第几天。#includevoid main() intyear,month,day,days,i,d; printf(“请输入年,月,日:”); scanf(“%d%d%d”,&year,&mo
6、nth,&day); days=0; for(i=1; imonth ;i+) switch( i ) case1: case3:case5:case7:case8:case10:case12:d=31; break ; case4: case6: case9:case11: d=30;break; case2: if(year%4=0&year%100!=0|year%400=0) d=29; else d=28; break; days+=d ; printf(“%d年%d月%d日是该年的第%d天n”,year,month,day, days+day ); (2)将一个指字符串的正序和反序
7、进行连接,形成一个新串放在另一个字符数组 中。例如:当字符串为ABCD时,则新字符数组的内容应为ABCDDCBA。#include#include voidfun(char*s,char*t);void main() charS100,T100; printf(nPleaseenterstringS:); scanf(%s, S ); fun(S,T); printf(nTheresultis:%sn,T);voidfun(char*s,char*t) int i,d; d= strlen(s) ; for(i=0;id; i+ ) ti=si; for(i=0;id;i+) ti+d =sd
8、-1-i; ti+d =0 ; 五、写程序输出结果(25分) /评分:每小题5分,根据情况酌情扣分(1)#include int a = 1;void func()static int x=1;int y=2;x = x+1;a = a+2;y = y+a;printf(func: x=%d, y=%d, a=%dn, x, y, a);void main()static int x = 2;int y;y=a;printf(main: x=%d, y=%d, a=%dn, x, y, a);func();printf(main:x=%d,y=%d, a=%dn ,x, y ,a);func(
9、); int a ; a= x+y; printf(main:x=%d,y=%d, a=%dn ,x, y ,a);答案:main: x=2,y=1,a=1func: x=2,y=5,a=3main:x=2,y=1,a=3func:x=3,y=7,a=5main:x=2,y=1,a=3(2)#include stdio.h#define M 10void main( ) int aM+1=10,20,30,40,50,60,70,80,90,100; int i,n,*p,*q; n = 45; aM=n; for(p=a,i=0;i=M;i+) if(n=p; q-) *(q+1)=*q;
10、*p=n; for(p=a,i=0;iM+1;i+) printf(%d,pi); 答案:10,20,30,40,45,50,60,70,80,90,100,(3)#include #include void main()char ch;unsigned int i,j,bit,dit,n;long int a20; char *str = a123x456_789;for (i=0,j=0,a0=0,bit=1,dit=0; i=0&ch=9) aj*=bit; aj+=(ch-48); bit=10; dit=1;n=j; else if (dit=1) j+; aj=0 ; dit=0;
11、 bit=1; for (i=0;i=n;i+) printf(a%d=%d,i,*(a+i); 答案:a 0=123,a1=456,a2=789, (4)#includestruct Key char *keyword; int keyno;void main( ) struct Key kd3 = are,123,your,456, my, 789; struct Key *p; int a; char *str; p = kd;str = p-keyword; printf(str = %sn,str); a = p+-keyno; printf(a = %dn,a); a = p-ke
12、yno; printf(a = %dn,a); 答案:str=area=123a=456(5)#include #include struct person char name20; int count;void main() struct person leader3=liu,80,zhang,30,wang,100; char name20 = wang,m,n; for(n=0;n3;n+) if(!strcmp(name,) m = leadern.count; break; printf(count=%dn,m); for(n=0;n3;n+) printf(
13、%s:%dn,,leadern.count);答案:count =100liu:80zhang:30wang:1006、 编写程序(35分)(1)已知四位数a2b3能被23整除,编程求此四位数。(9分)#include /头文件及主函数框架1分void main() int a,b; /变量定义1分 int num; for(a=1;a=9;a+) /循环结构3分 for( b=0;b=9;b+) num = 1000*a+200+10*b+3; /数据合成2分 if(num%23=0) /整除条件1分 printf(“得到满足条件的四位数之一是:%dn”,num);
14、/输出1分(2)一球从100米高度自由落下,每次落地后反弹调回原高度的一半,再落下;求它在第10次落地时,共经过多少米?第10次反弹多高?(9分)#include /头文件及主函数框架1分void main( ) float sn=100.0; /变量定义1分 float hn=sn/2; int n; for( n=1;n10;n+) /循环语句2分 sn=sn+2*hn; /结合算法2分 hn=hn/2; /递推求求后项2分 printf(“第10次落地时共经过%f米.n”,sn); /输出1分 printf(“第10次反弹%f米.n”,hn);(3) 一个公司,有若干名员工,每名员工有姓
15、名,性别,工龄,工资等信息。编程输入并建立员工档案信息,并要求输出工龄大于10年,工资少于3000元的所有男员工信息。(输入和输出过程用不同函数实现)(9分) #include #define N 3 struct Employee char name20; char sex; int work_year; int wage; ; /结构定义1分 void input_data(struct Employee *person); void output_data(struct Employee *person); /函数声明1分 void main() /函数及函数调用3分 struct Em
16、ployee personN; input_data(person); output_data(person); void input_data(struct Employee *person) /函数定义2分 for(int i=0;iN;i+) printf(Name?); gets(); printf(SEX?); personi.sex=getchar(); printf(work_year?); scanf(%d,&personi.work_year); printf(wage?); scanf(%d,&personi.wage); getchar(); vo
17、id output_data(struct Employee *person)/函数定义2分 for(int i=0;i10&personi.wage3000) printf(%st%ct%dt%dn,,personi.sex,personi.work_year,personi.wage); (4)输入一行包含若干单词的字符串,单词之间用空格分开,要求按单词长短从小到大的次序排序后形成新的字符串输出。(假定字符串中单词个数不超过10个,字符串输入并形成单词序列,单词排序,形成新串并输出要求用不同的函数实现)(8分) #include #include #include
18、int input_str(char *str,char (*word_str)100); void sortstr(char (*word_str)100,int num); void output_str(char (*word_str)100,int num);/头文件函数声明1分 void main() /主函数及函数调用2分 char str100;/字符串 char word_str10100;/存放单词的二维数组 int num=input_str(str,word_str); sortstr(word_str,num); output_str(word_str,num); int input_str(char *str,char (*word_str)100)/输入及单词生成函
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏州医疗安全责任制度
- 药房消防责任制度
- 落实三责任制度
- 贯彻落实工作责任制度
- 路政环境保护责任制度
- 车间连带责任制度
- 运输企业岗位责任制度
- 道路生产责任制度
- 部门连带责任制度
- 酒店停车场责任制度
- 铝厂化验室制度规范标准
- 呼吸康复护理中的心理支持
- GB/T 2104-2025钢丝绳包装、标志及质量证明书的一般规定
- 三调保密协议书
- 2025版中华人民共和国传染病防治法培训考试题及答案
- 二极管的课件
- 光刻机科普介绍
- 2025年大学《数据警务技术-警务大数据基础》考试参考题库及答案解析
- 2026年安徽职业技术学院单招职业适应性测试题库及答案1套
- 华为交换机维护操作手册
- 中国抗癌协会脑胶质瘤整合诊疗指南2025版
评论
0/150
提交评论