[计算机类试卷]国家二级C语言机试(操作题)模拟试卷33及答案与解析.doc
-
资源ID:498279
资源大小:33KB
全文页数:7页
- 资源格式: DOC
下载积分:2000积分
快捷下载

账号登录下载
微信登录下载
下载资源需要2000积分(如需开发票,请勿充值!)
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷33及答案与解析.doc
1、国家二级 C语言机试(操作题)模拟试卷 33及答案与解析 一、程序填空题 1 给定程序中,函数 fun的功能是将不带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为: 2、 4、 6、 8、 10,逆置后,从头至尾结点数据域依次为: 10、 8、 6、 4、 2。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKl C中。 不得增行或删行,也不得更改程序的结构 ! #include #include #define N 5 typedef struct node int data; struct node * nex
2、t; NODE; /*found*/ _1_ fun(NODE。 h) NODE *P, *q, *r; P=h; if(P=NULL) return NULL; q=P一 next; P一 next=NULL; while(q) /*found*/ r=q一 _2_: q一 next=P; p=q; /*found*/ q=_3_ ; return P; NODE * creatliSt(int a) NODE *h, *P, *q; int i; h=NULL; for(i=0; idata=ai; q一 next=NULL; if(h=NULL)h=P=q; elseP一 next=q;
3、 P=q; ) return h; VOid outliSt(NODE * h) NODE *P; p=h; if(p=NULL)printf(“The list iS NULL! n”); elSe printf(“ nHead”); dO printf(“一 d”, P一 data); p=p 一 next; ) while(P!=NULL); printf(“一 End n”); main() NODE *head; int aN=2, 4, 6, 8, 10); head=creatlist(a); printrf(“ nThe original list: n”); outlist(
4、head); head=fun(head); Printf(“ nThe list after inverting: n”); outlist(head); 二、程序修改题 2 给定程序 MODll C中函 数 fun的功能是:首先将大写字母转换为对应小写字母;若小写字母为 a u,则将其转换为其后的第 5个字母;若小写字母为 v z,使其值减 21。转换后的小写字母作为函数值返回。例如,若形参是字母 A,则转换为小写字母 f若形参是字母 W,则转换为小写字母 b。 请改正函数 fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构
5、! #include #include char fun(char c) if(c=A c=a c=v . *置初始空串 * c s=一 1 ; *置成绩为一 1* for(i=0; iN; i+) if(strcrap(ai num, b)=0) *判 断学号是否相等 * strcpy(c num, ai num); *相 等,则对学号进行赋值 * c s=ai s ; *相等,则对成绩进行 赋值 * break; *退出循环体 * return c; *返回结构体变量 * 【试题解析】 该程序功能是函数返回指定学号的学生数据,指定的学号在主函数中输入。解题思路是在循环过程中,使用 if判断表达式,将输入的学号与所有的学号进行比较,如果找到该学号,将其赋值到 指定变量,否则将空格赋值到指定变量,表明没有查找到该学号。