2022全国计算机二级C语言考前冲刺试卷

上传人:积*** 文档编号:111579311 上传时间:2022-06-21 格式:DOCX 页数:23 大小:32.46KB
收藏 版权申诉 举报 下载
2022全国计算机二级C语言考前冲刺试卷_第1页
第1页 / 共23页
2022全国计算机二级C语言考前冲刺试卷_第2页
第2页 / 共23页
2022全国计算机二级C语言考前冲刺试卷_第3页
第3页 / 共23页
资源描述:

《2022全国计算机二级C语言考前冲刺试卷》由会员分享,可在线阅读,更多相关《2022全国计算机二级C语言考前冲刺试卷(23页珍藏版)》请在装配图网上搜索。

1、计算机级别考试二级C语言考前冲刺试卷 一、选用题某些一、选用题(1)算法有穷性是指A)算法程序运营时间是有限B)算法程序所解决数据量是有限C)算法程序长度是有限D)算法只能被有限顾客使用(1)【答案】A)【解析】算法有穷性,是指算法必要能在有限时间内做完,即算法必要能在执行有限个环节之后终结。(2)下列论述中对旳是A)算法就是程序B)设计算法时只需要考虑数据构造设计C)设计算法时只需要考虑成果可靠性D)以上三种说法都不对(2)【答案】D)【解析】所谓算法是指解题方案精确而完整描述。是一组严谨地定义运算顺序规则,并且每一种规则都是有效,且是明确,此顺序将在有限次数下终结。算法不等于程序,也不等于

2、计算措施。设计算法时不仅要考虑对数据对象运算和操作,还要考虑算法控制构造。(3)数据存储构造是指A)存储在外存中数据B)数据所占存储空间量C)数据在计算机中顺序存储方式D)数据逻辑构造在计算机中体现(3)【答案】D)【解析】在对数据进行解决时,各数据元素在计算机中存储关系,即为数据存储构造。(4)下列描述中对旳是A)一种逻辑数据构造只能有一种存储构造B)数据逻辑构造属于线性构造,存储构造属于非线性构造C)一种逻辑数据构造可以有多种存储构造,且多种存储构造不影响数据解决效率D)一种逻辑数据构造可以有多种存储构造,且多种存储构造影响数据解决效率(4)【答案】D)【解析】数据逻辑构造是指数据集合中各

3、数据元素之间所固有逻辑关系;数据存储构造是在对数据进行解决时,各数据元素在计算机中存储关系。数据存储构造是指数据逻辑构造在计算机中体现,一种逻辑构造可以体现到多种存储构造;而采用不同存储构造,其数据解决效率是不同。(5)下列数据构造中,属于非线性构造是A)循环队列B)带链队列C)二叉树D)带链栈(5)【答案】C)【解析】根据数据构造中各数据元素之间先后件关系复杂限度,一般将数据构造分为两大类:线性构造和非线性构造。循环队列、带链队列和带链栈都是线性构造,而二叉树是非线性构造。(6)下列描述中对旳是A)线性链表是线性表链式存储构造B)栈与队列是非线性构造C)双向链表是非线性构造D)只有根结点二叉

4、树是线性构造(6)【答案】A)【解析】线性表链式存储构造称为线性链表。线性表链式存储构造基本单位称为存储结点,每个存储结点波及数据域和指针域两个构成某些。各数据元素之间先后件关系是由各结点指针域来批示,指向线性表中第一结点指针HEAD称为头指针,当HEAD=NULL时称为空表。栈、队列和双向链表是线性构造,树是一种简朴非线性构造。在树这种数据构造中,所有数据元素关系具有明显层次特性。二叉树是非线性构造。线性构造和非线性构造是从数据逻辑构造角度来讲,与该数据构造中有多少个元素没有关系,虽然是空二叉树也是非线性构造。(7)下列有关栈论述对旳是A)栈按“先进先出”组织数据B)栈按“先进后出”组织数据

