2011年3月份二级C考卷
2011山西省计算机等级考试试题 二级C试题试题及答案

1、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出A. 349B. 350C. 255D. 3512、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码3、下面概念中,不属于面向对象方法的是 (D)A. 对象B. 继承C. 类D. 过程调用4、软件调试的目的是(B) 注:与软件测试要对比着复习A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能5、算法的时间复杂度是指(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数6、在关系数据库中,用来表示实体之间联系的是(D)A. 树结构B. 网结构C. 线性表D. 二维表7、下列关于栈的叙述中正确的是(D)A. 在栈中只能插入数据B. 在栈中只能删除数据C. 栈是先进先出的线性表D. 栈是先进后出的线性表8、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)A. 模拟现实世界中不同事物之间的联系B. 强调模拟现实世界中的算法而不强调概念C. 使用现实世界的概念抽象地思考问题从而自然地解决问题D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考9、希尔排序法属于哪一种类型的排序法(B)A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法10、软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)A. 阶段性报告B. 需求评审C. 总结D. 都不正确11、软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)A. 阶段性报告B. 需求评审C. 总结D. 都不正确12、检查软件产品是否符合需求定义的过程称为(A)A. 确认测试B. 集成测试C. 验证测试D. 验收测试13、数据的存储结构是指(B)A. 数据所占的存储空间量B. 数据的逻辑结构在计算机中的表示C. 数据在计算机中的顺序存储方式D. 存储在外存中的数据14、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码15、下面对对象概念描述错误的是(A)A. 任何对象都必须有继承性B. 对象是属性和方法的封装体C. 对象间的通讯靠消息传递D. 操作是对象的动态性属性16、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)A. 内模式B. 外模式C. 概念模式D.逻辑模式17、希尔排序法属于哪一种类型的排序法(B)A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法18、按条件f对关系R进行选择,其关系代数表达式为(C)A. R|X|RB. R|X|RfC. бf(R)D. ∏f(R)19、下面不属于软件工程的3个要素的是(D)A. 工具B. 过程C. 方法D. 环境20、算法一般都可以用哪几种控制结构组合而成(D)A. 循环、分支、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环21、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)A. 模拟现实世界中不同事物之间的联系B. 强调模拟现实世界中的算法而不强调概念C. 使用现实世界的概念抽象地思考问题从而自然地解决问题D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考22、下面对对象概念描述错误的是(A)A. 任何对象都必须有继承性B. 对象是属性和方法的封装体C. 对象间的通讯靠消息传递D. 操作是对象的动态性属性23、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
2011年3月国家级计算机二级C真题

2011年3月计算机等级考试二级C语言笔试一、选择题(1)下列关于栈叙述正确的是(栈)(11.3)AA)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是(树)( 11.3)BA)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层) (树)( 11.3)DA)3 B)4 C)6 D)7(4)在软件开发中,需求分析阶段产生的主要文档是(需求分析阶段)( 11.3)DA)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括(程序设计基础)( 11.3)BA)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是(综合)( 11.3)AA)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是(数据库)( 11.3)CA)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是(数据库)( 11.3)DA)1:1联系B)1:m联系C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:(数据库)( 11.3)C则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是(程序设计基础)( 11.3)BA)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A(C基础)(11.3)A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)以下叙述中错误的是D(C基础)(11.3)A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是A(合法常量)(11.3)A)1,234 B)'\123'C)123 D)"\x7G"(14)以下选项中可用作C程序合法实数的是A(合法实数)(11.3)A).1e0 B)3.0e0.2C)E9 D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A(赋值语句)(11.3)A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程序段A(scanf函数)(11.3)char name[20];int num;scanf("name=%s num=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为A)LiliB)name=LiliC)Lili num=D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是D(if语句)(11.3)A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是C(自增运算和八进制)(11.3)A)12 B)11 C)10 D)9(19)有以下程序B(while和switch、break语句)(11.3)#includemain(){ int s;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);}}运行时,若输入1 2 3 4 5 0<回车>,则输出结果是A)6566456 B)66656C)66666 D)6666656(20)有以下程序段D(switch、for、break、continue语句)(11.3) int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行(21)有以下程序B(字符数组)(11.3)#includemain(){ char s[]="012xy\08s34f4w2";int i,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");下面关于语句执行情况的叙述中正确的是D(for语句)(11.3)A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环(23)有以下程序#includemain(){ char b,c; int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);}printf("\n");}程序运行后的输出结果是B(for语句)(11.3)A)ABCDEF B)AbCdEfC)aBcDeF D)abcdef(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是C(指针与一维数组)(11.3)A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有以下程序(说明:字母A的ASCII码值是65) D(函数、指针、字符数组)(11.3)#includevoid fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}}main(){ char a[]="BYTE";fun(a); printf("\n");}程序运行后的输出结果是A)BY B)BT C)YT D) YE(26)有以下程序段C(循环的条件)(11.3)#includemain(){ …while( getchar()!='\n');…}以下叙述中正确的是A)此while语句将无限循环B) getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有不按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序D(if和else的配对原则)(11.3)#includemain(){ int x=1,y=0;if(!x) y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}程序运行后的输出结果是A)3 B)2 C)1 D) 0(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是C(二维数组和指针)(11.3)A)p=s; B)p=k; C)p=s[0]; D)k=s;(29)有以下程序C(字符数组和指针、函数)(11.3)#includevoid fun(char *c){ while(*c){ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ char s[81];gets(s); fun(s); puts(s):}当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是A)hello beijing B)Hello BeijingC)HELLO BEIJING D) ELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
2011年3月全国计算机等级考试二级C 语言真题

