《C语言》试卷_第1页
《C语言》试卷_第2页
《C语言》试卷_第3页
《C语言》试卷_第4页
《C语言》试卷_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、c语言程序设计期末试题a答案考生信息栏 经济 学院 计统 系 专业 2012 年级姓名 学号装 订 线一、单项选择题(每题2分,共60分) 注意:答案纸不能当草稿,请保持整洁!1b2b3d4d5a16a17b18b19a20b6b7d8b9a10a21d22d23c24c25a11c12c13c14b15c26a27d28a29d30c二、简答题 (13题,112题每题3分,第13题4分,共40分)1. x % 10 * 100 + x / 10 % 10 * 10 + x / 1002. 运行结果: 1, 3, 3 3. 运行结果: 6, 13 4. if ( ( i+1 ) % 4 = 0

2、 ) printf ( "n" );5. m = sizeof (a) / sizeof (int ) / 3 ; 运行结果: 1 5 0 6. 语句: c = *a ; * a = *b ; *b = c ; swap ( &x, &y );7. 运行结果: 5 14 28 8. 运行结果: bcdacdd 9. while ( *p+ = *s+ ); 运行结果: abc123, abc123 name (排序后)0pas1bas2for3tc10. printf ("%s", * p ); name的情况11. 功能: 查找 结果:

3、 adc 12. p->next=q->next ; q = p ; abec13. while ( p != null ) n+; p = p -> next ; c语言程序设计期末试题a答案 (共1页)c语言程序设计期末试题a答题纸考生信息栏 经济 学院 计统 系 专业 2012 年级姓名 学号装 订 线一、单项选择题(每题2分,共60分) 注意:答案纸不能当草稿,请保持整洁!1b2b3d4d5a16a17b18b19a20b6b7d8b9a10a21d22d23c24c25a11c12c13c14b15c26a27d28a29d30c二、简答题 (13题,112题每题3

4、分,第13题4分,共40分)1. x % 10 * 100 + + x / 1002. 运行结果: 3. 运行结果: 4. if ( ) printf ( );5. m = ; 运行结果: 6. 语句: ; ; ; swap ( , );7. 运行结果: 8. 运行结果: 9. while ( ); 运行结果: name (排序后)0pas1bas2for3tc10. printf ("%s", ); name的情况11. 功能: 结果: 12. ; ; 13. while ( ) n+; ; c语言程序设计期末试题a答题卷纸 第3页 (共3页)厦门大学c语言程序设计课程试

5、卷经济学院统计系2012级各专业主考教师:黄扬铭 试卷类型:(a卷)注意:答案填入答题纸中,答案纸不能当草稿,草稿可以写在试卷纸上。考完后试卷和答案纸都得上交。一、单项选择题 (30题,每题2分,共60分) 1. 下列叙述中错误的是:a) 计算机不能直接执行c语言源程序b) 计算机可以直接运行二进制文件c) 后缀为.exe的文件可以直接运行d) 后缀为.obj和.exe的文件都是二进制文件2. 若有定义:int x = 2, y = 4; float z = 5.5; 则表达式 (int) (z * x) % y + ( x+ y - 1.0 ) / 2; 的值是:a) 4.5 b) 5.5

6、c) 12.5 d) 13.53. 设t, x和y均为int 型变量,则不是把x和y按从小到大排列的语句是:a) if (x>y) x += y; y = x-y; x -= y;b) if (x>y) t=x; x=y; y=t;d) if (x>y) y += x; x = y-x; y -= x;d) if (y>x) y += x; x = y-x; y -= x; 4. 设已有定义 int a = 5, b = 6, c = 7, d = 8, m = 2, n = 2; 则逻辑表达式 ( m = b>a ) | ( n = c>d ) 运算后,m

7、, n的值为:a) 1, 0 b) 2, 1 c) 2, 2 d) 1, 2 5. 下面叙述中,不是结构化程序设计中的三种基本结构之一的是:a) 函数结构 b) 选择结构 c) 循环结构 d) 顺序结构6. 对于整型变量a,赋值语句 a= ( a%3 = 0 ? 1: 0 );不等价语句是:a) if (a%3 = 0) a=1; b) if (!(a%3) a=0; c) if (a%3!=0) a=0; d) a=!( a%3);else a=0; else a=1; else a=1;7. 关于c语言的函数叙述中,不正确的是:a) main函数可以位于其他自定义函数后面b) main函数

8、与其他自定义函数之间是平等的 c) 在一个函数内部不能定义其它函数d) main函数与其他自定义函数可以互相调用 8. 关于变量作用域与生存期的叙述中,不正确的是:a) 在函数内未指定的存储类型变量隐含为autob) 全局变量的作用域为所在程序的全部范围c) static变量的生存期为整个程序的运行期间d) 函数的形参都属于局部变量9. 若定义 int a 4 = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12;则值8的数组元素为:a) a13 b) a21 c) a24 d) a3210. 以下能正确定义数组的是: a) char str =48,49,50; b

