1、计算机等级考试笔试模拟题1及参考答案计算机等级考试笔试模拟题1一、 选择题1、 一棵二叉树上第五层的结点数最多是 A. 8 B.16 C.32 D.152、 下数据结构中不属于线性数据结构的是 A. 队列 B. 线性表 C.二叉树 D.栈3、 下列叙述正确的是 A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句的条数)C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D.以上三种描述都不对4、 下面描述中,符合结构化程序设计风格的是 A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控 制逻辑B. 模块只有一个入口,可以有多个出口C. 注
2、重提高程序的执行效率D. 不使用goto语句5、 下面概念中不属于面向对象方法的是 A. 对象 B.继承 C.类 D.过程调用6、 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶 段是 A. 可行性分析 B.需求分析 C.详细设计 D.程序编码7、 在软件开发中,下面任务不属于设计阶段的是 A. 数据结构设计 B.给出系统模块结构C. 定义模块算法 D.定义需求并建立系统模型8、 据库系统的核心是 A. 数据模型 B. 数据库管理系统 C. 软件工具 D. 数据库9、 下列叙述中正确的是 A. 数据库是一个独立的系统,不需要操作系统的支持B. 数据库设计是指设计数据库管理系统C
3、. 数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致10、下列模式中,能给出数据库物理存储结构与物理存取方法的是 A. 内模式 B.外模式 C.概念模式 D.逻辑模式11、下选项中,能定义s为合法结构提变量的是 A. typedef struct abc double a; char b10; s;B. typedef struct double a; char b10; s; C. struct ABC double a; char b10; ABC s; D. typedef ABC double a; char b10; ABC s;12、执行
4、下面程序片段的结果是 int x=23;doprintf(“%2d”,x-);while(!x);A. 打印出321 B.打印出23 C.不打印任何内容 D.陷入死循环13、在C语言中,下列个选项中,不正确的int内型的常数是 A.32768 B. 0 C. 037 D.0xAF14、以下程序的输出结果是#include void main() int i;for (i=1;i 5;i+) if(i%2) printf(“*”); else continue;printf(“#”); printf(“$n”);A. *#*#*#$ B.#*#*#*$ C.*#*#$ D.#*#*$15、以下说
5、法中正确的是 A.#define和printf都是C语句 B. #define是C语句,而printf不是C. printf是C语句,但#define不是 D. #define和printf都不是C语句16、以下程序的运行结果是 #include “stdio.h”main()int a=1,2,3,4,5,6,7,8,9,10,11,12;int *p=a+5,*q=NULL;*q=*(p+5);printf(“%d %dn”,*p,*q);A. 运行后报错 B.6 6 C.6 12 D.5 517、若定义:int a9,*p=a;并在以后的语句中未改变p的值,不能表示a1地址的表达式是 A
6、.p+1 B.a+1 C.a+ D.+p18、下列描述中不正确的是 A. 字符型数组中可以存放字符串 B.可以对字符型数组进行整体输入输出C. 可以对整型数组进行整体输入输出 D.不能直接在赋值语句中通过赋值运算“=”对字符型数组进行整体赋值19、以下程序的输出结果是 main() int n=4; while (n-)printf(“%d ”,-n);A. 2 0 B.3 1 C.3 2 1 D.2 1 020、请读程序片段(字符串内没有空格字符): printf(“%dn”,strlen(“ATSn0121”) );该程序片段的输出结果是 A. 11 B.10 C. 9 D.821、以下程
7、序的输出结果是 main() int k=17; printf(“%d,%o,%xn”,k,k,k);A. 17,021,0x11 B.17,17,17 C.17,0x11,021 D.17,21,1122、以下选项中属于C语言的数据类型是 A.复数型 B.逻辑型 C.双精度型 D.集合型23、以下程序的输出结果是 #include #include main() char str12=s,t,r,i,n,g ; printf(“%dn”,strlen(str);A.6 B.7 C.11 D.1224、若有以下的说明和语句,则在执行for语句后,*(*(pt+1)+2)表示的数组元素是 int
8、 t33,*pt3,k;for(k=0;k3;K+) ptk=&tk0;A.t20 B. t22 C. t12 D. t2125、已知字符0的ASCII码为十六进制的30,下面程序的输出是 main() union unsigned char c; unsigned int i4; z; z.i0=0x39; z.i1=0x36; printf(“%cn”,z.c);A. 6 B.9 C.0 D.326、设有static char str=“Beijing”;则执行 printf(“%dn”,strlen(strcpy(str,”China”) ) );后的输出结果为 A. 5 B.7 C.1
9、2 D.1427、请读程序#include #include main() char *s1=”AbCdEf”,*s2=”aB”; s1+; s2+; printf(“%dn”,strcmp(s1,s2) );上面的程序的输出结果是 A.正数 B.负数 C.零 D.不确定值28、下面各语句行中,能正确进行给字符串赋值操作的语句行是_。 A. char st45=ABCDE; B. char s5=A,B,C,D,E; C. char *s=ABCDE; D. char *s; scanf(%s,*s); 29、请读程序: #include f(int b,int n) int i,r; r=1
10、; for(i=0;i=n;i+) r=r*bi; return r; main() int x,a=2,3,4,5,6,7,8,9; x=f(a,3); printf(%dn,x); 上面程序的输出结果是_。A. 720 B. 120 C. 24 D. 630、语句:printf(%dn,12&012);的输出结果是_。A. 12 B.8 C.6 D.01231、C语言中,下列叙述正确的是_。A. 不能使用do-while语句构成的循环B. do-while语句构成的循环,必须用break语句才能退出C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D. do
11、-while语句构成的循环,当while语句中的表达式值为零时结束循环32、请选出可用做C语言用户标识符的一组标识符_。 void a3_b3 For 2a define _123 _abc DO define _123 _abc DOA. B. C. D. 33、以下程序的输出结果是_。main() int a=-1,b=1, k; if(+a0)&!(b-=0) printf(%d %dn,a,b); else printf(%d %dn,b,a);A. -1 1 B. 0 1 C. 1 0 D. 0 034、请选出以下程序段的输出结果_。 #include #define MIN(x,y
12、) (xy)?x:y main() int i,j,k; i=10;j=15; k=10*MIN(i,j); printf(%dn,k); A. 15 B.100 C.10 D.15035、若x是int型变量,且有下面的程序片段for(x=3;x6;x+) printf(x%2)?(*%d):(#%dn),x);上面程序片段的输出结果是_。 *3 #3 #3 *3#4 #4 *4 *4#5 *5 *5 #5A. B. C. D. 36、请选出以下程序的输出结果_。 #include sub(int *s,int y) static int t=3; y=st;t-; main( ) int a
13、=1,2,3,4,i, x=0; for(i=0;i4;i+) sub(a,x);printf(%d,x); printf(n); A.1234 B.4321 C.0000 D.444437、设有如下的程序段 char str=Hello; char *ptr; ptr=str;执行完上面的程序段后,*(ptr+5)的值为_。A. o B.0 C.不确定的值 D.o的地址38、设有以下语句 char a=3,b=6,c; c=ab2;则c的二进制值是_。A. 00011011 B. 00010100 C. 00011100 D. 0001100039、执行下面程序中的输出语句后, main()
14、 int a; printf(%dn,(a=3*5,a*4),a+5); a的值是_。A. 15 B.20 C.10 D.6040、请读程序: #include main() int a, b ; for(a = 1 , b = 1 ; a = 20) break ; if (b%3 = 1) b += 3 ; continue ; b -= 5 ; printf(%dn, a) ; 上面程序的输出结果是_。A.7 B.8 C.9 D.1042、请读程序: #include #define SUB(X,Y) (X)*Y main() int a=3, b=4; printf(%dn,SUB(a
15、+,b+) ); 上面程序的输出结果是_。A. 12 B.15 C.16 D.2043、请读程序: #include int a =2,4,6,8,; main( ) int i; int *p=a; for( i=0;i0) fun(k-1); printf(%d,k);A. 5 4 3 2 1 B. 0 1 2 3 4 5 C. 1 2 3 4 5 D. 5 4 3 2 1 045、若有以下说明和语句,请选出哪个是对c数组元素的正确引用_。int c45,(*cp)5;cp=c; A. cp+1 B. *(cp+3) C. *(cp+1)+3 D. *(*cp+2)46、有以下程序: #i
16、nclude union pw int i; char ch2; a; main() a.ch0=13; a.ch1=0; printf(%dn,a.i); 程序的输出结果是(注意:ch0在低字节,ch1在高字节)_。 A. 13 B.14 C.208 D.20947、有以下程序 main() int c; while(c=getchar() )!=n) switch(c-2) case 0: case 1: putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); default:putchar(c+2);break; 从第一
17、列开始输入以下数据: 2473,程序的输出结果是_。A. 668977 B. 668966 C. 66778777 D. 668876648、设有以下语句 char str412=aaa,bbbb,ccccc,dddddd,*strp4; int i; for(i=0;i4;i+)strpi=stri;下列选择不是对字符正确引用的是(其中0k4)_。A. strp B. strk C. strpk D. *strp49、以下程序的输出结果是_。main() int i,x33=9,8,7,6,5,4,3,2,1,*p=&x11; for(i=0;i4;i+=2) printf(%d,pi);A
18、. 52 B.51 C.53 D.9750、下面程序的输出是_。int m=13;int fun2(int x,int y) int m=3; return(x*y-m); main( ) int a=7,b=5; printf(%dn,fun2(a,b)/m);A. 1 B.2 C.7 D.1051、请读程序: #include func(int a, int b) int c; c=a+b; return c; main( ) int x=6,y=7,z=8,r; r=func(x-,y+,x+y),z-); printf(%dn, r); 上面程序的输出结果是_。A. 11 B.20 C
19、.21 D.31二、 填空题1. 如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体工人与实体设备之间存在_联系。2. 数据的逻辑结构在计算机存储空间中的存放形式称为数据的_。3. 若按功能划分,软件测试的方法通常分为白盒测试方法和_测试方法。4. 算法的复杂度主要包括_复杂度和空间复杂度。5. 关系数据库管理系统能实现的专门关系运算包括选择、连接和_。6. 若有以下定义和语句,则使指针p指向值为36的数组元素的表达式是_。int a10=19,23,44,17,37,28,49,36,*p;p=a;7. 以下程序的输出结果是_。#define MAX(x,y) (x)(y)?(x
20、):(y)main() int a = 5, b = 2,c = 3, d = 3, t; t = MAX(a + b, c + d)*10; printf(%dn, t);8. 设在主函数中有以下定义和函数调用语句。且fun函数为void型;请写出fun函数的首部_。要求形参名为b。main() double s1022; int n; . . . fun(s); . . .9. 以下程序的输出结果是_。void fun() static int a = 0; a += 2; printf(%d,a);main() int cc; for(cc = 1;cc 4; cc+) fun(); p
21、rintf(n);10. 函数pi的功能是根据以下近似n公式求n值: (n*n)/6=1+1/(2*2)+1/(3*3)+1/(n*n)请在下面的函数中填空,完成求n的功能。#include math.hdouble pi(long n) double s = 0.0; long i; for(i = 1; i =0&cha=9;a+) s=10*s+cha-0;16. 以下函数inverse的功能是使一个字符串按逆序存放。inverse(str)char str; char m; int i,j; for(i=0,j=strlen(str);istrlen(str)/2;_,j-) m=st
22、ri; stri=_; _; 17. 下列程序中字符串中各单词之间有一个空格,则程序的输出结果是_。 # include main( ) char str1 =How do you do, *p1=str1; strcpy(str1+strlen(str1)/2,es she); printf(%sn,p1); 18. 函数mycmp(char *s,char *t)的功能是比较字符串s和t的大小,当s等于t时返回0,当st返回正值,当s5|x-5 或 x5 或 abs(x)5 或 (x5)|(x-5) 或 (x5)13. 标准答案为:rewind 或 fseek 或 rewind() 或 fseek()14. 标准答案为:4,815. 标准答案为:60016. 标准答案为:i+ 或 +i 或 i=i+1 或 i+=1 与 strj-1 与 strj-1=m1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1