




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京航空航天大学自动化学院试卷(共7页)2004 2005学年 第 1 学期 班级: 学号: 姓名: .考试科目: C语言程序设计 (A卷) 成绩: 分说明:1、本试卷满分为100分。 2、闭卷考试,试卷不得拆开,不允许自带草稿纸。3、填空题与选择题答案直接写在试卷上,做在草稿纸上无效。一填空题: (每空1分,共10分)1、一个C程序是由若干函数构成的,其中必须有一个 函数。2、表达式1 +2/3 + 4%5 + (67) +(8, 9)的值是 。3、执行printf(“%d,%d”,(i=j,+i),(j=5,j+); 输出结果为 。4、判断变量c中是数字字符的逻辑表达式是 。5、设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c为char型变量,则表达式的结果类型为 。6、若有说明int x=10,y=20;,请写出printf(“%3xn”, (x%y, x-y, x+y)语句对应的输出结果是 。7、 设int j = 10; 执行j + = j*j; 后j的值是 。 8、设float (*pf) ( ), *qf( ); pf与qf的意义分别是 和 。 9、设宏定义 #define D(x) x/x 则引用D(2+3)后的值是 。二单项选择题 : (在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。每小题1分,共10分) 1.以下正确的 C语言标识符是:( ) (A) %x (B) a+b (C) a123 (D) test!2.下列运算符中优先级最低的是( ) (A) (B) ( )(C) (D) +=3.设int i=0,j=1,k=2,a=3,b=4,c=5;执行表达式(a=ij)&(b=jk)&(c=i,j,k)后,a,b,c的值分别是( ) (A) 1,1,5 (B) 1,0,2 (C) 3,4,5 (D) 1,1,04.设int a=1,b; 执行下列switch语句后,b获值为2的是( )(A) switch(a)(B)switch(a) case 1: b=1; case 1: b=1; break; case 2: b=2; case 2: b=2; break; default : b=3; default : b=3; break; (C)switch(a)(D)switch(a) case 1: b=1; case 1: b=1; break; case 2: b=2; break; case 2: b=2;default : b=3; default : b=3; 5. 下列程序段运行后,输出GOOD的行数是( )int i,j,k;for(i=1;i3;i+)for(j=1;j3;j+)for(k=i;kj;k+) printf(GOODn);(A) 27(B) 3(C) 1(D) 9 6. 二维数组正确的初始化是( )(A) char str3=“a ”,”1”;(B) char str3=abc,4;(C) char str3=“a”,”1”;(D) char str3=a,1,t; 7. 以下各判断是否为素数的函数中(是素数返回1,不是素数返回0),正确的是( )(A) (B)#include #include prime(int n) prime(int n) for(int i=2;i=sqrt(n);i+) for(int i=2;i=sqrt(n);i+)if(n%i=0) if(n%i=0)return 0; return 1; elseelsereturn 1; return 0;(C) (D)#include #include prime(int n) prime(int n)for(int i=2;i=sqrt(n);i+) for(int i=2;i=sqrt(n);i+)if(n%i=0) break;if(n%i=0)return 0; return 0 return 1; return 1;8、以下程序段( )int x=-1;dox=x*x;printf(%dn,x);while(!x);A是死循环B. 循环执行两次C. 循环执行一次D. 有语法错误9、对于函数,下列叙述中正确的是( )A. 在调用某函数前,必须对该函数作原型说明,否则一定出错。B. 调用函数时,实参变量和形参变量参数个数一般要相等,顺序要一致,类型要相同或相容。C. 调用函数时,形参变量名为 int a,主函数中的数组 int score10必须与形参变量同名。D. 函数必须有返回值,而且只能有一个返回值。10、下列程序运行结果是()。#include #define M 66void convert(int n)if(n/8)convert(n/8);printf(%d,n%8);void main()convert(M);printf(n);A. 102B. 201C. 0201D. 1000010 三写出程序运行结果:(每小题5分,共35分)1 #include void main()int a,b,c;a=b=c=5;a=+b + c+;printf(n%d,%d,%d,a,b,c);a=b+ + +c;printf(n%d,%d,%d,a,b,c);a=+b + c-;printf(n%d,%d,%d,a,b,c);printf(n);2 #include #define MAIN printf(MAIN:i=%d,a=%d,b=%d,c=%dn,i,a,b,c); #define OTHER printf(OTHER:i=%d,a=%d,b=%d,c=%dn,i,a,b,c); int i=10;void other()static int a=2,b;int c=10;a+=2;i+=32;c+=5;OTHERb=a;void main()static int a;register int b=-10;int c=0;MAINc+=8;other();MAINi+=10;other();printf(n);3 #include void test(int *x, int y)int t;t=*x;*x=y;y=t;void main()int a=10,b=20;void test(int *x, int y);printf(a=%d,b=%dn,a,b);test(&a, b);printf(a=%d,b=%dn,a,b);4 #include void main()int x=10,a=10,b=20,ok1=5,ok2=0;if(ab)if(b!=15)if(!ok1)x=1;else if(ok2)x=10;x=-1;printf(x=%dn,x);5#include void main()int i,j;for(i=j=2;j=10)break;if(i%2)i+=5;continue;i-=3;printf(j=%dn,j);6int a=1,2,3,4,5,6,7,8,9;#include void main()int i=0,t;for(;i9/2;i+)t=ai;ai=a8-i;a8-i=t*5;for(i=0;i9;i+)printf(%d ,ai);printf(n);7#include void main()static int a3=1,2,3,4,5,6;int i,*p=a2, (*q)3=a;for(i=0;i3;i+)printf(%2d,*p+);printf(n);printf(%2dn,*(*(q+i-1)+i-2);四.程序填空题(每空4分,共20分)1由键盘输入两个字符串a和b,并比较它们的大小。#include void main()char a40,b40;int i,x; for(i=0; ;i+)x=ai-bi;if(x0)printf(abn);else if(x0)printf(abn); elseprintf(a=bn);2一个班学生的学号和一门课的成绩为外部结构:struct stuinfint stid;/*学号*/int score;/*成绩*/下列程序是依成绩由高到低对STNUM(定义为30)个学生排序,而后输出结果。#include #define STNUM 30struct stuinfint stid;int score;stuSTNUM;void main()struct stuinf *pSTNUM, int i,j,k;for(i=0; ;i+)scanf(%d%d,&stui.stid,&stui.score);pi=&stui;for(i=0;i=STNUM-2;i+)k=i;for(j=i+1;jscore score) if(k!=i)ptemp=pi;pi=pk;pk=ptemp;for(i=0;istid,pi-score);printf(n);五编程题:(共25分) 1. 设数组a中有10个整型元素,求a中各相邻两个元素之和,将这些和存在数组b中,并由小到大排序。 2从键盘输入若干人员(不少于5人)的姓名和电话号码(8位),以字符#结束输入,用结构型数组存放这些信息,并将这些信息送到一个磁盘文件“file.txt”中保存。然后输入姓名,找出该人的电话号码。答案:一. 填空题: (每空1分,共10分)1. 主函数2. 143. 6,54. c=0&c=9 5. duoble6. 1e7. 1108. pf为指向函数的指针,qf为返回值为指针的函数。9. 6二选择题 : (每小题1分,共10分)1. C2.D3.D4.C5.C6.A7.D8.C9.B10.A三写出程序运行结果:(每小题5分,共35分)1. 11,6,613,7,715,8,6 2.i=10,a=0,b=-10,c=0i=42,a=4,b=0,c=15i=42,a=0,b=-10,c=8i=84,a=6,b=4,c=15 3.a=10,b=20a=20,b=204.x=-15.j=10 6.9 8 7 6 5 20 15 10 5 7.6 0 0 0四.程序填空题(每空4分,共20分)1.scanf(“%s%s”,a,b);ai = bi&ai!=0 2.*ptemp;STNUM-1k=j五编程题:(共25分)1.#include #include #define N 10void main()int i=0,j;double x,temp,yN;for(x=0.1;x=1;x+=0.1)yi=2*x+sin(x)-log(x);printf(%8.2fn,yi);i+;/由小到大排序。for(i=0; iN; i+)for(j=i; j yj)temp = yj; yj = yi; yi = temp; printf(nn);for(i=0; iN; i+)printf(%8.2fn,yi);printf(y的最大值%8.2fn ,y9); 2.#include #include #include #define SIZE 5struct telephonechar name8;char telno9;void main()FILE *fp;struct telephone sSIZE,*p;void search(struct telephone b,char * x);int i=0;char na8;for(p=s;pname); if(strcmp(p-name,#)=0)break;printf(输入电话号码:n); scanf(%s,p-telno);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 15617-2025微束分析电子探针显微分析硅酸盐矿物的定量分析
- 2025年福建省泉州市永春县永源城市建设有限公司招聘11人考前自测高频考点模拟试题及一套答案详解
- 2025年9月27日湖南省供销合作总社遴选业务水平测试面试真题及答案解析
- 2025年降台铣床项目发展计划
- 2025年脑病医院项目建议书
- 小学安全专项培训内容课件
- 2025广东中山市港口镇水务事务中心招聘勤杂工6人考前自测高频考点模拟试题及一套参考答案详解
- HO-PEG-NH-Fmoc-MW-3400-生命科学试剂-MCE
- H1L1A1B3-生命科学试剂-MCE
- Glycidyl-behenate-d5-生命科学试剂-MCE
- JT-T-1094-2016营运客车安全技术条件
- 村情要素模板
- MOOC 理性思维实训-华南师范大学 中国大学慕课答案
- 煤矿掘进知识课件
- 《陆上风电场工程设计概算编制规定及费用标准》(NB-T 31011-2019)
- 创业投资免责声明范本
- (高清版)TDT 1001-2012 地籍调查规程
- 办案审讯员培训课件模板
- 内部审计管理系统建设需求
- 员工绩效汇报
- 环卫所内勤工作事迹
评论
0/150
提交评论