搜档网
当前位置:搜档网 › 程序流程控制语句

程序流程控制语句

程序流程控制语句
程序流程控制语句

程序流程控制语句:选择语句

https://www.sodocs.net/doc/4f13181504.html,网站制作 2011年9月1日

Java语言中的程序流程控制语句有三种:顺序结构、选择结构和循环结构。其中顺序结构最简单,程序依次执行各条语句。Java的每条语句一般以分号(“;”)作为结束标志。所以本章重点讲解选择结构和循环结构。

1、选择语句

在程序设计时,经常需要使用选择结构在程序中完成逻辑判断和选择功能,这就需要使用到选择语句。Java中的选择语句包括if语句、if-else语句和switch语句。选择语句用来控制选择结构,对选择条件进行判断,并根据判断结果选择要执行的程序语句,改变程序执行流程。

2、if选择语句

在实际生活中,经常会需要做一些逻辑判断,并根据逻辑判断结果做出选择。例如,当一个男孩子向一个非常理智的女孩子求婚时,这个女孩子思考的逻辑可能是这样的:

如果你有100万

那么,我就嫁给你!

在这里,女孩子嫁给男孩子这个过程的实施,必须以“你有一百万”为前提。只有逻辑判断“你有一百万”这一前提条件为真时,“那么,我就嫁给你!”这个行为才能得到执行。在生活当中,类似这样的情形是很常见的。

相应地,在Java程序设计语言中,也有相应的条件语句来完成类似的逻辑判断和有选择地执行这样的功能,这就是if语句。if语句的语法格式如下:

if(条件表达式)

语句

或者

if(条件表达式){

一条或多条语句

}

if语句执行的过程如下:

1.对if后面括号里的条件表达式进行判断。

2.如果条件表达式的值为true,就执行表达式后面的语

句或后面大括号里的多条语句。

3.如果条件表达式的值为false,则跳过if语句,执行

下一条语句。

if语句是只有一个选择的语句结构,所以又叫单分支选择结构,其流程图如下图所示:

需要注意的是,在条件表达式的右括号后面,如果只有一条执行语句的话,那么可以跟一对大括号,也可以不跟大括号。如果有多条语句需要一起执行,则必须用大括号把多条语句括起来,形成语句块。建议不论条件成立时后面要执行多少条语句,一律用大括号括起来。请看下面的代码:int a = 2,b = 3;

if(a > b)

System.out.println(“这句话能输出!”); System.out.println(“这句话也能输

出!”); //这个输出语句并不是条件表达式后的执行语句

因为没有用大括号将条件表达式a>b后的两个输出语句括起来,所以条件表达式成立与否,只影响到其后第一个输出语句。这段代码的输出结果为:

“这句话也能输出!”

用if语句表示女孩子考虑求婚问题,可以以自然语法写成如下形式:

if(男朋友有100万){

我愿意嫁给你!

}

当然,在程序中,需要使用Java语言的语法来表示,如下所示:

float

boyFriendMoney; //变量boyFriendMoney代表男朋友的存款...

if(boyFriendMoney >

100){ //如果男朋友的存款多于100万

System.out.println(“我愿意嫁给

你!”); //那么,同意嫁给他

}

3、if-else双分支选择语句

有时候,需要根据逻辑判断结果分别做出选择。例如,在上节的例子中,当一个男孩子向一个女孩子求婚时,女孩子思考的逻辑也可能是这样的:

如果你有100万

那么,我就嫁给你!

否则

我就拒绝嫁给你。

在这里,女孩子根据对方是否有一百万,有两个选择:当逻辑判断“你有一百万”这一前提条件为真时,执行“那么,我就嫁给你!”这个行为;否则,如果逻辑判断不为真,就执行“我就拒绝嫁给你”。在生活当中,类似这样的情形是很常见的。

相应地,在Java程序设计语言中,也有相应的条件语句来完成类似的逻辑判断和有选择地执行这样的功能,这就是if-else语句。if-else语句的语法格式如下:

if(条件表达式)

语句1

else

语句2

或者

if(条件表达式){

语句块1

}else{

语句块2

}

if-else语句执行的过程如下:

1.对if后面括号里的条件表达式进行判断。

2.如果条件表达式的值为true,就执行语句1或语句块

1。

3.如果条件表达式的值为false,就执行语句2或语句块

2。

if-else语句又称为双分支选择结构,其流程图如下图所示:

【例】编写一个程序,求两个数中比较大的值,并输出。编写程序的步骤如下。

(1)打开记事本,编写程序代码如下,并保存为MaxValueDemo.java。

MaxValueDemo.javapublic class MaxValueDemo{ public static void main(String[] args){

int

a=23,b=36,max; //声明三个整型变量

if(a>b){ //如果a大于b

max =

a; //将较大值的a赋给变量max

}else{ //否则,如果a不大于b max =

b; //将b的值赋给变量max

}

System.out.println(“最大值是:” +

max); //输出变量max的值,即输出最大值

}

}

(2)使用如下命令编译和运行MaxValueDemo.java源程序。

javac MaxValueDemo.java

java MaxValueDemo

(3)程序输出结果如下:

最大值是:36

在程序MaxValueDemo中,定义三个整型变量a、b和max。对变量a和b的值进行判断,并将其中较大的值赋给变量max,最后输出max的值。

4、if-else-if多分支选择语句

除了单分支结构的if语句和双分支结构的if-else语句之外,还有一种常用的选择结构是多分支结构,使用

if-else-if语句实现。if-else-if语句的语法格式如下:

