收藏 分销(赏)

《C语言》模拟试卷(12级).doc

上传人:二*** 文档编号:4576697 上传时间:2024-09-30 格式:DOC 页数:12 大小:261KB 下载积分:5 金币
下载 相关 举报
《C语言》模拟试卷(12级).doc_第1页
第1页 / 共12页
本文档共12页,全文阅读请下载到手机保存,查看更方便
资源描述
《C语言程序设计》试题A答案 考      生      信      息      栏 经济 学院 计统 系 专业 2010 年级    姓名______ 学号_______________ 装 订 线 ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 一、单项选择题(每题2分,共60分) 注意:答案纸不能当草稿,请保持整洁! 1 B 2 B 3 A 4 B 5 D 16 D 17 B 18 B 19 D 20 C 6 C 7 C 8 D 9 B 10 C 21 B 22 D 23 A 24 D 25 C 11 A 12 B 13 B 14 B 15 A 26 B 27 B 28 B 29 C 30 C 二、简答题 (13题,1~12题每题3分,第13题4分,共40分) 1. 三种基本结构: 顺序、选择、 循环 2.① y 能被4 整除, 但不能被100整除; 或 y 能被 400 整除。 ② 2008  是闰年  1997  不是闰年  3. 输入的数据为: 任意负奇数  4. ① 作用: 原型说明 ② 输入: 3#8 5. ① 语句: t=*a ; *a=*b ; *b=t ; ② swap (&x , &y ); 6. ① 当某趟已排好序时,控制排序结束,不必执行后面趟数 A B C D E F G \0 \0 ② 参数: sort ( d , 5 ); 7. ① printf ( " %3c", a[j][i] ) ② a的内容à 8. ① 条件:s < p ② 运行结果: H, ! A B C \0 5 \0 9. ① 运行结果: ABC ② 10.① m= sizeof (ss) / sizeof ( char * ); ② printf ("%s", * p ); 11.p0 = (struct node*) malloc (sizeof (struct node )) ; p0->data=1003 ; p0->next = NULL; 12. ① printf (" %6d ", p -> data ) ② p = p -> next; 13. 运行结果: 101 102 104 13. ① 参数:puts (name[i] ) ② name的情况: 厦门大学答题卷纸 考      生      信      息      栏 ______学院______系______ 专业 ______年级    姓名______ 学号____________ 装 订 线 ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 题号 分数 一 二 三 四 五 六 七 八 九 十 十一 十二 十三 十四 十五 总分 阅卷人 考试课程:_________ 考试地点:_________ 考试时间:_________ 试卷(请打√):A卷( )B卷( )  注意事项 1. 学生的学院、系别、专业、年级、姓名、学号必须写在考生信息栏内指定的位置。 2. 学生在考试之前必须填写考试课程名称、考试时间和地点、A/B卷。 3. 所有的答案必须写在答卷纸上,做在草稿纸或试卷纸上无效。 4. 字迹要清楚,保持卷面清洁。试卷、草稿纸随答卷纸一起交回。 自强不息止于至善 遵章守纪考试诚信承诺书 在我填写考生信息之后,表示我已阅读和理解《厦门大学考场纪律及违纪处分办法》[厦大教(2003)32号]有关规定,承诺在考试中自觉遵守该规定,如有违反将接受处理;我保证在本科目考试中,本人所提供的个人信息是真实、准确的。 《C语言程序设计》试题A答题纸 考      生      信      息      栏 经济 学院 计统 系 专业 2010 年级    姓名______ 学号_______________ 装 订 线 ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 一、单项选择题(每题2分,共60分) 注意:答案纸不能当草稿,请保持整洁! 1 2 3 4 5 16 17 18 19 20 7 8 9 10 21 22 23 24 25 11 12 13 14 15 26 27 28 29 30 二、简答题 (13题,1~12题每题3分,第13题4分,共40分) 1. 三种基本结构: 2.① ② 2008  , 1997    。 3. 输入的数据为:           4. ① 作用:        ② 输入: 5. ① 语句: ; ; ; ② swap ( , ); 6. ① ② 参数: sort ( , ); 7. ① printf (" %3c", ) ② a的内容à 8. ① 条件: ② 运行结果: 9. ① 运行结果: ② 10.① m= ; ② printf ("%s", ); 11.p0 = ; ; ; 12. ① printf (" %6d ", ) ② ; 13. 运行结果:             厦门大学《C语言程序设计》课程试卷 经济学院计划统计系2012级各专业 主考教师: 试卷类型:(A卷) 注意:答案填入答题纸中,答案纸不能当草稿,草稿可以写在试卷纸上。考完后试卷和答案纸都得交上。 一、单项选择题 (30题,每题2分,共60分) 1. 下列叙述中错误的是: A) C语言源程序是文本文件 B) 目标程序不是二进制文件 C) 目标程序不是文本文件 D) 可执行程序是二进制文件 2. 表达式 (int) ((double) (5/2)+2.5) 的值是: A) 4.5 B) 4 C) 5 D) 5.0 3. 设x和y均为int 型变量,则以下语句:x += y; y = x-y; x -= y; 的功能是: A) 交换x和y中的值 B) 把x和y按从小到大排列 C) x和y中的值不变 D) 把x 和y按从大到小排列 4. 若已定义 int a = 3, b = 3, x =1, y = 2; 表达式 ( a= y>x) && ( x= b>a) 的值是: A) 6 B) 1 C) 9 D) 0 5. 以下叙述中错误的是 A) C语言是一种结构化程序设计语言 B) 结构化程序有顺序、分支、循环三种基本结构组成 C) 结构化程序设计提倡模块化的设计方法 D) 使用三种基本结构构成的程序只能解决简单问题 6. 使以下程序中t的输出结果为3,则输入a和b应满足的条件是: main () { int s = 1, t = 1, a, b; scanf (" %d %d ", &a, &b ); if ( a > 0 ) s += 1; if ( a>b ) t = s + t; else if ( a= =b ) t = 5; else t = 2 * s; printf ( "%d \n ", t ); } A) a>0并且a<b B) a<0并且a<b C) a>0并且a>b D) a<0并且a>b 7. 以下叙述中正确的是: A) C程序的基本组成单位是语句 B) C程序中的每一行只能写一条语句 C) 简单C语句必须以分号结束 D) C语句必须在一行内写完 8. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是: A) 函数调用可以作为独立的语句存在 B) 函数调用可以作为一个函数的实参 C) 函数调用可以出现在表达式中 D) 函数调用可以作为一个函数的形参 9. 若定义int a[ ][3] = { 1, 2, 3, 4, 5, 6, 7 };则a数组中行的大小是: A) 2 B) 3 C) 4 D) 无确定值 10. 若有定义语句:char s[ ] = "123450\0\0" ; ,则sizeof (s) 的值是: A) 7 B) 8 C) 9 D) 10 11. 运行以下程序段:char a[5]="work"; char *p=a; 则表达式 *(p++) 的值为: A) 'w' B) 存放 'w' 的地址 C) 'o' D) 存放 'o' 的地址 12. 若有定义int a[3][5],i,j;(且0<i<3,0<j<5), 则a[i][j] 对应的地址不正确表示是: A) *a+i*5+j B) (*(a+i))[j] C) *(a+i)+j D) a[i]+j 13. 设有以下语句:typedef struct S { int g; char h; } T;则下面叙述中正确的是: A) 可用S定义结构体变量 B) 可以用 T 定义结构体变量 C) S是 struct 类型的变量 D) T 是struct S 类型的变量 14. 设有定义:struct complex { int real, unreal; } data1={1,8}, data2; 则以下赋值语句中错误的是: A) data2=data1; B) data2=(2,6); C) data2.real=data1.real; D) data2.real=data1.unreal; 15. 对枚举类型的定义错误的是: A) enum b{1, 2, 3}; B) enum a{A, B, C}; C) enum c{D=3, E, F}; D) enum d{X=0, Y=5, Z=9}; l 以下 (16 ~ 30题) 为:阅读程序, 选择正确的输出的结果。 16. main () { int a=65; char c='A'; /* 'A' 的ASCII为 65 */ printf("%d+%c=%d\n" ,a, c, a+c); } A) A+A=AA B) 65+A=65A C) 65+65=130 D) 65+A=130 17. main( ) { int sum = 0, item = 0; while (item++ < 5) { if (item == 2) continue; sum += item; } printf("%d\n",sum); } A) 10 B) 13 C) 15 D) 1 18. main ( ) { int i, j; for ( i = 1; i <= 3; i++ ) { for ( j = 2; j >=1; j--) printf ( " %3d ", i * j ); printf ( " \n" ); } } A) 3 6 B) 2 1 C) 1 2 3 D) 6 4 2 2 4 4 2 2 4 6 3 2 1 1 2 6 3 19. void f (int x, int y) { int t; if (x <y ) { t = x; x = y; y = t; } } main ( ) { int a = 4, b = 3, c = 5; f ( a, b ); f ( a, c ); f ( b, c ); printf ( " %d, %d, %d \n ", a, b, c); } A) 3, 4, 5 B) 5, 3, 4 C) 5, 4, 3 D) 4, 3, 5 20. int fun1( ) { static int m=0; return m++; } int fun2( ) { int m=0; return m++; } main( ) { int i; for ( i=1; i<=4; i++) fun1( ); for ( i=1; i<=4; i++) fun2( ); printf ("%d %d", fun1( ), fun2( )); } A) 0 ,0 B) 4, 4 C) 4 ,0 D) 5,1 21.  int a, b; void fun() { a=100; b=200; } main() { int a=5, b=7; fun( ); printf ( "%d %d \n", a, b); } A) 100 200 B) 5 7 C) 200 100 D) 7,5 22. void fun(int a[ ]) { a[0]=a[1];} main() { int a[10]={10, 9, 8, 7, 6, 5, 4, 3, 2, 1}, i; for ( i=2; i>=0; i--) fun (&a[i]); for ( i=0; i<10; i++) printf ("%d ", a[i]); printf ("\n"); } A) 9 8 7 7 6 5 4 3 2 1 B) 10 9 8 7 6 5 4 3 2 1 C) 10 9 7 6 5 5 4 3 2 1 D) 7 7 7 7 6 5 4 3 2 1 23. void fun (int array[ ][3], int k) { int j; for ( j=0; j<3; j++ ) array[k][j]++; } main( ) { int j, a[ ][3] = {1,2,3,4,5,6,7,8}; fun(a,1); for( j=0; j<3; j++) printf ( "%2d", a[1][j] ); } A) 5 6 7 B) 3 6 9 C) 2 3 4 D) 2 5 8 24. main ( ) { int a[ ] = {2, 4, 6, 8, 10 }, y = 0, x, *p; p=&a[2]; fo r (x = 1; x<3; x++) y += p[x]; printf ( "% d \n ", y ); } A) 6 B) 10 C) 14 D) 18 25. main ( ) { char str[] = "xyz", *ps = str; while ( *ps ) ps++; for ( ps--; ps-str >=0; ps-- ) puts ( ps ); } A) yz<回车>xyz B) z<回车>yz C) z<回车>yz<回车>xyz D) x<回车>xy<回车>xyz 26. main( ) { char *a[] = {"1357", "24", "68", "123" }; int i; for ( i=0; i<4; i++) printf ( "%c", *a[i]+1 ); } A) 1261 B) 2372 C) 3482 D) 3574823 27. main() { int a[] ={1, 2, 3, 4, 5, 6}, *k[3], i=0; while (i<3) { k[i] = &a[2*i]; printf ("%d", *k[i++] ); } } A) 2 4 6 B) 1 3 5 C) 0 2 4 D) 4 5 6 28. struct ord { int x, y; } dt[2]={1,2,3,4}; main() { struct ord *p = dt; printf ( "%d,", ++p->x); printf ( "%d\n", ++p->y ); } A) 1,2 B) 2,3 C) 3,4 D) 4,1 29. typedef struct { int num; double s } REC; void fun1( REC x ) { x.num=34; x.s=88.5; } void fun2( REC * x ) { x->num=56; x->s=53.5; } main() { REC a={12, 90.0 }; fun1(a); printf ( "%d, ", a.num ); fun2(&a); printf ( "%d\n ", a.num ); } A) 34, 56 B) 12, 12 C) 12, 56 D) 34, 34 30. # include <stdlib.h> struct NODE { int num; struct NODE *next; } main ( ) { struct NODE *p, q, r; p = ( struct NODE *) malloc (sizeof (struct NODE) ); p->num = 10; q.num = 20; r.num = 30; p->next = &q ; q.next =&r; printf ( " %d \n ", p->num + p->next->num); } A) 10 B) 20 C) 30 D) 40 二、简答题 (13题,1~12题每题3分,第13题4分,共40分,答案填入答题纸中相应的位置!) 1. C语言中用于结构化程序设计的三种基本结构是什么? 2. 判断某一年是闰年年的逻辑表达式为:(y%4==0 && y%100!=0)|| y%400 == 0 其中y 是表示年的整型变量(如:1980) ① 用自然语言解释闰年的条件。 ② 判断2008和1997 是否闰年。 3. 有以下程序段: int n, t = 1, s = 0; scanf ( "%d", &n ); do { s = s+t;  t = t-2;  } while (t != n); 为使此程序段不陷入死循环,从键盘输入的数据应该是: 4. ① 下面程序中第一行int add ( int, int ) 的作用是什么? ② 要使程序运行结果为:x = 3,y = 5,z = 8 则应该从键盘输入什么? int add ( int, int ); /* ①该句作用 */ main ( ) { int x, y, z ; scanf (" %d # %d ", &x, &y );  /* ② 从键盘输入什么 */ z = add ( x , y ); printf ( "x = %d, y = %d, z = %d", x, y, z ); } int add ( int a , int b ) { return ( a + b ); } 5. 下面为实现变量x与y内容交换程序。① 填入实现交换的语句;② 给出调用swap( ) 的实参。 # include <stdio.h> void swap (int *a , int *b ) { int t; t= ; ; ; } /* ① 填入实现交换的语句 */ main ( ) { int x =10, y = 20;; swap ( , ) ; /* ② 填入实参 */ printf ("x = %d, y = %d\n", x, y); } 6. 以下是冒泡排序法程序。① 说明change的作用;② 填入实参对d中所有数据进行正确排序。 void sort( int a[ ], int num ) { int change = 1, t, i, j; for ( i = num-1; i>0 && change; i--)  /*change的作用*/ { change=0; for ( j = 0; j < i; j++) if ( a[j] > a[j+1] ) { t = a[j]; a[j] = a[j+1]; a[j+1] = t; change = 1;} } } main ( ) { int i, d[ ] = { 5, 1, 3, 2, 4 }; sort ( , ); for (i = 0; i < 5; i++ ) printf ( " %d ", d[i] ); A D G B E C F } 7. ① 在 printf ( ) 中填入正确的参数,使得以下程序运行结果为: ② 给出以下程序初始化后a的内容(所有元素的内容都得填上)。 main ( ) { char a[ ][3] = {'A', 'B', 'C', 'D', 'E', 'F' , 'G'};  /* ② a的内容 */ int i, j; for ( i = 0; i< 3; i++ ) { for ( j = 0; j < 3; j++ ) printf ( " %3c", ); /*① 填入正确的参数 */ printf ( "\n" ); } } 8. 以下是实现字符串反转的程序(如把 “HELLO!” 变成 “!OLLEH”)。回答下面问题: ① 写出循环条件, 实现字符串反转程序的功能两个字符? ② 给出程序运行结果。 main() { char str[ ] = "HELLO!" , *s=str, *p =s , c ; while ( *p) p ++; p -- ; printf ( "%c, %c", *s, *p ) ; while ( ) /* ① 写出循环条件 */ { c = *s; *s++ = *p; *p-- = c; } } 9. ① 给出以下程序运行结果 ② 运行后数组s2中的每个元素的内容。  # include <stdio.h> void fun( char * p, char q [ ] ) { int i = 0; while ( p[i] =q[i] ) i++; } main ( ) { char * s1 = "ABC", s2 []= "12345"; fun ( s2 , s1); puts(s2); } 10. 利用以下程序中已经定义的变量和数组, 根据要求完成程序: ① 填入适当表达式,使得m能自动计算字符串个数; ② 在 printf( ) 中填入正确的参数,使得程序输出字符串数组中的所有字符串。 main () { char * ss [ ] = { "cat", "dog", "bird", … , "mouse" }, ** p ; int m ; m = ; /* ① 自动计算字符串个数 */ for ( p = ss; p < ss+m; p++ ) printf ("%s ", ); /* 填入正确的参数 */ } 1003 NULL P0 11. 设有一链表的结点结构及有关指针变量定义如下: struct node { int data; struct node * next } * p0 ; 写出动态产生右图p0结点的程序段。(包含:申请内存语句,产生节点内容语句) 12. 同上题的结点结构,以下函数print_llink (hd) 实现显示链表各结点数据,hd为头指针,请完成该函数。 void print_link ( struct node *hd ) { struct node * p =hd; while ( p != NULL ) { printf (" %6d ", ); /* ① 显示结点数据 */ ; /* ② p 移到下一个结点 */ } } 13. 续上题,假定已建立如下链表结构, 给出下面程序运行的结果。 data next 104 NULL head 101 102 103 struct node *creat_link (int n) /* 创建n个结点的链表,内容略 */ { ……  } main ( ) { struct node * p, *head; head=creat_link(4);    /* 创建上图的4个结点的链表 */ p=head->next; p-> next = p-> next -> next; print_link (head);     /* 调用上题的函数,显示链表各结点数据 */ }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服