5、C)只能在栈底插入数据D)不能删除数据(7)【答案】B)【解析】栈是限定在一端进行插入和删除线性表,容许进行插入和删除元素一端称为栈顶,另一端称为栈底。栈是按照“先进后出”原则组织数据。(8)支持子程序调用数据构造是A)栈B)树C)队列D)二叉树(8)【答案】A)【解析】栈是一种限定在一端进行插入与删除线性表。在主函数调用子函数时,要一方面保存主函数目前状态,然后转去执行子函数,把子函数运营成果返回到主函数调用子函数时位置,主函数再接着往下执行,这种过程符合栈特点。因此一般采用栈式存储方式。(函数调用、体现式求值、数值转换、括号匹配检查、递归调用)(9)下列有关线性链表论述中,对旳是A)各数据

6、结点存储空间可以不持续,但它们存储顺序与逻辑顺序必要一致B)各数据结点存储顺序与逻辑顺序可以不一致,但它们存储空间必要持续C)进行插入与删除时,不需要移动表中元素D)以上都不对旳(9)【答案】C)【解析】线性表链式存储构造称为线性链表。在链式存储构造中,存储数据构造存储空间可以不持续,各数据结点存储顺序与数据元素之间逻辑关系可以不一致,而数据元素之间逻辑关系是由指针域来拟定。(10)下列论述中对旳是A)线性表链式存储构造存储空间一般要少于顺序存储构造B)线性表链式存储构造与顺序存储构造存储空间都是持续C)线性表链式存储构造存储空间可以是持续,也可以是不持续D)以上都不对旳(10)【答案】C)【

7、解析】线性表存储分为顺序存储和链式存储。在顺序存储中,所有元素所占存储空间是持续。而在链式存储方式中,将存储空间每一种存储结点分为两某些,一某些用于存储数据元素值,称为数据域;另一某些用于存储下一种元素存储序号,称为指针域。因此线性表链式存储方式比顺序存储方式存储空间要大某些。(11)如下论述中错误是A)C程序通过编译、连接环节之后才干形成一种真正可执行二进制机器指令文献B)用C语言编写程序称为源程序,它以ASCII代码形式存储在一种文本文献中C)C语言中每条可执行语句和非执行语句最后都将被转换成二进制机器指令D)C语言源程序经编译后生成后缀为.obj目旳程序(11)【答案】C)C语言中非执行

8、语句例如宏定义命令,在预编译之后替代到代码中,该命令自身也就不存在了,不会转换成二进制机器指令。由高档语言编写程序称为“源程序”,把由二进制代码体现程序称为“目旳程序”。C语言编写源程序就是一ASCII形式存储在文本文献中。C源程序通过C编译程序编译之后生成一种后缀为.obj二进制文献(称为目旳文献),然后由称为“连接程序”(Link)软件,把此.obj文献与C语言提供多种库函数连接起来生成一种后缀为.EXE可执行文献。(3)有如下程序#include main() int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf(%d,%dn,s,

9、t); 在VC6平台上编译运营,程序运营后输出成果是A)4,4B)2,4C)4,8D)10,6(3)【答案】C)核心字sizeof用于测试不同类型变量所占内存空间,返回所占字节数。在VC编译系统中,整型变量占用4个字节内存空间,而双精度型变量占用8个字节内存空间。(13)如下四个程序中,完全对旳是A)#include main(); /*/ Programming /*/ printf(programming!n);B)#include main() /* programming */ printf(programming!n);C)#include main() /*/* programmi

10、ng */*/ printf(programming!n);D)include main()/* programming */printf(programming!n);(13)【答案】B)在选项A)中,main()函数背面分号是错误,C语言在函数名背面不能有分号。在C语言中注释内容必要放在“/*”和“*/”之间,“/*”和“*/”必要成对浮现,按语法规定在注释之间不可以再嵌套“/*”和“*/”。在选项C)程序段中注释语句之间有嵌套;因此选项C)不对旳。C语言用#include命令行来实现文献涉及功能。#include命令行形式为:#include “文献名”,因此在选项D)中include前

