结构化程序设计习题答案

合集下载

C语言程序设计习题答案(第三版)

C语言程序设计习题答案(第三版)

C语言程序设计(第三版)习题答案习题一一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)高级语言P2(5)汇编程序P3 (6)编译程序P4 (7)算法P5 (8)结构化程序设计方法P10二、简答题1. 设计程序时应遵循哪些基本原则?P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。

2. 算法具有哪些特点?答:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。

3. 算法的表示形式有哪几种?答:自然语言、伪代码、传统流程图、N-S流程图、计算机语言。

4. 结构化程序设计方法的三种基本结构是什么?答:顺序结构、选择结构和循环结构。

5. 传统流程图与N-S流程图最大的区别是什么?答:N-S流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。

三、用传统流程图或N-S流程图表示求解以下问题的算法。

1. 从键盘输入10个整数,求出其中的最小数并输出。

2. 求1+2+3+…+100的值。

3. 求10~50的所有素数之和。

4. 求下列分段函数的值。

四、请参照本章例题,编写一个简单的C 程序,输出以下三行信息。

**************************Yangtze University**************************#include <stdio.h>void main(){printf("**************************\n");printf(" Yangtze University\n");printf("**************************\n");}4X-1 (X ≤1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5)习题二一、选择题1~10: B C D C D D B C A A11~20: D A C D B D B A C D二、填空题1.字母 L 或字母 l2. %c(或字符) 、 %d(或整数)3.在程序运行过程中,其值可以在一定的范围内变化的量4.'\0'5.小数形式、指数形式6.关键字、预定义标识符、用户标识符7.字母、数字、下划线、数字8. 189. 2 、 1 、 3010.双精度实数或double11.赋值、逗号、 20 、 20 、 20 、 412. 4 、 4习题三一、选择题1~10: B C C B C C C D C C注:第4题答案D为: 10 22↙33↙二、填空题1. printf 、 scanf2. h3."%5d"4.'\0'5. e 、 E6. 67. s 、 c8. *9. - 、 +10. i三、编程题1. 编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进行输出。

课后答案——C++语言程序设计教程(第二版)

课后答案——C++语言程序设计教程(第二版)

1.1习题1解答1.(1)机器语言是计算机直接理解执行的语言,由一系列(二进制)指令组成,其助记符构成了汇编语言;接近人的自然语言习惯的程序设计语言为高级语言。

(2)结构化程序设计方法主要内容有:自顶向下,逐步求精;面向对象方法将现实世界中的客观事物描述成具有属性和行为的对象,抽象出共同属性和行为,形成类。

(3)C++程序开发通常要经过5个阶段,包括:编辑,编译,连接,运行,调试。

首先是编辑阶段,任务是编辑源程序,C++源程序文件通常带有.c p p扩展名。

接着,使用编译器对源程序进行编译,将源程序翻译为机器语言代码(目标代码),过程分为词法分析、语法分析、代码生成3个步骤。

在此之前,预编译器会自动执行源程序中的预处理指令,完成将其他源程序文件包括到要编译的文件中,以及执行各种文字替换等。

连接器的功能就是将目标代码同缺失函数的代码连接起来,将这个“漏洞”补上,生成可执行文件。

程序运行时,可执行文件由操作系统装入内存,然后CPU从内存中取出程序执行。

若程序运行进程中出现了错误,还在需要对程序进行调试。

(4)对象与对象之间通过消息进行相互通信。

(5)类是具有相同属性和行为的一组对象的抽象;任何一个对象都是某个类的一个实例。

(6)多态性是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。

(7)面向对象的软件开发过程主要包括面向对象的方法分析、面向对象的设计、面向对象的编程、面向对象的测试和面向对象的维护。

(8)泛型程序设计是指在程序设计时,将数据类型参数化,编写具有通用性和可重用的程序。

(9)#include<iostream>是一条预处理指令(语句),在编译(或预处理)时由编译器(或预编译器)执行,其功能是将iostream文件包含(复制)到指令处。

(10)C++中使用cin作为标准输入流对象,通常代表键盘,与提取操作符>>连用;使用cout作为标准输出流对象,通常代表显示设备,与<<连用。

C++第三章课后答案

C++第三章课后答案

C++第三章课后答案C++第三章习题及答案1、什么是结构化程序设计?它有什么优缺点?所谓结构化程序设计,是一种自顶而下、逐步求精的模块化程序设计方法。

2、什么是对象?什么是类?简述对象与类之间的关系!对象是系统中用来描述客观事物的一个实体,它是用于构成系统的一个基本单位,而系统可以看作是由一系列相互作用的对象组成。

类定义了同类对象的公共属性和行为,属性用数据结构表示,行为用函数表示!《类=数据结构+对数据进行操作的函数》。

对象和类的关系相当于元素和集合的关系、变量和变量的“数据类型”的关系。

从程序设计的角度来说,类是一种复杂的自定义数据类型,对象是属于这种数据类型的变量。

3、什么是面向对象程序设计?面向对象程序设计方法具有哪些基本特征?请比较面向对象程序设计和面向对象过程程序设计有何异同?4、何谓成员变量?何谓成员函数?C++将对象的属性抽象为数据成员,将对象的行为抽象为成员函数。

5、C++中结构和类之间有何异同?结构在默认情况下的成员是公共的,而类在默认情况下的成员是私有的。

在C++中,结构是特殊的类。

6、在C++中如何定义类?如何实现定义的类?如何利用类申明对象?7、类的成员的访问权限有哪几种?请说明它们分别有什么作用?三种,privte:类的私有成员,只能被本类的成员函数访问或调用。

Public:公有成员,可以被本类的成员或其他类的成员函数(通过对象)访问或调用。

Protected:保护成员,可以被本类的成员函数或派生类的成员函数访问或调用。

8、何谓构造函数?何谓析构函数?请说明它们分别有什么作用?构造函数:不需要用户程序调用,就能在创建对象时由系统自动调用,其作用是在对象被创建时利用初始值去构造对象,使得在声明对象时就能自动完成对象的初始化。

析构函数:在对象的生存周期即将结束时由系统自动调用的,其作用是用来在对象被删除前做一些清理工作和数据保存工作。