2011 年3 月全国计算机等级考试笔试试卷二级公共基础知识和C 语言程序设计(考试时间 90 分钟,满分 100 分)一、选择题(1)~(10)、(21)~(40)每题 2 分,(11)~(20)每题 1 分,70 分)下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列关于栈叙正确的是()。
A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是()。
A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7 个结点,其中叶子结点只有1 个,则该二叉树的深度为(假设根结点在第1 层)()。
A)3B)4C)6D)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 实例化值的是()。
c二级考试试题及答案

c二级考试试题及答案第一部分:听力理解 (共20小题,每小题1分,共20分)请听下面的对话,根据对话内容选择正确答案。
1. A. In a library. B. In a bookstore. C. In a coffee shop.2. A. At 7:00. B. At 7:30. C. At 8:00.3. A. By bus. B. By subway. C. By taxi.4. A. Two. B. Three. C. Four.5. A. A teacher and a student. B. A doctor and a patient. C. A salesperson and a customer.请听下面的对话,根据对话内容选择正确答案。
6. A. At a hotel. B. At an airport. C. At a train station.7. A. The blue one. B. The black one. C. The red one.8. A. Next Monday. B. Next Thursday. C. Next Sunday.9. A. A police officer. B. A hotel receptionist. C. A taxi driver.10. A. Going to a museum. B. Going to a party. C. Going to a concert.请听下面的对话,根据对话内容选择正确答案。
11. A. At a bookstore. B. At a library. C. At a coffee shop.12. A. By car. B. By bus. C. By subway.13. A. Blue. B. Red. C. White.14. A. Writing a report. B. Reading a book. C. Finishing an assignment.15. A. Two days. B. Three days. C. Four days.请听下面的对话,根据对话内容选择正确答案。
全国计算机等级考试二级C++真题2011年3月