11、面少了一种#符号,因而选项D)不对旳。(14)如下选项中不合法标记符是A)FORB)&aC)printD)_00(14)【答案】B)合法标记符要满足构成字符为az以及AZ,数字字符0到9和下划线,其中数字不开头,不能是核心字。选项B)中,&不属于构成字符,是错误。(15)如下选项中,合法一组C语言数值常量是A)12. 0Xa23 4.5e0B)028 .5e-3 -0xf C).177 4e1.5 0abc D)0x8A 10,000 3.e5(15)【答案】A)八进制数其开头必要是数字“0”,其数字波及07,而在选项B)中,028是错误。浮点数据指数形式体现常量中,C语言规定字母e或E之前必

12、要要有数字,且e或E之后指数必要为整数,而选项C)中4e1.5是错误。在选项D)中,整型数据10,000体现形式是错误。(16)如下定义语句中对旳是A)char A=65+1,b=b;B)int a=b=0;C)float a=1,*b=&a,*c=&b;D)double a=0.0;b=1.1;(16)【答案】A)本题考察是数据类型定义并赋值,选项B)中对变量声明类型且赋值状况是不容许浮现,必要单独定义且赋值。选项C)中对于指针变量c赋值须为同型指针,而&b为二级指针。选项D)中C语言容许在一种类型阐明符后阐明多种相似类型变量,各变量之间要用逗号(,)隔开,而不是用分号(;)隔开;在计算机存

13、储字符时将字符相应ASCII码以其相应二进制进行存储,选项A)中定义是合法。(17)若有代数式(其中e仅代表自然对数底数,不是变量),则如下可以对旳体现该代数式C语言体现式是A)sqrt(fabs(pow(n,x)+pow(x,e)B)sqrt(abs(nx+ex)C)sqrt(fabs(pow(n,x)+exp(x)D)sqrt(fabs(pow(x,n)+exp(x)(17)【答案】C)n和ex幂次方,要分别调用C语言数学库函数double pow(n,x)和double exp(x),由于这两个函数返回值都为double型,对其两者和计算绝对值,调用库函数double fabs(pow(

14、n,x)+exp(x),求出和绝对值,再调用开平方函数 double sqrt(fabs(pow(n,x)+exp(x),这样计算出成果就是题干中算术体现式值。(18)设有定义: int x=2;如下体现式中,值不为6是A)2*x,x+=2B)x+,2*xC)x*=(1+x)D)x*=x+1(18)【答案】A)本题考察逗号体现式。逗号体现式求解过程是:先求解体现式1,再求解体现式2,整个逗号体现式值是体现式2值,因而,选项A)中值为4;选项B)中,值为6。选项C)中x*=x+1 等价于x=x*(x+1),因此等于6;选项D)与选项C)等价,成果也为6。 (19)若有定义int x,y;并已对旳

15、给变量赋值,则如下选项中与体现式(x-y)?(x+) :(y+)中条件体现式(x-y) 等价是A)(x-y0)C)(x-y0)D)(x-y=0)(19)【答案】D)条件体现式形式如下:体现式1?体现式2 :体现式3。其含义为当“体现式1”值为非零时,求出“体现式2”值,此时“体现式2”值就是整个条件体现式值;当“体现式1”值为零时,则求“体现式3”值,这时“体现式3”值就是整个体现式值。本题条件体现式执行顺序是先求解体现式“x-y”值,若其值为非0(可以是正数,也可以是负数),则再求体现式“x+”值,其值就是条件体现式值;若体现式“x-y”值为0,则再求体现式“y+”值,其值就是条件体现式值。

16、(20)如下论述中对旳是A)赋值语句是一种执行语句,必要放在函数可执行某些B)scanf和printf是C语言提供输入和输出语句C)由printf输出数据都隐含左对齐D)由printf输出数据实际精度是由格式控制中域宽和小数域宽来完全决定(20)【答案】A)C语言自身没有提供输入输出语句,但是可以通过调用原则库函数中提供输入和输出函数来实现输入和输出,选项B)错误;采用printf输出数据,输出数据都默觉得右对齐,若要左对齐,可以在格式控制中“%”和宽度之间加一种“-”号来实现,选项C)错误;printf输出精度由变量类型决定,与域宽无关,选项D)错误。(21)若变量已正拟定义为int型,要通