9、) int a3=0,1,2,3; c) int a ="012" d) char str6="str"11. 若有定义:char str16 = "abcde",*str2 = "fedcba" 错误的语句是:a) strcpy(str2, str1); b) str1 = a-strcmp(str1, str2); c) str1=str2; d) str2= str1;12. 若有定义int a35, (*p)5, i, j;(其中0<i<3,0<j<5), 且p = a; 则对数组元

10、素aij 的引用错误是:a) *(*(a+i)+j) b) pij c) *(*(p+i)j) d) *(pi+j)13. 设有如下定义:typedef int *intp; 则错误的叙述是:a) 用intp 可以定义整型指针变量b) intp是整型指针类型的一个新名c) intp 是新增的数据类型d) intp q 与int *q 是等价的14. 设有如下语句: struct stu int num; int age; s3 = 101,18,102,21,103,19; struct stu *p = s; 则下面表达式的值与s1.num相同是:a) (p+)->num b) (*+

11、p).num c) (*p+).num d) *(+p)->num15. 设有定义 union data char d1; float d2; demo;,则下面叙述中错误的是:a) sizeof (demo) 的值与sizeof (demo.d2) 的值相同 b) &demo的值与 &demo.d2的值相同 c) sizeof (demo) 的值与sizeof (demo.d1) 的值相同 d) &demo的值与 &demo.d1的值相同l 以下 (16 30题) 为:阅读程序, 选择正确的输出的结果。16. main () char ch1,ch2;

12、ch1 = 'a' + '5' - '3' ch2 = 'a' + '6' - '3' /* 'a' 的ascii为 65 */printf ( " %d, %c n ", ch1, ch2 ); a) 67, d b) c, d c) c, 68 d) 67, 6817. main ( ) int a=1, b=2; while ( a<6 ) b += a; a += 2; b %= 10; printf (" %d, %d n ",

13、 a, b );a) 5,11 b) 7,1 c) 7,11 d) 6,118. void f ( int b ) int i = 0;while ( bi <= 10 ) bi += 2; i+; main ( ) int i, a = 1, 5, 10, 9, 13, 7 ;f ( a+1 );for ( i=0; i < 6; i+ ) printf ( " %d, ", ai );a) 2, 7, 12, 11, 13, 9, b) 1, 7, 12,11, 13, 7, c) 1, 7, 12, 11, 13, 9, d) 1, 7, 12, 9, 1

14、3, 7,19. main ( ) int a = 1, 2, 3, 4, 5, 0, i = 0, s;while ( s = ai+ ) switch ( s ) case 1: printf ( " %d ", s + 5 );case 2: printf ( " %d ", s + 4 ); break;case 3: printf ( " %d ", s + 3 );default: printf ( " %d ", s + 1); break;a) 6566456 b) 66656 c) 66666 d

15、) 666665620. int f ( int x, int y) return ( ( y - x ) * x); main ( ) int a = 3,b = 4, c = 5, d;d = f ( f (a, b), f (a, c) ); printf ( " %dn ", d );a) 10 b) 9 c) 8 d) 721. int d = 1;fun (int p) static int d = 5; d += p; printf ("%d ", d); return ( d ); main ( ) int a = 3; printf (

16、 "%d %d n", d, fun ( a + fun(d) ) ); a) 6 9 1 9 b) 6 15 15 15 c) 6 6 15 15 d) 6 15 1 1522. int b = 100, a = 200 fun ( int a ) a = a + 1; return b+; main ( ) int b = 5;b = fun ( b ) + a; printf ( "%d, %d n", fun ( b ) , b ); a) 207, 106 b) 101, 301 c) 100, 300 d) 101, 30023. void

17、sum ( int a ) a0 = a-2 + a2; main ( ) int a = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ; sum ( &a2 ); printf ( " %d n ", a2 );a) 8 b) 7 c) 6 d) 924. void fun ( int array3, int k ) int j; for ( j = 0; j<3; j+ ) arrayjk+; main ( ) int j, i = 2 , a33 = 0, 1, 3, 1, 0, 4, 2, 4, 5 ; fun ( a, i ); fo

18、r ( j=0; j<3; j+ ) printf ( " %2d ", aji ); a) 2 1 5 b) 3 5 6 c) 4 5 6 d) 1 2 325. void fun ( char *s ) while (*s) if (*s%2=0) printf ( "%c" ,*s);s+;main ( ) char a = "good" ; /* a 的ascii码值为97 */fun ( a ); printf ( "n" );a) d b) go c) ood d) good26. void f

