全国计算机等级考试笔试模拟试卷(2)二级公共基础知识和C语言程序设计(考试时间90分钟,满分loo~)一、选择题((1)~(10)、(21)~(40)每题2分,(11)~(20)每题1分,70分)(1)下面关于算法的叙述中,正确的是( )。
‘A)算法的执行效率与数据的存储结构无关B)算法的有穷性是指算法必须能在执行有限个步骤之后终止c)算法的空间复杂度是指算法程序中指令(或语句)的条数D)以上三种描述都正确(2)下列二叉树描述中,正确的是( )。
A)任何一棵二叉树必须有一个度为2的结点B)二叉树的度可以小于2c)非空二叉树有O个或1个根结点D)至少有2个根结点(3)如果进栈序列为A,B,c,D,则可能的出栈序列是( )。
A)C,A,D,B B)B,D,C,A C)C,D,A,B D)任意月顷序(4)下列各选项中,不属于序言性注释的是( )。
A)程序标题B)程序设计者c)主要算法D)数据状态(5)下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。
A)内模式B)外模式c)概念模式D)逻辑模式(6)下列叙述中,不属于软件需求规格说明书的作用的是( )。
A)便于用户,开发人员进行理解和交流B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)作为确认测试和验收的依据D)便于开发人员进行需求分析(7)下列不属于软件工程3个要素的是( )。
A)工具B)过程C)方法D)环境(8)数据库系统在其内部具有3级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是( )。
A)外模式B)概念模式C)内模式D)存储模式(9)将E—R图转换到关系模式时,实体与联系都可以表示成( )。
A)属性B)关系C)记录D)码(10)某二叉树中度为2的结点有10个,则该二叉树中有( )个叶子结点。
A)9 B)10 C)11 D)12(11)以下叙述中正确的是( )。
A)c程序中注释部分可以出现在程序中任意合适的地方B)C程序的书写格式是固定的,每行只能写一条语句c)构成c程序的基本单位是函数,所有函数名都可以’由用户命名D)在对c语言程序进行编译时,可以发现注释行中的拼写错误(12)下面的程序在编译时产生错误,其出错原因是( )。
#include<stdio-h>main(){int l_case;float pfin~;pnntf(”请输入2个数:”);·sea~f(”%d%f.,&l_case,&printF);pdmf(”%d%舳”,l_case,printF);)A)定义语句出错,1 case不能作为变量名B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出1 case的值(13)以下不正确的转义字符是( )。
A)·\\- B)·\d.’C)’\s’D)’088’(14)下面程序的运行结果是( )。
y=5;x=14;)r=((x=3。
y,x+6),x—1);pnntff”x=%d,y=%d..,x,y);A)x=27,y=27 B)x=12,y=13 C)x=15,y=14 D)x=y=27(15)sizeof(ch扪是( )。
A)一种函数调用B)一个整型表达式C)一个字符型表达式D)一个不合法的表达式(16)下列4个程序中,完全正确的是( )。
A)#include<stdio.h> B)#include<stdio-h>main();main(){/*programming。
/{/‘/programming/‘/printf(”programming!\n”);}printff”programming!kn”);}C)#include<stdio-h>D)include<stdio,h>main() main()≈’}programming’|’| lL/*programming’fprintf(”programming!\n”);}pfintff”programming!\n”);}(17)设变量均已正确定义,若要通过scanf(”%d%c%d%c”,&al,&cl,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符x和Y。
下列所示的输入形式中正确的是(注:口代表空格字符)( )。
A)10DX[]20DY<CR> B)100X20DY<CR>C)10DX<CR>D)10X<CR>20Y<CR> 20~Y<CR>(18)两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是( )。
#include<stdio.h>main(){intx;scanf(”%d.-,&x);。
if(x++>2)printf(”%d..,x);else printf(”%d\Il”,x一);)A)4和3 B)4和2 C)4和l D)3和2(19)以下叙述中不正确的是( )。
.A)在不同的函数中可以使用相同的名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量在本函数范围内有效(20)运行下面的程序,输入字符串MicrosoftVisual Studio,则程序的执行结果是( )。
#include<stdio-h>main(){char Chr[201;.、scanf(”%s”,&Chr);pfintff”%s\Il”.Chr);) 。
A)MicrosoftVisual Studio B)MC)Microsoft D)MicrosoftVisualStudio(21)若有“double a:”,则正确的输入语句是( )。
A)scanf(”%lf’,a);B)scanf(”%f.t,&a);C)scanf(”%lf.,&a)D)scanf(”%le”,a);(22)if语句的基本形式为:if(表达式)语句,其中“表达式”( )。
A)可以是任意合法的表达式B)必须是逻辑表达式C)必须是逻辑表达式或关系表达式D)必须是关系表达式(23)若i、i已定义成int型,则以下程序段中内循环体的总执行次数是( )。
for(i=6;i>0;i一)for(j=0.j<4.j++){…} .A)20 B)24 C)25 D)30(24)以下选项中非法的字符常量是( )。
A)’\\’B)’\0201’C)’\xAA’D)’0’(25)以下程序的输出结果是( )。
#include<stdio-h>int m=13;int fun(int X,int y){intm=2;return(x0Y·m);} ‘main(){int a=7,b=6;printf(”%d.-,fun(a,b)/rn);.)A)1 B)3 C)7 D)10(26)下面程序运行后的输出结果是( )。
.群include<stdiO.h>main(){int a[5】。
{1,0,4,2,0},b[5】={1,2,3,4,5},i,s=0;for(i=0;i<5;i++)s=s+b[a[i]];printf(”%dLn”,s);(27)已知下列函数定义:’.fun(int’b,int c,int n,int data){intk;for(k=O;k<m*n;k++){*b=data;.·b++;}}则调用此函数的正确写法是(假设变量a的说明为int a[50】)( )。
、A·)fun(唯a,4,5,1);B)fun(&a,4,5,1);C)fun((int*)a,4,5,1);D)fun(a,4,5,1);(28)以下程序段的输出结果是( )。
#include<stdio-h>main0{char p【][4】={t.ABC”,”DEn”GHI”};int i;’for(i=0;i<3;i++)puts(p[i]);}A)ABCC)AB CB)A D GD)AB CD E FG H I(29)下面程序的运行结果是( )。
#include<stdio_h>#include<string.h>main0 .,{char。
sl=”abDuj”;charosE=”ABdUG”:intt;t=strcmp(s1,s2);printf(”%d.t,t);) ..A)正数B)负数C)零D)不确定的值群include<stdiO.h>main(){int a[5】。
{1,0,4,2,0},b[5】={1,2,3,4,5},i,s=0;for(i=0;i<5;i++)s=s+b[a[i]];printf(”%dLn”,s);(27)已知下列函数定义:’.fun(int’b,int c,int n,int data){intk;for(k=O;k<m*n;k++){*b=data;.·b++;}}则调用此函数的正确写法是(假设变量a的说明为int a[50】)( )。
、A·)fun(唯a,4,5,1);B)fun(&a,4,5,1);C)fun((int*)a,4,5,1);D)fun(a,4,5,1);(28)以下程序段的输出结果是( )。
#include<stdio-h>main0{char p【][4】={t.ABC”,”DEn”GHI”};int i;’for(i=0;i<3;i++)puts(p[i]);}A)ABCC)AB CB)A D GD)AB CD E FG H I(29)下面程序的运行结果是( )。
#include<stdio_h>#include<string.h>main0 .,{char。
sl=”abDuj”;charosE=”ABdUG”:intt;t=strcmp(s1,s2);printf(”%d.t,t);) ..A)正数B)负数C)零D)不确定的值C)程序运行时为结构体st分配8字节存储单元D)类型名struct st可以通过extem关键字提前引用(37)有以下程序:#include<stdio-h> .intfun(int。
妯{intb=0;b=。
k+b:return(b);} ,main(){int a[10]={1,2,3,4,5,6,7,8),i;for(i=2;i<4;i++){printf(”%d.t,‟(&a【i】))I)printf(”\ll”);‘} ,程序运行后的输出结果是( )。