7第6章 程序设计语言 习题与答案

合集下载

《C语言程序设计教程(第二版)》习题答案

《C语言程序设计教程(第二版)》习题答案

1 【C语言】《C语言程序设计教程(第二版)》习题答案说明1. 本文所指的《C语言程序设计教程(第二版)》是李凤霞主编、北京理工大学出版社出版的,绿皮。

2 第1章程序设计基础知识一、单项选择题(第23页)1-4.CBBC 5-8.DACA二、填空题(第24页)1.判断条件2.面向过程编程3.结构化4.程序5.面向对象的程序设计语言7.有穷性8.直到型循环9.算法10.可读性11.模块化12.对问题的分析和模块的划分三、应用题(第24页)2.源程序:main(){int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */printf("cock hen chick\n");for(i=1;i<=20;i++)for(j=1;j<=33;j++)for(k=1;k<=33;k++)if (i+j+k*3==100&&i*5+j*3+k==100)printf(" %d %d %d\n",i,j,k*3);}执行结果:cock hen chick4 18 788 11 8112 4 843.现计算斐波那契数列的前20项。

递推法源程序:main(){long a,b;int i;a=b=1;for(i=1;i<=10;i++) /*要计算前30项,把10改为15。

*/{printf("%8ld%8ld",a,b);a=a+b;b=b+a;}}递归法源程序:main(){int i;for(i=0;i<=19;i++)printf("%8d",fib(i));}fib(int i){return(i<=1?1:fib(i-1)+fib(i-2));}执行结果:1 123 5 8 13 21 34 5589 144 233 377 610 987 1597 2584 4181 6765 4.源程序:#include "math.h";main(){double x,x0,deltax;x=1.5;do {x0=pow(x+1,1./3);deltax=fabs(x0-x);x=x0;}while(deltax>1e-12);printf("%.10f\n",x);}执行结果:1.32471795725.源程序略。

PHP程序设计习题答案

PHP程序设计习题答案

第1章PHP开篇习题一、填空题1.Apache的httpd服务程序使用的是【80 】端口。

2.在进行软件开发时有两种基本架构,B/S架构和【C/S】架构。

3.URL的英文全称是【】,中文名称为【统一资源定位符】。

Uniform Resource Locator4.【HTTP 】协议是计算机硬件与软件之间数据交换的格式。

5.【HTTP】表示传输数据所使用的协议,【WWW】表示要请求的服务器主机名。

二、判断题1.使用PHP写好的程序,在Linux和Windows平台上都可以运行。

(√)2.PHP可以支持MySQL数据库,但不支持其它的数据库。

(×)3.PHP有很多流行的MVC框架,这些框架可以使PHP的开发更加快捷。

(√)4.Zend Studio是PHP中常用的IDE(集成开发环境)。

(√)5.进行PHP程序开发时,可以借助软件和工具来提高效率。

(√)三、选择题1.下列选项中,不是URL地址中所包含的信息是(D )。

A.主机名B.端口号C.网络协议D.软件版本2.PHP是一种(A)的编程语言。

A.解释型B.编译型C. 两者都是D. 两者都不是3.PHP是个网站开发中非常流行的脚本语言,其流行的原因不包含(C )。

A.易学B.易用C.易调试D.易扩展4.PHP与Linux、Apache和MySQL一起共同组成了一个强大的Web应用程序平台,下列选项中为该平台简称的是(B )。

A. WAMPB. LAMPC. LNMPD. WNMP5.在下列选项中,哪些不属于PHP的突出特点(B )。

A开源免费 B.开发成本高C.跨平台性D.支持多种数据库四、简答题1.请简要说明PHP的突出特点是什么?1.开源免费2跨平台性3.面向对象.快捷性5.支持多种数据库4.第2章基本语法习题一、填空题1.任何一个程序文件的php代码的开始和结束都要使用【<?php 】和“?>”进行标记。

2.PHP中,多行注释以【/* 】开始,以【*/ 】结束。

C语言程序设计第六章数组习题及答案

C语言程序设计第六章数组习题及答案

1.以下对一维整型数组a的定义,正确的是_。

(2分)A.int a(10) ;B.int n = 10 , a[n] ;C.int n ;scanf( "%d" , &n ) ;int a[n] ;D.int a[10] ;2.若有定义:int a[10] ;,则对a数组元素的正确引用是_。

(2分)A.a[10]B.a[3.5]C.a(5)D.a[10-10]3.对定义int a[10] = {6 , 7 , 8 , 9 , 10} ; 的正确理解是_。

(2分)A.将5个初值依次赋给a[1]--a[5]B.将5个初值依次赋给a[0]--a[4]C.将5个初值依次赋给a[6]--a[10]D.因为数组长度与初值个数不相同,所以此语句不正确4..若有定义:int a[3][4]; , 则对a数组元素的正确引用是_。

(2分)A.a[3][4]B.a[1,3]C.a[1+1][0]D.a(2)(1)5.以下对二维数组a初始化正确的语句是_。

(2分)A.int a[2][ ]={{0 , 1 , 2}, {3 , 4 , 5}};B.int a[ ][3]={{0, 1, 2}, {3, 4, 5}};C.int a[2][4]={{0, 1 , 2}, {3 , 4}, {5}};D.int a[ ][3]={{0, 1, 2}, { }, {3, 4}};6.对二维数组a进行如下初始化:int a[ ][3]={0 , 1 , 2 , 3 , 4 , 5};则a[1][1]的值是_。

(2分)A.0B.3C.4D.17.下面程序段的运行结果是_。

