二级C上机题库分类解析版

上传人:枫** 文档编号:551711776 上传时间:2022-09-01 格式:DOCX 页数:325 大小:485.32KB
返回 下载 相关 举报
二级C上机题库分类解析版_第1页
第1页 / 共325页
二级C上机题库分类解析版_第2页
第2页 / 共325页
二级C上机题库分类解析版_第3页
第3页 / 共325页
二级C上机题库分类解析版_第4页
第4页 / 共325页
二级C上机题库分类解析版_第5页
第5页 / 共325页
点击查看更多>>
资源描述

《二级C上机题库分类解析版》由会员分享,可在线阅读,更多相关《二级C上机题库分类解析版(325页珍藏版)》请在金锄头文库上搜索。

1、第一部分程序填空题字符类;第1-2题1、函数fun的功能是进行数字字符转换。若形参ch中是数字字符09,贝0转换成9, 1转换成8, 2转换成7, 9转换成0;若是其它字符则保持不变:并将转换后的结果作为函数值返回.请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!include /*found*/fun (char ch)/*found*/if (ch=O &2)/*found*/return 9 - (ch- 3);return ch ;mainO char cl, c2;print

2、f(*nThe result :n*);cl=, 2 ; c2 = fun(cl);printf(*cl=%cc2=%cn*, cl, c2);cl= 8 ; c2 = fun(cl);printf(*cl=%cc2=%cn*, cl, c2);cl=*a* ; c2 = fun(cl);printf(*cl=%cc2=%cn*, cl, c2);)答案:【1】char 2 ch=* 9,【3由主函数中的语句c2=fun(cl);”知:函数fun的返回类型为字符,故第一空应填char;在题面中要求对数字字符进行转换,故第二空的R的是判断字符ch是否为一数字字符,即ch是否在09之间故第二空应填

3、ch char fun(char c) if ( c=, A* & c=,a* & c=v&c=z)c=c-21;/*found*/return 2;)ma i n () char cl,c2;printf(*nEnter a letter (A-Z): ); cl=getchar0;if( isupper( cl ) ) /*found*/c2=fun( 3 );printf(nnThe letter %c change to %cn, cl, c2):)else printfC*nEnter (A-Z)!n);)答案:【1】52 c3 cl【解析】:本题着重考察考生对C语言中一些简单算法的

4、掌握情况。先判断输入的字母是否是大写字母,若是大写字母,将其转化为相应的小写字母,方法是该大写字母对应的ASCII码值加上32 就是其小写字母的ASCII码值,再判断该小写字母是否是au,若是转化为其后的第5个字母。若该小写字母是vz,则将其ACSII 码值减去21,转换后的小写字母作为函数值返回.题中第一个空填5:C语言中,字母从az或AZ的ASCII码值是依次递增的,所以将其转换为其后的第5个字母应该是c=c+5;” 或相同作用的语句.题中第二个空填c:通过return语句将被调用函数中c的值带回主:调函数中去。题中第三个空填”c:此句是调用fun()函数,括弧中是其实际参数。递归类:第3

5、4题3、下列给定程序中,函数fun()的功能是:用递归算法计算斐波拉契级数列中第n项的值。从第一项起,斐波拉契级数序列为1, 1,2, 3, 5, 8, 13, 21,例如,若给n输入7,该项的斐波拉契级数值为13。include long fun(int g)(switch(g) case 0: return 0;case 1:1 : return 1;)return ( 2 );mainO(long fib; int n;printf(*Input n:*);scanf(%d*3);printf(*n=%dn*,n);fib=fun(n);printf(*fib=%dnn*, fib);)

6、答案:【1】case 22 fun(g-l)+fun(g-2)3 &n【解析】填空1:根据题目的意思,这里应该是时于值为1和2的时候的处理,注意case语句常量后应用的是冒号,而且不同的case时应 同一个值可以连续写(像题目中那样)。填空2:根据题目的意思,此处是求值的递归部分,由递推公式可以很容易的得到答案的形式,对于这种简单的递归考生定 要掌握。填空3:由算法可以看出,此处是输入数列的项数n,使用了scanf函数,其参数应该是变量的地址,即使用符号。4、下列给定程序中,函数fun()的功能是:应用递归算法求某数a的平方根。求平方根的迭代公式如下:X =(Xo +)/2 。 与例如,2的平

7、方根为1.414214。#include ttinclude fun(double a,double xO) double xl, y;2 jif(fabs(x1-xO)=0. 00001)3 ;else y=xl;return y;mainO double x;printf (Enter x: ); scanf &x);printf(,The square root of %lf is %lfn”,x, fun(x, 1.0);)答案:【1】double2 xl=(x0+a/x0)/2.03 y=fun(a, xl)【解析】填空1:这里要问的是函数的类型,由主函数main。对函数的调用可以得

8、到函数的类型是double型的,当然也可以由函数的返回 值语句得到。填空2:我们看到在下一条语句中已经开始对变量xl的值进行比较了,所以这里要对xl进行赋值,由题意可知xl=(xO+a/xO)/2. 0。填空3:用C语言求平方根的方法般有两种经典的算法,它们分别是迭代法和递归法,本题要求用递归法。该程序采用了if 语句,程序的含义是当迭代结果差小于误差时进行循环。文件读写类:第I题5、给定程序的功能是:从键盘输入若干行文件(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标 志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和W

9、riteText实现。#include #include ttinclude void WriteText(FILE *);void ReadText(FILE *);FILE *fp;mainO if(fp=fopen(myfile4. txt, w)=NULL) printf(* open fail!n*); exit(0); WriteText(fp);fclose(fp);if(fp=fopen(*myf ile4. txt, r)=NULL) printf(* open fail!n*); exit(0); ReadText(fp);fclose(fp);/*found*/void

10、WriteTextCFILE ) char str81:printf(*nEnter string with -1 to end :n);gets(str);while(strcmp(str, *-1*) !=0) /*found*/fputs( 2, fw); fputs(*n*, fw);gets(str);)void ReadText(FILE *fr) char str 81;printf(*nRead file and output to screen :n*);fgets(str,81, fr);while( !feof(fr) ) /*found*/printf 3);fgets

11、(str, 81, fr);)答案:2 str 3 str【解析】本题考核点为:文件的读写函数等。题中第一个空填*fw: fw是一个文件指针,从键盘上读入数据,输入其所指向的文件中。题中第二空填str: fputs函数向文件中写数据,其函数原型为:fputs(ch, fp)其中ch是要输出的字符,它可以是一个字符 常量,也可以是一个字符变量。fp是文件指针变量。题中第三个空填str: printf函数的一般格式为:printf(格式控制,输出表列)1、“格式控制”是用双引号括起来的字符串,也称转换控制字符串:它包括两种信息:格式说明:由飞”和格式字符组成,如%山%f等。它的作用是将输出的数据转

12、换为指定的格式输出。格式说明总是由4“字符开 始的。普通字符,即需要原样输出的字符。2、“输出表列”:是需要输出的一些数据,可以是表达式。6、给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值是1,失败时返回值 为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。#include int fun(char *source, char *target) FILE *fs, *ft; char ch;/*found*/i f (fs=fopen (source, 1 _) =NULL)return 0;if(ft=fopen(target, w)=NULL)return 0;printf(*nThe data in file :n);ch=fgetc(fs);/*found*/while (!feof(2) putchar( ch );/*found*/fputc(ch,3);ch=fgetc(fs);)fclose(fs); fclose(ft);printf(*nn*);return 1;)mainO char sfname20 =*myf ilei*, tfname20=*

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

当前位置:首页 > 商业/管理/HR > 商业计划书

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