9、如何定义一个内联成员函数?内联函:内联函数必须是和函数体申明在一起,才有效。

《C语言程序设计教程》(第三版)课后习题参考答案

《C语言程序设计教程》(第三版)课后习题参考答案

C语言程序设计课后习题参考答案习题一一、单项选择题1、C2、B3、B4、C5、D6、A7、C8、A二、填空题1、判断条件2、面向过程编程3、结构化4、程序5、面向对象方法6、基本功能操作、控制结构7、有穷性8、直到型循环结构9、算法10、可读性11、模块化12、对问题的分解和模块的划分习题二一、单项选择题1、B2、D3、C4、B5、A6、A7、B8、C二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C5、A6、D7、B8、D9、B 10、C 11、A 12、D 13、C 14、B 15、C 16、A17、B 18、C 19、C 20、D 21、A 22、D 23、D 24、D、A25、D 26、A二、填空题1、补码2、10^-138~10^138、15~163、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B 10、B二、填空题1、两, ;2、5.1690003、-200 2500、i=-200,j=2500回车、i=-200回车j=2500回车4、a=98,b=765.000000,c=4321.0000005、100 25.81 1.89234、100,25.81,1.89234、100回车25.81回车1.89234回车6、0,0,37、38、scanf(“%lf %lf %lf”,&a,&b,&c);9、13 13.000000 13.00000010、c=b-a;a=b+c;习题五一、单项选择题1、B2、D3、C4、B5、B6、D7、A8、B9、D二、填空题1、1 、02、k!=03、if(x>4||x<-4)printf(“%d”,x);else printf(“error!”);4、if(((x>=1&&x<=10)||(x>=200&&x<=210))&&(x%2!=0))Printf(“%d”,x);5、16、17、10!Right!8、a=09、2,110、0<a<b习题六一、单项选择题1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、204、115、3.66、*#*#*#$7、8 5 28、d=1.0 、k++、k<=n9、!(x<0)、x<amin习题七一、单项选择题1、B2、D3、C4、C5、A6、A7、D8、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i<263、break、i==84、a[i]>b[i]、i<3、j<55、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B2、C3、C4、A5、A6、A7、C8、D9、D 10、B 11、A 12、C 13、A 14、C 15、B二、填空题1、return 1、return n+sum(n-1)2、return 1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C6、C7、C8、C9、B 10、C 11、A 12、C 13、B 14、A 15、D 16、B17、C 18、A 19、B 20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max<*q、min>*q习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D 10、11、C 12、D 13、D 14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adabc defghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B6、D7、B8、A9、A 10、B 11、B 12、B 13、C 14、C 15、D 16、A17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\\zk04\\data\\txfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值。

结构化练习题2改-正确答案

结构化练习题2改-正确答案

1. 为了提高测试的效率,应该。

A、随机地选取测试数据B、取一切可能的输入数据作为测试数据C、在完成编码后制定软件的测试计划D、选择发现错误可能性大的数据作为测试数据2. 与设计测试数据无关的文档是。

A、需求说明书B、设计说明书C、源程序D、项目开发设计3. 结构设计是一种应用最广泛的系统设计方法,是以为基础、自顶向下、逐步求精和模块化的过程。

A、数据流B、数据流图C、数据库D、数据结构4. 概要设计的结果是提供一份。

A、模块说明书B、框图C、程序D、数据结构5. 需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出。

A、模块说明书B、软件规格说明书C、项目开发计划D、合同文档6. 注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。

A、1/6B、1/5C、1/4D、1/37. 变换型和事务型是程序结构的标准形式。

从某处获得数据,再对这些数据作处理,然后将结果送出是属于。

A、变换型B、事务型8. PAD(Problem Analysis Diagram)图是一种工具。

A、系统描述B、详细设计C、测试D、编程辅助9. 排错一般是在测试发现错误后进行,其中找到错误位置占排错总工作量的。

A、95%B、5%C、50%D、20%10. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。

A、总貌B、细节C、抽象D、软件的作者11. 数据流图中,当数据流向或流自文件时,。

A、数据流要命名,文件不必命名B、数据流不必命名,有文件名就足够了C、数据流和文件均要命名,因为流出和流进数据流是不同的D、数据流和文件均不要命名,通过加工可自然反映出12. 分析员是。

A、用户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程人员D、用户和软件人员的领导13. 在软件开发中,有利于发挥集体智慧的一种做法是。

A、设计评审B、模块化C、主程序员制D、进度控制14. 在开发软件时,可用来提高程序员的工作效率。

国家二级Python(程序设计基础)模拟试卷1(题后含答案及解析)

国家二级Python(程序设计基础)模拟试卷1(题后含答案及解析)