17、过语句 scanf(%d,%d,%d,&a,&b,&c);给a赋值1、给b赋值2、给 c赋值3,如下输入形式中错误是(注:代表一种空格符)A)1,2,3 B)1,2,3C)1,2,3D)123(21)【答案】D)本题重要考察scanf函数输入格式问题。scanf函数一般形式为:scanf(格式控制字符串,地址1,地址2,);格式控制字符串是由双撇号括起来字符串,它重要由两种类型字符构成:格式阐明符由“%”和格式字符构成,如%c,%d,%s,%f等。其作用是将输入数据转换为指定格式,赋给scanf二个参量(是地址1)所指定内存单元(也许一次使用多种)中。格式阐明以“%”字符为标志。一般字符,是需

18、要顾客在输入时原样输入字符。在本题中格式控制字符串为“%d,%d,%d”,体现按十进制输入三个数据。规定在输入数据时,两个数据间一定以一种逗号“,”作为间隔符。(22)有如下程序main() int a=0,b=0,c=0,d=0;if(a=1) b=1;c=2;else d=3;printf(%d,%d,%d,%dn,a,b,c,d); 程序输出A)0,0,0,3B)1,1,2,0C)编译有错D)0,1,2,0(22)【答案】C)if语句格式为:if(体现式) 语句1else 语句2if 和else是C语言核心字。“语句1”称为if子句,“语句2”称为else子句,这些子句只容许为一条语句,

19、若需要多条语句时,则应当使用花括号括住复合语句。因而题目if(a=1) b=1;c=2;else d=3;if分支有两条语句,没构成复合语句。(23)有如下程序main() int x=1,y=0,a=0,b=0; switch ( x ) case 1:switch(y ) case 0:a+;break;case 1:b+;break; case 2:a+;b+;break;case 3:a+;b+;printf(a=%d,b=%dn,a,b); 程序运营成果是A)a=2,b=2B)a=1,b=1C)a=1,b=0D)a=2,b=1(23)【答案】D)本题考察是用switch语句实现多分支

20、选用构造,一方面进入第一种switch(x)判断,进入case 1中进行嵌套判断,如果switch(y)也成立,a自加1,遇到break,退出嵌套,接着执行case 2,a自加为2,b自加为1,遇到break,结束循环,此时a=2,b=1。 (注意:语句case 3:a+;b+;背面没有break;语句。)(24)有关“while(条件体现式)循环体”,如下论述对旳是A)循环体执行次数总是比条件体现式执行次数多一次B)条件体现式执行次数与循环体执行次数同样C)条件体现式执行次数总是比循环体执行次数多一次D)条件体现式执行次数与循环体执行次数无关(24)【答案】C)while语句中体现式是循环条

21、件,语句为循环体。while语句中当体现式计算值为真(非0)时,执行循环体语句。因而条件体现式执行次数总是比循环体多一次。(25)有关 do 循环体 while (条件体现式);如下论述中对旳是A)循环体执行次数总是比条件体现式执行次数多一次B)条件体现式执行次数总是比循环体执行次数多一次C)条件体现式执行次数与循环体执行次数无关D)条件体现式执行次数与循环体执行次数同样(25【答案】D)do-while语句先执行语句,后判断体现式值。故do-while语句又称“直到型”循环构造。由于是先执行后判断,因而do-while语句循环语句至少被执行一次,循环条件至少判断一次。(26)如下程序段中变量

22、已正拟定义 for( i=0;i4;i+,i+) for(k=l;k3;k+);printf(*);程序段输出成果是A)*B)*C)*D)*(26)【答案】D)本题考察循环语句,题中第二个(内层)for循环之后有一种分号,意思是每次循环中操作为空,不执行任何操作。再循环结束后执行printf语句,即只打出一种*。(27)有如下程序(strcpy为字符串复制函数,strcat为字符串连接函数) #include #include main() char a10=abc,b10=012,c10=xyz; strcpy(a+1,b+2); puts(strcat(a,c+1);程序运营后输出成果是A