(2分)#include<stdio.h>int main( ){int i , x[3][3] = {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9} ;for( i = 0 ; i < 3 ; i++ )printf( "%2d" , x[i][2-i] ) ;return 0 ;}A.1 5 9B.1 4 7C.3 5 7D.3 6 98.以下对数组s的初始化,错误的是_。

C语言习题答案1-7章

C语言习题答案1-7章

程序设计基础(C语言版)习题第01章绪论一.选择题1.以下叙述中正确的是________。

A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整参考答案:D【解析】程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段。

所以选项A)、B)、C)说法都不完整。

2.以下关于简单程序设计的步骤和顺序的说法中正确的是。

A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构参考答案:B【解析】设计一个能解决实际问题的计算机程序需要经过以下几个过程:①建立模型。

②算法设计:给出解决问题的步骤,即算法。

③算法表达:选择一种表达算法的工具,对算法进行清晰的表达。

④编写程序:选择一种程序设计语言,把以上算法程序化,这称为编写程序。

⑤程序调试:对编写好的程序进行调试,修改程序中的错误。

⑥程序文档编写与程序维护。

综上所述,B)选项是符合上述描述的,其他选项不恰当。

3.以下叙述中正确的是________。

A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完参考答案:C【解析】函数是C程序的基本组成单位;C语言书写风格很自由,不但一行可以写多个语句,还可以将一个语句写在多行中。

故本题答案为C)。

4.以下叙述中正确的是。

A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中参考答案:C【解析】在C语言中,注释可以加在程序中的任何位置,选项A)错误。

C语言单元复习题 第06部份 循环

C语言单元复习题  第06部份 循环
B.只有do...while语句构成的循环能用break语句退出
C.用do...while语句构成循环时,在while后的表达式为零时不一定结束循环
D.用do...while语句构成循环时,在while后的表达式为零时结束循环
(知识点:do...while语句; 难度系数:1; 答案:D )
10.以下关于do...while语句的叙述中,正确的是:( )。
(知识点:循环的基本概念; 难度系数:1; 答案:D )
2.以下关于循环的描述中,错误的是:( )。
A.while、do...while和for语句的循环体都可以是空语句
B.for和do...while语句都是先执行循环体,后进行循环条件判断
C.while语句是先进行循环条件判断,后执行循环体的
D.使用while和do...while语句时,循环变量初始化的操作应在循环语句之前完成
A.break语句和continue语句都只能用于循环结构
B.break语句和continue语句都只能用于switch结构
C.break语句用于跳出循环体,continue语句用于跳出当次循环
D.continue语句用于跳出循环体,break语句用于跳出当次循环
(知识点:continue语句; 难度系数:1; 答案:C )
A.x==0B.x==1C.x!=lD.x!=0
(知识点:while语句; 难度系数:1; 答案:D )
5.在C语言中,当while语句构成的循环中的条件为( )时,结束循环。
A.0B.1C.真D.非0
(知识点:while语句; 难度系数:1; 答案:A )
6.有以下程序段:
int k=0;
while(k=1) k++;

第6章 程序设计语言 习题与答案

第6章 程序设计语言 习题与答案

第六章习题 P159-161一、复习题1、简述自然语言与形式语言的概念以及区别、汇编语言与机器语言的概念及区别。

自然语言是某一社会发展中形成的一种民族语言,而形式语言是进行形式化工作的元语言,它是以数学和数理逻辑为基础的科学语言。

用机器指令形式编写的程序称为机器语言,用带符号或助记符的指令和地址代替二进制代码成为语言进化的目标。

这些使用助记符语言的语言后来就被称之为汇编语言。

(P144- P146)2、试述计算机语言的类型,它们各有什么特点?1.机器语言,是最低级的语言,由二进制码组成,最早期的程序员通过在纸带上打点来写程序2.汇编语言,用助记符和地址符代替了二进制码,更易于编写。

3.高级语言,相对于汇编语言又上升了一步,更接近于自然语言,如C语言、Pascal、Java、C#等都是高级语言。

(P145-147)3、列举程序设计语言的几种范型。

程序语言大致分为命令式程序设计语言、面向对象的程序设计语言、函数式程序设计语言和逻辑型程序设计语言等范型。

(P147-149)4、简述语言虚拟机。

提示:语言虚拟机是某种语言的解释器。

语言虚拟机是建立在硬件和操作系统之上,针对不同的硬件和操作系统有不同的虚拟机,通过语言虚拟机屏蔽掉硬件的差异。

这样使得硬件系统能够支持这种语言编写的程序的有效执行。

目前最流行的语言虚拟机是Java虚拟机。

(P156)5、计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么?提示:主要有编译、解释等方式,也有两种方式的混合使用的形式。

编译是使用编译器将高级语言编写的源程序转换成计算机可以执行的机器语言可执行程序,也可以理解为用编译器产生可执行程序的动作。

编译方式是一次编译,然后执行程序可以反复多次执行。

解释是另一种将高级语言转换为可执行程序的方式。

与编译不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,每个语句都是执行的时候才翻译。

这样解释性语言每执行一次就要翻译一次,效率比较低。

visual_Basic程序设计教程_课后习题答案及练习

visual_Basic程序设计教程_课后习题答案及练习

"VB程序设计"综合复习资料第一章 Visual Basic程序设计概述一、填空题1、VisualBasic是一种面向__________的可视化程序设计语言,采取了__________的编程机制。

2、在VB中工程文件的扩展名是____________,窗体文件的扩展名是____________,标准模块文件的扩展名是____________。

3、执行“工程〞菜单下的__________命令,可选择并添加Active*控件。

4、Visual Basic 6.0用于开发__________环境下的应用程序。

