




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机学院2008-2009学年第2学期C语言程序设计考试试卷A卷(或B卷): A卷 闭卷(或开卷):闭卷 考试时间:2009年 6 月 23日专业 班级 学号 学生姓名 题号一二三四五六七总分核对人题分10101010202020100得分得分评卷人一、 单项选择题(在下面每小题的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 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、0xff80D、0x80807、对于下面的数组声明,正确的是 【 】A、int x5; 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-n0D、(*+p).s*(*p).n-15、链表具备的特点是 【 】A、链表由一系列包含数据域和指针域的结点组成B、插入和删除不需要移动任何元素C、可随机访问任意一个结点D、所需存储空间与其长度成正比得分评卷人三、 填空题(本大题共10小题,每小题1分,共10分。)本大题的第1题至第5题请参考下面的说明,请计算出表达式的值并填入各题后面的括号中,各题的表达式相互无关。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、计算数学表达式(b2-4ac)/2对应的程序段如下:float a,b,c,delta;scanf(%f%f%f,&a,&b,&c);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 REC char name8; char sex; int score; * table; table=(struct REC *)malloc(sizeof(struct REC);4、本小题的程序段如下:const char * sp2=abc,123;sp0= ABC;5、将变量x按位左移n位的宏定义为:#define ROL(x,n) (x)=(n)得分评卷人五、简答题(本大题共5小题,每小题4分,共20分)1、 设有声明int x=1,y=2,t; 请写出一个C表达式将x、y值交换。2、请写一个C表达式,其结果是3个整型变量a、b、c中数值居中的那个变量的值。3、请写一个C表达式,将整数k的高字节作为结果的低字节,整数p的低字节作为结果的高字节,拼成一个新的整数。4、请解释声明语句char*(*(*pa)8)(int(*)(int);所声明标识符 pa 的数据类型。5、设a是有2个元素的函数指针数组,数组中每个元素所指向的函数带有一个数组指针类型的形参,该形参指向有3个元素的整型数组,而函数返回值的类型与该形参类型相同;请写出相应的声明语句。得分评卷人六、阅读程序并写出其运行结果(本大题共5小题,每小题4分,共20分。)1、 请写出下面程序的运行结果。#include stdio.hint x = 10;void main(void)printf(x=%dn, x+);int x = 1;printf(x=%dn, x+);printf(x=%dn, x+); 2、请写出下面程序的运行结果。#include stdio.hvoid fun(int n)static x=1; x*=n; printf(x=%dn,x);void main(void)int i; for( i=1;i= m/2; i-) *(s + i + n) = *(s + i); for(i = 0;i n; i+) *(s + i + m/2) = *(t + i); return s;4、请写出下面程序的运行结果。#include stdio.h#define CHAR_BIT 8typedef unsigned short int UINT16;void bit_print(int);void bit_print(int x)UINT16 i;UINT16 n=sizeof(UINT16) * CHAR_BIT; UINT16 mask = 1 (n-1); for ( i=1; i=n; +i ) putchar(!(x & mask)? 0: 1);x=1;if(!( i % CHAR_BIT ) & in ) putchar( );putchar(n);void main(void)UINT16 x3=7,3,1,i,n=0;for(i=0;i提示符下输入test2009 6 12 38 102 5 71 36 8 85并回车,程序对应的运行结果如下: 6 12 38 102 5 71 36 8 85 5 6 8 12 36 38 71 85 102 find= 2请将下面程序中、空处应该完善的内容填写在本小题后、后面的下划线处。#include stdio.hint atoi(char *);void shellsort(int 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=0&ajaj+gap;j-=gap) t=aj;aj=aj+gap;aj+gap=t;/* BinarySearch是二分查找函数 */int BinarySearch(int a,int x,int n)int front=0,back=n-1,middle;while(front=back) middle=_ ; if(xamiddle)front=middle+1; elsereturn ( _ ); return -1; /* 下面是带命令行参数的main函数 */int main(int argc,char *argv)int n=argc,i,*a,x=8,find;if(argc10)printf(too few arguments!n);return -1;a=(int *)malloc(n-1)*sizeof(int);for(i=1;in;i+)ai-1=atoi( );for(i=0;in-1;i+)printf(%4d,ai);printf(n);shellsort(a,n-1);for(i=0;in-1;i+)printf(%4d,ai);printf(n);find=BinarySearch(a,x,n-1);printf(find=%4d,find);printf(n);return 0; 2、本大题第、空请参阅下面的部分程序。程序说明 文本文件scr.txt记录每个学生C语言课程的成绩,从文本文件scr.txt中依次读入成绩,将其建成一个后进先出单向链表,并且对该单向链表完成创建、删除、统计、显示等操作。请将下面程序中、应该完善的内容填写在本小题后、后面的下划线处。#include#includetypedef struct scrnode int score;struct scrnode *next; ScrNode;ScrNode *load_list(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);_ ; /* 删除所有成绩为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,&x);p-score=x;_ ; head=p;fclose(fin);return(head);/* 输出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所指链表中所有与x值相同的结点 */void del_nodes( ScrNode *hea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 期中专题复习-词汇句型训练-2025-2026学年 译林版2024 英语七年级上册 原卷
- 20xx教师节感谢信3篇
- 文化遗产法律政策与文化产业发展研究-洞察及研究
- 【2025年秋七上语文阶段测试】第2单元学业质量评价01(解析版)
- 车驾管窗口业务课件培训
- 基于区块链的分布式能源交易场景下的仪表数据确权机制
- 基于人工智能的刺五加提取物多靶点作用机制预测模型构建
- 城市热岛效应缓解工程中列管散热器的分布式微气候调控效能评估
- 国际安全认证体系下扳手抗冲击测试标准与本土化适配冲突
- 四方结构力学性能优化与用户使用习惯冲突
- 学前教育自然科学课程
- 2024年5月12日河北省省直事业单位招聘(综合类)工作人员《职业能力测验》试题真题试卷答案解析
- 2025年注安道路运输安全实务真题卷(附解析)
- 2025-2030中国建筑工程质量检测设备行业市场发展现状及竞争格局与投资前景研究报告
- 小学英语北京版二年级上册名校期末测试题(一)
- 人教版五年级数学上册教学计划(含进度表)
- 2025年电除尘器试题及答案
- 模具移交协议书范本
- 荨麻疹的护理查房课件
- 【课件】2024新课标Ⅱ卷语法填空说课 课件-2025届高三上学期英语一轮复习专项
- 第二单元第二节元素说课稿-2024-2025学年九年级化学鲁教版上册
评论
0/150
提交评论