北交大c语言期末试题 c语言06071考题_第1页
北交大c语言期末试题 c语言06071考题_第2页
北交大c语言期末试题 c语言06071考题_第3页
北交大c语言期末试题 c语言06071考题_第4页
北交大c语言期末试题 c语言06071考题_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、北 京 交 通 大 学20062007学年第一学期期末考试试题课程名称: C语言程序设计 出题教师:集体班级:_ 姓名:_ 学号:_题号一二三四总分得分阅卷人答题说明:要求所有解答均写在答题卡上,否则无效。一、填空题(每空1分,共20分)1. 数组名做函数实参时,它和对应形参之间数据传递方式是 。2. 自定义函数的形参放在内存的 存储区。3. 若有定义int a=3, b=6, c;则执行语句c = a / b ;后,c的值为 。4. 表示“x 10或y+z 6”的C表达式是_ 。5. 若输入字符A,在以下while语句执行后ch的值为 。while (ch = getchar ( )= =

2、A);6. 已知 int a =1,3,5,7,9, *p=a, *q; q=p+2; 则执行下列语句printf ( “%d”, *q+);后的输出结果为 。7. 已知int i=10;表达式 “11= i 0;的值为 。10. 在说明语句:int *f ( );中,标识符f代表的是 。11. 逗号表达式 “(a=3*5,a*2), a+10; ” 的值是 。12. 若定义数组int a =1,2,3,4,5,6;,则该数组元素aa2+1的值为 。13. 已知int i=1; 执行语句while (i+0) & (x4); x+, y- ) ;共执行的循环次数为_ _次。16. 程序设计常采

3、用模块化的思想,C语言中子模块通常用 来实现。17. 若希望产生16之间的随机数,则正确的C表达式为n =_ _。18. 若有以下定义:int a=20, *p=&a; 执行语句a=*p-10; 后a的值是 。19. 根据文件的存储形式,文件可分为二进制文件和 文件。20. 设有如下定义语句:FILE *fp;若要以只读方式打开一个二进制文件,则正确的语句应为fp = fopen (“file.dat”, “ ”);。二、阅读程序(每题5分,共30分)1. 下列程序运行的结果是: 。#include #define T 10#define MD 3*Tvoid main ( )int digi

4、t;long t=12 , s;s=30/MD;while (t 0) digit = t % 10;s = s + digit * digit;t = t / 10; printf (“%ld”, s);2. 若输入字符串“Amaze!”,则以下程序的输出结果是: 。#include void main ( ) char ch; while ( (ch = getchar ( ) )!= n ) if ( (ch=a & ch=A & ch=Z) ) ch-; if ( ch=64 | | ch=96 ) ch += 26; printf ( “%c”, ch );3. 下列程序运行的结果是

5、: 。#include void main ( )int a=1,b=0;do switch (a)case 1: b=0;case 2: b=-1; break;default : b=1;a=a+b;b=2*a;while (!b);printf ( “a=%d, b=%d”, a, b);4. 下列程序运行的结果是: 。#include int fun ( ) auto int x=1; static int y=1; x+=2; y+=2; return x+y;void main ( ) int a,b; a=fun ( ); b=fun ( ); printf(“%d,%dn”,

6、a,b);5. 下列程序运行的结果是: 。#include void p (int *x, int y) +*x; y-;void main ( ) int x=0,y=3;p (&x, y);printf ( “%d, %d”, x, y );6. 下列程序运行的结果是: 。#includevoid sum (int *a) a0 = a1;void main ( ) int aa5=1,2,3,4,5, i; for ( i=2; i=0; i-) sum (&aai); printf ( “%d n”, aa0);三、程序填空(每空2分,共20分)1. 以下程序的功能是从键盘输入一个整数

7、,判断该整数是否为素数。#include #include (1) int isprime(int a) int i; for ( i=2; i=sqrt (a); i+) if ( (2) ) return 0; return 1;void main ( ) int iNumber; printf (“请输入一个整数:”); scanf (“%d” , &iNumber); if ( (3) ) printf (“%d是素数” , iNumber); else printf (“%d不是素数” , iNumber);2. 以下程序的功能是将数组中的元素按反序存放并输出。#include vo

8、id invert (int *p, int n)int i, temp, *q;q= (4) ;for ( i=1; in/2; i+)temp=*p;*p=*q;*q=temp;p+; (5) ;void main ( )int a10=1,2,3,4,5,6,7,8,9,10;int *pa; (6) ;invert (pa,10);for( (7) )printf ( %3d, ai );3. 以下程序的功能是用利用折半查找法,在不超过100个数中查找指定的数据。 #include#define N 100void main()int n,aN,m,t,b,i,find,x; scan

9、f(%d,&n);printf(“请按从小到大的顺序输入数据:”);for ( i=0;in;i+) scanf(%d,&ai);printf(“请输入要查找的数值:”); scanf(%d, &x); t=0;b=n-1;find=0; do (8) ; if (am=x ) printf(找到了%3d,是 a%dn,x,m); find = 1; else if ( (9) ) b = m - 1; else t = m + 1; while( (10) ); if( find = 0 ) printf(“%3d 没有找到.n,x);四、编程题(每题10分,共30分)1. 输入n的值,输出如图所示高为n的等腰三角形(例如,下图为n=6时的等腰三角形)。* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *2. 求这样一个三位数,该三位数等于其每位数字的阶乘之和(通过调用自定义函数计算阶乘)。即:abc = a! + b! + c!3. 从键盘输入一行字符

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论