二、选择题1、下面不是VB工作模式的是〔〕A.设计模式B.运行模式C.汇编模式D.中断模式2、可视化编程的最大优点是〔〕A.具有标准工具箱B.一个工程文件由假设干个窗体文件组成C.不需要编写大量代码来描述图形对象D.所见即所得3、以下不能翻开属性窗口的操作是〔〕A.执行“视图〞菜单中的“属性窗口〞命令B.按F4键C.按Ctrl+TD.单击工具栏上的“属性窗口〞按钮4、以下可以翻开立即窗口的操作是〔〕A.Ctrl+D B.Ctrl+E C.Ctrl+F D.Ctrl+G5、Visual Basic的编程机制是〔〕A.可视化 B.面向对象 C.面向图形 D.事件驱动三、简答题1、代码窗口主要包括哪几局部?2、在工程资源管理器窗口中,主要列出了哪三类文件?3、窗体布局窗口的主要用途是什么?4、VB的根本特点是什么?5、怎样理解可视化设计?6、怎要理解事件驱动编程?第二章简单的VB程序设计一、填空题1、设置是否可以用Tab键来选取命令按钮,应该用______________属性。

2、一个控件在窗体的位置由_______和________属性决定,其大小由__________和_________属性决定。

3、利用对象的属性setfocus可获得焦点,对于一个对象,只有其visible属性和____________属性为true,才能承受焦点。

计算机科学与导论课后习题答案 第6章 程序设计与算法分析

计算机科学与导论课后习题答案  第6章  程序设计与算法分析
(3) 问题的边界应该清晰明确。只有这样才能精确地解决这些子问题,否则就会模棱两可,无从下手。
5.简述面向对象和结构化程序设计的区别。
答:面向对象是从本质上区别于传统的结构化方法的一种新方法、新思路。它吸收了结构化程序设计的全部优点,同时又考虑到现实世界与计算机之间的关系,认为现实世界是由一系列彼此相关并且能够相互通信的实体组成,这些实体就是面向对象方法中的对象,每个对象都有自己的自然属性和行为特征,而一类相似对象的共性的抽象描述,就是面向对象方法中的核心——类。
9.用图示法表示语言处理的过程。
答:语言处理的过程如图所示:
10.简述编译程序的概念。
编译程序是把高级语言程序(源程序)作为一个整体来处理,在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),编译后与系统提供的代码库链接,形成—个完整的可执行的机器语言程序(目标程序代码)。
第6章 程序设计与算法分析
习题(答案)
一、选择题
1. A 2. D 3. A 4. C 5. D
6. B 7. B 8. D 9. ABCD 10. D
11. C 12. A 13. B 14. D 15. A
二、简答题
1.简述程序的概念。
答:一个程序就是能够实现特定功能的一组指令序列的集合。或者表示为:程序=算法+数据结构。
答:语法分析是编译过程的第二个阶段,任务是在词法分析的基础上将单词序列分解成各类语法短语,如“程序”、“语句”、“表达式”等等。
14.简述语义处理的功能。
答:编译过程中的语义处理实现两个功能:
(1) 审查每个语法结构的静态语义,即验证语法结构合法的程序是否真正有意义,有时把这个工作称为静态语义分析或静态审查。

第3、4、5、6、7章C语言设计 习题答案

第3、4、5、6、7章C语言设计 习题答案

第三章习题答案1.掌握算法必须要掌握的五个特性:a)有穷性。

算法执行步骤的次数有限,能在有限时间内完成。

b)确切性。

每一步操作的执行步骤、执行结果确定,不能有二义性。

c)有效性。

算法中的每一步操作都是可执行的,即算法的每一步都能通过手工或机器在有限时间内完成。

d)必须有零个或多个输入。

e)必须有一个或多个输出。

2.算法是指令的有限序列,是求解问题显式的一步一步进行的过程。

为程序编写提供依据。

程序是用C语言单词将算法表达出来的过程。

算法是程序的灵魂。

3.数据类型总体分为三类:a)对象类型。

对象类型的基本类型又分为整型、浮点型、字符型。

b)函数类型。

c)不完全类型。

4.整型可分为:a)有符号整数。

它又包括 short int、int、long int、long long int。

b)无符号整数。

它又包括unsigned short int、unsigned int、unsigned longint、unsigned long long int。

不同数据类型数据的值域范围不同。

5.合法的标识符有:scanf、x、x1、_y 、_y2x、printf、main合法标识符由英文字母、数字、下划线组成,且第一个字符只能是英文字母或下划线。

关键词不能成为合法标识符。

6.略7.8.变量名:x 数据对象:3存储地址:&x 存储单元:8(在VS2005中)9.0x13B1:十六进制int型字面值;3e3:十进制 int型字面值;‘d’:字符型字面值;“my university”:字符串型字面值;99:十进制int型字面值;023:八进制int型字面值;1.3e-4:double型浮点型字面值;33U:十进制unsigned int型字面值;034L:八进制long int型字面值;0x34UL:十六进制unsigned long int型字面值;30.23L:十进制long double型字面值;30.23F:十进制float型字面值;10.\?:?\’:’\”:”\\:\\233:表示八进制int型整数233\x2f:表示十六进制int型整数 2f。

程序设计第二版习题答案

程序设计第二版习题答案

程序设计第二版习题答案程序设计第二版习题答案在学习编程的过程中,我们经常会遇到一些难题和疑惑。

而《程序设计第二版》这本书,作为一本经典的编程教材,为我们提供了丰富的习题。

在这篇文章中,我将为大家提供一些《程序设计第二版》习题的答案,希望能够帮助大家更好地理解和掌握编程知识。

第一章:引论1. 编程是什么?答案:编程是将问题转化为计算机可以理解和执行的指令的过程。

通过编程,我们可以利用计算机解决各种实际问题。

