《2022年辽宁省铁岭市全国计算机等级考试C语言程序设计测试卷(含答案)》由会员分享,可在线阅读,更多相关《2022年辽宁省铁岭市全国计算机等级考试C语言程序设计测试卷(含答案)(37页珍藏版)》请在金锄头文库上搜索。
1、2022年辽宁省铁岭市全国计算机等级考试C语言程序设计测试卷(含答案)学校:_ 班级:_ 姓名:_ 考号:_一、单选题(20题)1.字符串”a+b=12n”的长度为()。A.6 B.7 C.8 D.92. 以下选项中不属于字符常量的是A.C B.C C.xCC D.0723.若有以下定义和语句:char s 10=abcd!,*s2=nl23;Drintf(%d%dn,strlen(sl),strlen(s2);则输出结果是()。A.5 5 B.10 5 C.10 7 D.5 84. 下列叙述错误的是( )。A.函数名是属于用户标识符,需符合C语言对标识符的规定B.形参只能是变量C.为保证程序
2、的正常运行,函数中定义的变量不能与其他函数中的变量同名D.函数中定义的变量可以与其他函数中的变量同名5.6.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为()。A.顺序表 B.用头指针表示的循环单链表 C.用尾指针表示的循环单链表 D.单链表7. 已有定义:char a=xyz,b=x,y,z;,以下叙述中正确的是( )。A.数组a和b的长度相同 B.a数组长度小于b数组长度 C.a数组长度大于b数组长度 D.以述说法都不对8.函数filecopy的功能是,将fin所指文件中的内容输出到fout所指文件中,但函数不完整:void filecopy( FILE *fin, FIL
3、E *fout)char ch;ch=getc(fin);while(_)putc(ch,fout);ch=getc(fin);其中下划线处应填入的是()。A.! feof(fin) B.! feof(fout) C.feof(fin)=1 D.feof(fout)=19.设有如下函数定义:#include stdio.hint fun(int k) if (k1) return 0;else if(k= 1) return 1;else return fun(k-1)+1;若执行调用语句“n=fun(3);”,则函数fun总共被调用的次数是()。A.2 B.3 C.4 D.510.对线性表进
4、行二分法检索,其前提条件是()。A.线性表以顺序方式存储,并按关键码值排好序B.线性表以顺序方式存储,并按关键码的检索频率排好序C.线性表以链式方式存储,并按关键码值排好序D.线性表以链式方式存储,并按关键码的检索频率排好序11. 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入3个整数分别赋给变量a、b、c的语句是 _。A.scanf(%d %d %d,&a,&b,d);B.scanf(%d %d %d,&a,&b,&d);C.scanf(%d %d %d,a,b,d);D.scanf(% d% d%d,a,b,*d);12.将线性表中的结点信息组织成平衡的二叉树,其优点之
5、一是总能保证任意检索长度均为log2n量级(n为线性表中的结点数目)()A.对 B.错13.下列叙述中,正确的是()A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令14.有以下程序:#includeMain()int b33= 0.1,2.0,1,2.0.1.2, i, j, t=1;for(i=0; i3; i+)for(j=i; j=i; j+ +)t+ =bibji;printf(“%dn”, t);程序运行后的输出结果是( )。A.3 B.4 C.1 D.915.有以下程序#includevo
6、id fun(int P)int d=2;P=d+;printf(“d”,P);main( )int a=1;fun(A);prinff(“dn”,A);程序运行后的输出结果是A.32 B.12 C.21 D.2216.假设在程序中a、b、c均被定义成整型,所赋的值都大于1,则下列能正确表示代数式1/abc的表达式是()。A.1.0/a*b*c B.1/(a*b*c) C.1/a/b/(float)c D.1.0/a/b/c17.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为()A.2和
7、4 B.1和5 C.4和2 D.5和118.表达式a*(-b+c)的逆波兰式是()A.ab-+c* B.abc-+* C.a*b-c+ D.ab-c+*19. 程序设计的任务包括( )。A.编写程序代码并上机调试 B.确定所用数据结构 C.确定所用算法 D.以上选项均正确20.下列程序的输出结果是( )。#includeint b=2:int func(int*a) b+=*a;return b;main int a=1,t=2;t+=func(a):printf(dn,t);A.4 B.5 C.6 D.8二、2.填空题(20题)21. 通常,将软件产品从提出、实现、使用维护到停止使用退役的过
8、程称为【 】。22. 有一个已排好序的数组,今输入一个数,要求按原来的顺序规律将它插入到数组中。算法是:假设排序顺序是从小到大,对输入的数,检查它在数组中哪个数之后,然后将比这个数大的数顺序后移一个位置,在空出的位置上将该数插入。请在程序中的空白处填上一条语句或一个表达式。#define N 100main() float aN+1,x;int i,p;for(i=0;iN;i+)scanf(%f&ai);scanf(%f,&x);for(i=0,p=N;iN;i+)if(xai)【 】;break;for(i=N-1;【 】;i-)ai+1=ai;ap=x;for(i=0;【 】;i+) p
9、rintf(%8.2f,ai);if(i%5=0)printf(n);23. 设变量已正确定义为整型,则表达式n=i=2,+i,i+的值为【 】。24. 数据的物理结构在计算机存储空间中的存放形式称为数据的【 】。25. 函数pi的功能是根据以下近似公式求值:(*)/6=1+1/(2*2)+1/(3*3)+.+1(n*n)现在请你在下面的函数中填空,完成求的功能。#include math.h double s=0.0; long i;for(i=1;i=n;i+)s=s+【 】;return(sqrt(6*S);26. 表达式1/2*(int)3.7/(int)(2.4*(1.5+2.5)值
10、的数据类型为 _。27. 若有定义doublea 5;,则a数组元素下标的上限为_。28. 以下程序中,fun()函数的功能是求3行4列二维数组每行元素中的最大值,请填空。void fun(int,int,int(*)4,int*);main() int a34=12,41,36,28,19,33,15,27,3,27,19,1,b3,i;fun(3,4,a,b);for(i=0;i3;i+)printf(%4d,bi);printf(n);void fun(int m,int n,int ar4,int *br) int i,j,x;for(i=0;im;i+) x=ari0;for(j=0
11、;jn;j+) if(xarij)x=arij;_=x;29. 以下程序的输出结果是【 】。fun(int x,int y,int z) z =x*x+y*y;main() int a=31;fun(6,3,a)printf(%d,a)30. 在结构化分析使用的数据流图(DFD)中,利用【 】对其中的图形元素进行确切解释。31. 在C语言中,字符的比较就是对它们的【 】码进行比较。32. 以下程序的功能是:将输入的正整数按逆序输出。例如:若输入135则输出531。请填空。#include main() int n,s;printf(Enter a number : ); scanf(%d,&n
12、);printf(Output: );do s=n%10; printf(%d,s);【 】;while(n!=0);printf(n);33. 以下程序的输出结果是( )。#includestdio.hmain()fint x=0;sub(&x,16,2);printf(%dn,x);sub(int*a,int n,int k)if(k=n) sub(a,n/2,2*k);*a+=k;34. 设有下列宏定义:#define A 2#define B (A+3)则执行赋值语句“k=B*20;”(k为int型变量)后,k的值是_。35. 软件开发过程中所使用的资源一般包括:【 】、软件资源和硬件
13、资源。36. 模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块。其中【 】的作用是模拟被测试模块的下层模块。37. 下面程序将二维数a的行和列元素互换后存放另一个二维数组b中。请填空。main() int a 23=1,2,3,4,5,6;int b32, i,j;printf(array an);for(i=0;i=1;i+)for(j=0;【 】;j+) printf(%5d,aij);【 】;printf(n);printf(array b:n);for(i=0;【 】;i+) for(j=0;j=1;j+)printf(%5d,bij);printf(n);38. 下列程序的运行结果为【 】。void average();main() float score34=65,67,70,60,80,87,90,81,90,99,100,99;average(*score,12);void average(p,n