第3章结构化程序设计语句
第3章 结构化程序设计

循环体
是 P2 否
图3.7直到型循环结构示意图 直到型循环结构示意图
3.3 表述算法
• 通常用自然语言、计算机语言(代码)、伪代码[1]、传统流程图、 通常用自然语言、计算机语言(代码)、伪代码 、传统流程图、 )、伪代码 N-S流程图、PAD图等不同的方法来描述算法。 流程图、 图等不同的方法来描述算法。 流程图 图等不同的方法来描述算法 • 在例 中,采用了自然语言来表示算法。自然语言就是人们日常使 在例3.1中 采用了自然语言来表示算法。 用的语言,可以是汉语、英语,或其他语言。 用的语言,可以是汉语、英语,或其他语言。用自然语言表示算法通 俗易懂,但文字冗长,容易出现歧义性。自然语言表示的含义往往不 俗易懂,但文字冗长,容易出现歧义性。 太严格,要根据上下文才能判断其正确含义。此外, 太严格,要根据上下文才能判断其正确含义。此外,用自然语言来描 述包含分支和循环的算法,很不方便。因此, 述包含分支和循环的算法,很不方便。因此,除了那些很简单的问题 以外,一般不用自然语言描述算法。 以外,一般不用自然语言描述算法。 • [1] 伪代码是介于自然语言与计算机语言之间的文字符号。一般借助 伪代码是介于自然语言与计算机语言之间的文字符号。 一种高级语言的控制结构,而中间的操作用自然语言描述。 一种高级语言的控制结构,而中间的操作用自然语言描述。
P1 是 循环体
否
• 图3.6当型循环结构示意图 当型循环结构示意图
(2)直到型循环的执行过程为: )直到型循环的执行过程为: • 先执行循环体一次,然后判断控制循环的条件。 先执行循环体一次,然后判断控制循环的条件。 • 条件 成立,则继续上述循环体,直到条件不成立时,结束循环。 条件P2成立,则继续上述循环体,直到条件不成立时,结束循环。 成立
第3章 结构化程序设计语句

图3-16 程序运行界面
3.3.2 上机练习二:捉拿肇事司机 上机练习二:
【练习题目】 练习题目】 题目 一辆卡车违反交通规则,撞死行人, 一辆卡车违反交通规则,撞死行人,司机畏罪驾车逃 当时有三个人目击这一车祸的发生, 跑。当时有三个人目击这一车祸的发生,但都没有看清卡 车的牌照号码,只记住牌照号码的部分特征, 车的牌照号码,只记住牌照号码的部分特征,甲记住牌照 号码的前两位数字是相同的, 号码的前两位数字是相同的,乙记住牌照号码的后两位数 字是相同的,丙是一位数学家,他说“ 字是相同的,丙是一位数学家,他说“车牌号码肯定是四 位数,而且恰好是一个整数的平方。 位数,而且恰好是一个整数的平方。”,并且丙已推导出 符合该条件的号码只可能有一个。 符合该条件的号码只可能有一个。根据这些信息来判定车 牌号并捉拿肇事司机。要求编写控制台应用程序。 牌号并捉拿肇事司机。要求编写控制台应用程序。
3.1 循序渐进学理论
3.1.1 if语句 语句
1.用if语句实现单分支选择结构 . 语句实现单分支选择结构 [格式 :(表达式 语句 格式]: 表达式 语句; 表达式) 格式
图3-1 单分支选择结构执行流 程图
编写一个程序实现如下功能: 【 例 3-1】 编写一个程序实现如下功能 : 输入一个成绩, 如果成绩大于等于60 60则输出 输入一个成绩 , 如果成绩大于等于 60 则输出 恭喜您,您通过了这次考试! “恭喜您,您通过了这次考试!”,否则不输 出任何信息。要求编写成控制台应用程序。 出任何信息。要求编写成控制台应用程序。
[格式2]:randomObj.Next(N) 格式2]: 2] 例如,有下列语句: 例如,有下列语句: Random randomObj=new Random() i=randomObj.Next(10 10) i=randomObj.Next(10); 其作用是产生一个0~9之间的随机整数并赋值给变量i 0~9之间的随机整数并赋值给变量 其作用是产生一个0~9之间的随机整数并赋值给变量i。 格式3] 3]: [格式3]:randomObj.Next(N,M) 例如,有下列语句: 例如,有下列语句: Random randomObj=new Random() i=randomObj.Next(5 10) i=randomObj.Next(5,10); 其作用是产生一个5~9之间的随机整数并赋值给变量i 5~9之间的随机整数并赋值给变量 其作用是产生一个5~9之间的随机整数并赋值给变量i。
2009第三章 C语言语句与结构化程序的三种基本结构

