第1章
1.1请根据自己的认识,写出C语言的主要特点。
P2
1.2
主要用于开发底层软件、系统软件和实用程序软件。
既有一般高级语言的功能,又具有许多低级语言的功能。所以其功能更强大,目标代码质量更高,执行效率更高。但也存在着语法限制不太严格,容易出现错误,难度较大的问题。
1.3 写出一个C程序的构成。
预编译指令
主程序函数
{
…
子程序调用
…
}
子程序函数
…
1.4
容易实现程序的模块化。可以提高程序设计的效率,提高程序的可靠性,便于移植,可读性好,易维护。
1.5 请参照本章例题,编写一个C程序,输出以下信息:
*********************************************************
Very good!
*********************************************************
#include
void main()
{
printf("****************************************************\n");
printf(" Very good!\n");
printf("****************************************************\n");
}
1.6 编写一个C程序,输入a、b、c三个值,输出其中最大者。
#include
void main()
{
int max(int x,int y,int z);
int a,b,c,d;
printf("请输入三个整数a、b、c,中间用逗号隔开:");
scanf("%d,%d,%d",&a,&b,&c);
d = max(a,b,c);
printf("最大数为 %d\n",d);
}
int max(int x,int y,int z)
{
if(x>y)
{
if(x>z)
return x;
else
return z;
}
else
{
if(y>z)
return y;
else
return z;
}
}
第2章
2.1 什么是算法?试从日常生活中找3个例子,描述它们的算法。
算法是对特定问题求解步骤的一种描述,它是指令的有限序列。简单地说,是解题方法。
2.2 什么叫结构化的算法?为什么要提倡结构化的算法?
一个结构化的算法是由一些基本结构(顺序结构、分支结构、循环结构)顺序组成的。在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本结构范围之内。
2.3 试述3种基本结构的特点,你能否自己另外设计两种基本结构?
顺序结构即是按顺序从上至下执行的语句。
流程不按照语句在程序中出现的先后顺序逐条执行,而是根据判断项的值有条件地选择部分语句执行,这样的程序结构称为选择结构。
根据需要反复执行程序中的某些语句,这样的程序结构称为循环结构。
它们共同的特点是:
(1) 只有一个入口。
(2) 只有一个出口。
(3) 结构内的每一部分都有机会被执行到。
(4) 结构内不存在死循环。
2.4 用传统流程图表示求解以下问题的算法。
(1) 有两个瓶子A和B,分别盛放醋和酱油,要求将它们互换。
(2) 依次将10个数输入,要求将其中最大的数输出。
(3) 有3个数a,b,c,要求按大小顺序把它们输入。
(4) 求1+2+3+…+100。
(5) 判断一个数n能否同时被3和5整除。
(6) 将100~200之间的素数输出。
(7) 求两个数m和n的最大公约数。
(8) 求方程ax2+bx+c=0的根。分别考虑:①有两个不等的实根;②有两个相等的实根。
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
2.5 用N-S图表示2.4题中各题的算法。
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
2.6 用伪代码表示2.4题中各题的算法。
(1) c = a
a = b
b = c
(2) n=1
input max
while n<10 do
input a
if a>max then max=a
n=n+1
end do
print max
(3) input a,b,c
if a
if a
print c,a,b
else
if c>b then