2023年湖北省孝感市全国计算机等级考试C语言程序设计模拟考试(含答案).docx
《2023年湖北省孝感市全国计算机等级考试C语言程序设计模拟考试(含答案).docx》由会员分享,可在线阅读,更多相关《2023年湖北省孝感市全国计算机等级考试C语言程序设计模拟考试(含答案).docx(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年湖北省孝感市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:班级:姓名:考号:一、2.填空题(10题)1 .以下程序的输出结果是【】。#include main() int a=0 ;a+ =(a=8);printf(%dn, a);)2 .下列程序的功能是对输入的一行字符中的数字字符的字面值累加,输 出此累加和,请填空。#include #include main() char c ;int a, s=0 ;while()if(isdigit(C)a=c-0 ; s+=a ; printf(s=%d, s);)注意:部分源程序给出如下。请勿改动主函数main。和其他函数中的
2、 任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:#include #include #include void fun (int a33, int b33)()void main ()(int a33= 1,2,3,4,5,6,7,8,9int i,j;system(“CLS”);fun (a, t);for (i=0;i3;i+)(for(j=0;j # include Vconio. hW include Vstdio. h# define M 100int proc(int limt int aaf M) void main。int limiui9UTni int
3、 arrf M】isystcmC CLS) iprinJL输入一个帙人)i scanf( M %d” .a limit),sum= proc( limit arr) t for (i 01 iprintf(%5d Marri)26 .请编写函数proc (),其功能是:将str所指字符串中下标为偶数的字 符删除,串中剩余字符形成的新串放在t所指数组中。例如,当str所 指字符串中的内容为ABCDEFGHIJK (输入完成以空格、Tab或者Enter 键加任意非空格、Tab或者Enter键的一个字符作为输入结束标志),则 在t所指数组中的内容应是BDFHJ。注意:部分源程序给出如下。请 勿改动m
4、ain ()函数和其他函数中的任何内容,仅在函数proc ()的花 括号中填入所编写的若干语句。试题程序:=include V sidUbc 隹 mclude * include kdi & tncludr Rid procraid nhur()im i- 11char MfffiOOJttClOOji jiyirai4 *CIS ) i pnoeftenter ttnng Str. *e catd(wKn pror( s(tri) iprtntfC wnTTw rcuuh ib: K*n -t27 .学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数pr
5、oc,其功能是:按分数的高低排列学 生的记录,高分在前。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。试题程序:#include<stdio. h>#define M 16 typedef struct (char num10;int S;STREC:void proc(STREC a) (inti, j;STREC t;for(i=l;i+)/*用冒泡法来按从高到低排序*/for(j=0;j+)os)/*按分数的高低排列学生的记录,高分在前*/t=aj; aj=aj+l; aj+l=t;)void mainS
6、TREC stuM=nGA005% 85), nGA003n, 76,nGA002 69, nGA004%85), nGA001% 91),nGA007n,72), nGA008n, 64), nGA006% 87),nGA015n,85), nGA013% 91), nGA012H, 64),-GA014%91), nGA011% 66), nGA017n, 64,nGA018% 64), nGA016n, 72;int i;proc(stu);printf(nThe data after sorted: n);for(i=0; i<M; i+)if(i%4= =o)每行输出4个学生记
7、录printf(n);printf(%s%4d, stui,num, stui. s);)printf(n);28.请编写函数proc,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。例如,若字符串数组中的M个字符串为:ABCDBCDEFGCDEFGHI则合并后的字符串内容应该是ABCDBCDEFGCDEFGH1 o注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号 中填入所编写的若干语句。试题程序:#include#include#define M 3#define N 20void proc(c
8、har arrMN, char*b) void mainchar strMN=nABCDn, nBCDEFGn, CDEFGH1), i ;char arr100= n#n;printffThe strin9 : kn);for(i=0 ; iM ; i+)puts(stri);printf(n);proc(str, arr);printf(nThe A string : nn);printf(%S, arr);printf(nnnn);29.使用VC+2010打开考生文件夹下progl中的解决方案。此解决方案 的项目中包含一个源程序文件progl.c。在此程序中,学生的记录由学号 和成绩组成
9、,N名学生的记录已放入主函数的结构体数组s中。请编写 函数fun(),其功能是把指定分数范围内的学生记录存放在b所指的数 组中,分数范围内的学生人数由函数值返回。如输入的分数是60、69,则应当把分数在6069的学生记录输出,包 含60分和69分的学生记录。主函数中把60放在low中,把69放在 high 中。注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花 括号中填入你编写的若干语句。试题程序:#include #define N 16 typedef struct (char num10;int s;STREC;int fun (STREC
10、 * a, STREC * b, inti, int h ) void main ()(STREC sN=“GA005, 85,“GA003176 ,“GA002”,69 ,“GA004”,85, “GAOO1 ”,96, “GA007”,72, “GA008”,64, “GA006”,87, “GAO 1 5:85,“GA013194 , “GAO 12”,64 卜“GAO 14”,91 卜“GAO 11 ”,90, “GAO 17:64, “GAO18”,64,“GAO 16”, 72;STREC hN;int i, n, low, high, t;printf (Enter 2 inte
11、ger number low & high:);scanf (%d%d&low, &high);if (high low)t=high;high=low;low=t; n=fun(s,hjow, high);printf (The students data between %d%d: n low, high);for(i=0;i include Vcomo. h9 include b q include double pcocitfH m)vmd fnm() J*ClS* ipnni( 1ilXti *pw(30)i四、2.程序修改题(10题)31 .下列给定程序中,函数fun()的功能是:
12、实现两个整数的交换。例如给a和b分别输入60和65,输出为:a=65 b=60请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序;#include #include /7 7i vL* 77,7. /不不不不不不不不不不不不不ci inc不不不不不不不不不不不不不不/void fun(int a,b) int t;/ 7,7,7,7,7,7,7,7,7,7,7,。1 7,7,7,7, 7,7,7,7 7,7” 7,7,/小小小不不不不小小不不小小tci nd小不不不不小个不小不不小不不/t=b;b=a;a=t;main() in
13、t a,b; clrscr();printf(nEnter a, b: ); scanf(n%d%dn, &a,&b);fun(&a, &b);printf(na=%d b=%dn ,a,b);32 .给定程序MODH . C中函数fun的功能是:根据整型形参m的值,计算如下公式的值。. 1 1 12*2 3*3例如,若m中的值为:5,则应输出:0 . 536389。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1234567891011121314include double fun (int m) (double y - 1.0
14、 ;int -i ;/foundf 畲*/ for(i - 2 ; i m ; 1+)/found / y - 1 / (i i);return(y); main () int n 5 ;printf(wnThe result is %lfnwr fun (n);)33 . N个有序整数数列已放在一维数组中,给定下列程序中,函数fun() 的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,则 返回其下标值:反之,则返回-1。折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(low high,查找结束。请改正程序中的错误,使它能得出正确的结果。注意:不要改动ma
15、in函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #define N 10/ kL* *1* kL* vl* kI* kL* *1* vl* vl*vl* vt* *1*/不不不不不不不不不不不不不tciind不不不不不不不不不不不不不不不不不不不不不/void fun(int a,int m) int low0,high=N-l,mid;while (low =high) mid=(low+high)/2; if(m vt* kV*Kt /不不不不不不不不不不不不不tciind不不不不不不不不不不不不、不不不不不不不不/else if(m =a mid)low=mi
16、d+l;else return(mid);)return(-l);main () int i,aN=3,4,7913,24,67,89,100,180,k,m;printf (na数组中的数据如下:”); for(i=0;i =0) printf (m=%d, index=%dn”,m, k);3 .数据元素之间 的整体称为逻辑结构。4 .下面程序的运行结果是【】。main() int i=0, j=10, k=2, s=0 ;for(;) i+=k ;if(ij) printf(%dn, s);break ; s+=i ; ) 5 .以下程序运行后的输出结果是()。#define Power
17、2(x) x*x main() int i=6,j=8; printf(%dn, Power2(i+j) ; 6 .以下程序的输出结果是()。main() char*p=ABC, DEF, GHI, JKL ; inti ; for(i=3 ; i =0 ; i-, i-) printf(%c, *pi) ; 7 .设有下列的程序段;char str=Hcllo;char *ptr;ptr=str;执行上面的程序段后,*(ptr+5)的值为。else printf(HNot be found!nn);34.给定程序M0D11 . C中函数fun的功能是:先将s所指字符串中的 字符按逆序存放到t
18、所指字符串中,然后把S所指串中的字符按正序连 接到t所指串的后面。例如:当S所指的字符串为:“ABCDE时 则t所指的字符串应为:“EDCBAABCDE”。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!234567891011*include include void fun (char *sr char t) (/ round int i;si strlen(s);for (i-0; isl; i+)/found t(i ssl*i;for (i0; isl; i+)121314tsl+i = s i;t2*sl 0;151617
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 湖北省 孝感市 全国 计算机等级考试 语言程序设计 模拟考试 答案
限制150内