3.2.1 表达式语句
赋值表达式语句的一般格式: <变量名> = <表达式>; 其中 “=”是赋值号, 其意义是将赋值号右边表 达式的值赋到赋值号左边的变量中去。 如: x = 5; 表示将5赋给变量x x = x+20;表示将x的内容+20再赋给x
3.2.2 数据的输出
C语言的输入和输出是通过调用I/O函数来完成 的,常用的有三对:
2. %s格式符和附加的格式说明符“m .n ”一起
使用, 其中“.n”这个附加的格式说明符是使对
输出的字符串截取n位字符。
3.2.2 数据的输出
例如: main() { printf(”%3s,%7.2s,%.4s,%- 5.3s\n”,
“china”,”china”,”china”,”china”),
3.2.3 数据的输入
scanf()函数
用于接受键盘输入的各种类型的多个数据。 scanf (格式控制字符串, 变量地址表列) ; 在scanf()函数中格式控制字符串的含义与printf() 函数中略有不同(参见P64表3.3) 输入的格式说明字符有: 格式控制问题 %d %o %x %c %s %f %e
3.2.3 数据的输入
例如:关于格式说明符的使用的例子.
?
P66 4、scanf()函数在使用时应该 注意的问题+例3.7
输入:12345678901234 输出:1 , 234 , 789012 ,34.000000 输入:12345678901234 输出: , 12 , 345.000000
3.2.3 数据的输入
getchar( )函数
函数功能:从键盘读取用户输入的一个字符, 并 将该字符的ASCII码值作为函数返回值。 注: 用户在输入字符后, 再按回车键, 输入的内 容才能被getchar()函数处理。
结构化程序设计语言

结构化程序设计语言一、引言二、结构化程序设计语言的概念1.定义2.特点三、结构化程序设计语言的分类1.过程化语言a.C语言b.Pascal语言2.面向对象语言a.Java语言b.Python语言四、结构化程序设计的基本要素与技术手段1.顺序结构a.定义b.实现方法2.选择结构a.定义b.实现方法3.循环结构a.定义b.实现方法五、结构化程序设计的优点和缺点1.优点a.可读性好b.可维护性强c.易于调试和测试2.缺点a.难以处理复杂问题六、结论一、引言计算机编程是现代科学技术中不可或缺的一部分,而编程语言则是计算机编程中最基础的工具。
随着计算机技术的发展,编程语言也在不断进步和更新。
其中,结构化程序设计语言是一种在20世纪60年代提出并逐渐发展起来的编程范式,它以其良好的可读性和可维护性,成为了计算机编程中的重要工具。
二、结构化程序设计语言的概念1.定义结构化程序设计语言是指一种基于结构化程序设计思想的编程语言。
它采用模块化、层次化、顺序化和分步骤的方式,将程序分解成若干个子任务,通过组合不同的程序模块来完成整个程序的功能。
2.特点结构化程序设计语言主要有以下几个特点:(1)采用模块化的思想,将程序分解成若干个子任务,每个子任务都是一个独立的模块,可以单独编写和测试。
(2)采用层次化的方法来组织程序结构,将复杂的问题分解为多个简单问题,并逐步求解。
(3)采用顺序化和分步骤的方式来编写代码,使得代码易于理解和维护。
三、结构化程序设计语言的分类根据编程范式不同,结构化程序设计语言可以分为过程化语言和面向对象语言两种类型。
1.过程化语言过程式编程是一种基于过程或函数调用来实现计算机软件开发方法。
它以C语言和Pascal等为代表。
这类编程语言主要特点是程序的执行流程是由一系列的函数调用来实现的。
a.C语言C语言是一种通用的、面向过程式编程语言,它被广泛应用于系统软件和应用软件开发。
C语言的主要特点是高效、灵活、可移植性好等。
C++_CHAP3

其语法形式: 其语法形式:
for(表达式 表达式 表达式 表达式1;表达式 表达式3) 表达式 表达式2;表达式 语句
C++与结构化程序设计 第3章 C++与结构化程序设计
表达式1 表达式
false
表达式2 表达式
true
语 句
表达式3 表达式
C++与结构化程序设计 第3章 C++与结构化程序设计
C++与结构化程序设计 第3章 C++与结构化程序设计
if(b) { cout<<n<<'\t'; counter++; if(counter%5==0) cout<<endl; } } }
C++与结构化程序设计 第3章 C++与结构化程序设计
C++与结构化程序设计 第3章 C++与结构化程序设计
if语句嵌套 3.4.2 if语句嵌套
C++语言中规定else始终与同 一层中上面最接近它的if语句 配对,而这个if语句又没有其 他的else与之匹配。最好用 大括号{}括起该层的if语句 来确定层次关系。
高级程序语言设计第3章

