下载此文档

2022年湖南省怀化市全国计算机等级考试C语言程序设计真题一卷(含答案).pdf


文档分类:资格/认证考试 | 页数:约27页 举报非法文档有奖
1/27
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/27 下载此文档
文档列表 文档介绍
该【2022年湖南省怀化市全国计算机等级考试C语言程序设计真题一卷(含答案) 】是由【青山代下】上传分享,文档一共【27】页,该文档可以免费在线阅读,需要了解更多关于【2022年湖南省怀化市全国计算机等级考试C语言程序设计真题一卷(含答案) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..2022年湖南省怀化市全国计算机等级考试C语言程序设计真题一卷(含答案)学校:________班级:________姓名:________考号:________一、单选题(12题),应执行()操作。->next=s;->next=h;->next=h;h->next=s;->next=h->next;h->next=s;,文件系统的主要缺陷有数据关联差、数据不一致性和()。(){charstr[10],c='a';inti=0;for(;i<5;i++),不正确的是()。[][4]={0,1,8,5,9};[3][4]C.#defineN5floata[N][3][2][];5.:..,将IPV4分割为627672个区间,并标识了地理位置信息,区间之间无重叠,用二分查找将IP地址映射到地理位置信息,请问在最坏的情况下,需要查找多少次?()()。,(){inti;for(i=0;i<3;i++)switch(i){case1:case2:default:}}:“inta=2,b=3,c=4;”,则下列选项中值为0的表达式是()。A.(!a==1)&&(!b==0)B.(a<b)&&!c‖&&||(b+b)&&(c-a):..,通常可以把()称为属性,其值称为属性值。,ch2;,&chl,&ch2);若要为变量chl和ch2分别输入字符A和B,正确的输入形式应该是()。(){chars+=2;}执行后的结果是______。ⅡⅡ、(12题):..,它分为【】注释和功能性注释。,然后输入一串字符(用#结束输入)存放到此文件中,形成文本文件,并将字符的个数写到文件的尾部。请填空。#include<>main(){FILE*fp;charch,fname[32];intcount=0;printf(”Inputthefilename:;;if((fp=fopen(【】:;exit(0);};while((ch=getchar())!='#'){fputc(ch,fp);count++;}fprintf(【】,,count);fclose(fp);}【】。:..,类之间共享属性和方法的机制称为______。=1,b=2,则表达式!(x=A)‖(y=B)&&0的值是______。【】。main(){inta=10;},请填空。structst{charname[20];doublescore;};main(){structstex;:,sizeof(【】));}【】。#include<>main(){inta=2,b=3,c=4;:..a*=16+(b++)-(++c);,a);}:#include<>structSTU{charname[10];intnum;};voidf(char*name,intnum)num=s[0].num;strcpy(name,s[0].name);}main()p=&s[1];f(p->name,p->num);>name,p->num);}程序运行后的输出结果是【】。。,并作为函数值返回。请填空。intmystrlen(char*str){intI;for(I=0;【】!='';I++);return(I);}:..,类的实例称为______。三、(10题),函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,一维数组中的数据是:2223445666677899101010。删除后,数组中的内容应该是:2345678910。注意:。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。:..(char*ss),其功能是:将字符串ss中所有下标为偶数位置上的字母转化为大写(若该位置上不是字母,则不转换)。:..例如,若输入abc4Efg,则应输出AbC4EfG。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include<>#include<>voidfun(char*ss){}main(){chartt[51];clrscr();gets(tt);fun(tt);},函数的功能是使实型数保留2位小数,并对第三位进行四舍五入(规定实型数为正数)。例如:,;,。注意:。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。:..fun(),它的功能是:将ss所指字符串中所有下标为偶数位置的字母转换为小写(若该位置上不是字母,则不转换)。例如,若输入ABC4efG,则应输出aBc4efg。注意:部分源程序给出如下。请勿改动主函数miain和其他函数中的任何内容,仅在函数fun的花括:..试题程序:<>#include<>#include<>voidfun(char*SS){}main(){chartt[81];clrscr();characters:;gets(tt);,thestring,tt);fun(tt);,tt);}(),该函数的功能是:实现B=A+A',即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main()函数中输出。例如,输入下面矩阵:123456789:..258369则程序输出:261061014101418注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include<>#include<conio,h>voidfun(inta[3][3],intb[3][3]){}main(){inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},t[3][3];inti,j;clrscr();fun(a,t);for(i=0;i<3;i++){for(j=0;j<3;j++)}},函数的功能是求出小于或等于lim的所有素数并放在:..注意:。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。:..fun,其功能是:计算并输出给定10个数的方差:例如,、、、、、、、、、,输出为s=。注意:。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。:..2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为asdasasdfgasdaszx67asdmklo,子字符串为as,则应当输出6。注意:部分源程序给出如下。:..请勿改动主函数main和具他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include<>#include<>#include<>intfun(char*str,char*substr){}main(){charstr[81],substr[3];intn;clrscr();输入主字符串gets(str);输入子字符串gets(substr);puts(str);puts(substr);n=fun(shr,substr);}(),该函数的功能是:计算并输出S=1+(1+)+(1++)+…+(1+++…+)例如,若主函数从键盘给n输入20后,则输出为s=。注意;部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括:..号中填入所编写的若干语句。试题程序:#include<>#include<>doublefun(intn){}main(){intn;doubles;s=fun(n)}(),它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符1,则输出3。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include<>#include<>#defineM81intfun(char*ss,charc){:..}main(){chara[M],ch;clrscr();:;gets(a);:;ch=getchar();:,fun(a,ch));}四、单选题(0题),其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时()。、,队尾指针都可能要修改五、单选题(0题)()。、单选题(0题)()。:..,:文件系统所管理的数据文件基本上是分散的、相互独立的,因此相对于数据库系统,以此为基础的数据处理存在3个缺点,数据冗余大、数据的不一致性、程序与数据的相互依赖(简称为数据依赖)。注意:文件系统和数据库系统各自的特点,人工管理阶段及数据库系统三代的特点。:字符串少一个结束标志,所以输出的结果不确定。:C语言规定,对于二维数组,只可以省略第一个方括号中的常量表达式,而不能省略第二个方括号中的常量表达式:二维数组的一般定义格式是:类型说明符数组名[常量表达式][常量表达式]。。:..解析:当执行switch语句时,首先计算紧跟其后一对括号中的值,然后在语句体内寻找与该值吻合的case标号。若相等,则执行该标号后开始的各语句,包括在其后的所有case和default后的语句,直到switch语句体结束。“&&”与逻辑或运算“||”。在选项A中,因为!a=0,所以关系表达式!a=1为0,又因为逻辑与运算符“&&”两边的表达式只要一个等于零,则整个表达式为零,所以选项A正确。在选项8中,关系表达式a<b为真,表达式(a<b)&&!C为假,而表达式(a<b)&&!||1为真,所以整个表达式的值为真。选项C中,a&&b的结果为真。在选项D中,a||(b+b)&&(C-a)的结果为真。:数据库表中字段转化为属性,把记录的类型转化为关系模式。,格式控制J必须严格按照函数中的要求进行输入,在scanf('%c%c',&chl,&ch2)的格式控制语句中没有任何字符进行间隔,所以在输入时也不能使用任何字符进行间隔,所以答案选择B。:此题中s是—个字符数组,而字符数纽是在编绎时为它分配内存单元的,即此字符数组的地址在编译时是确定的,所以对此地址变量并不能赋值,故语句“s+=2;”错误,故程序出错。:注释一般分为序言性注释和功能性注释。:fopen()函数实现打开文件的功能,通常的:..调用方式为:FILE*fp;fp=fopen(文件名,使用文件方式),因此,第一个横线处要求填写要打开文件的名字fname。fprintf()函数的—般调用方式为:fprintf(文件指针,格式字符串,输出表列),所以第二个横线处应填写fp。:中序遍历方法的递归定义;当二叉树的根不为空时,依次执行如下3个操作:①按中序遍历左子树。②访问根结点。③技中序遍历右子树。根据遍历规则来遍历本题中的二叉树。首先遍历F的左子树,同样按中序遍历。先遍历C的左子树,即结点A,然后访问C,接着访问C的右子树,同样按中序遍历C的右子树,先访问结点B,然后访问结点D,因为结点D没有右子树,因此遍历完C的右子树,以上就遍历完根结点F的左子树。然后访问根结点F,接下来遍历F的右子树,同样按中序遍历。首先访问E的左子树,E的左子树为空,则访问结点E,然后访问结点E的右子树,同样按中序遍历。首先访问G的左子树,即H,然后访问结点G,最后访问G的右子树P。以上就把整个二叉树遍历一遍,中序遍历的结果为ACBDFEHGP。因此,划线处应填入“ACBDFEHGP”。:在面向对象的程序设计方法中,某些属性和方法是可以共享的,由于类从父类中继承而来,这样提高了软件的可重用性。:根据运算符的运算顺序可知,该表达式最后运算的是与(&&)运算,而任何表达式与“0”进行“与”运算,结果都为0。=14a=14解析:逗号表达式的值是以逗号分隔的最后一个表达式的值。所以题目中的语句a=(3*5,a+4);就等价于a=a+4;。故本题输出结果:..是a=14。:结构体类型数据,其数据成员各自占据不同的存储空间,整个结构体变量所占存储单元的字节数为每一个数据成员所占的存储空间的和。注意:共用体变量所占存储单元字节数的计算。:a*=16+(b++)-(++c)等价于a=a*(16+(b++)-(++c)),b++的值为3,++c的值为5,这里要注意前缀++和后缀++的用法。:f函数中形参1用的是显式传地址的方式,因此p->name的值发生改变,而形参2用的传值的方式,在调用时不改变实参的值,因此p->num的值不发生变化。。便于插入和删除操作。解析:为了克服顺序表中插入和删除时需要移动大量数据元素的缺点,引入了链式存储结构。链表表示线性表的突出优点是插入和删除操作方便,不必移动数据元素,执行效率高。23.*(str+I)或str[I]*(str+I)或str[I]解析:str是指针变量,它指向字符型数据,在循环过程中,可以用*(str+I)来访问字符串中的第I个元素,判断是否为结束标志,如果不是,I=I+1,继续取下一个元素进行判断,直到*(str+I)的值为'\0'为止,也可以用下标的方式引用字符,如*(str+I)相当于str[I]。:类描述的是具有相似性质的一组对象。例如,每本具体的书是一个对象,而这些具体的书都有共同的性质,它们都属于更一般的概念“书”这一类对象。一个具体对象称为类的实例。:..:该程序功能是删去一维数组中所有相同的数,使之只剩一个。解题思路是,首先在函数中定义临时变量指向每一个元素,然后在循环过程中将临时值和其他元素进行比较,如果相同,那么跳过相同字符。(char*ss){inti;for(i=0;[i]>='a'&&ss[i]<='z')/*将ss所指字符串中所有下标为偶数位置的字母转换成大写*/ss[i]==ss[i]-32;}/*大写字母比相应的小写字母的ASCII码值小32*/}voidfun(char*ss){inti;for(i=0;ss[i]!='\0';i++){if(i%2==0&&ss[i]>='a'&&ss[i]<='z')/*将ss所指字符串中所有下标为偶数位置的字母转换成大写*/ss[i]==ss[i]-32;}/*大写字母比相应的小写字母的ASCII码值小32*/}解析:从C语言的学****中我们知道,只要将小写字母减去32则转换成大写字母,将大写字母加上32则转成小写字母,该程序使用if语句实现该功能转换的。:该程序功能是进行四舍五入。:..其中,通常求实数x保留m位小数,首先将x扩大10(m+1)倍,扩大后的x加上5后,进行截取判断,最后进行恢复。(char*ss){inti;for(i=0;将ss所指字符串中所有下标为偶数位置的字母转换为小写*/if(i%2==0&&ss[i]>='A'&&ss[i]<='z')ss[i]=ss[i]+32;}voidfun(char*ss){inti;for(i=0;ss[i]!='\0'i++)/*将ss所指字符串中所有下标为偶数位置的字母转换为小写*/if(i%2==0&&ss[i]>='A'&&ss[i]<='z')ss[i]=ss[i]+32;}解析:从C语言的学****中我们知道,只要将小写字母减去32则转成大写字母,将大写字母加上32则转成小写字母。该程序是用if语句实现该功能转化的。(inta[3][3]intb[3][3]){intij;for(i=0;i<3;i++)for(j=0;j<3;j++)b[i][j]=a[i][j]+a[j][i];/*把矩阵a加上a的转置存放在矩阵b中*/}voidfun(inta[3][3],intb[3][3]){inti,j;for(i=0;i<3;i++)for(j=0;j<3;j++)b[i][j]=a[i][j]+a[j][i];/*把矩阵a加上a的转置,存放在矩阵b中*/}解析:在《线性代数》里面有矩阵转置的概念,行列数相等的二维数组的转置就是行列互换。即转置后的第i行第j列正好对应原矩阵的第j行第i列。若要将矩阵a转置后还存入a中可用程序:inti,j,t;for(i=0;i<N;i++)for(j=i;j<N;j++){t=a[i][j];a[i][j]=a[j][i];a[j][ii=t;}注意第2个循环的初值。:..若要将矩阵a转置后存入c中:inti,j;for(i=0;i<N;i++)for(j=0;j<N;j++)c[i][j]=a[j][i];注意数组c和a的下标。:该程序功能是求一定范围内的素数。素数是只能被1和自身除尽的数。判断i是不是素数最简单的方法就是用2~(i/2)去除i,只要能除尽就不是素数。:该程序功能是计算并输出给定10个数的方差。解题思路是,根据题干中给出的方差公式首先计算出x’的值,然后计算根号里面的值,最后求其平方根。如果一个长度为2的子字符串在主字符串中出现一次则j+1如此循环*/if(str[i]==substr[0]&&str[i+1]==substr[1])j++;returnj;/*返回子字符串:..j=0;for(i=0;str[i+1]!='\0';i++)/*如果一个长度为2的子字符串在主字符串中出现一次,则j+1,如此循环*/if(str[i]==substr[0]&&str[i+1]==substr[1])j++;returnj;/*返回子字符串在主字符串中出现的次数*/}解析:该题中subsu只有两个字符,所以可以用if语句来直接进行判断。要注意if())中str组的下标为i和i+1,即比较当前字符及其以后的一个字符是否分别与substr中的字符对应相同,若都相同则表示出现了一次。(intn){inti;doubles==;for(i=1;i<=n;i++){s1=s1+pow();/*求每—项*/s=s+s1;/*按公式求出s*/}returns;}doublefun(intn){inti;doubles=,s1=;for(i=1;i<=n;i++){s1=s1+pow(i,);/*求每—项*/s=s+s1;/*按公式求出s*/}returns;}解析:我们先用数学的思路读懂该程序,并用1个字符表示“()”内的值。在本程序中用s1来表示题中每个小括号内的值,(它还是1),,,…,依次类推。函数pow(x,y)的功能是求出x的y次方,该函数已在库函数<>中定义(即可直接使用)。要程序中用s来表示总的结果,每1次循环加1次s1即加1项。(char*sscharc){inti=0;求出ss所指字符串中指定字符的个数*/returni;}intfun(char*ss,charc){inti=0;for(;*ss!='\0';ss++)if(*ss==c)i++;/*求出ss:..解析:从字符串ss中找出子字符串的方法是:从第1个字符开始,对字符串进行遍历:若ss串的当前字符等于t串的第1个字符,两字符串的指针自动加1,继续比较下一个字符;若比较至字符串的结尾,则跳出循环;若“串的字符和c串的字符不对应相同,则继续对,s串的下一个字符进行处理。本程序是采用逐一比较的方式找出出现的次数。循环的作用是在串中从左到右逐一走动,if()的作用是进行判断是否相同,:软件生命周期分为软件定义、软件开发及软件运行维护3个阶段。本题中,详细设计、软件编码和软件测试都属于软什开发阶段;维护是软件生命周期的最后一个阶段,也是持续时间最长,,降低维护的代价。,选项A正确;break语句除了用于switch语句,还可以用于循环语句中,选项B、C错误;switch语句不一定需要使用default语句,选项D错误。本题答案为A选项。

2022年湖南省怀化市全国计算机等级考试C语言程序设计真题一卷(含答案) 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数27
  • 收藏数0 收藏
  • 顶次数0
  • 上传人青山代下
  • 文件大小2.88 MB
  • 时间2024-03-25