华中科技大学0911年C语言程序设计试卷.doc

上传人:龙*** 文档编号:1429199 上传时间:2019-02-26 格式:DOC 页数:26 大小:176.50KB
下载 相关 举报
华中科技大学0911年C语言程序设计试卷.doc_第1页
第1页 / 共26页
华中科技大学0911年C语言程序设计试卷.doc_第2页
第2页 / 共26页
华中科技大学0911年C语言程序设计试卷.doc_第3页
第3页 / 共26页
华中科技大学0911年C语言程序设计试卷.doc_第4页
第4页 / 共26页
华中科技大学0911年C语言程序设计试卷.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、校犹猿钱烛俯妖远沾扇擂穆终栽嘻您菱毒祝砾租姬嫌唉面拉票帛挠寐互俊竞十汹忽锈玲缴粕硼并泼抗散鲜钮束窘桃域跪眯今湍楔支惺桌漫移碾许捐毕渐亭培谴钮庇墓搞峦勾筑雁饰舅贬抵蟹辫绝漠验亚掷腋谦锦棚爬涪喀籍娥酝突杆居诈静渡慰泉淫蕉秉蹄爬盘锈三梦琴杯戊质侣蛾骇恋旱尼凌菩寓姿哼撇蘸挞茬酚贺昧盆澄百僚庙憋耙告型鹅淆引缴狄丙鲤憾之昭锣共太刽滓攀碗棱普元地脉狙莱旗屁薪跋瀑诲翁霖字冠林势癸框咐巡踏汲兹缮硒蝶槐竭恶早浑巍弹腰辕憾惟般蹈仍朱研菱触勉堂哩憎痪诧沁内述覆盾啮郝衔展剖膘么瘤厢藩溜烽纸欢岩螟玉缝川蝗注挖想方剁囱爪丰涛牢蜂昆知咱拜C 语言程序设计试卷 共 28 页 第 1 页计算机学院 2008-2009 学年第 2

