2021年陕西省铜川市全国计算机等级考试C语言程序设计预测试题(含答案).docx
《2021年陕西省铜川市全国计算机等级考试C语言程序设计预测试题(含答案).docx》由会员分享,可在线阅读,更多相关《2021年陕西省铜川市全国计算机等级考试C语言程序设计预测试题(含答案).docx(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2021年陕西省铜川市全国计算机等级考试 C语言程序设计预测试题(含答案)学校:班级:姓名:考号:一、单选题(12题)1 .对一个算法的评价,不包括()方面的内容。A.健壮性和可读性B.并行性C.正确性D.时空复杂度2 .软件调试的目的是oA.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能3 .以下程序的输出结果是0。#includevoidmain ()intx=10, y=10;printfx-, -y);)4 .阅读以下程序及对程序功能的描述,其中正确的是#include main() FILE*in, *out; charch, infile10, outfile10;pri
2、ntfEntcr the infilc name: n);scanf(s”,infile);printffEnter the outfile name: n);234567891011include #include double fun (double eps)main ()( double x;void NONO ();printf(Input eps:w);scanf(w%lf6x); printf(neps %lfr PI-%lfn, xr fun(x);NONO O ;1213141516void NONO ()(/*本函数用于打开文件,输入数据,调用函 ft.输出数据,关闭文件.*
3、/FILE *fp, *wf ; int i ;17181920212223242526double x ;fp fopen(in.dat, Hrw);wf - fopen(out.datrw);for(i - 0 ; i 10 ;(fscanf(fpr&x);fprintf(wf, %lfnwr fun(x);)fclose(fp);fclose(wf);27.请编写一个函数int fun (int *s, int t, int *k),用来求出数组的最小元素在数组中的下标并存放在k所指的存储单元中。例如,输入如下整数:234 345 753 134 436 458 100 321 135
4、760则输出结果为6, 100。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include #include int fun(int *s, int t, int *k)( main()(intall0=234, 345, 753, 134, 436, 458,100, 321,135, 760), k ;clrscr();fun(a, 10, &k);printf(n%dr %dn,1 k, ak);28 .请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的 值和它所在的下标,最大的值和它所在的
5、下标通过形参传回。数组元素 中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存 放最大值所在元素的下标。注意:部分源程序存在文件PROG1 . C文件中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。12345678910111213141516171819202122232425262728tinclude finclude void fun (int a (, int n , int *maxr int *d) main ()(int i, x(20, max , index, n , 10; voi
6、d NONO ();for (i0;i n;i*) (xi - rand() %50; printf(M%4dwr x(i);printf(nw);fun (x, n , &max, Aindex);printf (wMax -%5d , Index -%4dnr max, index);NONO();void NONO ()(/*本函数用于打开文件,输入数据,调用函 数,输出数据,关闭文件.*/FILE *fp, *wf ;int i, x 20, max, index, n-10, j;fp fopen(in.dat,r);wf fopen(out.datrWw);for(i 0 ; i
7、10 ; i+)(for (j - 0 ; j n ; j+) fscanf (fp, -%d,”, 4x(j);fun(x, n , &max, 6index);fprintf(wf,Max%d,Index%dnr max, index);)fclose(fp);fclose(wf);29 .请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9 整除的所有自然数的倒数之和。例如,在主函数中从键盘给n输入20后,输出为:s=0. 583333o注意:要求n的值不大于100。部分源程序在文件PROG1. C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括 号中
8、填入你编写的若干语句。23456789101112131415161718192021222324linclude double fun(int n)NONO()请在此函数内打开文件.愉入IN试数据. 调用fun函数.辎出数据,关闭文件./FILE *rf, *wf; int n, 1; double s; rf - fopen(win.datH,wrw);wf fopen(wout.datw,Hww); for(i 0 ; i main O int n; double s; printf(wnlnput n:scanf(%dwr(n); s-fun(n); printf(Hnns-%fnr
9、s);NONO O;30.假定输入的字符串中只包含字母和*号。请编写函数fun(),它的功 能是:使字符串中前部的*号不得多余n个;若多余n个,则删除多余 的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不 删除。例如,字符串中的内容为*A*BC*DEF*G*,若n的值为2, 删除后,字符串中的内容则应当是*A*BC*DEF*G* ;若n的值 为4,则字符串中的内容仍为*A*BC*DEF*G*。n的值在主函 数中输入。在编写函数时,不得使用C语言提供的字符串函数。 注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括 号中填入所编写的若干语
10、句。试题程序:#include #include void fun (char Aa, int n)(main () char sl81;int n;printf (Enter a string : n);gets (s);printf (Enter n : ); scanf (H%dM, &n);fun( s,n );pnntf(MThe string after deleted :nM);puts (s); 31.下列程序定义了 NxN的二维数组,并在主函数中自动赋值。请编写 函数fun(intaWN,intn),该函数的功能是:使数字右上半三角元素中的 值乘以mo例如,若m的值为2, a
11、数组中的值为a=l 927则返回主程序后a数组的值应为2 182 14注意:部分源程序给出如下.请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括 号中填入所编写的若干语句。试题程序:#include #include #include #define N 5int fun(int a N, int m) 1 main() int aN N,m, i, j;clrscr ();printf *The array*n”);for (i=0; i N; i+)/*输出一个随机的5x5矩阵*/ for(j=0;j =3); /*产生一个上于3的随机数*/ printf (m=%4dn
12、, m);fun (a,m);printf(nTHE RESULTnH);for (i=0; i N; i+)for(j=0;j N;j+)printf(,%4d,ai j); printf(,nH); 32 .编写程序,实现矩阵(3行3歹(J)的转置(即行列互换)。例如,若输入下面的矩阵:100 200 300400 500 600700 800 900则程序输出:100 400 700200 500 800300 600 900注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include #include
13、int fun (int array33) ( main() ( intij;int array 33= 100,200,300,400, 500,600,700,800,900);clrscr();for(i-0;i3;i+)for(j=0;j 3;j+)printf(n%7d n,arrayi jJ);printf(nn );)fun(an-ay);printf(Converted array:n );for(i=0;i3;i+) for (j=O;j 3;j+)printf(M%7d H,arrayi|j);printf(nn );) )33 .请编写一个函数intfun(int*s,i
14、ntt,int*k),用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。例如,输入如下整数:876 675 896 101 301 401 980 431 451 777则输出结果为6,980。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include #include int fun(int *s,int t,int *k)main() (int aflO= 876,675,896,101,301,401,980,431,451,777 ,k;clrscr();fun(a, 10, &k);p
15、rintf(n%d, %dn ,k, ak); )34 .请编写函数fun,函数的功能是:统计各年龄段的人数。N个年龄通 过调用随机函数获得,并放在主函数的age数组中;要求函数把。至9 岁年龄段的人数放在d0中,把10至19岁年龄段的人数放在把 20至29岁年龄段的人数放在d中,其余依此类推,把100岁(含100) 以上年龄的人数都放在仇10中。结果在主函数中输出。注意:部分源程序在文件PROG1 . C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括 号中填入你编写的若干语句。2345678910111213141516171819202122232425262728
16、29 30四、linclude tdefine N 50 define M 11 void fun(int *a, int *b)double rnd() static t-29,c217,m1024,r0;r-(r*t+c)%m;return(double)r/m);)main ()( int age(N, i, dM);void NONO (int dM);for(i0; iN;agei- (int) (115Tnd();printf (The original data :nw);for(i0;iN;i+) printf(i+1)%10-0?w%4dn: N%4dN,age(i);pri
17、ntf(HnnH);fun(age, d);for(i0; i10;i+)printf (w%4d%4d : %4dnri*10,i*10+9rdi);printf(Over 100 : %4dnwrd10); NONO(d);)void NONO(int dM)/*请在此函数内打开文件,输入测试数据, 调用fun函数,输出数据,关闭文件.*/FILE *wf ; int i ;wf - fopen(out.datwrww);for (i - 0 ; i 10 ; i+) fprintf (wf, %4d%4d : %4dnw, i*10, i*10+9r di);fprintf(wfr Ov
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2021 陕西省 铜川市 全国 计算机等级考试 语言程序设计 预测 试题 答案
限制150内