2014年全国计算机等级考试二级C语言笔试真题 |
第1题:下列关于栈叙述正确的是() A.栈顶元素最先能被删除 B.栈顶元素最后才能被删除 C.栈底元素永远不能被删除 D.以上三种说法都不对 |
【单选题】: |
第2题:列叙述中正确的是() A.有一个以上根结点的数据结构不一定是非线性结构 B.只有一个根结点的数据结构不一定是线性结构 C.循环链表是非线性结构 D.双向链表是非线性结构 |
【单选题】: |
第3题:某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)() A.3 B.4 C.6 D.7 |
【单选题】: |
第4题:在软件开发中,需求分析阶段产生的主要文档是() A.软件集成测试计划 B.软件详细设计说明书 C.用户手册 D.软件需求规格说明书 |
【单选题】: |
第5题:结构化程序所要求的基本结构不包括() A.顺序结构 B.GOTO跳转 C.选择(分支)结构 D.重复(循环)结构 |
【单选题】: |
第6题:下面描述中错误的是() A.系统总体结构图支持软件系统的详细设计 B.软件设计是将软件需求转换为软件表示的过程 C.数据结构与数据库设计是软件设计的任务之一 D.PAD图是软件详细设计的表示工具 |
【单选题】: |
第7题:负责数据库中查询操作的数据库语言是() A.数据定义语言 B.数据管理语言 C.数据操纵语言 D.数据控制语言 |
【单选题】: |
第8题:一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是() A.1:1联系 B.1:m联系 C.m:1联系 D.m:n联系 |
【单选题】: |
第9题:有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是() A.自然连接 B.交 C.除 D.并 |
【单选题】: |
第10题:定义无符号整数类为UInt,下面可以作为类UInt实例化值的是() A.-369 B.369 C.0.369 D.整数集合{1,2,3,4,5} |
【单选题】: |
第11题:计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是() A.C语言程序仅可以编译执行 B.C语言程序仅可以解释执行 C.C语言程序既可以编译执行又可以解释执行 D.以上说法都不对 |
【单选题】: |
第12题:以下叙述中错误的是() A.C语言的可执行程序是由一系列机器指令构成的 B.用C语言编写的源程序不能直接在计算机上运行 C.通过编译得到的二进制目标程序需要连接才可以运行 D.在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件 |
【单选题】: |
第13题:以下选项中不能用作C程序合法常量的是() A.1,234 B.'\123' C.123 D."\x7G" |
【单选题】: |
第14题:以下选项中可用作C程序合法实数的是() A..1e0 B.3.0e0.2 C.E9 D.9.12E |
【单选题】: |
第15题:若有定义语句:inta=3,b=2,c=1;,以下选项中错误的赋值表达式是() A.a=(b=4)=3; B.a=b=c+1; C.a=(b=4)+c; D.a=1+(b=c=4); |
【单选题】: |
第16题:有以下程序段 charname[20]; intnum; scanf("name=%snum=%d",name;&num); 当执行上述程序段,并从键盘输入:name=Lilinum=1001<回车>后,name的值为() A.Lili B.name=Lili C.Lilinum= D.name=Lilinum=1001 |
【单选题】: |
第17题:if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是() A.必须是逻辑值 B.必须是整数值 C.必须是正数 D.可以是任意合法的数值 |
【单选题】: |
第18题:有以下程序 #include main() {intx=011; printf("%d\n",++x); } 程序运行后的输出结果是() A.12 B.11 C.10 D.9 |
【单选题】: |
第19题:以下程序 #include main() {ints; scanf("%d",&s); while(s>0) {switch(s) {case1:printf("%d",s+5); case2:printf("%d",s+4);break; case3:printf("%d",s+3); default:printf("%d",s+1);break; } scanf("%d",&s); } } 运行时,若输入123450<回车>,则输出结果是 A.6566456 B.66656 C.66666 D.6666656 |
【单选题】: |
第20题:有以下程序段 inti,n; for(i=0;i<8;i++) {n=rand()%5; switch(n) {case1: case3:printf("%d\n",n);break; case2: case4:printf("%d\n",n);continue; case0:exit(0); } printf("%d\n",n); } 以下关于程序段执行情况的叙述,正确的是() A.for循环语句固定执行8次 B.当产生的随机数n为4时结束循环操作 C.当产生的随机数n为1和2时不做任何操作 D.当产生的随机数n为0时结束程序运行 |
【单选题】: |
第21题:有以下程序 #include main() {chars[]="012xy\08s34f4w2"; inti,n=0; for(i=0;s[i]!=0;i++) if(s[i]>='0'&&s[i]<='9')n++; printf("%d\n",n); } 程序运行后的输出结果是() A.0 B.3 C.7 D.8 |
【单选题】: |
第22题:若i和k都是int类型变量,有以下for语句 for(i=0,k=-1;k=1;k++)printf("*****\n"); 下面关于语句执行情况的叙述中正确的是() A.循环体执行两次 B.循环体执行一次 C.循环体一次也不执行 D.构成无限循环 (23)有以下程序 #include main() {charb,c;inti; b='a';c='A'; for(i=0;i<6;i++) {if(i%2)putchar(i+ B); elseputchar(i+ C); } printf("\n"); } 程序运行后的输出结果是() A.ABCDEF B.AbCdEf C.aBcDeF D.abcdef |
【单选题】: |
第23题:设有定义:doublex[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是() A.scanf("%f",&x[6]); B.scanf("%lf",*(x+6)); C.scanf("%lf",p+6); D.scanf("%lf",p[6]); |
【单选题】: |
第24题:设有定义:doublex[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是() A.scanf("%f",&x[6]); B.scanf("%lf",*(x+6)); C.scanf("%lf",p+6); D.scanf("%lf",p[6]); |
【单选题】: |
第25题:有以下程序(说明:字母A的ASCII码值是65) #include voidfun(char*s) {while(*s) {if(*s%2)printf("%c",*s); s++; } } main() {chara[]="BYTE"; fun(a); printf("\n"); } 程序运行后的输出结果是() A.BY B.BT C.YT D.YE |
【单选题】: |
第26题:有以下程序段 #include main() { … while( getchar()!='\n'); … } 以下叙述中正确的是 A)此while语句将无限循环 B) getchar()不可以出现在while语句的条件表达式中 C)当执行此while语句时,只有按回车键程序才能继续执行 D)当执行此while语句时,按任意键程序就能继续执行 |
【单选题】: |
第27题:有以下程序 #include main() {intx=1,y=0; if(!x)y++; elseif(x==0) if(x)y+=2; elsey+=3; printf("%d\n",y); } 程序运行后的输出结果是() A.3 B.2 C.1 D.0 |
【单选题】: |
第28题:若有定义语句:chars[3][10],(*k)[3],*p;,则以下赋值语句正确的是() A.p=s; B.p=k; C.p=s[0]; D.k=s; |
【单选题】: |
第29题:有以下程序 #include voidfun(char* C) {while(* C) {if(*c>='a'&&*c<='z')*c=*c-('a'-'A'); c++; } } main() {chars[81]; gets(s); fun(s); puts(s); } 当执行程序时从键盘上输入HelloBeijing<回车>,则程序的输出结果是() A.hellobeijing B.HelloBeijing C.HELLOBEIJING D.hELLOBeijing |
【单选题】: |
第30题:以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #include #defineN10 voidfun(intx[N]) {inti=0; while(i} 在程序中下划线处应填入的是() A.x+i B.&x[i+1] C.x+(i++) D.&x[++i] |
【单选题】: |
第31题:有以下程序 #include main() { chara[30],b[30]; scanf("%s",a); gets( B); printf("%s\n %s\n",a, B); } 程序运行时若输入: how areyou? I am fine<回车> 则输出结果是 A)how areyou? B)how I am fine are you? I am fine C)how areyou? I am fine D)how are you? |
【单选题】: |
第32题:设有如下函数定义 intfun(intk) {if(k<1)return0; elseif(k==1)return1; elsereturnfun(k-1)+1; } 若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是() A.2 B.3 C.4 D.5 |
【单选题】: |
第33题:有以下程序 #include intfun(intx,inty) {if(x!=y)return((x+y)/2); elsereturn(x); } main() {inta=4,b=5,c=6; printf("%d\n",fun(2*a,fun(b, C))); } 程序运行后的输出结果是() A.3 B.6 C.8 D.12 |
【单选题】: |
第34题:有以下程序 #include intfun() {staticintx=1; x*=2; returnx; } main() {inti,s=1; for(i=1;i<=3;i++)s*=fun(); printf("%d\n",s); } 程序运行后的输出结果是() A.0 B.10 C.30 D.64 |
【单选题】: |
第35题:有以下程序 #include #defineS(x)4*(x)*x+1 main() {intk=5,j=2; printf("%d\n",S(k+j)); } 程序运行后的输出结果是() A.197 B.143 C.33 D.28 |
【单选题】: |
第36题:设有定义:struct{charmark[12];intnum1;doublenum2;}t1,t2;,若变量均已正确赋初值,则以下语句中错误的是() A.t1=t2; B.t2.num1=t1.num1; C.t2.mark=t1.mark; D.t2.num2=t1.num2; |
【单选题】: |
第37题:有以下程序 #include structord {intx,y;}dt[2]={1,2,3,4}; main() { structord*p=dt; printf("%d,",++(p->x));printf("%d\n",++(p->y)); } 程序运行后的输出结果是() A.1,2 B.4,1 C.3,4 D.2,3 |
【单选题】: |
第38题:有以下程序 #include structS {inta,b;}data[2]={10,100,20,200}; main() {structSp=data[1]; printf("%d\n",++(p.a)); } 程序运行后的输出结果是() A.10 B.11 C.20 D.21 |
【单选题】: |
第39题:有以下程序 #include main() {unsignedchara=8,c; c=a>>3; printf("%d\n", C); } 程序运行后的输出结果是() A.32 B.16 C.1 D.0 |
【单选题】: |
第40题:设fp已定义,执行语句fp=fopen("file","w");后,以下针对文本文件file操作叙述的选项中正确的是() A.写操作结束后可以从头开始读 B.只能写不能读 C.可以在原有内容后追加写 D.可以随意读和写 |
【单选题】: |