2011年3月计算机等级考试二级C真题
全国统一客服热线:400-777-1218 全国计算机等级考试二级C语言在线辅导招生:http:/www.csaidk.com/hzzx/kspx.htm 2011年3月全国计算机等级二级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) 软件详细设计说明书 D)用户手册 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如下: 全国统一客服热线:400-777-1218 全国计算机等级考试二级C语言在线辅导招生:http:/www.csaidk.com/hzzx/kspx.htm 则由关系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) 若有定义语句:int a=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)有以下程序段 char name20; int num; scanf(“name=%s num=%d”,name, 当执行上述程序段,并从键盘输入:name=Lili num=1001后,name的值为 A)Lili B)name=Lili C)Lili num= D)name=Lili num=1001 (17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是 A)必须是逻辑值 B)必须是整数值 C)必须是正数 D)可以是任意合法的数值 (18)有以下程序 #include main() int x=011; printf(“%dn”,+x); 全国统一客服热线:400-777-1218 全国计算机等级考试二级C语言在线辅导招生:http:/www.csaidk.com/hzzx/kspx.htm 程序运行后的输出结果是 A)12 B)11 C)10 D)9 (19)有以下程序 #include main() int s; scanf(“%d”, while(s>0) switch(s) case 1:printf(“%d”,s+5); case 2:printf(“%d”,s+4);break; case 3:printf(“%d”,s+3); default:printf(“%d”,s+1);break; scanf(“%d”, 运行时,若输入1 2 3 4 5 0,则输出结果是 A)6566456 B)66656 C)66666 D)6666656 (20)有以下程序段 int i, n; for(i=0;i 全国统一客服热线:400-777-1218 全国计算机等级考试二级C语言在线辅导招生:http:/www.csaidk.com/hzzx/kspx.htm main () char s=”021xy08s34f4w2”; int i, n=0; for (i=0;s!=0;i+) if(s>=0 printf(“%dn”,n); 程序运行后的结果是 A) 0 B) 3 C)7 D)8 (22) 若i和k都是int类型变量,有以下for语句 for (i=0,k= -1;k=1;k+) print(“*n”); 下面关于语句执行情况的叙述中正确的是 A) 循环体执行两次 B)循环体执行一次 C) 循环体一次也不执行 D)构成无限循环 (23)有以下程序 #include main () char b,c; int i; b=a; c=A; for (i=0;i void funChar s) while(s) if(s%2) printf(“%c”, s); s+; main() char a=”BYTE”; 全国统一客服热线:400-777-1218 全国计算机等级考试二级C语言在线辅导招生:http:/www.csaidk.com/hzzx/kspx.htm funA); 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() int x=1,y=0; if(!x) y+; else if(x= 0) if(x) y+=2; else y+=3; printf(“%dn”,y); 程序运行后的输出结果是 A)3 B)2 C)1 D)0 (28)若有定义语句:char s310,(k)3,p;,则以下赋值语句正确的是 A)p=s; B)p=k; C)p=s0 D)k=s; (29)有以下程序 #include void funChar C) while(C) if(c>=a c+; main() char s81; 全国统一客服热线:400-777-1218 全国计算机等级考试二级C语言在线辅导招生:http:/www.csaidk.com/hzzx/kspx.htm gets(s); fun(s); puts(s); 当执行程序时从键盘上输入Hello Beijing,则程序的输出结果是 A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing (30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #include #define N 10 void fun(int xN) int i=0; while(i main() char a30,b30; scanf(“%s”,A); getsB); printf(“%sn%sn”,a,B); 程序运行时若输入: how are you? I am fine 则输出结果是 A) how are you? B)how I am fine are you? I am fine C) how are you? I am fine D) how are you? (32)没有如下函数定义 Int fun(int k) if (k int fun (int x , int y ) if (x!=y) return (x+y)/2); else return (x); 全国统一客服热线:400-777-1218 全国计算机等级考试二级C语言在线辅导招生:http:/www.csaidk.com/hzzx/kspx.htm main() int a=4,b=5,c=6; printf(“%dn”,fun(2*a,funB,C)) ); 程序运行后的输出结果是 A) 3 B) 6 C) 8 D) 12 (34)有以下程序 #include int fun () static int x=1; x*=2; return x; main() int i,s=1; for(i=1;i #define S(x) 4*(x)*x+1 main() int k=5,j=2; printf(“%dn”,S(k+j); 程序运行后的输出结果是 A)197 B)143 C)33 D)28 (36)设有定义:struct char mark12;int num 1;double num2; t1,t2;,若变量均已正确赋初值,则以下语句中错误的是 A)t1=t2; B)t2.num1=t1.num1; C)t2.mark=t1.mark; D)t2.num2=t1.num2; (37)有以下程序 #include struct ord int x,y;dt2=1,2,3,4; main() struct ord *p=dt;