23、)bc2yzB)a2yzC)a12xyzD)12yz(27)【答案】B)strcpy(a+1,b+2);/把b数组第3个元素开始到NULL浮现为止字符串复制给a数组第2个元素开始内存空间puts(strcat(a,c+1);/打印字符串,该字符串为a数组中字符串和c数组第2个元素开始字符串,strcat()意义为把c数组第2个元素开始字符串添加到a数组结尾。程序执行strcpy(a+1,b+2)后,字符数组a值为“a2”,再进行字符串连接strcat(a,c+1),此时字符数组a值为“a2yz”。(28)有如下程序int add (int a,int b) return (a+b);main(

24、 ) int k,(*f)( ),a=5,b=10;f=add; 则如下函数调用语句错误是A)k=add(a,b);B)k=(*f)(a,b);C)k= *f(a,b);D)k=f(a,b);(28)【答案】C)在语句“k=*f(a,b)”中,由于“()”优先级高于“*”,因此“*f(a,b);”体现其返回类型为指针带有两个整型参数函数,而不是整型数值,因而选项C)为错误调用形式。(29)有如下程序 int f(int x);main() int n=1,m;m=f(f(f(n);printf(%dn,m); int f(int x) return x*2; 程序运营后输出成果是A)1B)2C

25、)4D)8(29)【答案】D)程序考察了函数调用。对于m=f(f(f(n);一方面计算最内层函数调用f(n),执行f函数,得到返回值2,然后计算f(2),得到返回值为4,最后计算f(4),得到计算成果为8。(30)有如下程序#include fun( int a,int b ) int static m=0,i=2;i=i+m+1;m=i+a+b; return m; main() int k=4,m=1,p;p=fun( k,m);printf(%d,p);p=fun( k,m);printf(%dn,p); 程序运营后输出成果是 A)8,17B)7,16C)8,8D)7,17(30)【答案

26、】A)本题考察了静态变量以及局部变量同名问题(保存近来一次结束时值)。主函数中调用fun函数两次,第一次调用fun(4,1),形参a和b接受后来,i值为3,m值为8,调用结束返回8存储到p中并且输出p值为8,除了静态变量m和i,变量a,b撤销。第二次调用fun(4,1),接受实参值后来,i为3+8+1,而m为12+4+1,即输出函数值17。(31)如下数组定义中错误是A)int x3=0;B)int x23=1,2,3,4,5,6;C)int x3=1,2,3,4,5,6;D)int x23=1,2,3,4,5,6;(31)【答案】B)二维数组初始化有如下几种形式:分行进行初始化;不分行初始化

27、;某些数组元素初始化;省略第一维定义,不省略第二维定义。在选项A)中赋值号左边定义了一种3行2列二维数组,而右边用2行3列数字进行赋初值。因此浮现了边界越界溢出而出错。(32)如下论述中对旳是A)在C语言中,预解决命令行都以#开头B)预解决命令行必要位于C源程序起始位置C)#include 必要放在C程序开头D)C语言预解决不能实现宏定义和条件编译功能(32)【答案】A)在C语言中,但凡以“#”号开头行,都称为“编译预解决”命令行。预解决命令可以放在程序中任何位置,其有效范畴是从定义开始到文献结束。预解决命令有宏定义、文献涉及和条件编译三类。#include 命令行体现程序中要引用C原则函数库

28、中原则输入输出函数。(33)如下论述中对旳是A)在涉及文献中,不得再涉及其她文献B)#include命令行不能出目前程序文献中间C)在一种程序中,容许使用任意数量#include命令行D)虽然涉及文献被修改了,涉及该文献源程序也可以不重新进行编译和连接(33)【答案】C)#include文献涉及命令,使用时应注意如下5个规则:涉及文献#include命令行一般应书写在所用源程序文献开头,故有时也把涉及文献称作“头文献”。头文献名可以由顾客指定,其后缀不一定用“.h”。涉及文献中,一般包具有某些公用#define命令行、外部阐明或对(库)函数原型阐明。当涉及文献修改后,对涉及该文献源程序必要重新