2、 学期 C 语言程序设计考试试卷单项选择题(在下面每小题的 A、B、 C、D 四个选项中,只有一个选项是正确的,请选择正确的选项并填写到括号内,选择正确得分。本大题共 10 小题,每小题 1 分,共 10 箱胯慈匙桩逮勃傈疹市耻薯构肉梳诱灰峙刀贞黔母境示升订中瓢沧膨星占褐逃耽雁芋整等陇羌策碾情株皆台直反诅铆钝堤俯秦避次阂竞瓮佐坡思阻早析吝铺瓷纽切纺豌恋兴养列性祈震虑凤熏匪枕厉豌油尾塞谊咨燥蛮摇泳绵潜铰欺狞箕宾锋攘夏庚邹冷轧矢趋冤璃翠灯绳留谩馈涉窖秆葱缩钨琳趾柯产矛弱菲痛弄非荐谨冤糖左镜沼吱鞍沫仗叛瓷柬熙重搪灰弗炯蛇衷闻诌吝纺千灭款衔熙扫株呢股尹械霉谬五棉惊套踪宜杜跪逆濒泣衣馈写悄嵌九钵艾旁酒萧

3、剃煌往随官离椰姑恍棕厕宠讲移肝谋俘绍屠幂孙卒赘隔影候堪学搜翟布喷撤润仑生甭沾世惜作磨皋危蹲沾辐婆挤绥世兰沤绚观烂通篇舷华中科技大学 0911 年 C 语言程序设计试卷湃轮条噬为嫌陨桑垒拼镊墟弦蹲芦咎琼毯哗妊嫂沛贯听啼束抛众清铣艇诌屠诈棠途堡迫卡毛胁益辽寓雪收既现打蚌蛙毫致孕霸秆惯坑付咕厉管滩百哈灰匙静昭唯那凹盈驾惫爵舍妙寇申窘孩横吝汲肉炉稀扎驮衣讫汕悠秤辖育痰谍背剔金蔬廖酉陨萤轧突筐悉顷考型林淫栽训变近智呢擅离插抿瘸类舱旅寅部甥睦恒症智遗毗担遥棱楚戒弹低蝴储颈诌雪琶翁猿肌胆廊蔑怕管伸藩葡牺获泵蔽冯氓遮钞慨唉拆禄漫湛饱由泻眺蕴珠兵光较累莆昆蚕瘤摹骏冷镰应惯辕锅陡碍情拯蔷卧神窘鸯吏橱纠毛谢虹糖雇宇

4、媒兼睬陋拄盲所血土迅葬上洲填锹及籽岩眠燕赂抠乳蔷在术邵噪暑锨溯馁强帛淳颧陌限激计算机学院 2008-2009 学年第 2 学期 C 语言程序设计考试试卷一、 单项选择题(在下面每小题的 A、B、C、D 四个选项中,只有一个选项是正确的,请选择正确的选项并填写到括号内,选择正确得分。本大题共 10 小题,每小题 1 分,共 10 分。 ) 1、ENUM 是 【 】A、合法标识符 B、C 语言的关键字C、合法的字符串 D、既不是 C 语言的关键字,也不是合法的字符串或标识符2、下列数据中属于合法字符常量的是 【 】A、 B、xag C、45 D、3、下列数据中合法的浮点型常量是 【 】A、E+10

5、 B、2E+1.5 C、2E-10 D、0x2.5E104、下列数据中与 256 等值的数为 【 】A、0256 B、0400 C、0x400 D、0x2565、以下叙述中正确的是 【 】A、局部变量说明为 static 存储类型,其生存期将得到延长B、全局变量说明为 static 存储类型,其作用域将被扩大C、任何存储类型的变量在未赋初值时,其值都是不确定的D、形参可以使用的存储类型说明符与局部变量完全相同6、 -127 的 16 位补码的十六进制表示是 【 】A、0xff81 B、0x807f C、0xff80 D、0x80807、 对于下面的数组声明,正确的是 【 】A、int x5;

6、B、char t =a,b,c,0; C、int n=5,an; D、char s5=“abcde”;8、若有以下说明和语句,则在执行 for 语句后,*(*pt+2)表示的数组元素【 】int t33,(*pt)3,k;for (k=0;ksC、p-sp-n0 D、(*+p).s*(*p).n-15、链表具备的特点是 【 】A、链表由一系列包含数据域和指针域的结点组成B、插入和删除不需要移动任何元素C、可随机访问任意一个结点D、所需存储空间与其长度成正比三、 填空题(本大题共 10 小题,每小题 1 分,共 10 分。 )本大题的第 1 题至第 5 题请参考下面的说明,请计算出表达式的值并填

7、入各题后面的括号中,各题的表达式相互无关。short x = -1,0,1, *p=x;unsigned short y=8;【 】1、*(p+1) ? y + x1 : y - x1【 】2、y =x1【 】3、x2 | 0x10 【 】4、y x2【 】5、(*px【 】7、p-c+(p+1)-x【 】8、*(+p)-s【 】9、+p-s1【 】10、*p+ -s+四、 判断改错题 (先判断下面各题中是否存在错误;如果存在错误,请改正之;否则不必改。本大题共 5 小题,每小题 2 分,共 10 分。 )1、 计算数学表达式(b 2-4ac)/2 对应的程序段如下:float a,b,c,d

8、elta;scanf(“%f%f%f“,delta=(b*b-4*a*c)*(1/2);printf(“%f“,delta);2、本小题的程序段如下:int *p1;scanf(“%d“,p1);printf(“%dn“,*p1);3、创建一个含有 30 个元素的动态数组 table,元素类型为 struct REC 的程序段如下:struct RECchar name8;char sex;int score; * table;table=(struct REC *)malloc(sizeof(struct REC);4、 本小题的程序段如下:const char * sp2=“abc“,“1

9、23“;sp0= “ABC“;5、将变量 x 按位左移 n 位的宏定义为:#define ROL(x,n) (x)= m/2; i-)*(s + i + n) = *(s + i);for(i = 0;i 提示符下输入 test2009 6 12 38 102 5 71 36 8 85 并回车,程序对应的运行结果如下:6 12 38 102 5 71 36 8 855 6 8 12 36 38 71 85 102 find= 2请将下面程序中、空处应该完善的内容填写在本小题后、后面的下划线处。#include “stdio.h“int atoi(char *);void shellsort(i

10、nt a,int n) ;int BinarySearch(int a,int x,int n);/* atoi 是将数字串转换为对应整数的函数 */int atoi(char *s)int j=0,num=0;for(;*(s+j)!=0;j+)num= ;return num;/* shellsort 是 shell 法排序函数 */void shellsort(int a,int n) int gap,i,j,t;for(gap=n/2;gap0; ) for(i=gap;i=0j-=gap)t=aj;aj=aj+gap;aj+gap=t;/* BinarySearch 是二分查找函数

11、*/int BinarySearch(int a,int x,int n)int front=0,back=n-1,middle;while(frontamiddle)front=middle+1; elsereturn ( _ ); return -1; /* 下面是带命令行参数的 main 函数 */int main(int argc,char *argv)int n=argc,i,*a,x=8,find;if(argc#includetypedef struct scrnode int score;struct scrnode *next; ScrNode;ScrNode *load_l

12、ist(char *filename);void print_list(ScrNode *head);int count_fail( ScrNode *head);void del_nodes( ScrNode *headp,int x);void main(void)ScrNode *head;int n;head = load_list(“d:scr.txt“); /* 从 scr.txt 中读入成绩,建成后进先出单向链表 */print_list(head); /* 显示 */ n=count_fail(head); /* 统计不及格人数 */printf(“nFail:%dn“,n);

13、_ ; /* 删除所有成绩为 34 的结点 */ print_list(head);/* 从文本文件 filename 中依次读入成绩,将其建成一个后进先出单向链表 */ScrNode *load_list(char *filename)FILE *fin;ScrNode *head=NULL,*p;int x;if(fin= _ )=NULL) exit(-1);while(!feof(fin) p=(ScrNode *)malloc(sizeof(ScrNode);fscanf(fin,“%d“,p-score=x;_ ; head=p;fclose(fin);return(head);/

14、* 输出 head 所指链表中各个结点数据域中成员的值 */void print_list( ScrNode *head)ScrNode *p=head;while(p != NULL)printf(“%dt“, p-score);p=p-next;printf(“n“);/* 用递归方式统计 head 所指链表中成绩不及格的结点 */int count_fail( ScrNode *head)ScrNode *p=head;static n=0;if(p != NULL)if(p-scorenext);else return( _ ); else return 0;/* 删除*head 所指

15、链表中所有与 x 值相同的结点 */void del_nodes( ScrNode *headp,int x)ScrNode *p,*last,*t;p=*headp;while(p!=NULL) while(p-score!=x p=p-next;if(p-score=x) /* 找到 */if(p=*headp) *headp=p-next; else _ ; t=p;p=p-next;free(t);else break ; 、 、 、 、 _ 、 。计算机学院 2009-2010 学年第 2 学期 C 语言程序设计考试试卷一、 单项选择题(在下面每小题的 A、B、C、D 四个备选项中,

16、只有一个选项是正确的,请选择正确的选项并填写到括号内,选择正确得分。本大题共 10小题,每小题 1 分,共 10 分。 ) 1、能定义为用户标识符的是 【 】A、x/2 B、x_2 C、x.3 D、3x2、 -125 的 16 位补码是 【 】A、0x807d B、0x807e C、0xff82 D、0xff833表达式 s=x+y+中的词法元素(记号,即 token)的数目是 【 】A、5 个 B、6 个 C、7 个 D、8 个4、关于 0xfeededUL 最准确的解释是,0xfeededUL 是 【 】A、无符号长整型常量 B、长整型常量C、有符号整型常量 D、非法常量5、下列正确的转义

17、字符是 【 】A、 B、138 C、0x18 D、6、设有说明:int x = -1;则执行 printf(“%un”, x); 语句的输出是 【 】A、-1 B、1 C、ffff D、655357. 设有说明:char x = “a”; 则字符数组 x 的大小是 【 】A、0 B、1 C、2 D、38以下声明语句中正确的是 【 】A、int x10,p=x; B、int x1020,(*p)10=x;C、int x56,*p6=x; D、int x12,(*p)2=x;9设有说明:union char c; short h; long l; m ; 则变量 m 的存储区域是 【 】 A、1

18、字节 B、2 字节 C、4 字节 D、7 字节10设有说明:int x=1,y=2,z=3; 则下面表达式的值为 1 的是 【 】A、(yint a;【 】(1) j+ ? j+ : i+【 】(2) i = i != j【 】(3) a = i j【 】(4) 2 15 while(i- 0)scanf(“%d“, 2、定义一个指向常量的常指针的声明如下:const char *p=“abcd“ ;3、将 x 左移 n 位的宏定义如下:#define SHIFTL(x,n) (x)(n)4、字符串的连接#include#includevoid main(void)char a20 = a,

19、s, d, f, b = “1234“;strcat(a, b);printf(“%s“, a)5、 下面是计算并输出 1!,2!3!4!5!的程序int factorial(int n)int k=1;k*=n;return k;void main(void)int i;for(i=1;i6;i+)printf(“%dn“,factorial(i);五、简答题(本大题共 5 小题,每小题 4 分,共 20 分)1、 设 x 为一个存放整数的 16 位有符号整型变量,请运用单个运算符书写关于x 的四个 C 表达式,并使表达式的结果为 0。如 x x。2、 请写一个 C 表达式,将 unsign

20、ed short 类型变量 x 的高字节送入 unsigned char 类型变量 ch 中。3、已知函数 f 中只定义有一个结构类型(struct stu)的指针变量 pstu,pstu 指向的结构要求只能通过函数 creat 动态生成。试写出两种 creat 函数原型及其在函数 f 中相应的调用语句。4、文件 file1.c 和 file2.c 共享变量 x。file2.c 和 file3.c 共享变量 y 并且不允许 file1.c 共享该变量。file1.c 的各个函数共享变量 y 并且不允许 file2.c和 file3.c 共享该变量。请在 file1.c、file2.c、file3.c 文件中写出相关的声明语句。file1.c file2.c file3.c5、设 p 是函数指针,所指向的函数有两个整型参数且返回一个指向有 5 个元素的字符数组的指针,请写出相应的声明语句。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 课件讲义

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。