《2021-2022年安徽省亳州市全国计算机等级考试C语言程序设计模拟考试(含答案)》由会员分享,可在线阅读,更多相关《2021-2022年安徽省亳州市全国计算机等级考试C语言程序设计模拟考试(含答案)(68页珍藏版)》请在金锄头文库上搜索。
1、2021-2022年安徽省亳州市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:_ 班级:_ 姓名:_ 考号:_一、单选题(20题)1. 下列有关格式输入函数scanf的叙述中正确的是 ( )A.输入项可以是C语言中规定的任何变量,并且在任何变量前必须加地址符号“&”B.可以只有格式控制项,没有地址列表项C.在输入数据时,必须规定精度。如:scanf(%4.2f,&d) ;D.当输入数据时,必须指明变量地址2.3.以下说法错误的是()。A.散列法存储的思想是由关键字值决定数据的存储地址B.散列表的结点中只包含数据元素自身的信息,不包含指针C.负载因子是散列表的一个重要参数,它反映了散列
2、表的饱满程度D.散列表的查找效率主要取决于散列表构造时选取的散列函数和处理冲突的方法4. 若有double a;,则正确的输入语句是( )。A.scanf(%1f,a);B.scanf(%f,&a);C.scanf(%1f,&a)D.scanf(%1e,&a);5.广义表(a,b,c,d)的表尾是()。A.a B.(a) C.(b,c,d) D.(b,c,c)6.字符串通常采用的两种存储方式是()A.散列存储和索引存储 B.索引存储和链式存储 C.顺序存储和链式存储 D.散列存储和顺序存储7. 计算机硬件组成中,CPU包含_。A.控制器和存储器 B.控制器和运算器 C.控制器、运算器和存储器
3、D.内存储器和外存储器8.以下叙述错误的是()。A.算术运算符中不包含“=”运算符B.模运算符“%”是c语言基本的算术运算符C.算术运算符中只有“*”、“/”优先级高于关系运算符D.自加和自减运算符只能用于变量,而不能用于常量或表达式9.下列能正确进行字符串赋值的是()。A.char s5=ABCDE;B.char s5=A,B,C,D,E;C.char*S;S=ABCDE;D.char*s;printf(%,s);10.下列定义数组的语句中错误的是()。A.int x23=1,2,3 ,4,5,6;B.int x 3=0;C.int x 3=1,2,3,4,5,6;D.int x23=1,2
4、,3,4,5,6;11.12.已定义c为字符型变量,则下列语句中正确的是()。A.c=97 B.c=97 C.c=97 D.c=a13.14.C语言可执行程序的开始执行点是()。A.包含文件中的第一个函数 B.程序中第一个函数 C.程序中的main()函数 D.程序中第一条语句15. 下列关于线性链表的描述中正确的是( )。A.存储空间不一定连续,且各元素的存储顺序是任意的B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且各前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的16.有以下程序:执行后的结果是()。A.7 B.3 C.2
5、 D.017.有以下程序:#includemain() int a=0,b=0,c=0;c=(a=a=5);(a=b,b+=4);printf(%d,%d,%dn,a,bc);程序运行后的输出结果是()。A.0,4,5 B.4,4,5 C.4,4,4 D.0,0,018.有以下程序:程序运行后的输出结果是()。A.1.000000 B.0.000000 C.0.250000 D.0.50000019. 下列选项中,当x为大于1的奇数时,值为0的表达式是( )。A.x%2=1 B.x/2 C.x%2!=0 D.x%2=020.在一个单链表HL中,若要在指针q所指结点的后面插入一个由指针p所指向的
6、结点,则执行_。A.q一next=p一next;p一next=q;B.q一next=p一next;p一next=q;C.p一next=q一next;q=p;D.p一next=q一next;q一next=p;二、2.填空题(20题)21. 下面程序的功能是输出数组中最大的数,由a指针指向该元素。请填空。main()int s6,7,2,13,9,1,12,10,5,8,4,3,11,*a,*b;for(bs,as;b-s13;b+)if(【 】)ab;printf(%d,*a) ; 22.下面程序的运行结果是_。#includestdio.hmain() int y,a;y=2,a=1;whil
7、e(y-!=-1)doa*=y;a+;while(y-);printf(%d,%d,a,y);23. 算法的复杂度主要包括空间复杂度和_复杂度。24. 以下程序运行后的输出结果是( )。main()int m=011,n=11;printf(%d%dff,+m,n+);25. 算法的基本特征是可行性、确定性、【 】和拥有足够的情报。26. 排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、_和选择排序。27. 关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、_和自定义完整性。28. 以下程序用来输出结构体变量ex所占存储单元的字节数,请填空。struct st cha
8、r name20;double score;main() struct st ex;printf(ex size:%dn,sizeof(【 】);29. 以下涵数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。#define N 4void rotade(int aN,int bN) int i,j;for(i=0;iN;i+) biN-1=【 】;【 】=aN-1i;30. strcat函数的作用是【 】。31. 某二叉树中度为2的节点有18个,则该二叉树中有(
9、)个叶子节点。32. 源程序文档化要求程序应加注释。注释一般分为序言性注释和【 】注释。33. 以下程序的输出结果是【 】。main()int p7=11,13,14,15,16,17,18;int i=0,j=0;while(i7&pi%2=1)j+=pi+;printf(%dn,j);34. 以下程序的输出结果是_。void fun() static int a=0;a+=2;printf(%d,a);main() int cc;for(cc=1;cc4;cc+)fun();printf(n);35. 在算法正确的前提下,评价一个算法的两个标准是空间复杂度和( )。36. 数据库设计分为以
10、下6个设计阶段:需求分析阶段、_、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。37. 以下程序的输出结果是_。#include stdio.hvoid swap(int *a, int *b) int *t;t=a;a=b;b=t;main( ) int i=3,j=5,*p=i,*q=j;swap(p,q); printf(%d %dn,*p,*q);38. 在长度为n的线性表中查找一个表中不存在的元素,需要的比较次数为【 】。39. 常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示_,用带空心圆的箭头表示传递的是数据。40. 在树形结构中,树根结点没有_。
11、三、1.选择题(20题)41. 有以下程序 float fun(int x, int y) returnx+ y); main() int a=2,b=5,c=8; printf(%3.ofn,fun(int)fun(a+ c, B) ,a-C) ); 程序运行后的输出结果是A.编译出错 B.9 C.21 D.942. 设有定义:char*c;,以下选项中能够使字符型指针c正确指向一个字符串的是( )。A.charstr=string;c=str;B.scanf(%s,C);C.c=getchar();D.char str=string;strcpy(C,str)43. 在下列选项中,不是一个
12、算法一般应该具有的基本特征的是( )。A.确定性 B.可行性 C.无穷性 D.拥有足够的情报44. 设a=12,a定义为整型变量。表达式a+=a-=a*=a的值为_。A.12 B.144 C.0 D.13245. 设函数中有整型变量a,为保证其在未赋初值的情况下初值为0,应选择的存储类别是( )。A.static B.register C.auto D.auto或register46. 按条件f对关系R进行选择,其关系代数表达式为A.B.C.D.47. 执行下列程序后,输出的结果是( )。 #includestdio.h #define S(X)X*X void main() int a=9,
13、k=3,m=2; a/=S(k+m)/S(k+m); printf(%d,a); A.1 B.4 C.9 D.048. 以下叙述中错误的是( )。A.C语句必须以分号结束B.复合语句在语法上被看做一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句49.下列叙述中正确的是()。A.软件测试应该由程序开发者来完成B.程序经调试后一般不需要再测试C.软件维护只包括对程序代码的维护D.以上三种说法都不对50. 有以下程序: main() int m, n, p; scanf(m=% dn=% dp=% d, &m, &n, &p); printf(% d % d % dn, m, n, p); 若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是_。A.m=123n=456p=789B.m=123 n=456 p=789C.m=123,n=456,p=789D.123 456 789