国家二级Python(程序设计基础)模拟试卷1(题后含答案及解析) 题型有:1. 单项选择题单项选择题1.关于结构化程序设计风格,以下选项中描述正确的是A.使用顺序、选择和重复(循环)3种基本控制结构表示程序的控制逻辑B.模块只有一个入口,可以有多个出口C.注重提高程序的执行效率D.不使用goto语句正确答案:A 涉及知识点:程序设计基础2.以下选项中,不属于面向对象方法概念的是A.对象B.继承C.类D.过程调用正确答案:D 涉及知识点:程序设计基础3.结构化程序设计主要强调的是A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性正确答案:B 涉及知识点:程序设计基础4.关于面向对象的继承,以下选项中描述正确的是A.继承是指一个对象具有另一个对象的性质B.继承是指一组对象所具有的相似性质C.继承是指类之间共享属性和操作的机制D.继承是指各对象之间的共同性质正确答案:C 涉及知识点:程序设计基础5.对于建立良好的程序设计风格,以下选项中描述正确的是A.程序应简单、清晰、可读性好B.符号名的命名要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无正确答案:A 涉及知识点:程序设计基础6.关于面向对象的描述,以下选项中描述错误的是A.任何对象都必须有继承性B.对象是属性和方法的封装体C.对象间的信息交换靠消息传递D.操作是对象的动态性属性正确答案:A 涉及知识点:程序设计基础7.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过哪个选项发送?A.调用语句B.命令C.口令D.消息正确答案:D 涉及知识点:程序设计基础8.关于面向对象设计方法与传统的面向过程方法,下列选项中正确的是A.面向对象模拟现实世界中不同事物之间的联系B.面向过程强调模拟现实世界中的算法而不强调概念C.面向过程使用现实世界的概念抽象地思考问题从而自然地解决问题D.面向对象鼓励开发者用实际领域概念去思考软件开发正确答案:C 涉及知识点:程序设计基础9.在结构化方法的软件开发阶段中,软件功能分解所处的阶段是A.详细设计B.需求分析C.编程调试D.总体设计正确答案:D 涉及知识点:程序设计基础10.在设计程序时,应采纳的原则之一是A.程序结构应有助于读者理解B.不限制goto语句的使用C.减少或取消注解行D.程序越短越好正确答案:A 涉及知识点:程序设计基础11.下列工具中,不属于结构化分析常用的工具是A.数据流图B.数据字典C.判定树D.PAD图正确答案:D 涉及知识点:程序设计基础12.结构化程序设计中,对goto语句的使用描述正确的是A.使用goto语句程序效率高B.禁止使用goto语句C.应避免滥用goto语句D.不确定正确答案:C 涉及知识点:程序设计基础13.以下选项中,不属于结构化程序设计特征的是A.可封装B.逐步求精C.自顶向下D.模块化正确答案:A 涉及知识点:程序设计基础14.以下选项中,不属于结构化程序设计特征的是A.多态性B.逐步求精C.自顶向下D.模块化正确答案:A 涉及知识点:程序设计基础15.以下选项中,不属于面向对象设计方法特征的是A.继承性B.多态性C.分类性D.封装性正确答案:C 涉及知识点:程序设计基础16.源程序的文档化不包括A.符号名的命名要有实际意义B.正确的文档格式C.良好的视觉组织D.正确的程序注释正确答案:B 涉及知识点:程序设计基础17.以下选项中,不符合良好程序设计风格的是A.源程序要文档化B.数据说明的次序要规范化C.避免滥用goto语句D.模块设计要保证高耦合、高内聚正确答案:D 涉及知识点:程序设计基础18.采用面向对象技术开发的应用系统的特点是A.重用性强B.运行速度更快C.占用存储量小D.维护更复杂正确答案:A 涉及知识点:程序设计基础19.在面向对象方法中,类之间共享属性和操作的机制是A.继承B.封装C.多态D.对象正确答案:A 涉及知识点:程序设计基础20.在面向对象方法中,类的实例称为A.对象B.多重继承C.信息隐蔽D.父类正确答案:A 涉及知识点:程序设计基础21.在结构化设计方法生成的结构图中,带有箭头的连线表示A.模块之间的调用关系B.程序的组成成分C.控制程序的执行顺序D.数据的流向正确答案:A 涉及知识点:程序设计基础22.下列叙述中正确的是A.在面向对象的程序设计中,各个对象之间具有密切的联系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D.上述三种说法都不对正确答案:C 涉及知识点:程序设计基础23.下面概念中,不专属于面向对象方法的是A.过程调用B.对象C.继承D.类正确答案:A 涉及知识点:程序设计基础24.关于面向对象的继承,下列选项的描述中正确的是A.程序的易读性B.程序的规模C.程序的执行效率D.程序的可移植性正确答案:A 涉及知识点:程序设计基础25.下面选项中,不属于面向对象程序设计特征的是A.类比性B.继承性C.多态性D.封装性正确答案:A 涉及知识点:程序设计基础26.在结构化程序设计的具体实施中,不属于需要注意的要素是A.使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑B.选用的控制结构只准许一个入口和一个出口C.程序语句组成容易识别的块,每块只有一个人口和一个出口D.语言中所没有的控制结构,可以采用前后不一致的方法来模拟正确答案:D 涉及知识点:程序设计基础27.根据设定的条件,判断应该选择哪一条分支来执行相应的语句序列,属于A.选择结构B.顺序结构C.循环结构D.以上选项都不对正确答案:A 涉及知识点:程序设计基础28.根据给定的条件,判断是否重复执行某一相同的程序段,属于A.顺序结构B.选择结构C.循环结构D.以上选项都不对正确答案:C 涉及知识点:程序设计基础29.对于面向对象方法中的对象,下面选项中描述错误的是A.对象具有标识唯一性B.可以将具有相同属性的操作的对象抽象为类C.同一个操作可以是不同对象的行为D.从外面能直接使用对象的处理能力,直接修改其内部状态正确答案:D 涉及知识点:程序设计基础30.对于面向对象方法中的类,下面选项中描述错误的是A.类是具有共同属性、共同方法的对象的集合B.类是对象的抽象C.类包括一组数据属性和在数据上的一组合法操作D.一个类是其对应对象的一个实例正确答案:D 涉及知识点:程序设计基础。

c语言程序设计教程课后题及模拟题参考答案