19、( int *p, int *q ) p = p + 1; *q = *q + 1; main ( ) int m = 1, n = 2, *r = &m;f ( r, &n );printf ( " %d, %d ", m, n );a) 1,3 b) 2,3 c) 1,4 d) 1,227. main ( ) int *p, *q, a = 1, 2, 3, 4, 5, 6, 3, 2, 9, i, x = 0 ;p = &a0; q = &a8; for ( i = 0; i < 3; i+ ) if ( *( p+i ) = *

20、( q-i ) ) x += *( p + i ) * 2;printf ( " %d ", x ); a) 不确定 b) 5 c) 6 d) 10 28. main ( ) struct tt int x; struct tt *y; a4 = 20, a+1, 15, a+2, 30, a+3, 17, a , *p; p = a + 3; p = p -> y; printf ( " %dn ", p -> x ); a) 20 b) 15 c) 30 d) 1729. union myun struct int x, y, z; u;

21、 int k; a; main ( ) a.u.x = 4; a.u.y = 5; a.u.z = 6; a.k = 0;printf ( " %dn", a.u.x ); a) 4 b) 5 c) 6 d) 030. #include <stdio.h> void main ( ) enum weekday sun = 7, mon = 1, tue, wed, thu, fri, sat day; for ( day = sun; day >= sat; day- )printf ( "%3d ", day ); a) 7 6 5

22、4 3 2 1 b) sun sat c) 7 6 d) 7 1 2 3 4 5 6二、简答题 (13题,112题每题3分,第13题4分,共40分,答案填入答题纸中相应的位置!)1. 在以下程序的printf ( ) 中应填入适当表达式,使得输出结果为321。main ( ) int x = 123; ;printf ( " %d n ", x % 10 * 100 + + x / 100 );2. 给出以下程序运行结果main ( ) int a = 1, b = 2, c= 3, d = 0;if ( a = 1 && b+ = 2 ) if ( b !

23、= 2 | c-! =3 ) printf ( " %d, %d, %d n ", a, b, c); else printf ( " %d, %d, %d n ", a, b, c );else printf ( " %d , %d, %d n", a, b, c);3. 给出以下程序运行结果。main ( ) int sum = 0, i = 0;while ( i+ < 5 ) if ( i = 2 ) continue;sum += i;if ( sum = 5 ) break;printf ( "%d , %

24、d n", i, sum);4. 以下函数按每行4个输出数组中的数据,下划线应该填入的语句是: main ( ) int i , w = 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 ; for ( i = 0; i < 20; i+ ) printf ( " %4d ", wi ); if ( ) printf ( ); 5. 填入适当表达式,使得m能自动计算数组a的行数; 给出以下程序运行结果。main ( ) int a 2 = 1, 2, 3, 4, 5, 6, 7 , i, j

25、, m; m = /* 自动计算a的行数*/for ( i = 0; i< m; i+ ) printf ( " %3d", aii ); 6. 在下划线位置填上合适的语句或参数,使程序输出为:x = 5, y = 3 (即x和y 的内容对调)。c语言程序设计期末试题a 第7页 (共8页)void swap ( int *a, int *b ) int c; main ( ) int x = 3, y = 5;swap ( ); printf ( " x = %d, y = %d n", x, y);7. 给出以下程序运行结果。int b = 2;

26、int fun ( int *k ) b = * k + b; return (b); main ( ) int b=0, a10 = 1, 2, 3, 4, 5, 6, 7, 8, i;for ( i = 2; i < 5; i+ ) b = fun (&ai) + b; printf( "%3d", b); 8. 给出以下程序的输出结果。# include <string.h> main ( ) char s = "abcd", * str = s + 1;putchar ( (*str ) + ); putchar ( *

27、str + ); putchar ( + *str ); puts ( s );9. 函数scat ( ) 实现字符串连接的操作,写出循环条件; 给出以下程序的输出结果。char *fun (char * d, char *s ) char *p = d ;while ( *p) p +;while ( ); return (d ) ;main ( ) char s1 10 = "abc" , *s2 = "123" ;s2 = fun ( s1, s2 ) ;printf ( " %s, %s ", s1, s2) ;10. 以下程

28、序功能是对字符串按字典序进行排序,并输出排序后结果。 填入适当参数完成程序功能; 画出排序后数组name的情况。 # include <string.h> char sort (char *a , int n ) char * t; int i, j, k ;for ( i = 0; i < n-1; i+ ) for (k = i, j = i+1; j < n; j+ )if (strcmp (ak, aj)>0 ) k=j;t = ai; ai = ak; ak = t;main ( ) char * name = "pas","bas","for","tc"sort ( name, 4 ) ;for ( p

温馨提示

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

评论

0/150

提交评论