if(条件表达式

1){ //如果条件表达式1成立(结果为true)

语句块

1 //就执行语句块1中的代码}else if(条件表达式

2){ //否则,如果条件表达式2成立语句块

2 //就执行语句块2中的代码}

//对其他条件进行判断

else if(条件表达式

n-1){ //如果条件表达式n-1成立

语句块

n-1

//就执行语句块n-1中的代码}else{ //如果以

上所有的条件都不成立

语句块

n //就执行语句块n

}

if-else语句执行的过程如下:

1.对if后面括号里的条件表达式进行判断。

2.如果条件表达式的值为true,就执行语句块1。

3.否则,对条件表达式2进行判断。如果条件表达式的

值为true,就执行语句块2。

4.否则,依此类推。

5.如果所有条件表达式的值都为false,最后执行语句块

n。

if-else-if语句依次对if后面的条件表达式进行判断,遇到第一个值为真的表达式时,就执行其后面的语句块,然后整个if-else-if语句就结束了,不再对后面的条件表达式进行判断和执行了。理论上,可以有无限多个else if子句。

【例】编写一个程序,根据学生的成绩,判断其属于哪个档次,并输出。编写程序的步骤如下。

(1)打开记事本,编写程序代码如下,并保存为ScoreDemo.java。

ScoreDemo.javapublic class ScoreDemo{

public static void main(String[] args){

int score =

85; //定义代表学生成绩的变量score,并赋初值

if(score >=

90){ //如果成绩大于等于90分

System.out.println("您的成绩优秀!”); //执行这个语句块,并结束本

if-else-if语句

}else if(score >=

80){ //满足这个条件表达式

System.out.println(“您的成绩良好”); //执行这个语句块,并结束本

if-else-if语句

}else if(score >=

70){ //如果成绩大于等于70分

System.out.println(“您的成绩中

等”); //执行这个语句块,并结束本

if-else-if语句

}else if(score >=

60){ //如果成绩大于等于60分

System.out.println(“您的成绩及

格”); //执行这个语句块,并结束本

if-else-if语句

}else{ //如果以上条件都不成立,即成绩小于60分

System.out.println(“您的成绩不及格”);

} / /结束if语句是直接转到这里,执行if后面的语句}

}

(2)使用如下命令编译和运行ScoreDemo.java源程序。

javac ScoreDemo.java

java ScoreDemo

(3)程序输出结果如下。

您的成绩良好

在本例中,当程序执行到score >= 80这个表达式时,计算其结果为true,执行其后的语句块,输出“您的成绩良好”,并结束if-else-if语句,转到该语句最后一个大括号后面,执行其后面的语句。if-else-if语句又称为多分支选择结构,其流程图如下图所示:

需要注意的是,最后的else语句可以省略,那么当所有的条件表达式都不成立时,什么也不执行。

【例】编写一个程序,求三个整数中的最大值,并输出。编写程序的步骤如下。

(1)打开记事本,编写程序代码如下,并保存为MaxValueDemo2.java。

MaxValueDemo2.javapublic class MaxValueDemo2{ public static void main(String[] args){

int

a=23,b=36,c=25,max; // 声明4个整型变量,其中a,b,c赋初值

if(a>c){ // 如果a比c大

max =

a; // 那么把a赋给max变量

}else

if(b>c){ // 如果a比c小,那么b与c进行比较。如果b大于c

max =

b;

// 那么最大值为b

}else // 否则,a和b都不大于c

max =

c; // 那么最大值为c

System.out.println(“最大值是:” +

max); // 输出最大值max的值}

}

(2)使用如下命令编译和运行MaxValueDemo2.java源程序。

javac MaxValueDemo2.java

java MaxValueDemo2

(3)程序输出结果如下。

最大值是:36

在程序MaxValueDemo2中,对三个整数a、b和c进行比较。实际上,这个程序逻辑并不完整,例如,将变量a的值改为26,再编译并运行此程序,会发现输出的最大值为26,

显然是不正确的。这是因为没有考虑a大于c但小于b的情况。这时,需要使用嵌套的if语句。

5、选择语句的嵌套

if语句里面可以再嵌套if语句。所谓嵌套,就是在if 语句中又包含一个或多个if语句。这样的语句一般用在比较复杂的分支语句中。其语法格式如下:

if(条件表达式1){

if(条件表达式2){

语句块1

}else{

语句块2

}

}else{

if(条件表达式3){

语句块3

}else{

语句块4

}

}

【例】使用嵌套的if语句编写一个程序,根据学生的成绩,判断其属于哪个档次,并输出。编写程序的步骤如下。(1)打开记事本,编写程序代码如下,并保存为ScoreDemo2.java。

ScoreDemo2.javapublic class ScoreDemo2{

public static void main(String[] args){

int score =

85;

// 声明初始整型变量score,并赋初值

if(score >=60){

// 如果成绩大于等于60,再进一步判断

if(score >=

70){

// 如果成绩大于等于70,再进一步判断

if(score >=

80){

// 如果成绩大于等于80,再进一步判断

if(score >=

90) // 如

果成绩大于等于90,输出相关信息

System.out.println("您的成

绩优秀!”);

else // 如果成绩在80~90之间,输出相关信息

System.out.println(“您的成绩中等”);

}else{

// 如果成绩在

70~80之间,输出相关信息

System.out.println(“您的成绩良好”);

}

}else{

// 如果成绩在

60~70之间,输出相关信息

System.out.println(“您的成绩及格”);

}

}else{

// 如果成

绩小于60

System.out.println(“您的成绩不及格”);

}

}

}

(2)使用如下命令编译和运行ScoreDemo2.java源程序。javac ScoreDemo2.java

java ScoreDemo2

(3)程序输出结果如下。

您的成绩良好

在本例中,当程序执行到score >= 80这个表达式时,计算其结果为true,执行其后的语句块,输出“您的成绩良好”,并结束if-else-if语句,转到该语句最后一个大括号后面,执行其后面的语句。if-else-if语句又称为多分支选择结构,其流程图如下图所示:

同样求三个整数中的最大值,也可以使用嵌套的if-else 语句。请看下面的示例。

【例】使用嵌套的if-else语句编写一个程序,求三个整数中的最大值,并输出。编写程序的步骤如下。

(1)打开记事本,编写程序代码如下,并保存为MaxValueDemo3.java。

MaxValueDemo3.javapublic class MaxValueDemo3{ public static void main(String[] args){

int

a=23,b=36,c=25,max; //声明三个整型变量

if(a>c){ //如果a>c,最大值在a和b中间if(a>b)

max = a;

else

max = b;

}else{ //如果a

if(b>c)

max = b;

else

max = c;

}

c语言:流程控制语句

流程控制 ======= 知识点: if-else语句使用 switch语句使用 break使用 正常情况下,程序从main函数开始,一句一句,自上而下执行每一条语句。 一些语句可以控制,修改程序的运行流程,称为流程控制语句。 一、条件判断语句if if(表达式){ 语句 } 如果……就…… 【逻辑】当程序执行到if语句,首先计算表达式的值,如果为真,执行语句。如果为假,不执行、跳过语句。 【逻辑假设】 if(表达式){ 语句1 }else{ 语句2 } 如果……就……否则…… 【逻辑】当程序执行到if else语句,首先计算表达式的值,如果为真,执行语句1,不执行语句2。 如果为假,执行语句2,不执行语句1。 【逻辑二择】 例,明天考试,80分以下把代码抄写五遍,80分以上奖励棒棒糖一枚。 if(表达式1){ 语句1 }else if(表达式2){ 语句2 }else if(表达式3){ 语句3 } else{ 语句4 } 如果(表达式1成立),那么执行语句1 否则如果(表达式2成立),那么执行语句2 …… 否则,执行语句4。

【逻辑】当程序执行到该结构,计算机表达式1,如果成立,执行语句1,跳出整个结构。如果表达式2为假,计算表达式2,如果为真,执行语句2,跳出结构体。直到表达式2为假,计算表达式3,依次类推,如果表达式都不成立,执行else下的语句。 如果不需要(即所有表达式都不成立,什么都不做),可以不写else。else if的数量根据需求,任意增减,没有限制。 【注】在if else if结构中,每个else都是对前面每个表达式的否定。 【逻辑多择】 嵌套的if-else语句 我们可以在if语句内嵌套if语句,同样,我们也可以在if语句内嵌套if-else语句,在if-else 语句内嵌套if语句,以及在if-else语句内嵌套if-else语句。 int x; scanf(“%d”,&x); if(x<0){ printf(“error!\n”); }else{ if(x%2) printf(“jishu\n”); else printf(“oushu\n”); } 练习 1、使用if else if,模拟下述分段函数。 x^2+1(x<0) y= 2*x+6 (0<=x<=5) 3*x-1 (x>5) 2、输入一个字符,如果是大写字母,转成小写字母。如果是小写字母,转成大写字母,如果不是字母,不变输出。 3、输入一个字符,判断这个字符是表示大写字母,小写字母,数字字符,还是其他。A a 9 % 二、逻辑跳转语句goto switch 1、goto语句 无条件跳转到指定标号的位置,向下执行。 goto 语句标号 printf(“————————1\n”); printf(“————————2\n”); goto A; //跳转到标号的位置 printf(“————————3\n”); printf(“————————4\n”); //标号的名字是标识符,这里使用大写是为了和变量相回避。 A: //这是一个标号,是一个位置的标记,本身是什么都不做。 printf(“————————5\n”); B:

JavaScript流程控制语句

第5章流程控制语句 JavaScript程序是由若干个语句组成的,每一个语句以分号作为结束符。语句可以很简单,也可以很复杂。其中,改变程序正常流程的语句称为控制语句。流程控制语句是用来控制程序中各语句执行顺序的语句,是程序中基本却又非常关键的部分。流程控制语句可以把单个语句组合成有意义的、能完成一定功能的小逻辑模块。本章内容包括: ?顺序控制语句; ?选择控制语句; ?循环控制语句; ?其他流程控制语句。 通过本章学习,读者应该对几种流程控制语句有很深的理解,并可以利用这几种流程控制语句编写简单的程序。 5.1 顺序控制语句 JavaScript语言中,顺序控制语句是最简单的语句。其有如下特点:所有语句按照一定的顺序执行,每一条语句只执行一遍,不重复执行,也没有语句不执行。JavaScript语言中的顺序控制语句包括表达式语句,函数调用语句,空语句和复合语句等。 5.1.1 表达式语句 表达式后面跟一个分号就构成了一个表达式语句。最常见的表达式语句为赋值语句。赋值语句是在一个赋值表达式后跟一个分号形成的,程序中很多计算都由赋值语句完成。 【示例5-1】演示几个表达式语句。其代码如下所示。 var m=4; //把4赋给变量m var n=”hello world”; //把字符串hello world赋值给n i=m+n; //把变量m和n的和赋值给变量i 实际上,任何表达式都可以加上分号而成为语句。 【示例5-2】变量i自增1。 i++; //变量i的值加1 注意:有些语句写法虽然是合法的,但是由于其没有保留计算结果,因而并没有实际意义。如以下代码: a-b; i++-1;

程序流程控制语句

程序流程控制语句:选择语句 https://www.sodocs.net/doc/4f13181504.html,网站制作 2011年9月1日 Java语言中的程序流程控制语句有三种:顺序结构、选择结构和循环结构。其中顺序结构最简单,程序依次执行各条语句。Java的每条语句一般以分号(“;”)作为结束标志。所以本章重点讲解选择结构和循环结构。 1、选择语句 在程序设计时,经常需要使用选择结构在程序中完成逻辑判断和选择功能,这就需要使用到选择语句。Java中的选择语句包括if语句、if-else语句和switch语句。选择语句用来控制选择结构,对选择条件进行判断,并根据判断结果选择要执行的程序语句,改变程序执行流程。 2、if选择语句 在实际生活中,经常会需要做一些逻辑判断,并根据逻辑判断结果做出选择。例如,当一个男孩子向一个非常理智的女孩子求婚时,这个女孩子思考的逻辑可能是这样的: 如果你有100万 那么,我就嫁给你!

在这里,女孩子嫁给男孩子这个过程的实施,必须以“你有一百万”为前提。只有逻辑判断“你有一百万”这一前提条件为真时,“那么,我就嫁给你!”这个行为才能得到执行。在生活当中,类似这样的情形是很常见的。 相应地,在Java程序设计语言中,也有相应的条件语句来完成类似的逻辑判断和有选择地执行这样的功能,这就是if语句。if语句的语法格式如下: if(条件表达式) 语句 或者 if(条件表达式){ 一条或多条语句 } if语句执行的过程如下: 1.对if后面括号里的条件表达式进行判断。 2.如果条件表达式的值为true,就执行表达式后面的语 句或后面大括号里的多条语句。 3.如果条件表达式的值为false,则跳过if语句,执行 下一条语句。

流程控制结构

流程控制结构 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

(单元教案首页) 单元标题第3章流程控制结构 教学时数:()学时,其中理论()学时、实验()学时、上机()其它()学时,其它是指: 教学目的与要求: 1.理解程序的的三大控制结构。 2.掌握选择结构实现语句的用法编程应用 3.掌握循环结构实现语句的用法及其编程应用。 4.理解并掌握各种跳转语句的使用方法。 主要教学内容: 1.程序的控制结构:顺序、选择、循环。 2.选择结构语句:if语句(两种格式)和switch语句、程序举例。 3.循环结构语句:for语句、while、语句、do-while语句、三种循环语句的互相转化、程序举例。 4.控制结构跳转语句:break语句、continue语句、return语句 教学重点与难点: 重点:if语句、switch语句、for语句、while语句、do-while语句 难点: switch语句、选择结构编程应用、循环结构编程应用、跳转语句的编程应用课后作业: 1.课本P66 综合练习三:第一题~第四题 2.上机实习:实习3:Java流程控制 课后体会:

兰州资源环境职业技术学院教师授课教案

—————————————————————— 第3章流程控制结构 一、本章主要内容: 本章主要讲述Java程序的基本控制结构和控制语句,使得学生能利用这三种结构来解决一些比较复杂的问题。 Java程序的基本控制结构有三种:顺序结构、选择结构、循环结构。 二、具体授课内容: 概述 选择结构 循环结构 跳转语句 三、本章授课思路: 1. 回顾C语言中结构化程序设计方法所所用的程序三大控制结构(顺序结构、选择结构、循环结构)语法知识,以复习回顾的方式引入讲解Java语言的程序控制结构知识(和 C语言用法一致),学生易于理解记忆。 2.具体讲解选择结构(if、switch)和循环结构语法(while、for、do-while)及其编程用法的典型程序编写举例,使学生理解掌握Java语言中控制结构的使用特点及编程技巧。 将两种输入数据的编程方法融入到控制结构用法的编程举例的程序中,使学生对输入数据方法的能够有一定的理解掌握和编程使用,结合在后续第4章面向对象的程序设计的方法的具体学习中再加强理解和掌握。 4.课堂上通过练习和讲解第3章课后习题,加强和巩固学生对所学知识的理解和掌握使用。

C语言 个关键字九种控制语句 种运算符

总结归纳了C语言的32个关键字 第一个关键字:auto 用来声明自动变量。可以显式的声明变量为自动变量。只要不是声明在所有函数之前的变量,即使没加auto关键字,也默认为自动变量。并且只在声明它的函数内有效。而且当使用完毕后,它的值会自动还原为最初所赋的值。自动变量使用时要先赋值,因为其中包含的是未知的值。 例:auto int name=1; 第二个关键字:static 用来声明静态变量。可以显式的声明变量为静态变量。也为局部变量。只在声明它的函数内有效。它的生命周期从程序开始起一直到程序结束。而且即使使用完毕后,它的值仍旧不还原。即使没有给静态变量赋值,它也会自动初始化为0. 例:static int name=1. 第三个关键字:extern 用来声明全局变量。同时声明在main函数之前的变量也叫全局变量。它可以在程序的任何地方使用。程序运行期间它是一直存在的。全局变量也会初始化为0. 例:extern int name; 第四个关键字:register 用来声明为寄存器变量。也为局部变量,只在声明它的函数内有效。它是保存在寄存器之中的。速度要快很多。对于需要频繁使用的变量使用它来声明会提高程序运行速度。 例:register int name=1; 第五个关键字:int 用来声明变量的类型。int为整型。注意在16位和32位系统中它的范围是不同的。16位中占用2个字节。32位中占用4个字节。还可以显式的声明为无符号或有符号: unsigned int或signed int .有符号和无符号的区别就是把符号位也当作数字位来存储。也可用short和long来声明为短整型,或长整行。 例:int num; 第六个关键字:float 用来声明变量的类型。float为浮点型,也叫实型。它的范围固定为4个字节。其中6位为小数位。其他为整数位。 例:float name;

C语言中流程控制语句

C语言中流程控制语句(在Turbo C2.0中) (if, while,do-while,continue,break, for, switch,return) _1981/blog/item/528c122dcca9f335359bf73e.html 条件语句的一般形式为: if(表达式) 语句1; else 语句2; 上述结构表示: 如果表达式的值为非0(TURE)即真, 则执行语句1, 执行完语句1从语句2后开始继续向下执行; 如果表达式的值为0(FALSE)即假, 则跳过语句1而执行语句2。 注意: 1. 条件执行语句中"else 语句2;"部分是选择项, 可以缺省, 此时条件语句变成: if(表达式) 语句1; 表示若表达式的值为非0则执行语句1 , 否则跳过语句1继续执行。 2. 如果语句1或语句2有多于一条语句要执行时, 必须使用"{"和"}" 把这些语句包括在其中, 此时条件语句形式为: if(表达式) { 语句体1; } else { 语句体2; } 3. 条件语句可以嵌套, 这种情况经常碰到, 但条件嵌套语句容易出错, 其原因主要是不知道哪个if对应哪else。 例如: if(x>20||x<-10) if(y<=100&&y>x) printf("Good"); else printf("Bad"); 对于上述情况, Turbo C2.0规定: else语句与最近的一个if语句匹配, 上例中的else与if(y<=100&&y>x)相匹配。为了使else与if(x>20||x<-10)相匹配, 必须用花括号。如下所示: if(x>20||x<-10) { if(y<=100&&y>x) printf("Good"); } else printf("Bad"); 4. 可用阶梯式if-else-if结构。 阶梯式结构的一般形式为: if(表达式1)

VBA流程控制语句

VBA流程控制语句 一、条件(选择)语句 1、If <条件为真> Then <语句> 如果<条件为真>则执行<语句>命令。 例1:在窗体中建立一个命令按钮和两个文本框Test0、Test1,在文本框T est0中输入一个数,单击命令按钮时在文本框Test1中显示相应的文字。Comma nd0事件代码如下: Private Sub Command0_Click() a = Val(Text0) '输入的文本转换为数字 If a > 0 Then Text1.Value = "您输入的是正数" If a < 0 Then Text1.Value = "您输入的是负数" End Sub 2、If <条件为真> Then <语句1> Else <语句2> 如果<条件为真>则执行<语句1>中的命令,否则执行<语句2>中的命令。 例2:Command0事件代码如下: Private Sub Command0_Click() a = Val(Text0) If a > 0 Then Text1.Value = "您输入的是正数" else Text1.Value = "您输入的是0或负数" End Sub 3、If <条件为真> Then <语句序列1> Else <语句序列2> End if 如果<条件为真>则执行<语句序列1>中的命令(可能不止一行),否则执行<语句序列2>中的命令。 例3:Command0事件代码如下:

Private Sub Command0_Click() a = Val(Text0) If a > 0 Then Text1.Value = "您输入的是正数" Text1.ForeColor = 255 '设置文本框的文字颜色 Else Text1.Value = "您输入的是0或负数" End If End Sub 4、If <条件1为真> Then <语句序列1> ElseIf <条件2为真> Then <语句序列2> ElseIf <条件3为真> Then <语句序列3> …… Else <语句序列> End if 如果<条件1为真>则执行<语句序列1>中的命令,之后跳出此结构去执行E nd if的下一条语句;否则继续判断<条件2为真>,如果<条件2为真>则执行<语句序列2>中的命令,之后跳出此结构去执行 End if的下一条语句;否则继续判断<条件3为真>,依此类推。 例4:Command0事件代码如下: Private Sub Command0_Click() a = Val(Text0) If a > 0 Then

流程控制语句练习题

流程控制语句练习题 1、为某超市编写一个程序,完成顾客购物后根据优惠政策计算付款额的功能。某超市有如 下优惠政策: ?所有的本超市的会员购物享受9折优惠。 ?对于非会员的顾客购物满100元的也可以享受9折优惠。 ?本身是会员并购物满100元可以享受8折优惠。 假如某顾客从该超市购买了三件商品(价格自己输入),请计算该顾客可得到的折扣额(如果有),以及打折后需支付的金额。 2、银行提供了整存整取定期储蓄业务,其存期分为一年、两年、三年、五年,到期凭存单 编写一个程序,用于根据存期和存款额(本金)计算利息,以及到期取款时银行应支取的本息。提示: ?要求用户选择存期,并输入本金。声明两个变量分别存储存期和本金。 ?计算利息的公式: 利息=本金*年利率*存期 本息=本金+利息 3、编写一个程序,要求用户输入今天是星期几,根据用户的输入判断是工作日还周未,并 显示合适的问候语。 提示: ?如果输入的数字不在1~7之间,则显示“请输入位于1 ~ 7 之间的数” ?如果用户输入的数字为6或7,则显示“周未愉快!”。 ?对于1~5之间的数字,则显示“工作日愉快!”。 4、只要顾客购买的商品数量大于等于10件,并且购物总额大于等于10000元,商店就给 顾客10%的折扣。接收购物数量以及总金额,要求计算出折扣后的应付金额。 5、做一个简易计算器:(包含+、-、*、/、%) 接收一个字符,例如用“+”表示加法,用“-”表示减法。接收num1和num2两个数。如果输入的字符为“+”,则将这两个数相加并显示相应结果。如果输入的字符为“-”。则将这两个数相减并显示相应的值。 6、编写一个程序,用于计算长方形、圆形和三角形的面积。根据用户的选择要能计算相应 形状的面积。 7、企业年底发放的奖金根据当年的利润提成。利润低于或等于10万元时,奖金可提10%; 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时,高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,输入当年的利润,求应发放奖金总数。 8、编写一个程序,用于创建包括下列选项的菜单: A、添加详细信息 B、修改详细信息

实验2 M文件和流程控制语句[参考答案]

实验2 M 文件和流程控制语句 参考答案 1、 编写一个函数文件fun.m ,用于求 ∑==10 1n n n a ,然后在命令文件中给定a 的值,调用函数fun 。 建立函数M 文件fun.m function s=fun(a) s=0; for i=1:10 s=s+a^n; end MATLAB 命令: >> a=3; >> s=fun(a) 2、 编写一个函数文件,求小于任意自然数n 的斐波那契数列各项。Fibnacci 数列定义如下: ?????>+===--2,1 12121n f f f f f n n n 建立函数M 文件fib.m function f=fib(n) if n==1 f=1; end if n==2 f(1)=1; f(2)=2; end if(n>2) f(1)=1; f(2)=2; for i=3:n f(i)=f(i-1)+f(i-2); end end 3、 编制一个解数论问题的函数文件:取任意整数,若是偶数,则除以2,否则乘3加1, 重复此过程,直到整数变为1。

建立函数M文件collatz.m function c=collatz(n) % collatz % Classic “3n+1” Ploblem from number theory c=n; while n>1 if rem(n,2)==0 %返回n/2的余数 n=n/2; else n=3*n+1; end c=[c n]; end 4、编写一个函数M文件([y1,y2]=fun(x1,x2)),使之可以处理1个或两个输入参数,一个 或两个输出参数,满足如下条件: 当只有一个输入参数x1时:如果只有一个输出参数y1,则y1=x1; 如果有两个输出参数y1,y2,则y1=y2=x1/2; 当有两个输入参数x1,x2时:如果只有一个输出参数y1,则y1=x1+x2; 如果有两个输出参数y1,y2,则y1=y2=(x1+x2)/2; 建立函数M文件fun.m function [y1,y2]=fun(x1,x2) if nargin=1&nargout=1 y1=x1; elseif nargin=1&nargout=2 y1=x1/2; y2=y1; elseif nargin=2&nargout=1 y1=x1+x2; elseif nargin=2&nargout=2 y1=(x1+x2)/2; y2=y1; end 5、A=rand(3,4)<0.7, 编程实现查找矩阵A的每行中第一个0元素所在的列。将结果存放着 一个列向量中。 建立脚本M文件 A=rand(3,4)<0.7 result=zeros(3,1) for i=1:3

C语言源程序

C语言程序设计 <一> 1、程序运行从main()函数开始,也从main()函数结束。 2、函数是C程序的基本单位,由函数头和函数体组成。 3、C语言源程序是由函数组成,它们的数目可以有多个。 4、在C语言源程序中,是必须有一个函数名为main的函数。main()后的小括号()没有任何内容,它不可以省略。 5、C程序中的语句用分号结束,在一个程序行上可以有多个语句,一个C 语句能写在多个程序行上。 6、函数体是由一对大括号围起来语句序列组成。小括号是函数的标志。 二、C语言的组成元素 1、命令、函数和变量等是组成程序的基本对象,每一个程序对象都需要一个名字来标识,程序对象的名称就是标识符。 2、在C语言中,标识符分为用户标识符和系统标识符。 3、用户标识符是指在程序中由程序员为变量、函数、数组等程序对象自行命名的标识符。 4、系统标识符是指C语言编译系统内部预定义的用于表示命令数据内型的标识符,又称保留字符。 5、基本字符集 英文字母:a~z和A~Z。 阿拉伯数字:0~9。其他字符:()、[]、+、-、*、/、%、<、>、<=、>=、==、!=、!、&&、‖、++、--、+=、-=、*=、/=、%=。它们是由1~2个字符组成。用作C语言的运算符;还包括:空格、换行符,回车符,单双引号,大括号,逗号,分号,反斜线,它们在程序中起到分隔和定界作用。 6、标识符:是用于标识命令;变量、函数,数组,数据类型等程序对象名称的字符序列。 7、组成标识符的合法字符有:字母,数字,下划线,三种,数字不能作首字符。 三、执行C语言程序 1、单击“开始”——“程序”——“附件”——“命令提示符”。 2、按功能键<10>激活菜单,执行“File”——“NEW”(ALT+回车)全屏。 3、为保存,输入程序文件名。 4、+运行 有输入:等待输入→回车 通过 无输入:返回到编辑 未通过:回车→F6→修改 F3(打开)

程序结构和流程控制语句

程序结构和流程控制语 句 集团标准化小组:[VVOPPT-JOPP28-JPPTL98-LOPPNN]

C ++的语句类型 C++程序的组成:一个C++程序可以由若干个源程序文件组成,一个源程序文件可以有若干个函数和编译预处理命令组成,一个函数由函数说明部分和函数执行部分组成,函数执行部分由数据定义和若干个执行语句组成。语句是组成程序的基本单元。C++语言的语句可以分成以下六大类: (1)说明语句:对变量、符号常量、数据类型的定义性说明 例如:int a,b,c; //定义整型变量a 、b 、c ① 仅向编译系统提供说明信息,在程序执行期间并不执行任何操作。 如,定义变量语句int a,b,c;是告诉编译系统为变量a 、b 、c 各分配4个字节的存储空间用于存放变量的值。程序执行时,该语句就不起任何作用了。 ② 说明语句可出现在函数内、外,允许出现语句的任何地方。 (2)控制语句:能改变程序执行顺序完成控制功能的语句。 C++中控制语句主要有: (3)函数和流对象调用语句:函数调用语句又一次函数调用加一个分号构成一个语句,如: 【例1】分析下面程序的功能: #include using namespace std; int max(int a,int b) //自定 义函数 { if(a>b) return a; else return b; } int main() { int a,b,m; cout<<"Input a,b:"; cin>>a>>b; m=max(a,b); //函数调用语 句 cout<<"max="<

SQL-流程控制语句

1.变量的定义、赋值、输出 a)定义三个变量name、num、birthday,分别赋值'Mike'、18、'2014-9-1'并输出2.If语句的用法 a)If语句的练习 b)If…else…语句的练习 c)Begin…end语句的练习 3.查询少数民族学生中是否有党员,如果有输出党员人数,如果没有就输出“少数民族学生没有党员!” declare @num int select @num=count(*) from 学生基本信息表 where 民族<> '民族' and 政治面貌='党员' if @num>0

print '少数民族有'+convert(varchar(10),@num)+'人' else print 'error!' 4.查询是否有书的定价高于指定价格的书,如果有输出该书的信息,如果没有就输出“对不起,不存在高于***的书” if exists(select * from book1 where 定价>2200) select * from book1 where 定价>2200 else print 'sorry,不存在高于2200的书' 5.Case的两种用法 a)例1:如果变量c的值为a,则country为America;如果变量c的值为b,则country 为Britain;如果变量c的值为c,则country为China;如果变量c的值为d,则country 为Demark;否则country的值为Japan use book declare @c char(10),@country char(10) set @c='a' set @country= case when @c='a' then'America' when @c='b' then'Britain' when @c='c' then'China' when @c='d' then'Demark' else 'Japan' end print @country b)例2 :如果成绩高于100分,则输出“优秀”;如果成绩高于90分,则输出“良 好”;如果成绩高于80分,则输出“合格”,否则,输出“不合格” use book declare @score char(10),@grade char(10) set @score=90 set @grade= case when @score=100 then'优秀' when @score>90 then'良好' when @score>80 then'合格' else '不合格' end print @grade

