国家二级C语言程序设计机试(选择题)模拟试卷2
(总分80,考试时间90分钟)
1. 选择题
1. 下列叙述中正确的是( )。
滚动条颜调节A. 一个算法的空间复杂度大,则其时间复杂度也必定大
B. 一个算法的空间复杂度大,则其时间复杂度必定小
C. 一个算法的时间复杂度太,则其空间复杂度必定小
D. 算法的时间复杂度与空间复杂度没有直接关系
2. 下列叙述中正确的是( )。
A. 循环队列中的元素个数随队头指针与队尾指针的变化而动态变化
B. 循环队列中的元素个数随队头指针的变化而动态变化
C. 循环队列中的元素个数随队尾指针的变化而动态变化
D. 以上说法都不对
3. 一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是( )。
A. 1,2,3,A,B,C B. C,B,A,1,2,3
C. C,B,A,3,2,1 D. 1,2,3,C,B,A
4. 一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为( )。
A. 219 B. 229
C. 230 D. 231
weblogic最新版本是多少5. 对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为( )。
A. 9 B. 10
C. 45 D. 90
6. 下列各项中,对对象概念描述正确的是( )。
A. 对象间的通信靠消息传递 B. 对象是名字和方法的封装体
C. 任何对象必须有继承性 D. 对象的多态性是指一个对象有多个操作
7. 下列各项中,不属于软件设计阶段任务的是( )。
A. 软件总体设计 B. 算法设计
C. 制订软件并确认测试计划 D. 数据库设计
8. 一般情况下,当对关系R和S进行自然连接时,要求R和s含有一个或者多个共有的( )。
A. 记录 B. 行
C. 属性 D. 元组
9. 下列各项与栈结构有关联的是( )。
A. 数组的定义域使用 B. 操作系统的进程调度
C. 函数的递归调用 D. 选择结构的执行
10. 有两个关系R和T如下:则由关系R得到关系T的操作是( )。
A. 选择 B. 交
formaterrorC. 投影 D. 并
11. 有以下定义:struct data{int i;char c;double d;} x;以下叙述中错误的是( )。
A. x的内存地址与x.i的内存地址相同
B. struct data是一个类型名
C. 初始化时,可以对x的所有成员同时赋初值
D. 成员i、c和d占用的是同一个存储空间
12. 以下函数的功能是计算a的n次方并作为函数值返回: double fun(double a,int n) { int i;double s=1.0; for(i=1;i<=n;i++) s=——; return s: }为实现上述功能,函数中下画线处应填入的是( )。
A. s*i B. s*a
C. s+i*i D. s+a*a
13. 有以下程序: #include #include main() { char str[]={“Hello Beijing”; printf(“%d,%d\n”,strlen(str),sizeof(str)); }程序的运行结果是( )。
A. 13,13 B. 13,14
C. 13,15 D. 14,15
14. 若有说明: typedef struct{ int a;char c; } }w;则以下叙述正确的是( )。
A. 编译后系统为w分配5个字节 B. 编译后系统为w分配6个字节
C. 编译后系统为w分配58个字节 D. 编译后系统不为w分配存储空间
15. 以下叙述中错误的是( )。
A. 同一个数组中所有元素的类型相同
B. 不可以跳过前面的数组元素,给后面的元素赋初值0
C. 定义语句:int a[10]={0};,给a数组中所有元素赋初值0
D. 若有定义语句:int a[4]={1,2,3,4,5};,编译时将忽略多余的初值
16. 若有以下定义: struct tt{ char name[10];char sex; }aa={" aaaa”,,F’},*P=&aa;则错误的语句是( )。
A. scanf(“%C”,aa.sex);
B. aa.sex=getchar();
C. printf(“%c\n”,(*P).sex);
D. printf(“%c\n”,P一>sex);
17. C语言编译程序的功能是( )。
A. 执行一个C语言编写的源程序
B. 把C源程序翻译成ASCIⅡ码
C. 把C源程序翻译成机器代码
D. 把C源程序与系统提供的库函数组合成一个二进制执行文件
18. 有以下程序: #include int fun(int n) { if(1n return fun(n一1)+n; else return 0;}main(){ prinff(“%d\n”,fun(3));}程序的运行结果是( )。
A. 4 B. 5
C. 6 D. 7
19. 有以下程序:#includemain(){ int sum=0,x=5; d0{sum+=x;} while(!一一x); printf(“%d\n”,sum);}程序的运行结果是( )。
A. 0 B. 5
C. 14 D. 15
20. 有以下程序:#include#includetypedef struct{char name[9];char sex;float score[2];}STU;void f(STU*a) { strcpy(a一>name,“Zhao”); a一>sex=‘m’; a一>score[1]=90.0; } main() { STU c={“Qian”,'f',95,92.0},*d=&c; f(d); prinff(“%s,%c,%2.Of,%2.of\n”,d一>name,c.ex,c.score[0],c.score[1]); }程序的运行结果是( )。
A. Qian,f,95,92 B. Zhao,f,95,90
C. Zhao,m,95,90 D. Zhao,f,95,92
21. 关于C语言程序的下列说法中,正确的是( )。
A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 函数的定义不可以嵌套,但函数的调用可以嵌套
C. 函数的定义和调用均不可以嵌套
D. 函数的定义和调用均可以嵌套
22. 执行以下程序段后,s的值为( )。 int a[]={1,2,3,4,5,6,7,8,9},s=0,k; for(k=0;k<8;k+=2) s+=*(a+k); prinff(“%d\n”,s);
A. 13 B. 16
C. 17 D. 45
23. 有以下程序:#include#define M 5#define f(x,y)x*y+Mmain(){ int k; k=f(2,3)*f(2,3); printf(“%d\n”,k);}程序的运行结果是( )。
A. 22 B. 41
C. 100 D. 121
24. 有以下程序:#includemain(){ char ch='Z'; ch=(ch一'A'+1)%26+'A'; putchar(ch); prinff(“\n”);}程序的运行结果是( )。
A. Z B. Y
C. B D. A
25. 有以下程序:#includemain(){ int i,j,k,a=5,b=6; i=(a==b)?++a:一一b; j=a++;k=b; printf(“%d,%d,%d\n”,i,j,k); }程序的运行结果是( )。
A. 7,6,5 B. 5,5,5
C. 7,5,5 D. 5,6,5
26. C语言程序中,若函数无返回值,则应该对函数说明的类型是( )。
A. int B. double
C. char D. void
27. 有以下程序: #include main() { int k,n=0;char e,str[]=“teach”; for(k=0;str[k];k++) { c=str[k]; switch(k) { case 1: case j: case 5:putchar(c);printf(“%d”,++n);break; default:putchar('N'); } } printf(“\n”); }程序的运行结果是( )。
A. Nel NN B. e1 a2e3
C. NelNc2N D. NalNNNN
28. 有以下程序: #include void fun(char(*P)[6]) { int 1; for(i=0;i<4;i++) printf(“%c”,P[i][i]); prinff(“\n”); } main() { char S[6][6]={.“ABCD”,“abcde”,“12345”,“FGHIJ”,“fghij”,“54321”}; fun(s); }程序的运行结果是( )。
A. Aal F B. Ab3I
C. ABCD D. fghij
29. 设变量x为long int型,并已正确赋值,以下表达式中能将x的百位上的数字提取出的是( )。
A. x/10%100 B. x%10/100
C. x%100/10 D. x/100%10inputbox分段函数
一次性吃了14片舍曲林冒泡排序代码c语言30. 有以下程序: #include #define N 4 void fun(int a[][N],int b[]) { int i; for(i=0;i<N;i++) b[i]=a[i][N一1一i]; } main() { int X[N][N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},Y[N],i; fun(x,y); for(i=0;i<N;i++) prinff(“%d,”,y[i]); printf(“\n”); }程序的运行结果是( )。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论