29、进行编译连接。在一种程序中,容许有任意多种#include命令行。在涉及文献中还可以涉及其她文献。(34)设有如下函数: void fun(int n,char *s) 则下面对函数指针定义和赋值均对旳是 A)void *pf();pf=fun;B)void (*pf)(int,char*);pf=fun;C)void *pf();*pf=fun;D)void (*pf)(int,char);pf=&fun;(34)【答案】B)函数指针定义形式是:数据类型标记符(*指针变量名)( );void(*pf)( )定义了一种没有返回值函数指针pf,在给函数指针变量赋值时,只需给出函数名而不必给出参数

30、。因此给pf给赋值时,把函数名fun赋给pf即可。(35)有如下程序#includemain( ) int n,*p=NULL;*p=&n;printf(Input n:);scanf(%d,&p);printf(output n:);printf(%dn,p); 该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,如下语句对旳是A)int n,*p=NULL;B)*p=&n;C)scanf(%d,&p)D)printf(%dn,p);(35)【答案】A)选项A)体现在程序中,声明定义变量语句“int n,*p=NULL;”定义了整型变量n和指针变量p,并且指针变量p初始化为空。其她

31、语句都是错误。其中选项B),&n地址应存储到指针变量p中,而选项C)中数据输入项错误,选项D)输出地址信息。(36)有如下程序void fun ( char *s ) char a10;strcpy( a,STRING ); s = a; main() char *p=PROGRAM; fun( p );printf(%sn,p);程序运营后输出成果是(此处代表空格) A)STRINGB)PROGRAMC)STRINGD)STRING(36)【答案】B)函数fun重要功能是把字符串STRING,存储到字符数组a中,s指向该字符串,函数调用结束后来,释放s和a指向空间。主函数调用fun(p),并

32、不能更改p值,因而p指向没有变化。(37)如下论述中错误是A)可以用typedef将已存在类型用一种新名字来代表B)可以通过typedef增长新类型C)用typedef定义新类型名后,原有类型名仍有效D)用typedef可觉得多种类型起别名,但不能为变量起别名(37)【答案】B)C语言容许用typedef阐明一种新类型名,阐明新类型名语句一般形式为:typedef 类型名 标记符;在此,“类型名”必要是在此语句之前已有定义类型标记符。“标误符”是一种顾客定义标记符,用作新类型名。typedef语句作用仅仅是用“标记符”来代表已存在“类型名”,并未产生新数据类型,原有类型名仍然有效。(38)下面

33、构造体定义语句中,错误是A)struct ord int x;int y;int z;;struct ord a;B)struct ord int x;int y;int z; struct ord a;C)struct ord int x;int y;int z; a;D)struct int x;int y;int z; a;(38)【答案】B)在选项B)中,由于在定义完构造体后缺少分号“;”,因此这是一条不完整语句,因而是错误。(39)如下论述中对旳是A)打开一种已存在文献并进行了写操作后,原有文献中所有数据必然被覆盖B)在一种程序中当对文献进行了写操作后,必要先关闭该文献然后再打开,才

34、干读到第1个数据C)C语言中文献是流式文献,因而只能顺序存取数据D)当对文献读(写)操作完毕之后,必要将它关闭,否则也许导致数据丢失(39)【答案】D)在C语言中,有两种对文献存取方式;顺序存取和直接存取;如果以“a”方式对一种已打开文献进行写操作后,则原有文献中内容将保存,新数据写在原有内容之后。如果以“a+”方式为读和写而打开一种文献,则既可以对文献进行读,也可以对文献进行写,并且在读和写操作之间不必关闭文献,可以从头开始读。当对文献读(写)操作完毕之后,必要将它关闭。(40)有如下程序 #include main() FILE *pf; char *s1=China,*s2=Beijin

