二级C语言分类模拟题473

上传人:re****.1 文档编号:491434270 上传时间:2023-01-15 格式:DOC 页数:3 大小:32KB
返回 下载 相关 举报
二级C语言分类模拟题473_第1页
第1页 / 共3页
二级C语言分类模拟题473_第2页
第2页 / 共3页
二级C语言分类模拟题473_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《二级C语言分类模拟题473》由会员分享,可在线阅读,更多相关《二级C语言分类模拟题473(3页珍藏版)》请在金锄头文库上搜索。

1、二级 C语言分类模拟题 473一、程序填空题1、请补充 main() 函数,该函数的功能是:把字符串 str1 中的非空格字符复制到字符串 str2 中。 例如,若 str1=nice to meet you!,则 str2=nicetomeetyou! 。注意:部分源程序如下。请勿改动 main() 函数和其他函数中的任何内容,仅在 main() 函数的横线上填入所编写的若干 表达式或语句。试题程序:#include#include#define M 80 void main() static char str1M=nice to meet you!; char str2M;int i=0,

2、j=0; system(CLS);printf(n*str1*n);puts(str1);while(str1i)if()str2j+=str1i;printf(n*str2*n);for(i=0;i j;i+)printf(%c,str2i);二、程序改错题2、下列给定的程序中,函数 proc() 的功能是:将 str 所指字符串中出现的 t1 所指字符串全部替换 成t2 所指字符串,将所形成的新的字符串放在 w所指的数组中。在此处,要求 t1 和 t2 所指字符串的 长度相同。例如,当 str 所指字符串中所指的内容为 “abcdabcdefg ” ,t1 所指字符串中的内容为 “be”,

3、 t2 所指字符串中的内容为 “11”时,结果在 w所指数组中的内容应为 “a11dalldefg ” 。请修改程序中的错误,使它能得出正确的结果。注意:不要改动 main() 函数,不得增行或删行,也不得更改程序的结构。 试题程序:#include#include#include#includeint proc(char *str,char *t1,char *t2,char*w) char*p,*r,*a; strcpy(w,str);while(*w)p=w;r=t1;/*found while(r) if(*r=*p)r+;p+; else break;if(*r=0)=w;r=t2;

4、/*foundwhile(*r)*a=*r;a+;r+w+=strlen(t2);else w+;void main()char str100,t1100,t2100,w100; system(CLS);printf(nPlease enter string str:);scanf(%s,str);printf(nPlease enter substring t1:);scanf(%s,t1);printf(nPlease enter substring t2:);scanf(%s,t2);if(strlen(t1)=strlen(t2)proc(str,t1,t2,w);printf(nTh

5、e result is:%sn,w);else printf(Error: strlen(t2)n);三、程序设计题3、假定输入的字符串中只包含字母和 * 号。请编写函数 proc() ,它的功能是: 除了尾部的 *号之外, 将字符串中其他 * 号全部删除。形参 p已指向字符串中的最后一个字母。在编写函数时,不得使用 C语 言的字符串函数。例如,若字符串中的内容为 “*a*bc*def*g* ” ,删除后,字符串中的内容应当是 “abcdefg* ” 。注意:部分源程序如下。请勿改动 main() 函数和其他函数中的任何内容,仅在函数 proc() 的花括号中填入所编写的若 干语句。试题程序:

6、#include#includevoid proc(char*str,char*p)void main()char str81,*t;printf(Enter a string:n); gets(str);t=str;while(*t)t+;t-;/指针t 指向字符串尾部while(*t=*)t-;/指针 t 指向最后一个字母proc(str,t);printf(The string after deleted:n); puts(str);答案:、程序填空题1、str1i!= i+ 解析 题目中要求把字符串 str1 中的非空格字符复制到字符串 str2 中,因此if 语句的条件是判断 str

7、1 中的字符不是空格,因此,第 1个空填“str1i!=” ;由程序可知,变量 i 为字符串str1 中字符的下标,检查字符串 str1 中的字符通过改变元素下标变量来实现,因此,第 2个空填 “i+ ”。 二、程序改错题2、(1) 错误: int proc(char *str,char *t1,char *t2,char *w)正确: void proc(char *str,char *t1,char *t2,char *w)(2)错误: while(r)正确: while(*r)(3)错误: r+正确: r+; 解析 由主函数中 proc() 函数的调用以及 proc() 函数的定义,可知

8、该函数没有返回值,因此把 proc() 前的“int ”改为“void ”;由proc() 函数可知,变量 r 指向的是字符串 t1 的地址, while 循 环要判断的是字符串 t1 是否结束,因此, “while(r) ”应改为“while(*r) ” ;C语言中,每一条语 句都以分号结束,因此, “r+”后要加上分号。三、程序设计题3、 void proc(char *str,char *p) char *t=str;for(;t =p;t+)if(*t!=*)/*(str+)=*t;for(;*t!=0;t+)*(str+)=*t;/*str=0;/把前面不是* 号的字符放到 a数组中, 通过t的移动来实现把尾部的 * 号接到其后面 , 当*t 为 0 时结束 题目要求a数组中存放字符 , 因此用0 作为结束标志 解析 题目中要求除了尾部的 “*”号之外,将字符串中的其他 “*”号全部删除。首先,将所有不是 的字符放在字符串 str 中;然后,将尾部的 * 接在字符的后面,最后为字符串 str 加上结束符。

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

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号