2. 什么是计算机程序?答案:计算机程序是一系列指令的集合,用于告诉计算机如何执行任务。

程序可以包含条件判断、循环、函数等结构,以实现特定的功能。

第二章:C++基础知识1. 什么是变量?答案:变量是用于存储数据的一块内存空间。

在C++中,我们可以通过声明变量来指定变量的类型和名称,然后可以对其进行赋值和操作。

2. 如何定义一个整型变量并赋初值为10?答案:可以使用以下代码来定义一个整型变量并赋初值为10:int num = 10;第三章:控制结构1. 什么是条件语句?答案:条件语句用于根据条件的真假来执行不同的代码块。

在C++中,常用的条件语句有if语句和switch语句。

2. 如何使用if语句判断一个数是否为正数?答案:可以使用以下代码来判断一个数是否为正数:if (num > 0) {cout << "该数为正数" << endl;} else {cout << "该数不为正数" << endl;}第四章:函数1. 什么是函数?答案:函数是一段封装了特定功能的代码块,可以通过函数名和参数来调用执行。

函数可以提高代码的可读性和重用性。

2. 如何定义一个函数来计算两个数的和?答案:可以使用以下代码来定义一个函数来计算两个数的和:int sum(int a, int b) {return a + b;}第五章:数组和指针1. 什么是数组?答案:数组是一种用于存储多个相同类型元素的数据结构。

《C++程序设计》(第2版)教学资源 主教材习题解答 C++第六章习题解答

《C++程序设计》(第2版)教学资源 主教材习题解答 C++第六章习题解答

第六章模板与数据结构习题一、.基本概念与基础知识自测题6.1 填充题6.1.1 模板是为了实现代码的(1),它把数据类型改为一个(2),称为(3)程序设计。

模板包括(4)和(5)。

答案:(1)重用(2)设计参数(3)参数化(parameterize)(4)函数模板(function template)(5)类模板(class template)6.1.2 调用函数模板时,可以显式指定模板参数类型,也可以隐式进行,称为(1),这是根据(2)来决定的。

答案:(1)模板实参推演(template argument deduction)(2)一组实际类型或(和)值6.1.3 顺序查找可以用于(1)线性表,而对半查找可以用于(2)线性表。

答案:(1)无序的(所有)(2)有序的6.1.4 最常见的排序方式有(1)、(2)和(3)。

如果现有一个已排好序的线性表,在表尾添加了一个元素,采用(4)排序法使它重新成为有序的所需工作量最小。

答案:(1)选择(2)插入(3)交换(4)交换(可利用原来的有序性)6.1.5 给出以下指针的说明方式:指向一个4元素整型数组的指针为(1);指向一个返回整型数,参数为两个整型数的函数的指针(2);指向一个数组的指针,而该数组元素都是指向一个返回整型指针的无参函数(3)。

答案:(1)int(*p)[4](2)int(*p)(int,int)(3)以指向6元素数组为例:int*(*)() (*p)[6]简答题6.2.1需要编写一个对多维数组通用的算法(即各维的大小未定),怎样才能把实参多维数组的信息全部传递到函数中去?答:最佳方法是用函数模板,多维数组用模板类型参数传递,各维的大小作为参数传递。

也可以用一维数组加各维的大小都作为参数传递。

6.2.2什么叫函数模板?什么叫模板函数?什么叫类模板?什么叫模板类?答:不受数据类型限制的通用型的函数使代码的可重用性大大提高。

把数据类型改为一个设计参数是一个可行的方案。

c语言程序设计第五版课后答案谭浩强第六章习题答案

c语言程序设计第五版课后答案谭浩强第六章习题答案

c语⾔程序设计第五版课后答案谭浩强第六章习题答案第六章:利⽤数组处理批量数据1. ⽤筛选法求100之内的素数【答案解析】素数:约数为1和该数本⾝的数字称为素数,即质数筛选法:⼜称为筛法。

先把N个⾃然数按次序排列起来。

1不是质数,也不是合数,要划去。

第⼆个数2是质数留下来,⽽把2后⾯所有能被2整除的数都划去。

2后⾯第⼀个没划去的数是3,把3留下,再把3后⾯所有能被3整除的数都划去。

3后⾯第⼀个没划去的数是5,把5留下,再把5后⾯所有能被5整除的数都划去。

这样⼀直做下去,就会把不超过N 的全部合数都筛掉,留下的就是不超过N的全部质数。

因为希腊⼈是把数写在涂腊的板上,每要划去⼀个数,就在上⾯记以⼩点,寻求质数的⼯作完毕后,这许多⼩点就像⼀个筛⼦,所以就把埃拉托斯特尼的⽅法叫做“埃拉托斯特尼筛”,简称“筛法”。

(另⼀种解释是当时的数写在纸草上,每要划去⼀个数,就把这个数挖去,寻求质数的⼯作完毕后,这许多⼩洞就像⼀个筛⼦。

)【代码实现】//⽤筛选法求100以内的素数#include<stdio.h>int main(){int i, j, k = 0;// 将数组汇总每个元素设置为:1~100int a[100];for (i = 0; i < 100; i++)a[i] = i+1;// 因为1不是素数,把a[0]⽤0标记// 最后⼀个位置数字是100,100不是素数,因此循环可以少循环⼀次a[0] = 0;for (i = 0; i < 99; i++){// ⽤a[i]位置的数字去模i位置之后的所有数据// 如果能够整除则⼀定不是素数,该位置数据⽤0填充for (j = i + 1; j < 100; j++){if (a[i] != 0 && a[j] != 0){//把不是素数的都赋值为0if (a[j] % a[i] == 0)a[j] = 0;}}}printf(" 筛选法求出100以内的素数为:\n");for (i = 0; i < 100; i++){//数组中不为0的数即为素数if (a[i] != 0)printf("%3d", a[i]);}printf("\n");return 0;}【运⾏结果】2. ⽤选择法对10个整数排序【答案解析】选择排序原理:总共两个循环,外循环控制选择的趟数,内循环控制具体选择的⽅式。