c语言程序设计教程课后题及模拟题参考答案
#include "stdio.h"
main()
{ int x,y;
scanf(“%d,%d”,&x,&y);
if (x*x+y*y>1000)
printf(“%d\n”,(x*x+y*y)/100);
else
printf(“%d\n”,x+y);
}
3.输入一个整数,判断它能否同时被3、5、7整除,并输出“yes”或“no”字样。
a1=a%10 ; a=a/10;
a2=a%10; a=a/10;
a3=a%10;
printf(“%d%d%d\n”, a1, a2, a3);
}
4.编写程序,读入3个double型数据,求它们的平均值,保留此平均值小数点后1位数,对小数点后第2位数进行四舍五入,最后输出结果。
#include "stdio.h"
7. (1)10,6,4 (2)6,9,15 (3)3,60,83
8. 55
习题3
3
1-5BDABC6-10ADCAC 11-12BB
3
1.3
2.0261
3.0x10
4. 2, 1互换a,b的值
5.6.6
6.–003
8.7
7.5.0,4,c=3<Enter>
8.i=10,j=20<Enter>
9.(1) 65
#include "stdio.h"
main()
{ float a, b, h, s;
a=10;b=20;
h=5;s=(a+b)*h/2;
printf("s=%f\n" , s );

计算机科学导论(第4版)习题答案-第3、4章

计算机科学导论(第4版)习题答案-第3、4章

第3章程序设计语言习题一、选择题1. A2. A3. D4. A5. AB6. C7.D8.C9.D 10. D11.ABCD 12.B 13.A 14.A二、简答题1.简述程序的概念。

答:一个程序就是能够实现特定功能的一组指令序列的集合。

或者程序=算法+数据结构。

2. 简述程序设计语言的发展阶段。

经历了机器语言、汇编语言和高级语言三个发展阶段。

机器语言又称面向机器的语言,是特定的计算机硬件系统所固有的语言,是CPU唯一能够真正不经过翻译而直接识别和执行的语言。

相比而言,其他任何语言编写的程序都必须最终转换成机器语言以后才能在CPU上执行。

由于二进制编码形式的机器指令不便于记忆和使用,人们很快引入了便于记忆、易于阅读和理解、由英文单词或其缩写符号表示的指令,称为汇编指令,又称符号指令或助记符。

利用汇编指令编写得到的程序称为汇编语言程序。

通过引入汇编语言,在一定程度上解决了低级语言程序设计的问题,之后又出现了程序的“可移植性”问题,即程序员编写的源程序如何从一台计算机方便地转移到另一台计算机上执行。

为了解决这个问题,人们引入了高级语言。

高级语言是一种利用意义比较直观的各种“单词”和“公式”,按照一定的“语法规则”来编写程序的语言,又称为程序设计语言或算法语言。

高级语言之所以“高级”,是因为高级语言把很多硬件上复杂费解的概念抽象化了,从而使得程序员可以绕开复杂的计算机硬件的问题、无需了解计算机的指令系统,就能完成程序设计的工作。

3. 简述程序设计过程的一般步骤。

程序设计的过程一般有四个步骤。

(1)分析问题在着手解决问题之前,应该通过分析,充分理解问题,明确原始数据、解题要求、需要输出的数据及形式等。

(2)设计算法算法是解题的过程。

首先集中精力于算法的总体规划,然后逐层降低问题的抽象性,逐步充实细节,直到最终把抽象的问题具体化成可用程序语句表达的算法。

这是一个自上而下、逐步细化的过程。

(3)编码利用程序设计语言表示算法的过程称为编码。

软件工程第4章习题解答

软件工程第4章习题解答
解:(1)判定表:
说明:1,每一笔交易有3种属性:“交易金额”、“每股售价”、“股数”。
2,“交易总额”有3种值;“每股售价”有3种值;“股数”有2种值。所以每笔交易有18种状态。(表有19列,第1列是说明列)
3,每种状态有一个决策公式。判定表中的决策方案有18行。
4,每个计算公式中只有一个变量“交易金额”,设为a。
教师的工资档案存储在行政办公室的磁带上,档案中有目前的年工资、赡养的人数、雇佣日期等信息。需要写一个计算程序计算并印出每名教师的原有工资和调整后的新工资。要求:
⑴画出此系统的数据流图;
⑵写出需求说明;
⑶设计上述的工资调整程序(要求用判断表描述),设计时请分别采用下述两种算法,并比较这两种算法的优缺点;
set START to (I+1)
else if TABLE(I) > ITEM then
set FINISH to (I-1)
endif
enddo
if TABLE(I) = ITEM or TABLE(START) = ITEM or TABLE(FINISH) = ITEM then
set FLAG to 1
解:
⑴ 系统的数据流图
⑵ 需求说明:(略)
⑶ 程序框图:
算法说明:1 此算法是先找出工资少于$26,000的人, 再进行工资调整,属算法a
2 算法a适于数据库的记录不太多的情况,在数据库中查找较费时。
但是,调整系统的主要部分少一个判断,结构清晰一些。
3 算法b适于数据库的记录较多的情况,利用数据库的排序功能可很快地将教师的档案数据按工资大小排好序,调整程序只对前若干个记录进行操作。这个算法对于修改数据库回更便捷些。
交易

程序设计习题集(带答案)

程序设计习题集(带答案)

一、选择题1.结构化程序设计的3种结构是(D)A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构2.以下叙述中正确的是(C)A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点3.C语言中用于结构化程序设计的3种基本结构是(A)A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-whileD)if,for,continue4.C语言中最简单的数据类型包括(B)A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型5.若变量已正确定义并赋值,以下符合C语言语法的表达式是(B) A)a:=b+1B)a=b=c+2C)int 18.5%3D)a=a+7=c+b6.下列可用于C语言用户标识符的一组是(B)A)void, define, WORDB)a3_b3, _123,CarC)For, -abc, IF CaseD)2a, DO, sizeof7.C语言中运算对象必须是整型的运算符是(A)A)%=B)/C)=D)<=8.若变量a,i已正确定义,且i已正确赋值,合法的语句是(B)A)a= =1B)++i;C)a=a++=5;D)a=int(i);9.已知int t=0;while (t=1){...}则以下叙述正确的是(B)A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对10.若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是(B) A)10<回车>22<回车>33<回车>B)10.0,22.0,33.0<回车>C)10.0<回车>22.0<空格>33.0<回车>D)10<<空格>>22<回车>33<回车>11.有如下程序:main(){int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是(A)A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=212.有以下程序main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);}执行后输出结果是(C)A)1,1,2B)2,2,1C)2,2,2D)2,2,313.有如下程序main(){float x=2.0,y;if(x<0.0)y=0.0;else if(x<10.0)y=1.0/x;else y=1.0;printf("%f\n",y);}该程序的输出结果是(C)A)0.000000B)0.250000C)0.500000D)1.00000014.有如下程序:main(){int n=9;while(n>6){n--;printf("%d",n);}}该程序的输出结果是(B)A)987B)876C)8765D)987615.在下列选项中,没有构成死循环的是(D)A) int i=100;while(1){i=i 0+1;if(i>100)break;}B) for(;;);C) int k=10000;do{k++;}while(k>10000);D) int s=36;while(s)--s;16.设int x=1,y=1;表达式(!x||y--)的值是(B)A)0B)1C)2D)-117.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(D) A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参18.有以下程序float fun(int x,int y){return(x+y);}main(){int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是(B)A)编译出错B)9C)21D)9.019.若有以下调用语句,则不正确的fun函数的首部是(D)main(){int a[50],n;…fun(n,&a[9]);…}A)void fun(int m,int x[])B)void fun(int s,int h[41])C)void fun(int p,int *s)D)void fun(int n,int a)20.fseek函数的正确调用形式是(B)A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)21.若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是(C)A)EOFB)-1C)1D)NULL22.若有说明语句:char c='\72';则变量c (A)A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定23.若有说明 int a[3][4];则a数组元素的非法引用是(D)A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]24.设有以下说明语句struct stu{int a;float b;}stutype;则下面的叙述不正确的是(C)A)struct是结构体类型的关键字B)struct stu是用户定义的结构体类型C)stutype是用户定义的结构体类型名D)a和b都是结构体成员名25.在C语言中,引用数组元素时,其数组下标的数据类型允许是(C) A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式26.若运行时给变量x输入12,则以下程序的运行结果是(A)main(){int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A)0B)22C)12D)1027.以下说法正确的是(C)A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分28.表达式0x13^0x17的值是(A)A)0x04B)0x13C)0xE8D)0x1729.有以下程序main(){int a=3, b=4;printf("%d\n", (a++)*(b++));}程序运行后的输出结果是 (A)A)12B)15C)16D)2030.下列程序执行后的输出结果是(A)void func(int *a,int b[]){b[0]=*a+6;}main(){int a,b[5];a=0; b[0]=3;func(&a,b);printf("%d\n",b[0]);}A)6B)7C)8D)931.若有下面的程序段:char s[]="china";char *p; p=s;则下列叙述正确的是(D)A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s[0]相等32.以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序void sort(int a[],int n){int i,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运行后的输出结果是(C)A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,33.以下程序的运行结果是(A)struct date{int year,month,day;}today;main(){printf("%d\n",sizeof(struct date));}A)6B)8C)10D)1234.若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是(D) A)a,point,*&aB)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point35.在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是(B)A)地址传递B)单向值传递C)由实参传形参,再由形参传实参D)传递方式由用户指定36.fun(char *p2, char *p1){while((*p2=*p1)!='\0'){p1++;p2++;}}函数的功能是(A)A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'37.若执行下述程序时,若从键盘输入6和8时,结果为(B)main(){int a,b,s;scanf("%d%d",&a,&b);s=aif(a<b)s=b;s*=s;printf("%d",s);}A)36B)64C)48D)以上都不对38.fscanf函数的正确调用形式是(D)A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);39.下列关于C语言数据文件的叙述中正确的是(D)A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件40.有以下程序void ss(char *s,char t){while(*s){if(*s==t)*s=t-'a'+'A';s++;}}main(){char str1[100]="abcddfefdbd",c='d';ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是(B)A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd41.struct link{int data;struct link *next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。