全国计算机等级考试二级C++真题2011年3月(总分:100.00,做题时间:90分钟)一、选择题(总题数:35,分数:70.00)1.下列关于栈叙正确的是( )。
(分数:2.00)A.栈顶元素最先能被删除√B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.以上三种说法都不对解析:[解析] 栈是先进后出的线性表,栈顶的元素最先被删除,栈底的元素最后被删除。
2.下列叙述中正确的是( )。
(分数:2.00)A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构√C.循环链表是非线性结构D.双向链表是非线性结构解析:[解析] 在数据结构中,树这类的数据结构只有一个根结点,但它不是线性结构。
3.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( )。
(分数:2.00)A.3B.4C.6D.7 √解析:[解析] 根据二叉树的性质,度为0的结点(即叶子结点)总是比度为2的结点多一个。
题目中的二叉树的叶子结点为1,因此度为2的结点的数目为0,因而这个二叉树的深度为7。
4.在软件开发中,需求分析阶段产生的主要文档是( )。
(分数:2.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书√解析:[解析] 在软件开发过程中,需求分析阶段产生的要文档是软件需求规格说明书。
5.结构化程序所要求的基本结构不包括( )。
(分数:2.00)A.顺序结构B.GOTO跳转√C.选择(分支)结构D.重复(循环)结构解析:[解析] 结构化程序的基本结构有:顺序结构、选择结构和循环结构,没有GOTO跳转结构。
6.下面描述中错误的是( )。
(分数:2.00)A.系统总体结构图支持软件系统的详细设计√B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具解析:[解析] 软件设计是将软件需求转换为软件表示的过程;数据结构与数据库设计是软件设计的任务之一;PAD图,即问题分析图,是一种主要用于描述软件详细设计的图形工具。
2011年职称英语综合类C级考试真题及答案

2011年职称英语综合类C级考试真题及答案第1部分:词汇选项(第1—15题,每题1分,共15分)下面每个句子中均有1个词或短语划有底横线,请为每处划线部分确定1个意义最为接近的选项。
1.His shoes were shined to perfection.A. clearedB. polishedC. washedD. Mended2.She can be relied on inA. looked afterC. turned onB.believedinD.depended on3.Marsha confessed that she knew nothing of computer.A. admittedB. reportedC. hopedD. answered4.The test produced disappointing results.A. unsatisfactoryB. indirectC. similarD. positive5.My doctor said I should vary my diet moreA, change B. prepareC. cookD. choose6.Greene spent a brief time at Cambridge.A. hard C. shortB. good D. long7. The book took ten years of thorough researchA. basicB. careful.C, social D. major8. The high-speed trains can have a major impact on our lives.A. efforB. problemC. influenceD. Concern9.Eventually, she got a job and moved to LondonA. CertainlyB. LuckilyC. NaturallyD. Finally10.The love of money is the root of'all evilA. resultB. endC. causeD. Force11.We explored the possibility of expansion at the conferenceA. offeredB. investigatedC. includedD. accepted.12. His long-term goal is to set up his own business.A. ideaB. energyC. aimD. Order13.A number of theor.ies have been proposed to explain the situationA. suggestedB. testedC. usedD. announced14.They converted the spare bedroom into an office.A.reducedB. turnedC.movedD. reformed15.Things have changed a lot since I was a childA. graduatlyB. suddenlyC. frequentlyD. greatly第2部分:阅读判断(第16—22题,每题1分,共7分)下面的短文后列出了7个句子,请根据短文的内容对每个句子做出判断:如果该句提供的是正确信息,请选择A;如果该句提供的是错误信息,请选择B;如果该句的信息文中没有提及,请选择C。
2011年3月计算机二级C语言真题含答案

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)軟體詳細設計說明書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如下:RA B C a 1 2B 2 1C 3 1SA BC 3TC1則由關係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.2C)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 name[20];int num;scanf("name=%s num=%d",name;&num);當執行上述程式段,並從鍵盤輸入:name=Lili num=1001<回車>後,name的值為A)LiliB)name=LiliC)Lili num=D)name=Lili num=1001(17)if語句的基本形式是:if(運算式)語句,以下關於“運算式”值的敘述中正確的是A)必須是邏輯值B)必須是整數值C)必須是正數D)可以是任意合法的數值(18)有以下程式#includemain(){ int x=011;printf("%d\n",++x);}程式運行後的輸出結果是A)12 B)11 C)10 D)9(19)有以下程式#includemain(){ int s;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);}}運行時,若輸入1 2 3 4 5 0<回車>,則輸出結果是A)6566456 B)66656 C)66666 D)6666656(20)有以下程式段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下關於程式段執行情況的敘述,正確的是A)for迴圈語句固定執行8次B)當產生的亂數n為4時結束迴圈操作C)當產生的亂數n為1和2時不做任何操作D)當產生的亂數n為0時結束程式運行(21)有以下程式#includemain(){ char s[]="012xy\08s34f4w2";int i,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)有以下程式#includemain(){ char b,c; int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);} printf("\n");}程式運行後的輸出結果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)設有定義:double x[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)#includevoid fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}。
2011年春浙江省二级C试卷