Visual Basic 程序设计教程习题答案

Visual Basic 程序设计教程习题答案

(4)I <= N
3. (1)K
(2)Flag = 0
4. (1)B
(2)D
(3)A
(4)B
(5)C
5. (1)C
(2)B
(3)A
6. (1)A()
(2)N
(3)I+1
(4)A(J)
(5)T
7. (1)ReDim A(N) (2)P>N Or P<1 (3)P+1
(4)D
8. (1)YO < Y(I)
666666
7777777
22. 1
23. 10 5
24. I= 7
A= 11
25. M1= 120
M2= 6
26. 3 21
27. 2 4 -3 3
28. 11
29. 14 6 3
30.
*
***
*****
*******
*********
***********
31. *****
****
***
**
*
5. A( 17.4 )
6. -1
7. he
is
ang
8. 1 2 False
9. 123321
10. 444
11. -3 3
12. 30 10
13. False
14. I= 2
15. I= 1
16. A
17. **0**
18. 7 22
19. 2 3 5
20. 1 6
21.
1
22
333
4444
55555
四、写出下列条件对应的 Visual Basic 关系表达式或布尔表达式。

C语言程序设计习题与参考答案

C语言程序设计习题与参考答案

习题与参考答案第1章 C语言程序设计基础思考与练习一、填空题1、C程序是由构成的,一个C程序中至少包含。

2、C程序的注释是由和所界定的文字信息组成的。

3、开发一个C程序要经过编辑、、和运行4个环节。

4、C语言中,头文件的扩展名是。

5、C语言源程序的扩展名;经过编译后,生成文件的后缀是;经过连接后,生成文件的扩展名是。

二、简答题1、简述C语言程序的运行步骤。

2、软件编程中的可读性原则一般包括那些内容?3、什么是算法?算法的特点有哪些?4、参照本章例题,编写一个C程序,输出以下内容。

**************************************************Hello,world!**************************************************5、写出算法。

已知圆的半径,求周长和面积。

第1章思考与练习参考答案一、填空题1、函数、一个主函数main()2、/*、*/3、编译、连接4、.h5、.c、.obj、.exe二、简答题1、简述C语言程序的运行步骤。

答:(1)编辑C程序源文件;(2)编译,将编辑好的源程序文件“*.c”,翻译成二进制目标代码文件“*.obj”;(3)连接,将编译生成的各个目标程序模块和系统或第三方提供的库函数“*.lib”连接在一起,生成可以脱离开发环境、直接在操作系统下运行的可执行文件“*.exe”;(4)运行程序。

如果运行出错,这说明程序处理的逻辑存在问题,需要再次回到编辑环境针对程序出现的逻辑错误进一步检查、修改源程序,重复编辑→编译→连接→运行的过程,直到取得预期结果为止。

2、软件编程中的可读性原则一般包括那些内容?答:1.编程规范概要(1)程序结构清晰,简单易懂,单个函数的程序行数不得超过100行。

(2)打算干什么,要简单,直截了当,代码精简,避免垃圾程序。

(3)尽量使用标准库函数和公共函数。

(4)不要随意定义全局变量,尽量使用局部变量。

C++面向对象程序设计第六章课后习题答案(第2版—谭浩强)

C++面向对象程序设计第六章课后习题答案(第2版—谭浩强)

第六章课后习题答案(第二版谭浩强)1://xt6—1/cpp#include <iostream> //如用VC++应改为∶#include 〈iosttram。

h>using namespace std;//如用VC++应取消此行#include "cylinder.h"#include ”point。

cpp”#include ”circle。

cpp”#include "cylinder。