《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

js流程控制语句

第3章 流程控制 3.1 赋值语句 赋值语句是JS程序中最常用的语句,赋值语句的语法: 变量名=表达式? 当使用关键字var声明变量时,可以同时使用赋值语句对声明的变量进行赋值。 var variable = 50? var variable2 = "五十"? 3.2 条件判断语句:if语句、switch语句 条件判断语句就是对语句中不同条件的值进行判断,进而根据不同的条件执行不同的语句,条件判断语句包括两类: 一、if判断语句; 二、switch多分支语句 3.2.1 if语句 if条件判断句是最基本、最常用的流程控制语句,可以根据条件表达式的值执行相应的处理。 if语句语法格式: if(expression){ statement1 }else{ 参数说明: expression: 必选项。用于指定条件表达式,可以使用逻辑运算符。 statement1: 用于指定要执行的语句序列。当expression的值为true时,执行该语句序列。 statement2: 用于指定要执行的语句序列。当expression的值为false时,执行该语句序列。 【实例 计算指定年的2月份的天数】 【代码】

【运行效果】 3.2.2 if...else语句 在if语句的标准形式中,首先对expression的值进行判断,如果它的值是true,则执行statement1语句块中的内容,否则执行statement2语句块中的内容。 var num=0? if(num == 1){ alert("num = 1")? }else{ alert("num != 1")? } 3.2.3 if...else if语句 if语句是一种使用很灵活的语句,除了可以使用if...else语句的形式,还可以使用if...else if语句的形式。语法格式如下:

C语言的32个关键字和9种控制语句

C语言的32个关键字和9种控制语句 C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。 1 数据类型关键字(12个): (1) char :声明字符型变量或函数 (2) double :声明双精度变量或函数 (3) enum :声明枚举类型 (4) float:声明浮点型变量或函数 (5) int:声明整型变量或函数 (6) long :声明长整型变量或函数 (7) short :声明短整型变量或函数 (8) signed:声明有符号类型变量或函数 (9) struct:声明结构体变量或函数 (10) union:声明共用体(联合)数据类型 (11) unsigned:声明无符号类型变量或函数 (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用) 2控制语句关键字(12个): A循环语句 (1) for:一种循环语句(可意会不可言传) (2) do :循环语句的循环体 (3) while :循环语句的循环条件 (4) break:跳出当前循环 (5) continue:结束当前循环,开始下一轮循环 B条件语句 (1)if: 条件语句 (2)else :条件语句否定分支(与if 连用) (3)goto:无条件跳转语句 C开关语句 (1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支 D返回语句 return :子程序返回语句(可以带参数,也看不带参数) 3 存储类型关键字(4个) (1)auto :声明自动变量一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量)

C语言程序的流程控制

第3章C语言程序的流程控制 利用计算机进行程序设计时,不仅仅只处理一些简单的数据,在大部分的程序设计里处理的问题还是相当复杂的。对于那些复杂的程序设计,读者不可能直接就能写出程序的源代码,而是要通过一些具体的设计方法(如用程序流程图)把程序设计思想先写出来,然后根据程序流程图编写代码。本章将具体介绍进行程序设计时使用的基本方法和C程序的流程控制。 3.1程序设计的基本知识 3.1.1程序流程图 在描述一个程序的基本结构思想时有很多种方法,其中程序流程图是最常用也是最基本的方法。 1.传统程序流程图 传统流程图表示法的特点是用一些图框表示各种类型的操作,用线表示这些操作的执行顺序。美国国家标准化协会ANSI规定了一些常用的流程图符号,现已为世界各国普遍采用。我国也有自己的国家标准GB 1526-89与该标准基本相同,本书就参照

ANSI标准做具体介绍。标准中各种图示如图所示。 起止框输入输出框判断框处理框 或 流程线连接点注释框 图传统流程图表示法 下面对其中一些主要符号作简要说明: (1)起止框是用来标识程序的开始和结束位置的。规定流程图以起止框开始,以起止框结束。 (2)输入输出框也叫数据框,其中可以注明数据名称、来源、用途或其它的文字说明。 (3)菱形框的作用是对一个给定的条件进行判断,根据给定的条件是否成立来决定如何执行其后的操作。 (4)处理框用矩形表示各种处理功能。例如,执行一个或一组特定的操作,从而使信息的值、信息的形式或所在位置发生变化。另外在矩形框内可注明特定处理名称或其简要功能。 (5)流程线用带箭头的直线表示程序

的执行顺序。当流程自左向右或自上向下时流程线可以不带箭头,其它情况应加箭头表示流程。 (6)连接点用小圆圈表示将画在不同地方的流程线连接起来。下图中有两个以①为标志的连接点,它表示这两个点是互联在一起的,实际它们是同一个点。这种连接通常用在图形画不下而需要分开画时。 ① ① (7)注释框不是流程图的必要部分,其不反映流程操作,只是为了流程图中某些操作做解释补充的,以帮助阅读流程图的人更好的理解流程图的作用。 2.N-S流程图 灵活的流程线在程序设计中有它自己的优点,但也隐藏着许多导致错误的祸根。因为它允许用流程线使流程任意转移,这对程序设计是一个隐患,它使程序流程看起来很乱,使程序难以理解和维护。针对这一弊病,1973年美国学者I . Nassi和B . Shneiderman 提出了一种无流程线的流程图,称为N-S图。

Sub过程与程序流程控制语句

Excel Home VBA培训班小结 第四课时Sub过程与程序流程控制语句 讲师:ggsmart(叶枫) 学员:denkey1 内容大纲: 一、Sub过程 二、程序流程控制语句 在前面的课程中,学习了VBA的开发环境,并通过录制宏功能认识到宏这种最简单的VBA程序的学习,对宏有了较为清楚的认识。录制宏是一个很方便也很有用的功能,特别是简单重复的操作,使用录制宏和执行宏能极大提高工作效率。尽管如此,使用录制宏功能得到的VBA代码,仍有很多的局限性,比如:不能进行人机交互,不能进行判断、循环等,宏只是简单录制下来执行的每一个步骤语句。显然,这远不能满足我们的需要。那么,自己动手编写可以随意控制的程序以满足更高的需求,就是这一节课教给我的东西。 一、Sub过程 1、过程

过程就是一个小程序,是一组相关操作命令的组合,即一个过程就是一组完成所需操作的VBA代码的组合。VBA中每一个程序都包含过程,且VBA的主体结构就是过程。 VBA的过程主要包括Sub过程和Function过程两种,两种过程的区别在于:Sub过程不可以返回程序运行的值,Function过程可以返回程序的运行值,即前者不可以返回值,后者可以返回值。 本次课主要学习的是Sub过程。 2、声明Sub过程 录制的宏就是一个简单的Sub过程,使用录制宏功能只能生成Sub过程的代码。 在示例1中通过录制宏功能,得到如下代码: 通过观察比较以上的两个宏代码,可以发现Sub过程的特点:(1)以“Sub过程名()”开头,以“End Sub”结尾; (2)Sub过程一般保存在“模块”里;

(3)不返回运行结果。 声明Sub过程的语法形式为: [Public | Private | Friend] [Static]Sub过程名称([参数1,参数2……]) [语句块] [Exit Sub] [语句块] End Sub 其中,[]中括号括起来的部分表示可选的参数,如[Public | Private | Friend]、[Static]等,这些关键字与作用的范围有关,只能选择一个,含义分别为: (1)Public表示声明的过程是一个公共的过程,即该工作簿中的其它模块中的过程也可以访问声明的这个过程; (2)Private表示声明的过程是一个私有的过程,只有在同一个模块中的其它过程才可以访问声明的这个过程。 (3)Friend用在类模块里。 (4)Static是静态的意思,表示声明的过程中的局部变量将被保存,在下次调用的时候仍保存原来的值。 蓝色部分的Sub过程名称()、End Sub是必须的,分别标明过程的开始和结束。括号里的[参数1,参数2……]是一系列的变量,以逗号分隔将传递的参数值,如果过程没有任何参数,可以省略,如以上录制的两个宏都是没有参数的Sub过程。

c语言循环控制语句

循环控制结构(又称重复结构)是程序中的另一个基本结构.在实际问题中,常常需要 进行大量的重复处理,循环结构可以使我们只写很少的语句,而让计算机反复执行,从而完成大量类同的计算. C语言提供了while语句、do...while语句和for语句实现循环结构. 3.4.1while语句 while语句是当型循环控制语句,一般形式为: while<表达式>语句; 语句部分称为循环体,当需要执行多条语句时,应使用复合语句. while语句的流程图见图3-8,其特点是先判断,后执行,若条件不成立,有可能一次也不执行. [例3-11]求n! 分析:n!=n*(n-1)*(n-2)*..2*1,0!=1.即S0=1,Sn=Sn-1*n.可以从S0开始,依次求出S1、S2、...Sn. 统一令S等于阶乘值,S的初值为0!=1;变量i为计数器,i从1变到n,每一步令S=S*i,则最终S中的值就是n!. 流程图见图3-9,程序如下:

考察图3-9中循环部分的流程图可以看出,在循环前各变量应有合适的值(s=1),另外,控制循环结束的变量(此处为i)必须在循环体中被改变,否则,循环将无限进行下去,成为死循环.

本题中,将多项式的每一项用t表示,s代表符号,在每一次循环中,只要改变s、n的值,

就可求出每一项t. 一般情况下,while型循环最适合于这种情况:知道控制循环的条件为某个逻辑表达式的值,而且该表达式的值会在循环中被改变,如同例3-12的情况一样. 3.4.2do...while语句 在C语句中,直到型循环的语句是do...while,它的一般形式为: do语句while<表达式> 其中语句通常为复合语句,称为循环体. do...while语句的流程图见图3-10,其基本特点是:先执行后判断,因此,循环体至少被执行一次. 但需要注意的是,do...while与标准的直到型循环有一个极为重要的区别,直到型循环是当条件为真时结束循环,而do...while语句恰恰相反,当条件为真时循环,一旦条件为假,立即结束循环,请注意do...while语句的这一特点. 例[3-13]计算sin(x)=x-x3/3!+x5/5!-x7/7!+... 直到最后一项的绝对值小于1e-7时为止. 分析:这道题使用递推方法来做. 让多项式的每一项与一个变量n对应,n的值依次为1,3,5,7,...,从多项式的前一项算后一项,只需将前一项乘一个因子: (-x2)/((n-1)*n) 用s表示多项式的值,用t表示每一项的值,程序如下: #include # include m a i n ( ) { double s,t,x ; int n ; printf("please input x :"); scanf("%lf",&x); t=x; n=1; s=x; do { n=n+2; t=t*(-x*x)/((float)(n)-1)/(float)(n); s=s+t;

C语言程序设计(第3章程序控制语句)4

C语言程序设计(第3章程序控制语句)4 3.4 循环控制语句 3.4.1 while语句 3.4.2 do... while 语句 3.4.3 for 语句 3.4.4 break与continue语句 3.4.5 程序应用举例 3.4 循环控制语句 循环控制结构(又称重复结构)是程序中的另一个基本结构。在实际问题中,常常需要进行大量的重复处理,循环结构可以使我们只写很少的语句,而让计算机反复执行,从而完成大量类同的计算。 C语言提供了while语句、do . . . while语句和for语句实现循环结构。 3.4.1 while语句 while语句是当型循环控制语句,一般形式为: while 语句; 语句部分称为循环体,当需要执行多条语句时,应使用复合语句。 while语句的流程图见图3 - 8,其特点是先判断,后执行,若条件不成立,有可能一次也不执行。 [例3 - 11] 求n! 分析: n!= n* (n - 1)*(n - 2)* .. 2*1, 0 ! = 1。即S0= 1,Sn= Sn - 1* n。可以从S0开始,依次 求出S1、S2、. . . Sn。 统一令S等于阶乘值, S的初值为0!= 1;变量i为计数器, i从1变到n,每一步令S = S * i,则最终S中的值就是n!。 程序如下: main( )

{ int n,i; long int s; printf(" please input n (n>=0) :"); scanf("%d" , &n); if (n>=0) { s = 1 ; if (n>0) { i = 1 ; while (i<=n) { s * = i ; i = i + 1 ; } } printf("%d! = %ld \n",n,s); } else printf("Invalid input! \n"); } 运行结果如下: please input n(n>=0): 0 0!= 1 please input n(n>=0): 6 6!= 720 please input n(n>=0): - 2 Invalid input! 考察图3- 9中循环部分的流程图可以看出,在循环前各变量应有合适的值( s = 1 ),

相关主题