2011年上半年浙江省高等学校计算机等级考试二级C程序设计试卷(附参考答案)说明:⑴本试卷共6页,满分100分;考试时间为90分钟;⑵考生应将所有试题的答案填写在答卷上。
⑶程序阅读与填空全部是选择题,请在答卷上的各小题选项的对应位置上填“ ”。
一、程序阅读与填空(24小题,每小题3分,共72分)1.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案【程序说明】输入正整数n,计算并输出1/2+2/3+3/5+…的前n项之和,保留2位小数(该序列从第2项起,每一项的分母是前一项分子与分母的和,分子是前一项的分母)。
【程序】#include <stdio.h>main(){ int i, n ;double denominator, numerator, sum, temp ;scanf(”%d”, &n);numerator = 1;denominator = 2;sum = 0;for ( i = 1; (1) ; i++ ){sum = sum + (2) ;temp = denominator;(3) ;(4) ;}printf("sum = %.2f\n",sum); }【供选择的答案】(1) A、i <= n B、i < n C、i >= n D、i > n(2) A、denominator/numerator B、numerator/ denominatorC、denominatorD、numerator(3) A、numerator = numerator + denominatorB、denominator = numeratorC、denominator = numerator + denominatorD、numerator = temp(4) A、denominator = temp B、denominator = numeratorC、numerator = denominatorD、numerator = temp2.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案【程序说明】输出150到200之间有且仅有一位数字为9的所有整数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011年3月全国计算机等级考试二级笔试试卷C 语言程序设计(考试时间90分钟,满分100分)一、选择题((1)-(10)、(21)-(40)每题2分,(11)-(20)每题1分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的请将正确选项填涂在答题卡相应位置上答在试卷上不得分。
(1)下列关于栈叙述正确的是( a)A)栈顶元素最先能被删除 B )栈顶元素最后才能被删除 C)栈底元素永远不能被删除 D )以上三种说法都不对(2)下列叙述中正确的是(b )A )有一个以上根结点的数据结构不一定是非线性结构B )只有一个根结点的数据结构不一定是线性结构C )循环链表是非线性结构D )双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则二叉树的深度为(假设根结点在第1层)(d )A) 3 B) 4 C) 6 D) 7(4)在软件开发中,需求分析阶段产生的主要文档是(d )A) 软件集成测试计划 B) 软件详细设计说明书 C)用户手册 D)软件需求规格说明书(5)结构化程序所要求的基本机构不包括(b )A) 顺序结构 B) GOTO 跳转 C)选择(分支)结构 D)重复(循环)结构(6)下面描述中错误的是(a )A)系统总体结构图支持软件系统的详细设计 B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一 D)PAD 图是软件详细设计的表示工具(7) 负责数据库中查询操作的数据库语言是(c )(A)数据定义语言 (B)数据管理语言 (C)数据操纵语言 (D)数据控制语言(8) 一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是(d )(A)1:1联系 (B)1:m 联系 (C)m :1联系 (D)m :n 联系(9)有三个关系R 、S 和T 如下:R S T则有关系R 和S 得到关系T 的操作是(c )(A)自然连接 (B)交 (C)除 (D)并(10)定义无符号整数类为UInt ,下面可以作为类UInt 实例化值的是(b )(A)-369 (B)369 (C)0.369 (D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是(c )(A)C 语言程序仅可以编译执行 (B) C 语言程序仅可以解释执行(C)C 语言程序既可以编译执行又可以解释执行 (D)以上说法都不对(12)以下叙述中错误的是d(A)C 语言的可执行程序是由一系列机器指令构成的(B)用C 语言编写的源程序不能直接在计算机上运行(C)通过编译得到的二进制目标程序需要连接才可以运行(D)在没有安装C 语言集成开发环境的机器上不能运行C源程序生产的.exe 文件(13)以下选项中不能用作C 程序合法常量的是(a )(A)1,234 (B)’\123’ (C)123 (D)”\x7G”(14)以下选项中可以用作C 程序合法实数的是a(A).1e0 (B)3.0e0.2 (C)E9 (D)9.12E(A)a=(b=4)=3; (B)a=b=c+1 (C)a=(b=4)+c; (D)a=1+(b=c=4);(16)有以下程序段char name[20]; int num;scanf(“name=%s num=%d”,name,&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为( )(A)Lili (B)name=Lili (C)Lili num= (D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是(d )(A)必须是逻辑值(B)必须是整数值(C)必须是正数(D)可以是任意合法的数值(18)有以下程序#include <stdio.h>main(){int x=011;printf(“%d\n”,++x);}程序运行后的输出结果是( )(A)12 (B)11 (C)10 (D)9(19)有以下程序#include <stdio.h>main(){ int s;scanf(“%d”,&s);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”,&s);}}运行时,若输入1 2 3 4 5 0<回车>,则输出结果是( )(A)6566456 (B)66656 (C)66666 (D)6666656(20)有以下程序段int i, n;for(i=0;i<8;i++){ n=rand()%5;switch(n){ case 1:case 3: printf(“%d\n”,n); break;case 2:case 4: printf(“%d\n”,n); continue;case 0: exit(0);}printf(“%d\n”,n);}A) for循环语句固定执行8次B) 当产生的随机数n为4时结束循环操作C) 当产生的随机数n为1和2时不做任何操作D) 当产生的随机数n为0时结束程序运行(21)有以下程序#include <stdio.h>main (){ char s[]=”021xy\08s34f4w2”;int i, 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++) print(“*****\n”);下面关于语句执行情况的叙述中正确的是( )A) 循环体执行两次B)循环体执行一次C) 循环体一次也不执行 D)构成无限循环(23)有以下程序#include <stdio.h>main (){ char b,c; int i;b=’a’; c=’A’;for (i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);} printf(“\n”);}程序运行后的输出结果是( )A)ABCDEF B)AbCdEf C)aBcDcF D)abcdef (24)设有定义:double x[10],﹡p=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 <stdio.h>void fun(char ﹡s){ while(﹡s){ if(﹡s%2) printf(“%c”,﹡s);s++;}}main(){ char a[]=”BYTE”;fun(a); pr intf(“\n”);}程序运行后的输出结果是( )A)BY B)BT C)YT D)YE(26)有以下程序段main(){ ┊while(getchar()!=“\n”);┊}以下叙述中正确的是( )A)此while语句将无限循环B)getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序#include <stdio.h>main(){ int x=1,y=0;if(!x) y++;else if(x== 0)if(x) y+=2;else y+=3;printf(“%d\n”,y);}程序运行后的输出结果是( )A)3 B)2 C)1 D)0(28)若有定义语句:char s[3][10],(﹡k)[3],﹡p;,则以下赋值语句正确的是( )A)p=s; B)p=k; C)p=s[0] ; D)k=s;(29)有以下程序#include <stdio.h>void fun(char ﹡c){ while(﹡c){ if(﹡c>=‘a’&&﹡c<=‘z’) ﹡c=﹡c-(‘a’-‘A’);c++;}}main(){ char s[81];gets(s); fun(s); puts(s);}当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是( )A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing (30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
#include <stdio.h>#define N 10void fun(int x[N]){ int i=0;while(i<N) scanf(“%d”, );}在程序中下划线处应填入的是( )A)x+i B)&x[i+1] C)x+(i++) D)&x[++i]#include <stdio.h>main(){ char a[30],b[30];scanf(“%s”,a);gets(b);printf(“%s\n%s\n”,a,b);}程序运行时若输入:how are you? I am fine<回车>则输出结果是( )(A) how are you? (B)howI 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<1) return 0;else if (k==1) return 1;else return fun(k-1)+1;}若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是( )(A) 2 (B) 3 (C) 4 (D) 5(33) 有以下程序#include <stdio.h>int fun (int x , int y ){ if (x!=y) return ((x+y)/2);else return (x);}main(){ int a=4,b=5,c=6;printf(“%d\n”,fun(2*a,fun(b,c)) );}程序运行后的输出结果是( )(A) 3 (B) 6 (C) 8 (D) 12(34)有以下程序#include <stdio.h>int fun (){ static int x=1;x*=2;return x;}main(){ int i,s=1;for(i=1;i<=3;i++) s*=fun();printf(“*%d\n”,s);}程序运行后的输出结果是( )A)0 B)10 C)30 D)64#include <stdio.h>#define S(x) 4*(x)*x+1main(){ int k=5,j=2;printf(“%d\n”,S(k+j));}程序运行后的输出结果是( )A)197 B)143 C)33 D)28(36)设有定义:struct {char mark[12];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 <stdio.h>struct ord{ int x,y;}dt[2]={1,2,3,4};main(){struct ord *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 <stdio.h>struct S{ int a,b;}data[2]={10,100,20,200};main(){struct S p=data[1];printf(“%d\n”,++(p,a));}程序运行的输出结果是( )A) 10 B) 11 C) 20 D)2139)有以下程序#include <stdio.h>main(){ unsigned char a=8, c;c=a>>3;printf(“%d\n”,c);}程序运行后的输出结果是( )A) 32 B)16 C)1 D)040)设fp已定义,执行语句fp=fopen(“file”,”w”);后,以下针对文本文件file操作叙述的选项中正确的是( )A)写操作结束后可以从头开始读 B)只能写不能读 C)可以在原有内容后追加写D)可以随意读和写二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。