程序设计基础习题及答案

程序设计基础习题及答案

程序设计基础习题及答案1.下面对类-对象主要特征描述正确的是()。

AA)对象唯一性B)对象无关性C)类的单一性D)类的依赖性3.下面不属于对象主要特征的是()。

CA)唯一性B)多态性C)可复用性D)封装性5.下面不属于对象主要特征的是()。

DA)对象唯一性B)对象分类性C)对象多态性D)对象可移植性7.面向对象方法中,实现对象的数据和操作结合于统一体中的是()。

B A)结合B)封装C)隐藏D)抽象9.在面向对象方法中,不属于"对象"基本特点的是()。

AA)一致性B)分类性C)多态性D)标识唯一性11.结构化程序所要求的基本结构不包括()。

BA)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构13.下列选项中不属于结构化程序设计原则的是()。

AA)可封装B)自顶向下C)模块化D)逐步求精15.下列选项中属于面向对象设计方法主要特征的是()。

AA)继承B)自顶向下C)模块化D)逐步求精17.结构化程序设计中,下面对goto语句使用描述正确的是()。

C A)禁止使用goto语句B)使用goto语句程序效率高C)应避免滥用goto语句D)以上说法都不对19.下面属于整数类的实例是()。

AA)0x518B)0.518C)"-518"D)518E-221.下面不属于对象基本特点的是()。

BA)标识唯一性B)可复用性C)多态性D)封装性23.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是()。

AA)C编译程序B)ERP系统C)学籍管理系统D)CAI软件25.不属于结构化程序设计原则的是()。

AA)可封装B)自顶向下C)模块化D)逐步求精27.将C语言的整数设为整数类I,则下面属于类I的实例的是()。

A A)-381B)0.381C)381E-2D)"0x381"29.结构化程序的基本控制结构仅包含()。

《计算机应用基础》各章课后习题答案

《计算机应用基础》各章课后习题答案

《计算机应用基础》各章课后习题答案计算机应用基础各章课后习题答案第一章计算机基础知识1.1 选择题答案解析1. A2. B3. C4. A1.2 填空题答案解析1. 计算机2. 高效、精确、快速1.3 简答题答案解析1. 计算机是一种能够按照预定程序进行自动运算的现代化智能工具。

2. 计算机的主要组成部分包括硬件和软件两个方面。

硬件包括中央处理器(CPU)、内存、输入设备、输出设备和存储设备等。

软件分为系统软件和应用软件两个层次。

第二章计算机网络基础1. B2. C3. A4. D2.2 填空题答案解析1. 局域网2. 广域网2.3 简答题答案解析1. 计算机网络是指将多台计算机通过通信设备互相连接起来,实现资源共享和信息传输的系统。

2. 网络通信传输常用协议有TCP/IP协议和UDP协议。

第三章操作系统基础3.1 选择题答案解析1. C2. D3. A4. B1. 内存管理2. 文件管理3.3 简答题答案解析1. 操作系统是控制和管理计算机硬件与软件资源,合理组织计算机工作流程的系统软件。

2. 操作系统的主要功能包括进程管理、内存管理、文件管理和设备管理等。

第四章数据库基础4.1 选择题答案解析1. B2. C3. A4. D4.2 填空题答案解析1. 数据库管理系统2. 结构化查询语言4.3 简答题答案解析1. 数据库是按照数据模型组织、存储和管理数据的集合。

2. 数据库管理系统是用于建立、管理和使用数据库的软件。

