《2021-2022年宁夏回族自治区固原市全国计算机等级考试C语言程序设计》由会员分享,可在线阅读,更多相关《2021-2022年宁夏回族自治区固原市全国计算机等级考试C语言程序设计(111页珍藏版)》请在金锄头文库上搜索。
1、2021-2022年宁夏回族自治区固原市全国计算机等级考试C语言程序设计学校:_ 班级:_ 姓名:_ 考号:_一、单选题(20题)1. 以下叙述正确的是A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循环体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出时,只能使用goto语句2.3.采用邻接表存储的图的广度优先遍历算法类似于二叉树的()。A.A.先序遍历 B.中序遍历 C.后序遍历 D.按层遍历4.若串S1=ABCDEFG,S2=9898,S3=#,S4=012345,执行其结果为()。A.ABC#
2、G0123 B.ABCD#2345 C.ABC#G1234 D.ABCD#12345.6.下列程序的输出结果是()。A.13579 B.48579 C.48549 D.489997.判断有向图是否存在回路,利用()方法最佳。A.求关键路径 B.求最短路径 C.拓扑排序 D.广度优先遍历8.有以下程序:main char a=a,b;printf(c,+a);printf(cn,b=a+):)程序运行后的输出结果是( )。A.b,b B.b,c C.a,b D.a,c9. 下列叙述中正确的是()。A.算法就是程序 B.设计算法时只需要考虑数据结构的设计 C.设计算法时只需要考虑结果的可靠性 D.
3、以上3种说法都不对10.有以下程序#includeint f(int x,int y)return()y-x)*x);main()int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c);printf(“%dn”,d);程序运行后的输出结果是A.10 B.9 C.8 D.711.有以下结构体说明、变量定义和賦值语句:struct STD char name10; int age; char sex; s5, *ps; ps=&s0;则下列scanf函数调用语句有错误的是()。A.scanf(“%s”, s0.name);B.scanf(“%d”, &s0.age);C.scanf
4、(“%c”, &(ps-sex);D.scanf(“%d”, ps-age);12.下面的哪一个保留字不能作为函数的返回类型()。A.void B.int C.new D.long13.用数组r存储静态链表,结点的next域指向后继,工作指针j指向链中结点,使j沿链移动的操作为()。A.j=rj.next B.j=j+1 C.j=j-next D.j=rj-next14. 有如下程序段: int a10=1,2,3,4,5,6,7,8,9,10; int *p=&a3,b;b=P5;则b的值是( )。A.5 B.6 C.9 D.815.若已定义inta,则表达式a=10,a+10,a+的值是(
5、)。A.20 B.10 C.21 D.1116.对n个元素的数组进行(),其平均时间复杂度和最坏情况下都为O(nlogn)。A.希尔排序 B.快速排序 C.堆排序 D.选择排序17.若有语句“typedef struct S int g; char h; T;”,则下列叙述中正确的是()。A.可用S定义结构体变量 B.可用T定义结构体变量 C.S是struct类型的变量 D.T是struct S类型的变量18.有以下程序:#includemain()int b33=(0,1,2,0,1,2,0,1,2,i,j,t=l;for(i=0;i3;i+)for(j=1;jnext;while(p)s+
6、=p-data; p=p-next; return(s); 30. 以下程序运行后的输出结果是【 】。main()int p=30;printf(%dn,(p/30?p/10:p%3);31. 以下程序运行后的输出结果是_。void swap(int x,int y) int t;t=x;x=y;y=t;printf(%d %d ,x,y);main() int a=3,b=4;swap(a,b);printf(%d %dn,a,b);32. 在计算机软件系统的体系结构中,数据库管理系统位于用户和【 】之间。33. 以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调
7、用ftell函数返回当前文件的具体位置,从而确定文件长度,请填空。FILE*myf;long fl;myf=【 】 (test.t,rb”);fseek(myf,() SEEK_END) ;fl+ftell(myf);fclose(myf);printf(%ldn,fl);34. 有以下程序:main() int n=0,m=1,x=2;if(!n) x-=1;if(m) x-=2;if(x) x-=3;printf(%dn,x);执行后输出的结果是【 】。35. 以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data
8、域不放数据,表空的条件是ph-next=NULL),请填空。#includestruct list int data; struct list *next;struct list*creatlist() struct list *p,*q,*ph;int a;ph=(struct list *)malloc (sizeof(struct list);p=q=ph;printf(Input an integer number; entre-1 to end:n);scanf(%d,&a);while(a!=-1) p=(struct list*)malloc(sizeof(struct list
9、);【 】=a;q-next=p;【 】=p;scanf(%d,&a);p-next=0;return(ph);main()struct list * head; head=creatlist();36. 设有下列程序:#includestdio.h#includestring.hmain() int i;char s10,t10;gets(t);for(i=0;i2;i+) gets(s);if(strcmp(t,s)0)strcpy(t,s);printf(%sn,t);程序运行后,从键盘上输入(CR代表回车符):CDEFCRBADEFCRQTHRGCR,则程序的输出结果是 _。37. 以下程序的输出结果是_。void fun() static int a=0;a+=2;printf(%d,a);main() int cc;for(cc=1;cc4;cc+)fun();printf(n);38. 执行以下程序后的输出结果是【 】。main() int a=10;a=(3*5,a+4); printf(a=%dn,a);39. 在程序设计阶段应该采取_和逐步求精的方法,把一个模块的功能逐