[计算机类试卷]国家二级C语言机试(操作题)模拟试卷100及答案与解析.doc

上传人:outsidejudge265 文档编号:498014 上传时间:2018-11-28 格式:DOC 页数:6 大小:31.50KB
下载 相关 举报
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷100及答案与解析.doc_第1页
第1页 / 共6页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷100及答案与解析.doc_第2页
第2页 / 共6页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷100及答案与解析.doc_第3页
第3页 / 共6页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷100及答案与解析.doc_第4页
第4页 / 共6页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷100及答案与解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、国家二级 C语言机试(操作题)模拟试卷 100及答案与解析 一、程序填空题 1 给定程序中,函数 fun的功能是:在带有头结点的单向链表中,查找数据域中值为 ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为 ch的结点,函数返回 0值。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 ! #include #include #define N 8 typedef struct list int data; Struct liSt*next; SLIST;

2、 STIST*creatlist(char*); void outiist(SLIST*); int fun(SLIST*h, char ch) SLTST*p; int n=0; p=h-next; /*found*/ while(p!=_1 _) n+; /*found*/ if(p-data=ch)return_2 _; eise p=p-next; return 0; main() SLTST*head; int k; char ch; char aN=m, p, g, a, w, x, r, d); head=creatlist(a); outlist(head); printf(“

3、Enter a letter: “); scanf(“ c“, &ch); /*found*/ k=fun( _3 _ ); if(k=0)printf(“nNot found!n“); else printf(“The sequence number is: dn“, k); SLIST*treatlist(char*a) (SLIST*h, *P, *q; int i; h=p=(SLIST*)malloc(sizeof (SLIST); for(i=0; idata=ai; p-next=q; p=q; p-next=0; return h; void outliSt(SLIST*h)

4、SLI ST*p; p=h-next; if(p=NULL)printf(“nThe list is NULL!n“); else printf(“nHead“); do printf(“- c“, p-data); p=p-next; ) while(P!=NULL); printf(“-Endn“); 二、程序修改题 2 给定程序 MODI1 C中函数 fun的功能是:删除 P所指字符串中的所有空白字符 (包括制表符、回车符及换行符 )。 输入字符串时用 #结束输入。 请改正程序中的错误,使它能输出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! #in

5、clude #include Iinclude fun(char*p) int i, t; char c80; /*found*/ For(i=0, t=0; pi; i+) if(!isspace(*(p+i) ct+=pi; /*found*/ ct=“0“; strcpy(p, c); main() char c, s80; int 2=0; printf(“Input a string: “); c=getchar(); while(c!=#) si=c; i+; c=getchar(); ) si=0; fun(s); puts(s); 三、程序设计题 3 请编写一个函数 fun,它

6、的功能是:将 ss所指字符串中所有下标为奇数位置上的字母转换为大写 (若该位置上不是字母,则不转换 )。 例如,若输入 “abc4EFg“,则应输出 “aBc4EFg“。 注意: 部分源程序存在文件 PROG1 C中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的化括号中填入你编写的若干语句。 #include #include void fun(char*ss) msin() char tt81; void NONO(); printf(“nPlease enter an string within 80 characters: n“); gets(tt); print

7、f(“nnAfter changing, the stringn “ s“, tt); fun(tt); printf(“nbecomesn“ s“n“, tt); NONO(); void NONO() /*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE*fp, *wf; char tt81; int i ; fP=fopen(“in dat“, “r“); wf=fopen(“out dat“, “w“); for(i=0; idata=ch)”成立,则已经找到数据域中值为 ch的结点,返回顺序号,即 “return n; ”。 第三空: fun函数的调用形式

8、是: fun(SLIST *h charch),第一个参数是头结点地址,第二个参数是需要寻找的 ch值,因此第三空处应该是 “k=fun(head,ch); ”。 二、程序修改题 2 【正确 答案】 (1)for(i=0, t=0 ; pi; i+) (2)ct=0; 【试题解析】 函数的功能是删除字符串 s中的所有空白字符。 (1)第一个标识下 “For(i=0, t=0; pi; i+)”语句是 for循环语句,而 For不是 C语言的关键字,所示 “For(i=0, t=0; pi; i+)”应改为 “for(i=0,t=0; pi; i+)”。 (2)第二个标识下的 “ct=“0“; ”语句是在新生成的串后面加尾符标志,在 C语言中规定使用单引号把一个字符括起来作为字符常量, 所以 “ct=“0“; ”应改为“ct=0; ”。 三、程序设计题 3 【正确答案】 int i; for(i=1; i=a&ssi=z)ssi一 =32; 【试题解析】 (1)首先取得字符串中下标为奇数的字符。 (2)判断奇数位置的字符是否为小写字母。 (3)若 (2)中的判断结果是小写字母,则对其进行转换。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1