35、g; pf=fopen(abc.dat,wb+); fwrite(s2,7,l,pf); rewind(pf); /*文献位置指针回到文献开头*/ fwrite(s1,5,1,pf); fclose(pf);以上程序执行后abc.dat文献内容是A)ChinangB)ChinaC)ChinaBeijingD)BeijingChina(40)【答案】A)本题主考察函数fwrite使用。函数fwrite调用形式为:int fwrite(char *pt,unsigned size,unsigned n,FILE *fp);其功能是把pt所指向n*size个字节输出到fp所指文献中。在本题中fwri

36、te(s2,7,1,pf);功能是把字符串“Beijing”输入到文献abc.dat中,然后调用rewind(pf),把文献位置指针回到文献开头,再调用fwrite(s1,5,1,pf)把字符串“China”写入到文献abc.dat中,因此此时文献abc.dat内容为Chinang。上机操作题某些二、程序填空题环绕山顶一圈有N个山洞,编号为0、1、2、3、N-1,有一只狐狸和一只兔子在洞中居住。狐狸总想找到兔子并吃掉它,它寻找措施是先到第一种洞(即编号为0洞)中找;再隔1个洞,即到编号为2洞中找;再隔2个洞,即到编号为5洞中找;下次再隔3个洞;即到编号为9洞中找;。若狐狸找一圈,请为兔子指出所

37、有不安全洞号。程序中用a数组元素模仿每个洞,数组元素下标即为洞号,数组元素中值为0时,体现该洞安全,为1时体现该洞不安全。例如,当形参n值为30时,不安全洞号是0、2、5、9、14、20、27。请在程序下划线处填入对旳内容并把下划线删除,使程序得出对旳成果。注意:源程序存储在考生文献夹下BLANK1.C中。不得增行或删行,也不得更改程序构造!二、程序填空题【答案】(1)0 (2)t (3)i+t【审题分析】程序中用a数组元素模仿每个洞,数组元素下标即为洞号,数组元素中值为0时,体现该洞安全,为1时体现该洞不安全。我们一方面觉得每个洞都是安全,然后使用循环语句,按照题目所述规则,对数组a元素进入

38、解决,把不安全元素值改为1即可。【解题思路】第一空:在函数fun()中,初始觉得这些洞都是安全,因此故第一空处应填“0”。第二空:变量t用来体现狐狸每次寻找兔子间隔洞个数,其初始值应当等于1,故第二空处应填“t”。第三空:在while循环中,狐狸在第i个洞寻找兔子后,其寻找下一种洞号为i+t,即第三空处应填“i+t”。【考点链接】函数功能;while循环。三、程序修改题给定程序MODI1.C中规定输入字符串所有为字母,fun函数功能是:记录a所指字符串中每个字母在字符串中浮现次数(记录时不区别大小写),并将浮现次数最高字母输出(如果有多种相似,输出一种即可)。例如对于字符串:dadbcdbab

39、db,相应输出应为:b或d。请改正函数fun中指定部位错误,使它能得出对旳成果。注意:不要改动main函数,不得增行或删行,也不得更改程序构造。三、程序修改题答案解析【答案】 (1)bi=0;(2)bai - a+;(3)bmax bi”应改为“bmax bi”。【考点链接】字母大小比较。四、程序设计题请编写函数fun,其功能是将一种数字字符串转换成与其面值相似长整型整数。可调用strlen函数求字符串长度。例如:在键盘输入字符串2345210,函数返回长整型数2345210。注意:某些源程序存在PROG1.C中,请勿改动主函数main和其她函数中任何内容,仅在函数fun指定部位填入所编写若干

40、语句。四、程序设计题答案解析【答案】long fun( char *s ) int i,n; long t=0; n=strlen(s); for( i=0;in;i+ ) t=t*10; t=t+(si-0); return t;【审题分析】函数fun功能是将一种数字字符串转换成与其类型相似长整型整数。使用循环语句依次取出数字字符串中每一种字符,并把其转换为相相应数字,再对这个数字乘以相应数位权值,这样当循环结束时,就可以得到相应长整型整数。【解题思路】(1)运用求字符串长度函数strlen(),求出字符串s长度。(2)在for循环中将字符串s中每一种字符si转换为其相应数字,并组合成字符串s相应长整型整数。【考点链接】字符串长度函数strlen;数字组合成长整型整数。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!