c语言考试题库.pdf
《c语言考试题库.pdf》由会员分享,可在线阅读,更多相关《c语言考试题库.pdf(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、大题1、在考生文件夹下的给定程序m o d i 1 4 2.c 的功能是:读入一个整数k(2 WkW1 0 0 0 0),打印它的所有质因子(即所有为素数的因子)。例如,若输入整数:2 3 1 0,则应输出:2,3,5,7,1 1,请改正程序中的语法错误,使程序能得出正确的结果。注意:不要改动m a i n 函数,不得增行或删行,也不得更改程序的结构!第1处内容侦与有点第处理6第弟强而患求建仔:内容为isPrime(int n)安防源6储果:内容/6lsPrime(int,n)第2处内容他与有点第2处建行错俣题而 来撵仔:内容处肝(n%i)安陟蹲行储果:内容为if!(n%i)本题的考核点是C
2、语言的一些基本用法以及i f 语句的使用。本题中I s P r i m e(i n t ,n )是函数的定义,变量与关键字之间不能有逗号。所以,I s P r i m e(i n t ,n)”应改为 I s P r i m e(i n t n)”。根 据 i f 语句的语法规则,i f 后的表达式必须由括号括起来。由题意看出,n 整除i时,也就是说 n%i=0 时,循环才继续进行。因此,“i f !(n%i)”应改为 i f (!(n%i)Y或相同作用的语句。本评析仅作参考。2、给定程序功能是用冒泡法对6 个字符串进行排序。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
3、注意:源程序存放在考生文件夹下的b l a n k 6.c 中。不得增行或删行,也不得更改程序的结构!第1处内容伍与荀喔第处建行第也胭而恁求建行:由客 i f(s t r c m p(*(p s t r+i),*(p s t r+j)o)安陟獴行修果:的宏 i f(s t r c m p(*(p s t r+i)1 _)0)第2处g客伍与有我第 2 以建行错今睡而盅求浮行:内容为 p s t r i =p s t r j :安陟建行储果:内容为 p s t r i =_ 2 _;第3处曲容箍笛有叁第处建仔错彳吴胭而恁求建行:为客为*(p s t r +J)=p ;安陟建行修果:内容为*(p s
4、 t r+j)=_ 3 _;首先,我们必须先读懂题中程序的大致意思,这是正确填空的重要前提。程序中的重要思想如下:1、建立了一个二维字符串数组,用于存放用户输入的6 个字符串;2、建立了一个指针数组,目的是用6 个指针分别指向6 个字符串;3、函数f u n ()的形参只有一个,即指针数组p s t r 口,这表明要想在函数f u n ()中对6个字符串进行操作,只能通过p s t r 口中的6 个指针。题中第一个空填”*(p s t r+j):观察源程序可以发现,在程序中使用s t r c m p()函数是为了判断字符串s t r i 与s t r i+l 两者的大小,在f u n ()函数
5、中只能通过指针来表达各个字符串,所以应当填*(p s t r+j)”。题中第二个空填p s t r j :对两个字符进行比较后,若p s t r i 中的字符比p s t r j 中的字符大,则将p s t r j 中的字符赋给p s t r i 题中第三个空填”p :对两个字符进行比较后,若p s t r i 中的字符比p s t r j 中的字符大,则将p s t r j 和p s t r i 的内容进行交换。本评析仅作参考3、在考生文件夹下的给定程序m o d i8 3.c 中,函数f u n 的功能是:计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x
6、 和y 的值不等,z 和y 的值不等。例如,当x 的值为9、y 的值为1 1、z 的值为1 5 时,函数值为-3.5 0。请改正程序中的错误,使它能得出正确结果。注意:不要改动m a in 函数,不得增行或删行,也不得更改程序的结构!第1处内容伍与有彳吴第1处嬷行错和胭而患求建行:内容 value=FU(a+b).(a-b)+FU(c+b),(cb);实陟掾行修果:内容 value=FU(a+b,a-b)+FU(c+b.cb);第2处内容值与有族第2让修行给弟胭而座求建行:内容为return(value);安陟建行62果:由 容Return(Value);本题着重考察考生对C语言中自定义语句以
7、及基本语法的掌握情况。本题中的第一个错误:如果按照原程序中的语句调用自定义语句,那么value=a+b/a-b+c+b/c-b,/运算高于+运算,很显然不符合题意,a+b应作为一个整体传递给m,需为其加括号,所以程序中语句value=FU(a+b,a-b)+FU(c+b,c-b)应改为value=FU(a+b),(a-b)+FU(c+b),(c-b)或相同作用的语句。本题中的第二个错误:C语言中,命令单词应为小写,所以程序中语句Return(Value);应改为return(value);”或相同作用的语句。本评析仅作参考。4、给定程序的功能是:根据整型形参n,计算如下公式的值。1 1 1A1
8、=1,A2=-,A3=-,.,An=-1+Al 1+A2 1+An-1例如,若n=10,则应输出:0.618056c请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的blank22.c中。不得增行或删行,也不得更改程序的结构!第1处内容修与有点第处操6错弟题而惠求港仔:内容乃float A=1;int i;安陟源行62果:内宏为 flo atA=_1_:inti;第2处内容伍与有点第 2处建行错篌 而 求 豫:内 容 为 fo r(i=1;i=n:i+)实陟掾行传果:的容为 for(i=1:i=num)实陟源行储果:由 容 while(t=n
9、um)第2处g岩伍”有点第 2处理行错篌施而患来建行:内容为 t=s*l/n;安舔掾行修果:内容为 t=s%n;首先,我们必须先读懂题中程序的大致意思,这是发现并改正程序中错误的重要前提。程序中的重要思想如下:1、用题中提供的公式求”的近似值,直到最后一项的绝对值小于指定的数(参数nu m)为止;2、在题中必须使用求分数绝对值的函数。本题的第一个错误:在函数中的wh i le循环中,条件明显不对,应当改为 wh i le (fa b s(t)=nu m)”,这样才能保证循环结束的条件为最后一项的绝对值小于指定 的数(参数nu m);本题的第二个错误:在函数循环中求分数值的语句 t=s%n;中错
10、误使用了号,在C语言中%是求余运算符,而我们的目的是为了进行除运算,所以,该语句应当改为“t=s/n;本评析仅作参考。6、给定程序中,函数fu n的功能是:有N XN矩阵,根据给定的m (m =N)值,将每行元素中的值均右移m个位置,左边置为0。例如,N=3,m=2,有下列矩阵1 2 34 5 67 8 9程序执行结果为0 0 10 0 40 0 7请在程序的卜划线处填入正确的内容并把卜划线删除,使程序得出正确结果。注意:源程序存放在考生文件夹下的b l a n k 5 0.c中。不得增行或删行,也不得更改程序的结构!第1处内容修与有点第处操6错弟巡而彦求蹲行:内容为 for(i=0;iN;i
11、+)安陟源行治果:的宏为for(i=0;iN:_1_)第2处内容伍与有点第2处建行错篌而求豫巧:卤客为-tij+m=tij:实陟掾行传果:内容为压皿+_2_=t皿业第3处内容箍与有和第处掾行错胭而廖求建6:内容为for(j=0;j /6for(j=0:J _ 3 _:j+)本题的考核点是C语言中的循环嵌套语句的使用。解题思路:使用嵌套循环,外循环是行循环,内循环是列循环,这样可以对整个数组中的元素进行符合条件的运算。题目要求将每行元素中的值均右移m个位置,左边置为0,所以首先要使用f o r语句将每行元素中的值均右移巾个位置,再将左边置为0。本评析仅供参考。7、在考生文件夹下的给定程序m o
12、d i 8 6.c中,函数f u n的功能是:求出以下分数序列的前n项之和。和值通过函数值返回m a i n函数。2 3 5 8 1 3 2 1,.1 2 3 5 8 1 3例 如,若n=5,则应输出:8.3 9 1 6 6 7 请改正程序中的错误,使它能得出正确结果。注意:不要改动m a i n函数,不得增行或删行,也不得更改程序的结构!第1处内容慑与有镁第1处獴6错分题而重求海行:内宏为double fun(n)实陟蹲方修果:内宏为fun(intn)第2处卤客他写有,吴第 处 理 行 题而技求撼行:内宏为s=s+(double)a/b;安陟建行修果:内旁为s=s+(Double)a/b;本
13、题着重考察考生对C 语言中一些简单算法的掌握情况。本题中的第一个错误:f u n 函数返回的应为f l o a t 或d o u b l e 型,所以程序中语句f u n(i n t n)应 改 为 d o u b l e f u n (i n t n)或相同作用的语句。本题中的第二个错误:C 语言中关键词应为小写,所以程序中语句 s=s+(D o u b l e)a/b;应 改 为 s=s+(d o u b l e)a/b;或相同作用的语句。本评析仅作参考。8、给定程序的功能是将未在字符串s 中出现,而在字符串t 中出现的字符,形成一个新的字符串放在U中,U中字符按原字符串中字符顺序排序,但
14、去掉重复字符。例如:当$=1 2 3 4 5,t=2 4 6 7 7”时,u 中的字符为:6 7”。请在程序的下划线处填入正确的内容并把卜划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的b l a n k 8.c 中。不得增行或删行,也不得更改程序的结构!第1处内容伍与有吸第处理行错弟趣而勇来建仔:内容为if(乜 口 =uk)break;安陟建行偌果:内容为if(ti=uk)_1_;第2处仍客伍与有点第2处理行给弟题一一来撵行:内容为uu+=ti;安陟建行错果:依 孱 为uul+=_2_;第3处内容值与花今第 3 处建仔错旗胭 而 患 求 建 行:内 容 为 u u l =,0
15、,:安 陟 獴 行 传 果:内 容 为 _ 3 _=,0/:本题考核点为字符串的查找,赋值操作。题中第一空填break;:break为跳出循环的语句。if(ti=uk)break;/z当ti=uk,即uk中的字符已经在字符指针t做指向的字符数组中存在,循环就结束。题 中 第 二 空 填 uul+=是将ti赋给uul,然后ul加1。题中第三空填uul:uul=0;,字符串的最后一个字符应该是0的。本评析仅作参考。9、在考生文件夹下的给定程序modi37.c中,函数fun的功能是:根据以下公式求n值,并作为函数值返回。n 1 1 2 1 2 3 1 2 3 4=1+X +X X +X X X +.
16、2 3 3 5 3 5 7 3 5 7 9例如,给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!第1 处 内 容 债 与 有 俣第处獴行错也题 而 忠 求 浮 行:内 容 为 七=1;安 陟 建 行 储 果:内 容 为 t=0:第2 处 内 容 值 与 有 俣第 2 处建行错旗胭 而 医 求 建 行:内 容 为 r e t u r n(s*2);安舔建行传果:也 系 为 r e t u r n(s);本题的考核点是根据公式求“值。本题中的第一个错误:变量t是用来累
17、计表达式的乘积,它的初值应为1,所以程序中的语句t=0;应改为本题中的第二个错误:由程序可知,变量s中存放的是五/2的值,而不是 的值,所以程序中的语句return(s);应改为return(s*2);”或相同作用的语句。本评析仅作参考。10、给定程序的功能是分别统计字符串中大写字母和小写字母的个数。例如,给字符串SS输入:A a a a B B b l 2 3 C C c c c c d,则输出结果应为:u ppe r =5,l o w e r =9请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的b l a n k 2 3.c 中。不得增
18、行或删行,也不得更改程序的结构!第1处 内 容 他 与 有 点第 处 操行错弟蹈 而 恚 求 建 行:为 客 为(*a)+;安 陟 建 行 德 果:内容为第2处 的 客 伍 与 有 点第 2处理行错俣强 而 直 求 理6:(为容为(、)+;安 陟 港 仔 德 果:内 容 为 _2_;第3处 内 容 值 与 存 弟第 3处 理6错和蹈 而 恚 求 建 仔:内 容 为 p r i n t f t /z n up p e r =%d l o w e r =%d n ,up p e r,l o w e r ):安 防 源6 储 果:内容/v p r i n t f(/n up p e r=%d l o
19、 w e r=%d n,z3_);本题的考核点是C 语言中输入输出函数及指针的使用。题中第一个空填”(*a)+”:程序中,a 是一个整型指针,要使a 指向的数据实现递增,则要把指针改为实际数据。同样道理,题中第二个空填”(*b)+”或相同作用的语句。题中第三个空填“up p e r,l o w e r :根据题义要求输出统计的字符串中大写字母和小写字母的个数。本评析仅作参考。11、给定程序中,函数f un 的功能是:有N X N 矩阵,根据给定的m (m =N)值,将每行元素中的值均右移m 个位置,左边置为0。例如,N=3,m=2,有下列矩阵1 2 34 5 67 8 9程序执行结果为0 0
20、10 0 40 0 7请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确结果。注意:源程序存放在考生文件夹下的blank50.c中。不得增行或删行,也不得更改程序的结构!第1 处内容侦与有点第处理6 错弟强而患求建 仔:内容为for(i=0;iN;i+)安防清6 钳 果:内容 for(i=0;iN;_1_)第2 处内容他与有点第2处建行错俣泡而直求建6:内容为tij+m=tij;安 陟蹲行偌果:内容为tij+_2_=tij;第3 处内容值与有 吴第处理存错吸强而患求建 仔:内容为for(j=0;jm;J+)安防清6 德 果:内 for(j=0;j_3_;j+)12、给定程序的功能是
21、对a数组中n个人员的工资进行分段统计,各段的人数存到b数组中:工资为1000元以下的人数存到b0中,工资为1000到1999元的人数存到bl,工资为2000到2999元的人数存到b 2 ,工资为3000到3999元的人数存到b3,工资为4000到4999元的人数存到b 4 ,工资为5000到5999元的人数存到b 5中。例如,当a数组中的数据为:900、1800、2700、3800、5900、3300、2400、7500、3800,调用该函数后,b中存放的数据应是:1、1、2、3、0、2,请在程序的卜划线处填入正确的内容并把卜划线删除,使得程序得出正确的结果。注意:源程序存放在考生文件夹下的b
22、lank26.c中。不得增行或删行,也不得更改程序的结构!第1 处内容伍与有吸第处建行第也胭而忠求建行:内容为for(i=0:i 6:H-+)bi=0;安陟獴行传果:内宏为for(i=0;i6;i+)bi=_1_:第2处内容伍与有我第2以建行第今题而医求掾行:内容为else bai/1000+;安陟建行储果:内容为_2_bai/l000+:第3处内容箍笛有饯第处操行错彳吴胭而医求建行:内容为for(i=0:i6;i+)printf(M%d .bi);安陟操6信果:依 孱 为for(i=0;i n。m!P =-n!(m-n)!例如:m=12,n=8时,运行结果为4 9 5.000000。注意:部
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 考试 题库
限制150内