或
#include "stdio.h" 1.格式输入输出(printf函数,scanf函数) (1)scanf函数 scanf函数用于输入指定类型的多个数据,函数的一般形式为:
scanf(“格式控制字符串”,地址列表);
一定要注意,地址列表中直接给变量名将会出错,因为这是非
返回本章目录
第3章 高级语言程序设计概述
l 指定数据所占字符数(宽度)
scanf("%3d%2d",&a,&b); 输入:12345678↙ 系统将把123赋值给a,把45赋值给b,而678则被丢掉。 l scanf函数中没有精度控制 scanf("%3.2f",&a); 将是非法的,即使输入12345↙,也不会将变量a赋值 为123.45; l 跳过某输入数据 scanf("%d %*d %d",&a,&b); 输入:11 22 33↙
{
char c1='H',c2='E',c3='L',c4='O'; /*定义字符变量并赋值*/
putchar(c1);
/*输出字符变量的值*/
putchar(c2);putchar(c3);putchar(c3);putchar(c4);
putchar('\t');
/*输出Tab制表键*/
putchar(87);
/*输出字符W,87是其ASCII编码值
*/ putchar('!'); putchar('\n');
/*输出字符*/ /*输出回车换行符*/
C语言程序设计 第3章结构化程序设计的三种基本结构

其中输出函数printf( )只原样显示一个普通的字符串,用来 提示用户输入的数据是“成绩”。 ⑦如果是多个参数时,参数之间必须必须用逗号分隔,每 个参数要求是一个表达式(单独一个变量是表达式的特殊情 况),参数的个数和类型要与格式控制串中的格式说明符的 个数和类型相匹配。
③不可打印的特殊字符指的是该字符不能直接从输出设备输出, 也称为“转义字符”,转义字符用转义序列来表示。所谓转义 序列是用来表示字符的一种方法,即用该字符的ASCII值表示, 具体的格式为:\字母。其中: “\”表示转义字符序列的标识符,表示后面的字符是转义字符, 即是不可打印的字符; “字母”表示不可打印的转义字符,用来使输出设备输出某一 种格式,c语言中的常用转义字符如表3.4所示。
int a=4; float x=3.14; char c=’A’; 也可以对几个变量赋同一个初值,例如: int a=4,b=4,c=4; 也可以只对部分变量赋初值,例如: int a=4, b,c;
【例3.1】算术赋值运算符的使用。 #include <stdio.h> void main ( ) {
修饰符
功能说明
字母l
表示输入长整型整数,可加在格式说明符d、o、x 前面
m 表示输出数据的最小宽度 m.n 表示输出总宽度占m列,其中小数位占n位
- 表示输出的数字或字符在输出区域内向左靠
⑥如果是0个参数时,即该函数中只有格式控制串部分, 没有参数表部分,二者之间的逗号可以省略。这时格式控 制串部分是一个普通的字符串,该字符串将原样显示在屏 幕上,常常用来作为提示信息或字符串的输出。例如:
A
第3章 三种基本程序结构

左”。即上述表达式求解时,先计算并得到(b>c ? b : c)
的值,然后再将此值作为外层表达式的表达式3部分。 3、条件表达式一般使用在赋值语句中。虽然它快捷方
便,但功能上相比if语句还嫌不够。所以在实际应用中,
应视具体情况合理使用。
三、switch语句
switch语句的一般形式为:
switch(表达式){ case 常量表达式1: [语句1;] [break;] case 常量表达式2: [语句2;] [break;] …… case 常量表达式n: [语句n;] [break;] [default: 语句n+1;] }
2.格式控制符区分大小写; 如实数型量不能按%d形式输出,字符串量不能
first=3, second=4, third=2268
2.格式输入函数scanf 一般形式: scanf(格式控制,输入列表); 如:
scanf(“%d, %f”, &m, &n);
scanf函数是从标准输入设备(通常是键盘)读取输
/*两个%d之间没有空格*/
3 4↙
将3赋给a,4赋给b,也可以: 下面是体现“可取有效输入”含义的一个例子: 3↙ scanf(“%d%c%d”, &m, &ch, &n); 如果想输入123给m,字符’w’给ch,456给n,则以下3种 4↙
输入方式应采用哪一种呢? 123↙ 123w456↙ ① 123 w 456↙ ② w↙
和
(4)if子句是必须的,而else子句是可选的。但反过来
不成立,即else子句不能脱离if子句单独存在。流程图可以
变化如下:
是
下雨了?
不是
if(x>y) z=x; else
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章结构化程序设计语句
3.1 理论知识
结构化程序由顺序结构﹑选择结构﹑循环结构组成。
顺序结构指程序流程不发生转移的程序结构,如赋值﹑计算﹑输入输出,选择结构是根据条件是否成立确定是否执行某些语句或变量及表达式的取值,循环结构是重复执行某段程序语句。
3.1.1 if语句–可实现单分支﹑双分支﹑多分支选择结构
格式1 :if (表达式) 语句- 单分支选择结构
注意:(1)表达式为关系或逻辑表达式。
(2)多条件语句用{ }括起来成为语句块。
(3)(表达式)中的括号不能省略
格式2 :if (表达式) 语句1;- 双分支选择结构
else 语句2;
【例3-1】if语句应用- 新建控制台应用程序3-1在Main()方法中输入下列语句
执行结果:
【例3-2】编写一个Windows应用程序实现双分支选择结构
执行结果:
格式3 :if (表达式1) 语句1;- 多分支选择结构
else if (表达式2) 语句2;
else if (表达式3) 语句3;
…………….
else
语句n
【例3-3】if语句应用- 新建控制台应用程序3-3在Main()方法中输入下列语句
执行结果:
3.1.2 switch语句
【格式】
switch (表达式)
{
case 常量表达式1:语句1;
break;
case 常量表达式2:语句2;
break;
……………..
case 常量表达式n:语句n;
break;
【default: 语句n+1; break;】
}
注意:(1)各分支语句中的break不能省略,否则会出现错误,这和C/C++不同。
【例3-4】编写一个Windows应用程序实现switch多分支选择结构
执行结果:
3.1.3 while循环语句
【格式】
while (表达式)
语句:(循环体)图3-9
【例3-5】while循环语句应用- 求s=12+22+ …+102 的累加之和
新建控制台应用程序3-5在Main()方法中输入下列语句
执行结果:
3.1.3 do … while循环语句
【格式】
do 语句;
while (表达式)
语句:(循环体)
注意:(1)无论表达式的值是true还是false循环体中的语句至少执行一次。
(2)循环体中由多语句组成时需用花括号括起来。
【例3-6】do …while 循环语句应用- 求e=1+1/1!+1/2!+1/3! …+1/n! ,精度达106 阶乘指从1乘以2乘以3乘以4一直乘到所要求的数。
e 表示10的几次方 新建控制台应用程序3-6在Main()方法中输入下列语句
执行结果:
3.1.5 for循环
【格式】
for (表达式1; 表达式2; 表达式3)
语句;
【例3-7】for循环语句应用- 求单据上5位数的号码为6**42,其中百位和千位数不清楚。
已知该数能被57和67整除,成为可能的号码。
新建控制台应用程序3-7在Main()方法中输入下列语句
执行结果:
3.1.6break 和continue语句
循环强制结束用break语句,本次循环结束开始下一次循环用continue语句。
1.break语句
【格式】
break;
注意:(1)break语句只用在switch语句和三种循环语句中。
(2)在循环体中和if (表达式1) 语句配合使用break语句,条件满足时用break退出循环。
(3)在循环嵌套中,break语句只能中止一层循环
【例3-8】编写一个Windows应用程序用if语句判断是素数(只能被1和其本身整除的数)时用break语句中止循环。
执行结果:
continue语句
【格式】
continue;
注意:(1)只结束本次循环,不中止整个循环。
(2)在循环体中和if (表达式1) 语句配合使用continue语句,条件满足时用continue中止本次循环,进行下次循环。
(3)在while和do … while循环中,continue语句使流程跳到循环控制条件的测试部分,然后决定循环是否继续。
for循环中遇到continue语句后,跳过循环体中余下语句,去计算表达式3,
然后再计算表达式2以决定是否开始下一次循环
【例3-8】ConsoleContinueTest - continue应用
3.1.7 随机数的产生
Random类在System命名空间中,使用时先创建随机数对象,用该对象的Next()方法就可获得一个随机数,如:Random randomObj=new Random();
【格式1】
randomObj. Next()
产生一个从0到常量Int32.MaxValue(值为2147483647)之间的一个随机整数
【格式2】
randomObj. Next(N)
产生0~N-1之间的一个随机整数
【格式3】
randomObj. Next(N,M)
产生N~M-1之间的一个随机整数
【例3-9】产生100个两位随机正整数,能被3整除的数的和,以及不能被3整除的数的和。
新建控制台应用程序_9在Main()方法中输入下列语句
执行结果:
3.2典型实例
1.【例3-10】- 根据周长和面积求矩形的高和宽
2.公鸡每只5元,母鸡每只3元,小鸡3只1员,用100元买100只鸡,问公鸡﹑母鸡﹑小鸡各几只?
执行结果:
3.3练习
1.邮包计费
执行结果:
2.捉拿肇事司机
执行结果:
三程序设计题1.
2.。