第八讲:顺序结构程序设计举例
- 格式:doc
- 大小:89.67 KB
- 文档页数:5
c++-顺序结构程序设计
C++是一种功能强大的编程语言,它支持顺序结构程序设计,这
意味着程序按照代码的顺序逐行执行。
在C++中,顺序结构程序设
计是基本的编程范例之一,它允许程序员按照自己的意愿编写代码,从而实现所需的功能。
顺序结构程序设计的关键在于控制程序的执行顺序。
当编写
C++程序时,我们可以按照自己的需求定义变量、执行算术运算、调
用函数等。
这些操作将按照代码的书写顺序依次执行,每一步的结
果都会影响到下一步的执行。
在实际的C++编程中,我们可以利用顺序结构来解决各种问题。
例如,我们可以编写一个简单的程序来计算两个数的和,首先定义
两个变量存储这两个数,然后进行加法运算,最后输出结果。
这个
过程就是一个典型的顺序结构程序设计的例子。
另外,顺序结构程序设计也可以与其他控制结构相结合,比如
条件语句和循环语句,从而实现更加复杂的功能。
这些结构可以帮
助我们根据不同的情况选择不同的执行路径或者重复执行某段代码,从而增强程序的灵活性和功能性。
总之,顺序结构程序设计是C++编程中的基础,它允许程序员按照自己的意愿编写代码,自由地控制程序的执行顺序,从而实现各种不同的功能。
掌握好顺序结构程序设计对于学习和应用C++编程语言都是非常重要的。
C语言顺序结构的设计实例C语言顺序结构的设计实例引导语:顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。
以下是店铺分享给大家的C语言顺序结构的设计实例,欢迎参考学习!顺序结构的设计实例【例1】输入三角形的`三边长,求三角形面积。
已知三角形的三边长a、b、c,则该三角形的面积公式为:area=( s(s-a)(s-b)(s-c) )1/2其中s = (a+b+c)/2。
源程序如下:#include#includeint main(void){float a,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",a,b,c,s);printf("area=%7.2f\n",area);return 0;}【例2】求ax2+bx+c=0方程的根,a、b、c由键盘输入,设b2-4ac>0。
源程序如下:#include#includeint main(void){float a,b,c,disc,x1,x2,p,q;scanf("a=%f,b=%f,c=%f",&a,&b,&c); disc=b*b-4*a*c;p=-b/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf("\nx1=%5.2f\nx2=%5.2f\n",x1,x2); return 0;}下载全文。
顺序结构典型语句顺序结构是程序设计中的一种基本结构,它按照一定的顺序依次执行一系列操作。
在编写程序时,我们常常需要运用顺序结构,因此了解顺序结构的典型语句是非常重要的。
本文将从一下几个方面详细介绍顺序结构典型语句的相关知识。
一、什么是顺序结构顺序结构是程序设计中最简单的基本结构之一,它按照事先规定的先后次序依次执行程序语句。
在程序执行过程中,每个语句只能执行一次且必须按顺序依次执行,一旦执行完其中的一条语句,程序就会顺序执行下一条语句,直到执行完所有语句。
因此,顺序结构类似于我们平时所做的清单或任务计划表,事先列出要做的事情,然后按照规定的顺序逐一完成。
二、顺序结构典型语句顺序结构中的语句可以是任意合法语句,比如变量的声明、赋值、函数的调用等,但是我们在编写程序时需要注意一下几个典型语句。
1. 变量的声明语句在使用变量前,我们需要先声明变量,告诉计算机这个变量的类型和名称。
变量声明语句的格式为:类型变量名;其中,类型表示变量的数据类型,变量名则是我们给这个变量起的名称。
比如下面的语句就是一个变量声明语句:int num;这个语句声明了一个整型变量num,可以用来存储整数类型的数据。
2. 变量的赋值语句在程序中我们经常需要给变量赋值,即将一个值存储到变量中。
变量的赋值语句的格式为:变量名 = 值;其中,变量名表示我们要赋值的变量名称,值则表示我们要赋给这个变量的值。
比如下面的语句就是一个变量赋值语句:num = 10;这个语句将整数10赋值给了num变量。
3. 输入语句在程序中,我们经常需要获取用户输入的数据作为程序的输入,这就需要用到输入语句。
输入语句的格式为:scanf(“类型控制字符”, &变量名);其中,类型控制字符表示输入的数据类型,变量名则表示我们要将输入的值存储到哪个变量中。
比如下面的语句就是一个从用户获取输入的语句:scanf("%d", &num);这个语句将获取用户输入的整数值,并将其存储到num变量中。
顺序结构是指程序中的语句按照从上到下的顺序依次执行。
实例:
1. 计算两个数的和
a =10
b =20
sum= a + b
print(sum)
在这个程序中,语句按照顺序执行:
•a被赋值为 10。
•b被赋值为 20。
•sum被赋值为a和b的和。
•sum被打印到控制台。
2. 打印一个三角形
for i in range(5):
for j in range(i +1):
print("*", end=" ")
print()
在这个程序中,语句按照以下顺序执行:
•for循环遍历范围为0到4的i。
•在每个i的值下,for循环遍历范围为0到i的j。
•在每个j的值下,打印一个星号,后面跟着一个空格。
•在每个i的循环结束时,打印一个换行符。
3. 根据用户输入计算阶乘
number =int(input("请输入一个数字:"))
factorial =1
for i in range(1, number +1):
factorial *= i
print(factorial)
在这个程序中,语句按照顺序执行:
•提示用户输入一个数字并将其存储在number中。
•初始化factorial为 1。
•for循环遍历范围为1到number的i。
•在每个i的值下,factorial乘以i。
•在循环结束时,打印factorial。
第八讲:顺序结构程序设计举例
所谓的顺序结构就是从头到尾一步步按部就班的执行下去,不会中途出现放弃或者跳转的情况。
利用这样的思想实现的程序我们称之为顺序结构程序。
在前面学习了许多知识点之后我们就可以开始最基本的顺序结构程序的设计了。
8.1 顺序结构
所谓的顺序结构可以用一个成语形容叫“按部就班”。
任何事情都遵循着先做什么,再做什么的思想进行。
这样的结构是我们日常生活中最常见的结构。
在顺序结构中当一件事情开始后就再也不会停下,直到最后一步完成,整件事情做完为止,中途不会有放弃或者选择性放弃的过程。
8.2 经典算法—数据交换
很多语言的程序设计大多数都是从数据交换这个最经典的算法开始的,所谓的数据交换是将两个同等性质的物质进行对换,例如有两个整数a和b,a = 1,b = 2,在交换之后,使得a = 2,b = 1。
交换的算法是由于变量的性质所决定的,由于变量在同一时刻只能够存储一个数据,因此我们不能直接使用 a = b,b = a的方式对数据进行交换。
此时我们就需要想出一些方法,帮助程序实现最正确的交换。
对于任何的数据我们都可以采用“第三变量法”进行交换。
所谓的“第三变量法”即借助第三个变量实现对数据的交换,例如对a和b的数据交换,就有:
接下来我们将通过如下示意图对“第三变量法”进行简单的介绍:
b
在程序未执行交换前,a = 1,b = 2。
在执行交换算法的过程中,首先执行“t = a;”一句,将a中的值1转移到t中暂存,接下来执行“a = b;”一句,将b之中的值2存放到变量a中,a中原先的1被覆盖;最后执行“b = t;”一句,将t中所暂存的原先a的值1存放到变量b中,b中原有的2被覆盖。
此时 a = 2,b = 1,t = 1。
当然,读者也可以使用先暂存b的方式对a和b之中的数据进行交换。
下面给出该案例的完整代码:
[例] 使用“第三变量法”交换a和b之中的数据。
当然对于一些数值型的数据(所谓的数值型数据是指单纯的数字或者ASCII 码),我们也可以直接采用“算数交换法”进行交换。
所谓的算数交换法是指利用数值型数据可进行算术运算的特性进行交换。
以上例a与b的值交换为例,则有:
假设a = 1,b = 2。
首先执行“a = a + b;”,此时a = a + b = 1 +2 = 3,而b = 2;
接下来继续执行“b = a - b;”,此时b = a - b = 3 - 2 = 1而a = 3;最后执行“a = a - b;”,此时a = a - b = 3 - 1 = 2,而b = 1。
至此,数据交换完成。
使用算数交换法对数值型数据交换的完整代码如下:
8.3 学会使用公式解决问题
有些程序我们并不需要自己去想解决方案,我们可以通过一些既有的公式完成任务,这些公式是已经在数学学科之中进行推导而验证的真理,程序员只需要将这些公式利用程序设计语言进行表示即可完成相应的任务。
下面将举例说明。
[例] 已知有某一元二次方程ax2+bx+c = 0,请利用键盘输入a,b,c的值,并求出两个实数根x1与x2。
(默认△≥ 0)
deal = b * b - 4 * a * c;//求出△的值
x1 = ((-b) + sqrt(deal)) / (2 * a);//利用求根法求x1
x2 = ((-b) - sqrt(deal)) / (2 * a);//利用求根法求x2
cout << "x1 =" << x1 << ",x2 =" << x2 << endl;
}
程序运行效果如下:
上述程序中使用经典的一元二次方程求根法进行求解方程,这是一种最直观也是最容易理解的方法。
二元一次方程求根法公式为:
8.4 简单的字符处理
在前面的学习中,我们学习到了字符型数据,在C/C++语言中,字符型数据使用ASCII码存储,即每个字符都可以得到一个具体的整数。
在程序中我们通常可以利用这些ASCII码对字符进行简单的处理。
[例] 从键盘上输入一个字符,并输出其大写形式。
#include <iostream>
using namespace std;
void main()
{
char c;
char upper;
cout << "请输入一个字符:";
c = getchar();//可以使用getchar函数获取一个字符
upper = c - 32;//大写字母与小写字母之间相差32
cout << "字符" << c << "的大写形式为:" << upper << endl;
}
程序运行效果如下:
当然,上述的程序还是有一些问题的,上述的程序无论输入的是何种数据,都会进行减32的操作,而事实上倘若用户输入的为大写字母,就应该原封不动的输出,而该程序的运行结果则为:
因此我们需要对程序作出一些细微的修改,将其修改为若用户输入的是大写字母则原样输出,输出的是小写字母则进行转换操作。
这一点我们可以通过条件运算符实现,修改后的程序如下:
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{
char c;
char upper;
cout << "请输入一个字符:";
c = getchar();
upper = isupper(c) == true ? c : c - 32;//此处改动
cout << "字符" << c << "的大写形式为:" << upper << endl;
}
程序中isupper函数用于判断参数中的字符是否为大写字母,该函数的声明位于conio.h中。
修改后的程序执行效果如下:。