cpp”int main(){Cylinder cy1(3。

5,6。

4,5.2,10);cout<<"\noriginal cylinder:\nx="<<cy1。

getX()<〈”,y=”〈<cy1。

getY()〈〈",r=”〈〈cy1。

getRadius()<<”, h=”<<cy1。

getHeight()<<"\narea="<<cy1.area()〈〈",volume="<〈cy1.volume()〈〈endl;cy1.setHeight(15);cy1。

setRadius(7.5);cy1.setPoint(5,5);cout<〈"\nnew cylinder:\n"〈〈cy1;Point &pRef=cy1;cout〈〈"\npRef as a point:"〈〈pRef;Circle &cRef=cy1;cout〈<"\ncRef as a Circle:”<〈cRef;return 0;}3:解法一#include <iostream>using namespace std;class Point{public:Point(float a,float b):x(a),y(b){}~Point(){cout〈<"executing Point destructor”〈<endl;}private:float x;float y;};class Circle:public Point{public:Circle(float a,float b,float r):Point(a,b),radius(r){}~Circle(){cout〈〈"executing Circle destructor"<〈endl;}private:float radius;};int main(){Point *p=new Circle(2。

《C语言程序设计教程》习题参考答案

《C语言程序设计教程》习题参考答案

《C语言程序设计教程》习题参考答案祝胜林主编华南理工大学出版社【习题1】 (1)【习题2】 (2)【习题3】 (3)【习题4】 (5)【习题5】 (8)【习题6】 (11)【习题7】 (14)【习题8】 (17)【习题9】 (17)【习题10】 (20)一、简答题(在课本中寻找答案,略)1.1C程序的基本结构包括哪些内容?1.2如何定义标识符?1.3输入格式、输出格式的组成包括哪些内容?1.4C语言函数分为哪两类?1.5计算表达式的值应该考虑哪些方面?1.6上机调试程序的步骤如何?二、判断并改错1.7C程序执行的入口是main()函数,所以main函数必须放在程序的开头。

错误:main函数可以放在程序的任何位置。

并不限定在程序的开头。

1.8定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。

错误:不可以交叉出现,数据说明部分在执行语句部分的前面。

1.9编辑与编译不是一回事。

错误:不是一回事。

编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。

1.10scanf("%d,%d",&x,&y);的正确输入格式:3,4<回车>。

正确1.11注释内容太多会影响程序的执行效率。

错误:不会影响程序的执行效率。

因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中。

1.12所有的数学公式可以直接出现在源程序中。

错误:数学公式需要转换成C语言能够接受的公式才能出现在源程序中。

三、编程题1.13在屏幕上输出自己名字的拼音。

提示:中文名字叫‚张三‛,对应的拼音为‚Zhang San‛,输出用printf()函数。

1.14 输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。

提示:定义圆的半径r,圆的周长:2*3.14*r,输出结果保留2位小数可以用%.2f1.15输入两个整数,输出其中最大者。

C语言程序设计》课后习题详细答案

C语言程序设计》课后习题详细答案
(2)在同一行上的/ * main function * /显然是注释;C语言规定:注释由/*开头,由*/结束,但在*号和/之间不得插入任何空格,而在此处“/ *”和“* /”之间存在空格,因此,/ * main function * /的写法是错误的,而应写成:/* main function */。
printf(″(1) a=%d,b=%d,c=%d\n″,a,b ,c);
t=c; c=b; b=a; a=t;
printf(″(2) a=%d,b=%d,c=%d\n″,a,b,c);
}
第四章选择结构习题分析与解答
一、选择题
4.1【参考答案】A)
4.2【参考答案】A)
4.3【参考答案】A)
4.4【参考答案】D)
(6)设计输出语句。输出a、b、c和ave。
(7)把以上内容放在主函数的一对花括号中。
(8)编写程序如下:
main()
{ double a,b,c,ave;
printf(″Enter a ,b ,c :″);
scanf(″%lf%lf%lf″, &a, &b, &c );
ave=(a+b+c)/3;
2.15【参考答案】[1]4.2[2]4.2
2.16【参考答案】[1]{[2]}[3]定义[4]执行
2.17【参考答案】[1]关键字[2]用户标识符
2.18【参考答案】[1]int[2]float[3]double
2.19【参考答案】float a1=1.0, a2=1.0;
或float a1=1, a2=1;(系统将自动把1转换为1.0)
3.27【参考答案】x=127, x=127 , x=$127 ,x=$000127, x=%06d

《Python程序设计》习题与答案python教材答案

《Python程序设计》习题与答案python教材答案

《Python程序设计》习题与参考答案第1章基础知识1、1 简单说明如何选择正确的Python版本。

答:在选择Python的时候,一定要先考虑清楚自己学习Python的目的就是什么,打算做哪方面的开发,有哪些扩展库可用,这些扩展库最高支持哪个版本的Python,就是Python 2、x还就是Python 3、x,最高支持到Python 2、7、6还就是Python 2、7、9。

这些问题都确定以后,再做出自己的选择,这样才能事半功倍,而不至于把大量时间浪费在Python的反复安装与卸载上。

同时还应该注意,当更新的Python版本推出之后,不要急于更新,而就是应该等确定自己所必须使用的扩展库也推出了较新版本之后再进行更新。

尽管如此,Python 3毕竟就是大势所趋,如果您暂时还没想到要做什么行业领域的应用开发,或者仅仅就是为了尝试一种新的、好玩的语言,那么请毫不犹豫地选择Python 3、x系列的最高版本(目前就是Python 3、4、3)。

1、2 为什么说Python采用的就是基于值的内存管理模式?答:Python采用的就是基于值的内存管理方式,如果为不同变量赋值相同值,则在内存中只有一份该值,多个变量指向同一块内存地址,例如下面的代码。

>>> x = 3>>> id(x)>>> y = 3>>> id(y)>>> y = 5>>> id(y)>>> id(x)1、3 在Python中导入模块中的对象有哪几种方式?答:常用的有三种方式,分别为import 模块名[as 别名]●from 模块名import 对象名[ as 别名]●from math import *1、4 使用pip命令安装numpy、scipy模块。

答:在命令提示符环境下执行下面的命令:pip install numpypip install scipy1、5 编写程序,用户输入一个三位以上的整数,输出其百位以上的数字。

第6章由机器语言到高级语言:程序编写与编译练习题答案解析

第6章由机器语言到高级语言:程序编写与编译练习题答案解析

第6章由机器语言到高级语言:程序编写与编译1、关于计算机语言,下列说法不正确的是_____。

(A)所有源程序最后都需被转换为汇编语言程序,机器才能够执行;(B)所谓“高级语言”和“低级语言”是指其和机器硬件的相关程度,不涉及机器硬件的语言为高级语言,而与机器硬件相关的语言则为低级语言;(C)低级语言程序执行效率高是因为用低级语言编程时可以充分利用硬件的各种特殊性,而高级语言则只能使用硬件的标准结构;(D)高级语言编程效率高是因为其可用大粒度积木块来构造程序,比一行行语句、一条条指令来编程效率高出很多。

(E)上述有不正确的。

答案:A解释:本题考核对“计算机语言”的理解。

(A)所有源程序最后都需被转换为机器语言程序,机器才能够执行,所以(A)错误;(B)(C)和(D)的叙述都是正确的。

具体内容请参考第六章视频之“从机器语言到汇编语言”以及第六章课件。

2、关于计算机语言,下列说法不正确的是_____。

(A)汇编语言和机器语言是以指令为单位来编写程序;(B)高级语言是以语句为单位来编写程序,一条语句相当于若干条指令(或者说一条语句可用若干条指令来实现);(C)面向对象语言或可视化构造语言是以对象(类)为单位来编写程序,一个对象相当于若干条语句((或者说一个对象可用若干条语句来实现);(D)我们可以设计一种新语言,让用户以其更熟悉的对象(类)来编写源程序,然后提供一个编译器将该源程序转换成某种已广泛使用的高级语言源程序,就可以让机器执行该程序。

(E)上述有不正确的。

答案:E解释:本题考核对“计算机语言”的理解。

(A)(B)(C)和(D)的叙述都是正确的,所以选择(E)。

具体内容请参考第六章视频之“从机器语言到汇编语言”以及第六章课件。

3、关于计算机语言的编译,下列说法不正确的是_____。

(A)需要“分词”,将其中的常量、变量名和保留字识别出来,并分类及编号;(B)需要识别每一条语句所对应的“模式”。

任意语句的常量和变量名被归为“标识符”类别,而标识符与保留字的不同组合关系构成了语句的模式;计算机语言是由有限的语句模式构成的;(C)对每一种模式,都有相应的组合构造方法,即模式可被认为是由原子模式或说基本模式通过组合的方法构造出来的,对原子模式或者基本模式可以事先写好其相应的目标语言的指令或语句;(D)按照模式由原子模式的组合次序,可将模式语句转换成目标语言的指令或语句;进一步按照分类及编号将常量、变量名代入形成最终的目标语言程序,完成编译;(E)上述有不正确的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第六章习题P159-161一、复习题1、简述自然语言与形式语言的概念以及区别、汇编语言与机器语言的概念及区别。

自然语言是某一社会发展中形成的一种民族语言,而形式语言是进行形式化工作的元语言,它是以数学和数理逻辑为基础的科学语言。

用机器指令形式编写的程序称为机器语言,用带符号或助记符的指令和地址代替二进制代码成为语言进化的目标。

这些使用助记符语言的语言后来就被称之为汇编语言。

(P144-P146)2、试述计算机语言的类型,它们各有什么特点?1.机器语言,是最低级的语言,由二进制码组成,最早期的程序员通过在纸带上打点来写程序2.汇编语言,用助记符和地址符代替了二进制码,更易于编写。

3.高级语言,相对于汇编语言又上升了一步,更接近于自然语言,如C语言、Pascal、Java、C#等都是高级语言。

(P145-147)3、列举程序设计语言的几种范型。

程序语言大致分为命令式程序设计语言、面向对象的程序设计语言、函数式程序设计语言和逻辑型程序设计语言等范型。

(P147-149)4、简述语言虚拟机。

提示:语言虚拟机是某种语言的解释器。

语言虚拟机是建立在硬件和操作系统之上,针对不同的硬件和操作系统有不同的虚拟机,通过语言虚拟机屏蔽掉硬件的差异。

这样使得硬件系统能够支持这种语言编写的程序的有效执行。

目前最流行的语言虚拟机是Java虚拟机。

(P156)5、计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么?提示:主要有编译、解释等方式,也有两种方式的混合使用的形式。

编译是使用编译器将高级语言编写的源程序转换成计算机可以执行的机器语言可执行程序,也可以理解为用编译器产生可执行程序的动作。

编译方式是一次编译,然后执行程序可以反复多次执行。

解释是另一种将高级语言转换为可执行程序的方式。

与编译不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,每个语句都是执行的时候才翻译。

这样解释性语言每执行一次就要翻译一次,效率比较低。

近来随着网络的发展,为了实现跨平台但同时又保证一定的效率,出现了编译、解释混合的方式,先用伪编译形成效率较高中间代码,再用语言虚拟机进行解释执行,以屏蔽掉硬件的差异。

(P154-157)6、请画出编译程序的总框图。

如果你是一个编译程序的总设计师,设计编译程序时应当考虑哪些问题?作为一个编译程序的总设计师,首先要深刻理解被编译的源语言其语法及语义;其次,要充分掌握目标指令的功能及特点,如果目标语言是机器指令,还要搞清楚机器的硬件结构及操作系统的功能;第三,对编译的方法及使用的软件工具也必须准确化。

总之,总设计师在设计编译程序时必须估量系统功能要求、硬件设备及软件工具等诸因素对编译程序构造的影响等。

(P154-156)7、什么是IDE?IDE集成开发环境的简称(Integrated Develop Environment)是一套用于程序开发的软件工具集合,一般包括源代码编辑器、编译器、调试器和图形用户界面工具。

(P158)8、简述程序设计语言的基本构成元素。

程序设计语言的语法元素主要有:字符集、表达式、语句、标识符、关键字和保留字、注释等组成。

(P149-P151)9、简述标识符及其作用域的概念标识符是程序设计时设计人员用来命名事物的符号。

标识符的作用域是指其被定义的有效的范围,同一个表现形式的标识符在不再的区域里可以代表不同的含义。

(P150)10、说明将源程序转化为计算机能够识别的指令的过程。

提示:该转化过程即为编译的基本过程,包括词法分析;语法分析;中间代码生成;代码优化;目标代码生成等五个阶段,各阶段有具体的任务。

(P154-155)二、练习题(一)填空题1、____________语言的书写方式接近于人们的思维习惯,使程序更易阅读和理解。

高级语言(P146)2、程序语言中的控制成分包括顺序结构、__________和循环结构。

选择结构(P153)3、在基于继电器的计算机器时代,所谓“程序设计”实际上就是设置__________开关,所以通常的情况是“设置程序”的时间比计算时间长。

继电器(P145)4、自然语言的基本特征包括_________和_____________________。

歧义性、不够严格和不够统一的语法结构(P144)5、自然语言的输入可以使用___________、___________、___________、___________等方式。

6、函数与过程最明显的区别在于_________________。

{过程本身不返回值,而函数本身返回值}(P154)7、通常按照程序运行时数据的_____能否改变,将数据分为常量和变量。

{值}(P151)8、__________是将源程序转换为一种中间类型的代码,通常其生成的是非常接近机器语言的二进制代码。

伪编译(P156)9、集成开发环境(IDE)是一套用于程序开发的软件工具集合,一般包括___________、___________、___________和___________等工具。

{源代码编辑器、编译器、调试器和图形用户界面}(P158)10、用运算符号按一定的规则连接起来的、有意义的式子称为__________。

表达式(P151)11、保留字也叫___________,指在语言中已经定义过的字,使用者不能再将这些字来命名其他事物。

关键字(P150)12、操作符是用来代表运算操作的符号,每个操作符表示一种运算操作。

通常语言中具备___________、___________、___________和___________等等几类。

赋值操作符、算术操作符、比较操作符、逻辑操作符、位操作符(P150)13、类是面向对象语言必须提供的由用户定义的数据类型,它是将具有相同___________、___________、___________的多个对象抽象而成的。

状态、操作和访问机制(P148)14、科学的语言基本上是___________性、___________性而非评论性的。

描述性、断定性(P145)15、_________是能被其他程序调用,在实现某种功能后能自动返回到调用程序去的程序。

子程序(P153)16、形式语言是进行形式化工作的元语言,它是以________和________为基础的科学语言。

数学和数理逻辑(P145)17、匈牙利命名法的基本原则是:标识符=____________+____________+____________。

属性类型对象描述(P150)18、程序语言的分类没有统一的标准,根据程序设计的方法将程序语言大致分为____________、____________、____________和____________设计语言等类型。

命令式程序设计语言、面向对象的程序设计语言、函数式程序设计语言和逻辑型程序设计语言(P159)19、逻辑型语言是一类以___________为基础的语言,其代表是Prolog语言,这种语言与数据库SQL语言有很多相似之处。

形式逻辑(P148)20、____________的选择是语言设计的第一件事。

字符集(P149)(二)选择题1、结构化程序设计主要强调的是______。

A、程序的规模B、程序的易读性C、程序的执行效率D、程序的可移植性B(P146)2、程序设计语言从机器语言到高级语言的抽象,带来的主要好处是_____。

A、高级语言接近算法语言,易学、易掌握B、可读性好,可维护性强,可靠性高C、设计的程序可移植性好,重用率高D、高级语言程序设计自动化程度高,开发周期短A(P146)3、下面是关于解释程序和编译程序的论述,其中正确的一条是__________A、编译程序和解释程序均能产生目标程序B、编译程序和解释程序均不能产生目标程序C、编译程序能产生目标程序而解释程序则不能D、编译程序不能产生目标程序而解释程序能A(P155)4、近来计算机报刊中常出现的“Java”一词是指_________。

A、一种计算机语言B、一种计算机设备C、一个计算机厂商云集的地方D、一种新的数据库软件A(P156)5、采用编译方法的高级语言源程序在编译后_________。

A、生成目标程序B、生成可在DOS下直接运行的目标程序C、生成可执行程序D、生成可在DOS下直接运行的可执行程序C(P155)6、用高级程序设计语言编写的程序,要转换成等价的可执行程序,必须经过____。

A、汇编B、编辑C、解释D、编译和连接D(P155)7、计算机硬件能直接执行的只有____。

A、符号语言B、机器语言C、机器语言和汇编语言D、汇编语言B(P145)8、只有当程序要执行时,它才会将原程序翻译成机器语言,并且一次只能读取、翻译并执行原程序中的一行语句,此程序称为____。

A、目标程序;B、编辑程序;C、解释程序;D、汇编程序。

C(P156)9、构造编译程序应掌握____。

A、源程序B、目标语言C、编译方法D、以上三项都是D(P154)10、编译程序绝大多数时间花在A、出错处理B、词法分析C、目标代码生成D、表格管理D(P154)11、如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类型应该被说明为____。

A、静态变量B、动态变量C、外部变量D、内部变量D(P152)12、在C语言中,函数的数据类型是指____。

A、函数返回值的数据类型B、函数形参的数据类型C、调用该函数时的实参的数据类型D、任意指定的数据类型A13、自然语言的计算机处理可以分为___________A、文字和语音B、语义C、语法D、语用A14、DLL的优点有_____________A、程序实现模块化B、可方便地升级C、程序加载速度快D、程序不用编译A B C(P157)(三)判断题1、汇编语言语句与特定的机器指令有一一对应的关系(对)2、支撑机器语言的理论基础是冯诺依曼模型(错)3、形式化语言是人工语言符号系统发展的第三阶段(错)(四)讨论题1、简述匈牙利命名法。

匈牙利命名法。

其基本原则是:标识符=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。

命名要基于容易记忆容易理解的原则。

(P150)2、试比较“while型”循环结构和“do-while型”循环结构。

“while型”循环结构的逻辑含义是先判断条件,若成立,则执行需要重复的程序块,然后再去判断重复条件,以决定是否继续循环。

“do-while型”循环结构的逻辑含义是先执行需要重复的循环体,然后计算关系表达式,以决定是否继续循环。

也就是说使用“while型”循环结构可能不进行入循环,循环体一次也不执行;而“do-while型”循环结构至少要执行一次循环体。

相关文档
最新文档