习题1
1-1 简述什么是一般意义上的程序?什么是计算机程序?
答:通常指完成某项工作的一整套活动过程及活动方式。
计算机程序就是为使计算机执行一个或多个操作,或执行某一任务,按序设计的计算机指令的集合。
1-2 简述程序设计的步骤与方法。
答:
(1)问题分析:一般来说程序要解决的是一个具体的问题,所以程序设计人员需要具体问题具体分析,在把任务交给计算机处理之前必须对问题做出明确的分析与定义,确定问题的条件及期望的结果,出解决问题的规律。
(2)算法设计:算法是解决问题的步骤及其描述,是程序设计的核心内容。算法是根据问题分析中的具体要求而设计的,是对问题处理过程的进一步细化。
(3)程序编码:编码就是使用计算机编程语言编写源程序代码的过程。
(4)调试运行:指在计算机上调试程序。调试运行程序有两个目的:一是消除由于疏忽而引起的语法错误或逻辑错误等;二是用各种可能的输入数据对程序进行测试,验证程序是否对各种合理的数据都能得到正确的结果,而对不合理的数据也能做适当的处理。
(5)文档编制:指整理并写出文字材料。文档包括程序说明文件和用户操作手册。
1-3 简述结构化程序的主要特点。
答:
①只有一个入口;
②只有一个出口;
③不包含死循环(永远都执行不完的循环);
④不包含死语句(永远也执行不到的语句)。
⑤自顶向下,逐步求精,模块化设计,结构化编码。
1-4 简述结构化程序设计思想。
答:(1)结构化编码
为了使程序具有良好的设计风格,编程时应使用以下三种控制结构进行编程:
①顺序结构:顺序结构用来控制一个操作序列,从开始到结束顺序执行;
②选择结构:根据条件判定的结果去执行不同分支中的语句。选择结构也称为分支结构,其为程序按不同情况自动选择步骤提供控制手段;
③循环结构:根据条件判定的结果决定是否重复多次执行或者一次也不执行同一组步骤。循环结构也被称为重复结构,其为程序描述重复操作提供了控制手段。
(2)结构化程序的特点
①只有一个入口;
②只有一个出口;
③不包含死循环(永远都执行不完的循环);
④不包含死语句(永远也执行不到的语句)。
(3)结构化程序的分析方法
结构化程序设计对问题采取所谓的“自顶向下,逐步求精”的方法进行分析。
(4)模块化设计
模块化设计采取分治策略,将一个复杂的任务划分成若干基本模块,然后再对每一个模块进行具体化,逐步细化出一个个功能独立的模块。最下层模块完成最具体的功能。每一个模块都遵循高聚合性、低耦合性的分解原则。
1-5 简述算法的概念以及特点。
答:算法是指为解决某个特定问题而采取的方法和步骤。这里所说的算法一般是指用计算机解决问题的方法和步骤,即计算机算法。
一个算法的设计具备如下特点:
(1)有穷性。它包含两个方面:一方面是指一个算法应在有限的操作步骤内完成;另一方面是指算法操作应在有限的时间范围内完成;
(2)确定性。算法中的每一个步骤都是确定的,即不能有二义性,这样才能确保对于同一个算法,相同的输入必然得出相同的执行结果;
(3)有零个或多个输入。输入是指算法所需要的外部信息。在计算机上实现的算法,是用来处理数据对象的,在大多数情况下这些数据对象需要通过输入来得到;
(4)有一个或多个输出。算法是有目的的操作,算法的目的是为了求解,这些解只有通过输出才能得到。没有输出的算法是没有意义的;
(5)有效性。算法中的每一个步骤都应当能有效地执行,并得到确定的结果。
1-6 算法的描述方法有哪些?
答:对算法的描述有自然语言、流程图、N-S图、伪代码等表示方法。
(1)自然语言
自然语言即人们日常生活中使用的语言。使用自然语言描述算法,通俗易懂,初学者容易掌握。
(2)流程图
流程图是一种被广泛使用的算法描述方法,它用一些图框和流程线来表示各种类型的操作。
(3)N-S图
这种流程图中完全去掉了流程线,算法的每一步都用一个矩形框来描述,把一个个矩形框按执行的次序连接起来就是一个完整的算法描述。
(4)伪代码
伪代码是一种近似高级语言但又不受语法约束的一种语言描述方式,它用一种介于自然语言和程序设计语言之间的文字和符号来描述算法,用一行或几行表示一个基本操作。它书写方便,格式紧凑,便于编码实现。
1-7 用流程图表示求解n!。
答:
1-8 用N-S图表示求解1~100的累加和。
答:
1-9 一个C语言程序的基本结构是什么?
答:
(1)函数是C语言程序的基本单位
C程序是由函数构成的,一个C语言程序必须有且仅有一个用main作为名字的函数,这个函数通常被称为主函数。
(2)函数由函数首部和函数体两部分组成
1) 函数首部就是每个函数在定义或声明时的第一行,它包括函数名、函数类型、形参名、形参类型的说明。
2) 函数体由函数首部下面最外层的一对大花括号中的内容组成,它可以包括变量声明和所调用函数的声明,还可以包括若干执行语句,声明部分可以看作是对函数中“对象”的描述,执行语句是对函数所要实现的“动作”的描述。
1-10 C语言程序的执行过程是什么?
答:
(1)编辑:编辑是用户把编写好的C语言源程序输入计算机,并以文本文件的形式存放在磁盘上。其标识为:“文件名.c”。
(2)编译:编译是把C语言源程序翻译成用机器语言表示的目标文件。目标程序的文件标识是:“文件名.obj”。
(3)连接:程序连接过程是用系统提供的连接程序(也称链接程序或装配程序)将目标程序、库函数或其他目标程序连接装配成可执行的目标程序。可执行程序的文件名为:“文件名.exe”,扩展名“exe”是可执行程序的文件类型标识。
(4)执行:执行程序是指将可执行的目标程序投入运行,以获取程序处理的结果。如果程序运行结果不正确,可重新回到第一步,重新对程序进行编辑修改、编译和运行。
1-11 编写一个程序,在屏幕上输出以下图形。
**********
**********
**********
**********
答:
int main()
{
printf(“**********”);
printf(“**********”);
printf(“**********”);
printf(“**********”);
return 0;
}
1-12 编程在屏幕上输出以下信息。
******************************
* A wonderful C program! *
******************************
答:
int main()
{
printf(“******************************”);
printf(“* A wonderful C program! *”);
printf(“******************************”);
return 0;
}
1-13上机运行本章的例1-6、例1-7,熟悉所用系统的上机方法和步骤。
答:答案略
2-1为什么C语言的字符型数据可以进行数值运算?
答:在C语言中,字符型数据在内存中是以二进制形式存放的,并不是真正的把一个字符存进内存里。在对字符型数据进行相加减运算的时候,系统首先将char型数据转化成int型数据再进行相加减运算。由字符型数据在内存的存储方式来看,字符型数据是可以进行数值运算的,对字符型数据做数值运算实际上就是对字符本身对应的ASSIC码进行相应的数值运算。
2-2简述字符'a'的特点。
c语言程序分析题及答案答:'a'是字符常量。(1)字符常量由单引号括起来。(2)字符常量只能是单个字符。(3)可以把一个字符常量赋予一个字符变量。(4)字符常量占一个字节的内存空间。
2-3标识符在命名时,应注意哪几个方面?
答:(1)在标识符中,大小写字母是有区别的。(2)ANSI C 标准
没有规定标示符的长度,,但是各个版本的C语言编译系统都有自己的规定。(3)标识符虽然可以由程序员随意定义,但标识符是用于标识某个量的符号。(4)C语言规定,用户选取的标识符不能是C语言规定的保留字。
2-4 程序中int m=12; m=15;为什么整型变量m的值在运算后不是当初的12,而是15?
答:语句int m=12;在程序编译后,m的值是12。语句m=15;中“=”是赋值号,将新的值15赋给了m,新的值15把旧的值12覆盖了,所以m的值是15。
2-5已知:int i,a;执行语句“i=(a=2*3,a*5),a+6;”后,变量i的值是多少?
答:变量i的值是30。
2-6 已知:int x,a;执行语句“a=(x=1,x++,x+2);”后,变量a、x的值分别是多少?
答:a的值是4,x的值是2。
2-7 求下面算术表达式的值。
(1)x+a%3*(int)(x+y)%2/4 (设x=2.5,a=7,y=4.7) 答:2.5
(2)(float)(a+b)/2+(int)x%(int)y (设a=2,b=3,x=3.5,y=2.5) 答:3.5 2-8 代数表达式的C语言算术表达式如何写?
答:#define PI 3.14159
sqrt((sin(PI/180*30)+1)/cos(x))
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论