厦门大学c语言在线测试,厦门大学《C语言》模拟试卷(10级).doc

253b171540df25e1b84436cbe50dfc72.gif厦门大学《C语言》模拟试卷(10级).doc

C语言程序设计试题A答案考生信息栏 经济 学院 计统 系 专业 2010 年级姓名 学号装 订 线一、单项选择题每题2分,共60分 注意答案纸不能当草稿,请保持整洁1B2B3A4B5D16D17B18B19D20C6C7C8D9B10C21B22D23A24D25C11A12B13B14B15A26B27B28B29C30C二、简答题 13题,112题每题3分,第13题4分,共40分1. 三种基本结构 顺序、选择、 循环 2. y 能被4 整除, 但不能被100整除; 或 y 能被 400 整除。 2008 是闰年 1997 不是闰年3. 输入的数据为任意负奇数 4. 作用 原型说明 输入 38 5. 语句 t*a ; *a*b ; *bt ; swap 6. 当某趟已排好序时,控制排序结束,不必执行后面趟数ABCDEFG00 参数 sort d , 5 ;7. printf 3c, aji a的内容8. 条件s p 运行结果 H, ABC0509. 运行结果 ABC 10. m sizeof ss / sizeof char * ; printf s, * p ;11.p0 struct node* malloc sizeof struct node ; p0-data1003 ; p0-next NULL; 12. printf 6d , p - data p p - next; 13. 运行结果 101 102 104 13. 参数puts namei name的情况厦门大学答题卷纸考生信息栏学院系 专业 年级姓名 学号装 订 线题号分数一二三四五六七八九十十一十二十三十四十五总分阅卷人考试课程考试地点考试时间试卷(请打)A卷()B卷()注意事项1. 学生的学院、系别、专业、年级、姓名、学号必须写在考生信息栏内指定的位置。2. 学生在考试之前必须填写考试课程名称、考试时间和地点、A/B卷。3. 所有的答案必须写在答卷纸上,做在草稿纸或试卷纸上无效。4. 字迹要清楚,保持卷面清洁。试卷、草稿纸随答卷纸一起交回。自强不息止于至善遵章守纪考试诚信承诺书在我填写考生信息之后,表示我已阅读和理解厦门大学考场纪律及违纪处分办法厦大教(2003)32号有关规定,承诺在考试中自觉遵守该规定,如有违反将接受处理;我保证在本科目考试中,本人所提供的个人信息是真实、准确的。C语言程序设计试题A答题纸考生信息栏 经济 学院 计统 系 专业 2010 年级姓名 学号装 订 线一、单项选择题每题2分,共60分 注意答案纸不能当草稿,请保持整洁12345161718192078910212223242511121314152627282930二、简答题 13题,112题每题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语言程序设计课程试卷经济学院计划统计系2010级各专业主考教师黄扬铭 试卷类型A卷注意答案填入答题纸中,答案纸不能当草稿,草稿可以写在试卷纸上。考完后试卷和答案纸都得交上。一、单项选择题 30题,每题2分,共60分 1. 下列叙述中错误的是A C语言源程序是文本文件B 目标程序不是二进制文件C 目标程序不是文本文件D 可执行程序是二进制文件2. 表达式 int double 5/22.5 的值是A 4.5 B 4 C 5 D 5.03. 设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 yx x ba 的值是A 6 B 1 C 9 D 05. 以下叙述中错误的是A C语言是一种结构化程序设计语言B 结构化程序有顺序、分支、循环三种基本结构组成C 结构化程序设计提倡模块化的设计方法D 使用三种基本结构构成的程序只能解决简单问题6. 使以下程序中t的输出结果为3,则输入a和b应满足的条件是main int s 1, t 1, a, b;scanf d d , if a 0 s 1; if ab t s t;else if a b t 5;else t 2 * s;printf d n , t ;A a0并且ab B a0并且ab C a0并且ab D a0并且ab7. 以下叙述中正确的是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 12345000 ; ,则sizeof s 的值是A 7 B 8 C 9 D 1011. 运行以下程序段char a5work; char *pa; 则表达式*p的值为A w B 存放 w 的地址 C o D 存放 o 的地址12. 若有定义int a35,i,j;且0i3,0j5, 则aij 对应的地址不正确表示是A *ai*5j B *aij C *aij D aij13. 设有以下语句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; data11,8, data2; 则以下赋值语句中错误的是A data2data1; B data22,6; C data2.realdata1.real; D data2.realdata1.unreal;15. 对枚举类型的定义错误的是A enum b1, 2, 3; B enum aA, B, C; C enum cD3, E, F; D enum dX0, Y5, Z9;l 以下 16 30题 为阅读程序, 选择正确的输出的结果。16. main int a65; char cA; /* A 的ASCII为 65 */printfdcdn ,a, c, ac; A AAAA B 65A65A C 6565130 D 65A13017. main int sum 0, item 0;while item 5 if item 2 continue;sum item; printfdn,sum;A 10 B 13 C 15 D 118. main int i, j;for i 1; i 3; i for j 2; j 1; j printf 3d , i * j ;printf n ;A 3 6B 2 1C 1 2 3D 6 4 2 2 44 22 4 63 2 11 26 319. 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, 520. int fun1 static int m0; return m; int fun2 int m0; return m; main int i; for i1; i4; i fun1 ;for i1; i4; i fun2 ;printf d d, fun1 , fun2 ; A 0 ,0 B 4, 4 C 4 ,0 D 5,121. int a, b;void fun a100; b200; main int a5, b7;fun ; printf d d n, a, b;A 100 200 B 5 7 C 200 100 D 7,522. void funint a a0a1;main int a1010, 9, 8, 7, 6, 5, 4, 3, 2, 1, i;for i2; i0; i fun for i0; i10; i printf d , ai;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 123. void fun int array 3, int k int j; for j0; j3; j arraykj; main int j, a 3 1,2,3,4,5,6,7,8; funa,1; for j0; j3; j printf 2d, a1j ; A 5 6 7 B 3 6 9 C 2 3 4 D 2 5 824. main int a 2, 4, 6, 8, 10 , y 0, x, *p; p fo r x 1; x3; x y px; 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回车xyz26. main char *a 1357, 24, 68, 123 ; int i;for i0; i4; i printf c, *ai1 ;A 1261B 2372C 3482D 357482327. main int a 1, 2, 3, 4, 5, 6, *k3, i0;while i3 ki printf d, *ki ; A 2 4 6 B 1 3 5 C 0 2 4 D 4 5 628. struct ord int x, y; dt21,2,3,4;main struct ord *p dt;printf d p-x; printf dn, p-y ;A 1,2B 2,3C 3,4D 4,129. typedef struct int num; double s REC;void fun1 REC x x.num34; x.s88.5; void fun2 REC * x x-num56; x-s53.5; main REC a12, 90.0 ;fun1a; printf d, , a.num ;fun2 printf dn , a.num ;A 34, 56 B 12, 12 C 12, 56 D 34, 3430. include stdlib.hstruct 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.next printf d n , p-num p-next-num;A 10 B 20 C 30 D 40二、简答题 13题,112题每题3分,第13题4分,共40分,答案填入答题纸中相应的位置1. C语言中用于结构化程序设计的三种基本结构是什么2. 判断某一年是闰年年的逻辑表达式为(y40 y1000) y400 0其中y 是表示年的整型变量(如1980) 用自然语言解释闰年的条件。 判断2008和1997 是否闰年。3. 有以下程序段 intn, t 1, s 0; scanf d, do s st; t t-2; whilet n; 为使此程序段不陷入死循环,从键盘输入的数据应该是 4. 下面程序中第一行int add int, int 的作用是什么 要使程序运行结果为x 3,y 5,z 8 则应该从键盘输入什么int add int, int ; /* 该句作用 */main int x, y, z ;scanf d d , /* 从键盘输入什么 */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.hvoid swap int *a , int *b int t;t ; ; ; /* 填入实现交换的语句 */main int x 10, y 20swap , ; /* 填入实参 */printf x d, y dn, x, y;6. 以下是冒泡排序法程序。 说明change的作用; 填入实参对d中所有数据进行正确排序。void sort int a , int num int change 1, t, i, j; for i num-1; i0 change; i /*change的作用*/ change0;for j 0; j i; jif aj aj1 t aj; aj aj1; aj1 t;change 1;main int i, d 5, 1, 3, 2, 4 ;sort , ;for i 0; i 5; i printf d , di ;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 , *sstr, *p s , c ;while *p p ; p ; printf c, c, *s, *p ; while /* 写出循环条件 */ c *s; *s *p; *p c; 9. 给出以下程序运行结果 运行后数组s2中的每个元素的内容。 include stdio.hvoid fun char * p, char q int i 0; while pi qi i;main char * s1 ABC, s2 12345;fun s2 , s1; putss2;10. 利用以下程序中已经定义的变量和数组, 根据要求完成程序 填入适当表达式,使得m能自动计算字符串个数; 在 printf 中填入正确的参数,使得程序输出字符串数组中的所有字符串。main char * ss cat, dog, bird, , mouse , p ; int m ;m ; /* 自动计算字符串个数 */for p ss; p ssm; p printf s , ; /* 填入正确的参数 */ 1003NULLP011. 设有一链表的结点结构及有关指针变量定义如下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 next104NULLhead101102103struct node *creat_link int n /* 创建n个结点的链表,内容略*/ main struct node * p, *head;headcreat_link4; /* 创建上图的4个结点的链表*/phead-next;p- next p- next - next;print_link head; /* 调用上题的函数,显示链表各结点数据 */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值