第五章网页设计基础5.1 选择题答案解析1. C2. B3. D4. A5.2 填空题答案解析1. HTML2. CSS5.3 简答题答案解析1. 网页设计是指通过使用HTML、CSS等技术创建网页的过程。

2. HTML是超文本标记语言,用于创建和组织网页的结构。

CSS是层叠样式表,用于定义网页的样式和布局。

第六章程序设计基础6.1 选择题答案解析1. B2. A3. D4. C6.2 填空题答案解析1. 结构化程序设计2. 面向对象程序设计6.3 简答题答案解析1. 程序设计是指按照一定的算法和规则编写计算机程序的过程。

结构化程序设计习题答案

结构化程序设计习题答案

结构化程序设计习题答案第三章结构化程序设计部分习题一、选择题1、设有程序段int k=10;while(k=0) k=k-1;则下面叙述中正确的是( )(A) while循环执行10次(B) 循环是无限循环(C) 循环体语句一次也不执行(D) 循环体语句执行一次2、设有以下程序段int x=0,s=0;while(!x!=0) s+=++x;cout<<s;< p="">则( )(A) 运行程序段后输出0(B) 运行程序段后输出1(C) 程序段中的控制表达式是非法的(D) 程序段执行无限次3、语句while(!E); 中的表达式!E等价于( )(A) E==0(B) E!=1(C) E!=0(D) E==14、下面程序段的运行结果是( )a=1; b=2; c=2;while(a<b<="" p="" {t="a;">cout<<a<<’,’<<b<<’,’<<c;< p="">(A) 1,2,0(B) 2,1,0(C) 1,2,1(D) 2,1,15、下面程序段的运行结果是( )x=y=0;while(x<15) y++,x+=++y;cout<<y<<’\t’<<x;< p="">(A) 20,7(B) 6,12(C) 20,8(D) 8,206、下面程序段的运行结果是( )int n=0;while(n++<=2); cout<<n;< p="">(A) 2(B) 3(C) 4(D) 有语法错7、设有程序段t=0;while(1){t++;if(t<3) break;}cout<<t;< p="">程序运行结果是( )(A) 0(B) 1(C) 2(D) 38、下面程序的功能是将从键盘输入的一对数,由小到大排序输出。

C语言课后习题答案(最终)

C语言课后习题答案(最终)

C语言课后习题答案(最终)第0章习题1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数:(1)128 (2)511 (3)1024 (4)65535 (5)1048575 答:(1)10000000、200、80 (2)111111111、777、1FF (3)10000000000、2000、400(4)1111111111111111、177777、FFFF (5)11111111111111111111、3777777、FFFFF2. 将下列二进制数转化为十进制数和十六进制数:(1)1100110101B (2)101101.1011B 答:(1)821、335 (2)45.6875、2D.B3. 写出下列数的原码、反码、补码:15、-20、-27/32 答:(1)00001111、00000000、00001111 (2)10010100、11101011、11101100 (3)1.1101100、1.0010011、1.00101004. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少?答:5.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。

答:结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。

如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。

6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么?答:0~65535、-128~127、-32768~32767C语言程序属于应用程序,程序代码本身存放在应用程序区,程序运行时处理的数据存计算机的内存空间主要分为3个区:系统程序区、应用程序区和数据区,其中数据区放在应用程序数据区。

[结构化程序设计方法]结构化程序设计

[结构化程序设计方法]结构化程序设计

[结构化程序设计方法]结构化程序设计结构化程序设计篇一:C语言程序设计的试题及答案第一章基础知识一、填空1. 每个 C 程序都必须有且仅有一个________ 函数。

2. C 语言程序开发到执行通常要经过 6 个阶段即编辑、预处理、________、链接、加载和执行。

3. 软件是程序,以及______、使用和维护所需要的所有文档。

4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。

5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。

6. C 语言是由________组成的。

7. C 语言的函数可分为主函数 main、标准库函数和_________。

8. 一个函数是由两部分组成的,即:________和函数体。

9. 编译是将 C 语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。

不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA) 、管理信息系统(MIS) 、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。

11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。

12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。

14. C 程序的执行均是由执行_________开始。

15. 函数体即为包含在{ }内的部分。

它分为________和为完成功能任务由若干个 C 语句组成的执行部分。

第4章_结构化设计方法 参考答案

第4章_结构化设计方法 参考答案

第4章结构化设计方法4.1 当你“编写”程序时你设计软件吗?软件设计和编码有什么不同吗?在“编写”程序时并没有设计软件。

软件设计包括概要设计和详细设计,编码是将详细设计中的过程描述转换成用程序设计语言来描述。

4.2 举出3个数据抽象的例子和可以用来操作这些数据抽象的过程抽象的一个例子。

抽象是忽略事物的细节,获取其本质特征的过程。

抽象是一种重要的机制,使人们能够对复杂系统能够很好地理解、交流和推理。

在软件领域,可以将抽象分为两类,即数据抽象和过程抽象。

在传统的结构化程序设计语言中,就提供了这两种抽象机制。

(1) 数据抽象:在所有的结构化程序设计语言中,用户都可以自定义抽象数据类型。

如定义抽象数据类型Student(学生)、Course(课程)、ClassScoreList(班级成绩单)。

(2) 过程抽象:过程抽象也称为是基于方法的抽象。

过程抽象使我们关心处理过程的名字和它能做什么,而无需知道如何完成所有实现细节。

如求班级总平均分average(ClassScoreList)就是一个过程抽象。

在面向对象的程序设计语言中,抽象与封装的概念密切相关,数据抽象和相关的过程抽象被封装在类中,不同类中相似的过程抽象(方法)又可以进一步抽象,放在接口中。

封装是保证事物有明确内外界限的机制。

内部是受保护的,与外部事物相隔离。

4.3 应在什么时候把模块设计实现为单块集成软件?如何实现?性能是实现单块集成软件的唯一理由吗?由于模块之间的调用降低了系统的运行速度,可能会导致满足不了用户的性能要求,这时就需要将软件设计为单块集成软件。

但是在设计时,最好按照模块化的原则进行设计,只是没有显式的模块定义而已。

这样的程序也具有模块化的优点。

性能是实现单块集成软件的唯一理由。

4.4 是否存在一种情况:复杂问题需要较少的工作去解决?这样的情况对模块化观点有什么影响?通过对复杂的问题进行合理分解,分解为若干个相对简单及独立的子问题,就可以用较少的工作去解决。

结构化设计习题

结构化设计习题

结构化设计习题第四章结构化设计习题(⼀)名词解释1. 软件概要设计2. 模块3. 模块化4. 抽象5. 信息隐蔽6. 模块独⽴性7. 耦合性8. 数据耦合9. 标记耦合10. 控制耦合11. 公共耦合12. 内容耦合13. 内聚性14. 偶然内聚15. 逻辑内聚16. 时间内聚17. 通信内聚18. 顺序内聚19. 功能内聚20. 软件结构图21. 结构化设计22. 变换流23. 事务流24. 详细设计25. 流程图26. 过程设计语⾔(⼆)填空题1. 软件结构的设计是以为基础的。

2. 软件设计阶段,是把软件“”的逻辑模型变换为“”的物理模型。

3. 数据库的“概念设计”与“逻辑设计”分别对应于系统开发中的“”与“”,⽽数据库的“物理设计”与模块的“”相对应。

4. 概要设计⽂档主要有、、和。

5. 模块具有、、和⼏种基本属性。

6. 模块化指解决⼀个复杂问题时逐层把软件系统划分成若⼲的过程。

7. 衡量软件的独⽴性有两个定性的度量标准,即和。

8. 模块之间联系越紧密,其就越强,模块的则越差。

9. 模块的耦合性由低到⾼分为、、、、和。

10. 数据耦合传递的是,标记耦合传递的是,控制耦合传递的是。

11. 软件结构往往⽤结构的图形来表⽰。

软件结构图是软件系统的结构。

12. ⾯向数据流的设计⼜称,它是以需求分析阶段产⽣的为基础,按⼀定的步骤映射成软件结构。

13. 数据流图⼀般可分为和两类。

14. HIPO图中图⽤于描述软件总的模块层次结构,图⽤于说明模块间的信息传递及模块内部的处理。

15. 详细设计也称,它是软件设计的第⼆阶段,主要确定每个的具体执⾏过程。

16. 在详细设计阶段,需要对处理过程的和数据库的结构做评审。

17. 任何程序都可由、和 3种基本控制结构构造。

这3种基本结构的共同点是、。

18. 详细描述处理过程常⽤3种⼯具:、、和。

19. 程序流程图⼜称,它是历史最悠久、使⽤最⼴泛的⼀种描述程序结构的⼯具。

程序设计基础(C语言)第3版习题及答案

程序设计基础(C语言)第3版习题及答案

第1章C语言概述【习题1-1】简述C语言的特点。

答:C语言的特点:C语言简洁、紧凑、使用灵活、方便;运算符丰富;数据结构丰富;C是结构式语言;C语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址;C语言程序生成代码质量高;C语言适用范围大,可移植性好。

【习题1-2】简述上机调试运行C程序的操作步骤。

答:上机运行C语言程序的操作步骤为:启动Visual C++ 6.0→建立工程→创建源程序文件→输入(编辑)源程序内容→保存源程序文件→编译源程序文件→连接目标程序→执行程序→开始另一个程序。

【习题1-3】上机运行本章的3个例题。

答:略。

【习题1-4】请从以下的4个选项中选择一个正确答案。

(1)A (2)A (3)C (4)B【习题1-5】参照本章例题,编写一个C语言程序,输出以下信息:**************Nice to meet you!**************编写程序如下:#include<stdio.h>void main(){printf("**************\n");printf("Nice to meet you!\n");printf("**************\n");}第2章基本数据类型和运算符【习题2-1】上机编辑并调试本章所有例题。

答:略。

【习题2-2】下面哪些是合法的常量?⑴20 0.5 012 13e5.1 E-5 8e4 5. 0x6a⑵'mn' "OK" "a" '\012' "a/b" '\\'答:⑴合法的常量有:20 0.5 012 8e4 5. 0x6a⑵合法的常量有: "OK" "a" '\012' "a/b" '\\'【习题2-3】下面的变量名中哪些是合法的?A&b abc123 abc% AbC a_b_cint _abc 123abc a\b?ca bc a*bc 'a'bc答:合法的变量名有:abc123 AbC a_b_c _abc【习题2-4】指出下面的变量定义哪些是正确的,哪些是不正确的,为什么?⑴Int i,j;⑵float a,b;⑶int a,b;float a,b;⑷float a,int b;⑸char 'a';答:⑴错误,因为关键字Int 应该全为小写字母⑵正确⑶错,因为同一变量在程序的同一处不应该声明为不同的数据类型 ⑷错,因为不同类型的变量要分别声明,其间应使用分号,而不是逗号 ⑸错,'a'表示字符常量,不能用作变量名 【习题2-5】把下列数学式子写成C 语言表达式。

ly_新标准C++程序设计教材11-20章课后题答案

ly_新标准C++程序设计教材11-20章课后题答案

新标准C++程序设计教材11-20章课后题答案第11章:1.简述结构化程序设计有什么不足,面向对象的程序如何改进这些不足。

答案:结构化程序设计的缺点:(1)用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许多问题。

(2)用系统开发每个阶段的成果来进行控制,不适应事物变化的要求。

(3)系统的开发周期长。

面向对象的程序设计如何改进这些不足:面向对象程序设计技术汲取了结构忧程序设计中好的思想,并将这些思想与一些新的、强大的理念相结台,从而蛤程序设计工作提供了一种全新的方法。

通常,在面向对象的程序设计风格中,会将一个问题分解为一些相互关联的子集,每个子集内部都包含了相关的数据和函数。

同时会以某种方式将这些子集分为不同等级,而一个对象就是已定义的某个类型的变量。

2.以下说怯正确的是( )。

A.每个对象内部都有成员函数的实现代码B.一个类的私有成员函数内部不能访问本类的私有成员变量C.类的成员函数之间可以互相调用D.编写一个类时,至少要编写一个成员函数答案:C3.以下对类A的定义正确的是( )。

A.class A{ B.class A{private: int v; int v; A * next;public: void Func() {} void Func() {}} };C.class A{ D. class A{int v; int v;public: public:void Func(); A next;}; void Func() {}A::void Func() { } };答案:B4.假设有以下类A:class A{public:int func(int a) { return a * a; }};以下程序段不正确的是( )。

A.A a; (5);B.A * p = new A; p->func(5);C.A a;A&r =a ; (5);D.A a,b; if(a!=b) (5);答案:D5.以下程序段不正确的是(A)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
cout<<s;
则( )
(A)运行程序段后输出0
(B)运行程序段后输出1
(C)程序段中的控制表达式是非法的
(D)程序段执行无限次
3、语句while(!E);中的表达式!E等价于( )
(A) E==0
(B) E!=1
(C) E!=0
(D) E==1
4、下面程序段的运行结果是( )
a=1; b=2; c=2;
{
if(++i%2==0) continue;
if(++i%3==0) break;
}
(B) i=32767;
do{if(i<0) break;}while(++i);
(C) for(i=1; ; ) if(++i<10) continue;
(D) i=1;
while(i--);
36、下面程序的运行结果是( )
while(num<=2)
{num++;
cout<<num<<endl;
}
}
(A) 1
(B) 1
2
(C) 1
2
3
(D) 1
2
3
4
13、C语言中while和do-while循环的主要区别是( )
(A) do-while的循环体至少无条件执行一次
(B) while的循环控制条件比do-while的循环控制条件严格
while(1)
{
i=i%100+1;
if(i>100) break;
}
(B) for( ; ; );
(C) int k=0;
do{++k;}while(k>=0);
(D) int s=36;
while(s); --s;
28、执行语句for(i=1;i++<4; );后变量i的值是( )
(A) 3 (B) 4 (C) 5 (D)不定
(D) 10
19、下面程序的运行结果是( )
#include<iostream.h>
void main()
{
int a=1,b=10;
do{ b-=a; a++; }
while(b--<0);
cout<<”a=”<<a<<”,b=”<<b;
}
(A) a=3,b=11
(B) a=2,b=8
(C) a=1,b=-1
(C) i=1; s=1;
do{s=s*i;
i++;
}while(i<=10);
(D) i=1; s=0;
do{s=s*i;
i++;
}while(i<=10);
15、以下程序段( )
x=-1;
do{x=x*x;}while(!x);
(A)是死循环
(B)循环执行二次
(C)循环执行一次
(D)有语法错误
16、若有如下语句
void main()
{
int n,sum=0;
n=2345;
do{
sum=sum+①;
n=②;
}while(n);
cout<<sum;
}
①(A) n%10
(B) (n%10)*(n%10)
(C) n/10
(D) (n/10)*(n/10)
②(A) n/1000
(B) n/100
(C) n/10
(D) n%10
{
int a,max=0;
cin>>a;
while(①)
{
if(max<a) max=a;
cin>>a;
}
cout<<max;
}
①(A) a==0
(B) a
(C) !a==1
(D) !a
12、下面程序的运行结果是( )
#include <iostream.h>
void main()
{
int num=0;
(A) 0
(B) 1
(C) 2
(D) 3
8、下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,①处应选择( )
#include <iostream.h>
void main()
{
int a,b,t;
cin>>a>>b;
while(①)
{
if(a>b)
{t=a; a=b; b=t
Cout<<"奇数之和="<<②);
}
①(A) b=i--
(B) b=i+1
(C) b=i++
(D) b=i-1
②(A) c-10
(B) c
(C) c-11
(D) c-b
31、下面程序的运行结果是( )
#include<iostream.h>
void main()
{
int i;
for(i=1;i<=5;i++)
(A) 20,7
(B) 6,12
(C) 20,8
(D) 8,20
6、下面程序段的运行结果是( )
int n=0;
while(n++<=2); cout<<n;
(A) 2
(B) 3
(C) 4
(D)有语法错
7、设有程序段
t=0;
while(1)
{
t++;
if(t<3) break;
}
cout<<t;
程序运行结果是( )
(D) 2次
23、以下for循环的执行次数是( )
for(x=0,y=0;(y=123)&&(x<4);x++);
(A)是无限循环
(B)循环次数不定
(C)执行4次
(D)执行3次
24、以下不是无限循环的语句为( )
(A) for(y=0,x=1;x>++y;x=i++) i=x;
(B) for( ; ; x++=i);
while(a<b<c) {t=a; a=b; b=t; c--;}
cout<<a<<’,’<<b<<’,’<<c;
(A) 1,2,0
(B) 2,1,0
(C) 1,2,1
(D) 2,1,1
5、下面程序段的运行结果是( )
x=y=0;
while(x<15) y++,x+=++y;
cout<<y<<’\t’<<x;
void main()
{
int i=5;
do{
switch(i%2)
{
case 4: i--; break;
case 6: i--; continue;
}
i--; i--;
cout<<i<<'\t';
}while(i>0);
}
2、下面程序的运行结果是__a=16,y=60_。
else continue;
cout<<"#";
}
cout<<"$\n";
}
(A) *#*#*#$
(B) #*#*#*$
(C) *#*#$
(D) #*#*$
11、下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择①( )
#include <iostream.h>
void main()
void main()
{
int i,j,a=0;
for(i=0;i<2;i++)
{
for(j=0;j<4;j++)
{
if(j%2) break;
a++;
}
a++;
}
cout<<a;
}
(A) 4
(B) 5
(C) 6
(D) 7
二、填空题
1、下面程序的运行结果是__31-1______。
#include<iostream.h>
第三章结构化程序设计部分习题
一、选择题
1、设有程序段
int k=10;
while(k=0) k=k-1;
则下面叙述中正确的是( )
(A) while循环执行10次
(B)循环是无限循环
(C)循环体语句一次也不执行
(D)循环体语句执行一次
2、设有以下程序段
int x=0,s=0;
while(!x!=0) s+=++x;
29、下面程序的功能是计算1至50中是7的倍数的数值之和,请选择填空。①( )
#include<iostream.h>
void main()
{
int i,sum=0;
for(i=1;i<=50;i++)
if(①) sum+=i;
cout<<sum;
}
(A) (int)(i/7)==i/7
相关文档
最新文档