《C语言程序设计》第三章 语句与控制流
C#程序设计语言课件 第3章 流程控制语句
![C#程序设计语言课件 第3章 流程控制语句](https://img.taocdn.com/s3/m/da338de0b9d528ea81c779d9.png)
3.2.2 if else语句
if else语句是if语句的扩展体,它主要控制两个语句块。
if (条件表达式)
{
// 如果只包含一条语句,则可省略{}
语句块1
}
else
{
// 如果只包含一条语句,则可省略{}
语句块2
}
上面语句的执行过程是:首先判断if语句后面的表达式的值,如 果该值为True则执行语句块1的代码,否则执行语句块2的代码。
果不存在statement-list,则称该块是空的。
语句块的执行规则如下: 如果语句块的内容为空,控制转到块的结束点 如果语句块的内容不为空,控制转到语句列表。 当控制到达语句列表的结束点时,控制转到块的结束点
6
3.1.2 语句块
例:创建一个语句块,该语句块包含4条语句。第一条语句声明3个 int类型的变量;中间两条语句分别为变量firstnum和secondnum赋值。 最后将这两个变量的值相乘,结果保存到total变量中。
//声明字符型的静态变量 //声明double类型的实例变量
//声明double类型的常量 //声明整型的常量
8
3.1.4 表达式语句
表达式语句是C#语言中最常见的语句之一。实际上它的值只是一 个中间结果,常用的表达式语句主要包括7类,如下所示:
赋值表达式 如“num=2002” 创建对象表达式 如“object obj = new object()” 前缀递增表达式 如“++num” 前缀递减表达式 如“--num” 后缀递增表达式 如“num++” 后缀递减表达式 如“num--” 调用表达式 如“count()”
9
3.2 选择语句
选择语句是指根据表达式的值从若干个给定的语句中选择一个来执 行的语句。 本节介绍常用的判断语句,如if语句、if else语句和 switch语句等。
C语言程序设计_第3章_C语言控制语句
![C语言程序设计_第3章_C语言控制语句](https://img.taocdn.com/s3/m/57e891cdaa00b52acfc7ca34.png)
2013-6-2
附加格式说明符
l m 指定数据输出的宽度(即域宽) .n 对实型数据,指定输出 n 位小数; 对字符串,指定左端截取n 个字符输出 + 使输出的数值数据无论正负都带符号输出 使数据在输出域内按左对齐方式输出
12
输出长整型数(只可与d、o、x、u结合用)
自动对n位后小数四舍五入 例如: %ld —— 输出十进制长整型数 %m.nf —— 右对齐,m位域宽,n位小数或n个字符 %-m.nf —— 左对齐 整数位数+小数位数+小数点
2013-6-2
北京科技大学
说明
8
putchar是C语言的标准库函数,使用时必 须加编译预处理命令:
#include "stdio.h" 或 #include <stdio.h>
【例】利用putchar函数输出字符。
#include "stdio.h" 可改为? void main( ) c1=97 ; c2=98 ; { char c1,c2; c1='a' ; c2='b' ; putchar(c1);putchar(c2); putchar('\n'); putchar(c1-32);putchar(c2-32); putchar('\n'); 输出结果:ab AB } 北京科技大学
长整型数应该用%ld(或%lo、%lx、%lu)格 式输出,否则会出现输出错误。
printf函数的参数可以是常量、变量或表达式。
2013-6-2
北京科技大学
3.2.3 字符输入函数
17
ห้องสมุดไป่ตู้
C语言程序设计 第3章 控制流 (2选择结构)
![C语言程序设计 第3章 控制流 (2选择结构)](https://img.taocdn.com/s3/m/54f2ba16a2161479171128d5.png)
24
3. case语句起标号作用: 语句起标号作用: 语句起标号作用
标号不能重名 不改变控制流程, 中止switch 不改变控制流程,加break中止 中止 各个case(default)的出现次序可以是任意的 各个 ( ) 多个case共用一组执行语句 多个 共用一组执行语句 case ‘A’: case ‘B’: case ‘C’:cout<<“60 up\n”;break; 但是: 但是: case ‘A’, ‘B’, ‘C’:printf( “60 up\n”);break; 错误
6
1 用if语句实现选择结构 if语句实现选择结构
用if语句实现选择结构 if语句实现选择结构
三种形式: 三种形式:
if if-else if-else if
if语句嵌套 语句嵌套
8
if 语句
if
if– if–else
else– else–if
if(表达式)语句; if(表达式)语句; if(表达式)语句1 if(表达式)语句1; 语句2 else 语句2; if(表达式1 语句1 if(表达式1)语句1; if(表达式2 语句2 else if(表达式2)语句2; … if(表达式m 语句m else if(表达式m)语句m; else 语句 n;
12
比较两个数的大小: 比较两个数的大小:
#include <stdio.h> void main() { int a,b,max; , , ; printf (“input two numbers: ”); ; scanf (“%d%d”,&a,&b); , , ; if (a>b) max=a; ; max=a>b?a:b; ? : ; else max=b; ; printf (“max=%d\n”,max); , ; }
C语言程序设计(第3章程序控制语句)3
![C语言程序设计(第3章程序控制语句)3](https://img.taocdn.com/s3/m/a16e1e09dd88d0d232d46a27.png)
C语言程序设计(第3章程序控制语句)33.3 条件控制语句在程序的三种基本结构中,第二种即为选择结构,其基本特点是:程序的流程由多路分支组成,在程序的一次执行过程中,根据不同的情况,只有一条支路被选中执行,而其他分支上的语句被直接跳过。
C语言中,提供if语句和switch语句选择结构, if语句用于两者选一的情况,而switch 用于多分支选一的情形。
3.3.1 if语句1. if语句的两种基本形式首先,我们看一个例子,由此了解选择结构的意义及设计方法。
[例3-5] 输入三个数,找出并打印其最小数。
分析:设三个数为A、B、C,由键盘读入,我们用一个变量MIN来标识最小数, A、B、C与MIN皆定义为int型变量。
每次比较两个数,首先比较A和B,将小的一个赋给MIN,再把第三个数C与MIN比较,再将小的一个赋给MIN,则最后MIN即为A、B、C中最小数。
算法如下:1) 输入A、B、C。
2) 将A与B中小的一个赋给MIN。
3 ) 将MIN与C中小的一个赋给MIN。
4) 输出MIN。
将第2)步细化为:若A < B,则MIN <==A,否则:MIN <==B;其流程图见图3- 1。
第3)步细化为:若C < M I N,则MIN <==C;其流程图见图3 - 2。
对应图3 - 1和图3 - 2,正是i f语句的两种基本形式,与图3 - 2对应的i f语句的格式为:if 语句当表达式为真时,执行语句,表达式为假时跳过语句。
与图3 - 1对应的i f语句的格式为:if语句1else语句2当表达式为真时,执行语句1,表达式为假时执行语句2。
无论如何,语句1与语句2每次只能有一个被执行。
要注意的是: if或if . . . else,包括后面要讲到的嵌套if,即if...else if...被看成是一条语句,即使其中的语句是包含多条语句的复合语句,仍然如此。
下面是例3 - 5的源程序:main( ){int a,b,c,min;printf(" input a,b,c :");scanf("%d %d %d" , &a , &b , &c);if(amin = a;elsemin = b;if (cmin = c;printf("The result is %d\n",min);}执行情况如下:input a,b,c: 3 5 2The result is : 2这里顺便提一下程序书写的缩排问题,所谓缩排,就是下一行与上一行相比,行首向右缩进若字符,如上例的min = a 、min = b等。
C语句和流程控制
![C语句和流程控制](https://img.taocdn.com/s3/m/522688635b8102d276a20029bd64783e09127dc1.png)
else
语句Sn+1
先看第(1)种形式。它将根据表达式的值决定是否执行“语句S”。被测试的条件
是圆括号中的表达式,若表达式的值非零(表示该条件成立或关系真),则执行
“语句S”,否则跳过“语句S”。如图所示。其中“语句S”既可是单个C语句,也
可以是多个C语句组成的复合语句。
第三章 语句和流程控制
3.5 分支结构程序设计语句
else if(表达式) 语句3
else 语句4 说明: (1) if与else是配对关系,else总是与它上面最近的if配对。 (2) 可用复合语句来改变配对关系。如: if (表达式)
{ if(表达式) 语句1
}
else if(表达式) 语句3
else 语句4 对if语句的嵌套层数c语言没有限制。
第三章 语句和流程控制
3.6 循环语句
3.6.1 while循环语句 while循环语句的一般形式为: while (表达式) 语句S 它表示,当表达式的值为非0(即表达式为真),就执行语句S;再计算表达式的 值,若非0,再执行语句S,直到表达式计算的结果为0(即表达式为假),结束循 环。有的书上称为“当型循环”。其流程如图3-4所示。
第三章 语句和流程控制
3.4 控制语句
3.4.2 选择结构 选择结构如图3-2(b)所示。条件P成立则执行A语句,否则执行B。A、B只能执 行一个,A、B的出口路径汇合在一起。 3.4.3 循环结构 循环结构分为当型循环和直到型循环结构,如图3-2(c)(d)所示。当型循环结构先判 断P是否为真,若为真执行A;再判断P是否为真,若为真再执行A,如此反复, 直到P为假。直到型循环结构先执行A,再判断P是否为假,若P为假再执行A, 如此反复,直到P为真。 下面各节将基于上面各种结制
C语言程序设计第3章基本控制结构
![C语言程序设计第3章基本控制结构](https://img.taocdn.com/s3/m/fc9665ffc67da26925c52cc58bd63186bceb92c0.png)
C语言程序设计第3章基本控制结构第3章是关于C语言程序设计的基本控制结构的章节。
在这一章中,我们将学习如何使用条件语句、循环语句和分支语句来控制程序的执行流程,以及如何使用函数进行模块化的编程。
在C语言中,最常用的条件语句是if语句。
if语句根据一个表达式的值来决定是否执行其中一段代码。
它的语法结构如下:```if (condition)// code to be executed if condition is true```在if语句中,condition是一个表达式,用来判断条件是否为真。
如果条件为真,if语句后面的代码块将被执行;如果条件为假,则忽略if语句后面的代码块。
除了if语句,C语言中还提供了其他几种条件语句,包括if-else 语句和switch语句。
if-else语句允许我们在条件为真时执行一段代码块,而在条件为假时执行另一段代码块。
switch语句根据一个表达式的值来选择不同的执行路径,类似于多个if-else语句。
在C语言中,我们通常使用循环语句来重复执行一段代码。
C语言提供了几种循环语句,包括while、do-while和for。
while循环语句首先对条件进行判断,如果条件为真,则执行循环体中的代码块,然后再次进行条件判断,直到条件为假。
do-while循环语句与while循环类似,不同之处在于它先执行循环体中的代码块,然后再进行条件判断。
for循环语句可以在一行中定义循环变量的初始值、循环条件和每次循环后的改变。
除了条件语句和循环语句,C语言还提供了分支语句来选择不同的执行路径。
常用的分支语句是break和continue语句。
break语句用于跳出当前循环或switch语句的执行,而continue语句用于结束当前迭代,开始下一次迭代。
最后,本章还将介绍如何使用函数进行模块化的编程。
函数是一段执行特定任务的代码块,它可以接收输入参数,并返回一个值。
通过使用函数,我们可以将程序的不同部分分离开来,使得程序更加简洁和易于理解。
《C语言程序设计》教案第三章程序的控制结构—循环结构while和dowhile
![《C语言程序设计》教案第三章程序的控制结构—循环结构while和dowhile](https://img.taocdn.com/s3/m/27532b9890c69ec3d4bb7589.png)
《C语言程序设计》课程教案表算法2:分析:设想用sum作为累加器,初值为0,利用sum+=i(i依次取值为1、2。
100)此分析需要解决的3个问题:1)sum=0,i=1;2)每执行一次sum+=i 后,i增1(i=i+1);3)判断如果i小于或等于100,重新执行步骤(2),否则停止计算main(){int i,s=0;i=1;while(i<=100)/*i<=100为循环条件*/{s=s+i;i++; /*改变i的值*/}printf(″s=%d″,s);}运行结果:s=5050说明:循环结构的三个术语:1、循环条件:循环结构中的条件表达式如while (i<=100)其中,i<100就是循环条件。
2、循环体:在每个循环周期均要执行一次的语句序列。
如while下用{ }括起来的语句序列。
3、循环控制变量:能够决定控制条件是真是假的量。
如while(i<=100)中的变量i要写出一个正确的循环结构,对控制变量要做三方面的工作:1、对循环控制变量赋初值。
2、将循环控制变量写入正确的控制条件。
3、对循环控制变量值的更新。
使用while语句需要注意以下几点:while语句的特点是先计算表达式的值,然后根据表达式的值决定是否执行循环体中的语句。
因此,如果表达式的值一开始就为“假”,那么循环体一次也不执行。
当循环体为多个语句组成,必须用{}括起来,形成复合语句。
在循环体中应有使循环趋于结束的语句,以避免“死循环”的发生。
下列情况,退出while循环条件表达式不成立(为零)循环体内遇break,gotowhile(s<=10){s=s+i*i;i++;}printf(“%d”,--i);}A) 4 B) 3 C) 5 D) 6对以下程序段,描述正确的是________________。
int x=0,s=0;while(!x!=0) s+=++x;printf(“%d”,s);A) 运行程序段后输出0 B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次下面程序段的运行结果是[ ]。
电大C语言程序设计 第3章 流程控制语句
![电大C语言程序设计 第3章 流程控制语句](https://img.taocdn.com/s3/m/cea00f435901020207409cc1.png)
case 3:cout<<“Wednesday"; break;
case 4:cout<<“Thursday"; break;
case 5:cout<<“Friday"; break;
case 6:cout<<“Saturday"; break;
default:cout<<“Unknow week day";
1.语句格式
例:#include<iostream.h>
void main()
{
int dayOfTheWeek;
cin>>dayOfTheWeek;
switch(dayOfTheWeek)
{ case 0:cout<<“Sunday";
case 1:cout<<“Monday";
case 2:cout<<“Tuesday";
例3_7:编一程序求出2~99之间的所有素数。
第3章 流程控制语句 3.5 while语句 1. 语句格式 格式:while ( 表达式 ) 语句 2. 执行过程
第3章 流程控制语句
3.5 while语句
3. 格式举例
(1)while(x<10) {printf(“重输x的值:”); scanf(“%d”,&x);}
第3章 流程控制语句 3.6 do--while语句 1. 语句格式 格式:do 语句
while ( 表达式 );
2. 执行过程
第3章 流程控制语句
3.6 do--while语句
3. 格式举例 (1)do i++; while(x[i]<y); (2)do { scanf(“%d”,&x);s+=x; }while(--n>0); (3)do { int x=rand()%98+2; int y=(int)(sqrt(x)+1e-5); for(i=2;i<=y;i++) if(x%i==0) break; if(i>y) {n++;printf(“%d is prime\n”,x);} }while(n<5);
第三章 语句和程序控制
![第三章 语句和程序控制](https://img.taocdn.com/s3/m/f501ce4d69eae009581bec1d.png)
真(Y) A
P
假(N) 真 B
P
假
A
B
首页C语言教学幻灯片版第三章 语句和程序控制
(3)循环结构:循环结构允许多次重复执行同 一组语句。循环结构分两类:
首页C语言教学幻灯片版第三章 语句和程序控制
例3-3 写出下面程序的运行结果。
main( ) { int a=-1; int b=-2;
printf(“a=%d,%o,%x,%u\n”,a,a,a,a); printf(“b=%d,%o,%x,%u\n”,b,b,b,b); } 分析: 首先要了解-1,-2在内存中的存储结构。
①“当型”循环结构:当条件成立时,重复执行 一组语句。当p条件成立(p为真)时反复执行A 操作,直到条件不成立(p为假)时才结束循环。
P
真(Y) A
假(N) 当P为真时 A
首页C语言教学幻灯片版第三章 语句和程序控制
②“直到型”循环结构:重复执行一组语句,直 到条件成立为止。先执行A操作,然后判断条件p 是否成立,若条件不成立(p为假)则再执行A , 如此反复,直到条件p成立(p为真)为止。
输出表:要输出的数据(可以没有,多个时以 “,”分隔) 格式控制串:包含两种信息 格式说明: %[修饰符]格式字符 ,用于指定输 出格式 普通字符或转义序列:原样输出 格式字符
表格
首页C语言教学幻灯片版第三章 语句和程序控制 int a=567;printf ( “%d”,a); 567 d,ld 十进制整数 ff x,lx 十六进制无符号整数 int a=255;printf(“%x”,a); 八进制无符号整数 单一字符 字符串 指数形式浮点小数 小数形式浮点小数 e和f中较短一种 百分号本身 int a=65;printf(“%o”,a); 101 567 不带符号十进制整数 int a=567;printf(“%u”,a);
C语言 第3章 控制流 (1简单程序设计)汇总
![C语言 第3章 控制流 (1简单程序设计)汇总](https://img.taocdn.com/s3/m/64dae050767f5acfa1c7cdee.png)
22
顺序结构程序设计举例 例3:设1990年我国工业产值是100,如果每 年以7.4%的速度增长,求20年后我国的工业 产值是多少?
23
1、分析:计算产值的公式是: p1=p0(1+r)n 其中:p1为n年后的产值,p0为初始 值,r为增长率,n 为年数。 2、安排计算步骤
3、写出完整的程序
24
7
C语句概述
(一)控制语句 完成一定的控制功能 1 if() ~else 条件语句 6 break 中止语句 2 for()~ 循环语句 7 switch() 多分支选择语句 3 while()~循环语句 8 return 返回语句 4 do ~while();循环语句 9 goto 转向语句 5 continue 结束本次循环语句
可以将上面的分式分为两项:
p= b 2a
, q=
b 2 4ac 2a
x1=p+q,
x2=p-q
28
#include <stdio.h> #include <math.h> void main ( ) { 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("\n\nx1=%5.2f\nx2=%5.2f\n",x1,x2); }
5
C程序的结构:
C程序
源程序文件1
预处理命令
源程序文件2
数据声明
源程序文件n
函数1
c语言程序设计(第二版)王敬华
![c语言程序设计(第二版)王敬华](https://img.taocdn.com/s3/m/31fa69980d22590102020740be1e650e53eacf07.png)
c语言程序设计(第二版)王敬华C语言程序设计(第二版)是由王敬华教授编写的一本C语言教材,它不仅涵盖了C语言的基础语法和程序设计方法,还深入探讨了C语言的高级特性和应用实践。
这本书适合作为计算机科学与技术专业的本科生教材,也适合自学者和工程技术人员参考。
第一章:C语言概述本章介绍了C语言的发展历程、特点以及与其他编程语言的比较。
C语言以其高效性、灵活性和广泛的应用领域而著称。
作者还介绍了C语言的编译过程和开发环境的搭建。
第二章:数据类型与表达式数据是程序设计中的基础元素。
本章详细讲解了C语言中的基本数据类型,包括整型、浮点型、字符型等,以及它们的存储方式和范围。
同时,介绍了常量、变量的概念和作用域,以及表达式的构成和求值规则。
第三章:控制语句控制语句是程序流程控制的核心。
本章介绍了条件语句(if、switch)、循环语句(for、while、do-while)以及跳转语句(break、continue、goto)。
通过丰富的示例代码,帮助读者理解各种控制语句的用法和逻辑。
第四章:函数函数是程序模块化设计的基础。
本章讲解了函数的定义、声明、调用以及参数传递机制。
包括值传递和引用传递的区别,以及如何设计和使用递归函数。
第五章:数组数组是存储多个数据的集合。
本章介绍了一维数组和多维数组的声明、初始化和访问方法。
同时,探讨了数组在程序设计中的应用,如排序、搜索等算法的实现。
第六章:指针指针是C语言中的一个重要概念。
本章详细讲解了指针的基本概念、指针与数组的关系、指针的运算以及指针在函数中的应用。
通过指针,可以更灵活地操作内存和数据。
第七章:结构体与联合体结构体和联合体是C语言中实现复杂数据类型的方式。
本章介绍了如何定义和使用结构体、联合体以及枚举类型,以及它们在程序设计中的应用。
第八章:预处理指令预处理指令是C语言编译前的处理指令。
本章介绍了宏定义、文件包含、条件编译等预处理指令的用法和作用。
第九章:文件操作文件操作是程序与外部世界交互的一种方式。
谭浩强c语言程序设计第二版
![谭浩强c语言程序设计第二版](https://img.taocdn.com/s3/m/0f93c56db80d6c85ec3a87c24028915f804d848e.png)
谭浩强c语言程序设计第二版谭浩强教授的《C语言程序设计》第二版是一本广受好评的C语言教材,它以其深入浅出的讲解方式和丰富的实例,帮助无数初学者和进阶学习者掌握了C语言的基础知识和编程技巧。
这本书不仅适合作为高校计算机专业学生的教材,也适合自学者和编程爱好者作为参考书籍。
第一章:C语言概述谭浩强教授在开篇就对C语言的历史、特点以及应用领域进行了简要介绍。
C语言以其高效性、灵活性和广泛的应用基础,成为了编程语言中的常青树。
本章还介绍了C语言程序的基本结构,包括预处理指令、函数、变量声明和程序的入口点`main`函数。
第二章:数据类型、运算符和表达式在这一章中,作者详细讲解了C语言的基本数据类型,如整型、浮点型、字符型等,以及它们在内存中的存储方式。
此外,还介绍了各种运算符,包括算术运算符、关系运算符、逻辑运算符和赋值运算符等,以及它们在表达式中的使用规则。
第三章:控制语句控制语句是程序流程控制的核心。
本章详细讲解了条件语句(if、switch)、循环语句(for、while、do-while)以及跳转语句(break、continue、goto)。
通过大量实例,作者展示了如何使用这些控制语句来实现复杂的逻辑判断和循环控制。
第四章:数组数组是C语言中一种重要的数据结构,用于存储具有相同类型的多个数据项。
本章介绍了一维数组和二维数组的定义、初始化以及访问方法。
同时,还探讨了数组在实际编程中的应用,如字符串处理和矩阵第五章:函数函数是模块化编程的基础。
本章讲解了函数的定义、声明、调用以及参数传递。
作者还介绍了如何使用递归函数来解决复杂问题,以及如何通过函数指针实现函数的动态调用。
第六章:指针指针是C语言中一个强大的特性,它允许程序员直接操作内存地址。
本章深入讲解了指针的基本概念、指针与数组的关系、指针的运算以及指针在函数中的应用。
第七章:结构体和联合体结构体和联合体是C语言中用于创建复杂数据类型的工具。
本章介绍了如何定义和使用结构体和联合体,以及它们在实际编程中的应用,如模拟现实世界的对象和数据的封装。
第三章语句及控制结构
![第三章语句及控制结构](https://img.taocdn.com/s3/m/fffc0a73abea998fcc22bcd126fff705cc175c20.png)
达式其计算结果往往会出乎人们的预料。 (3)关系表达式中经常出现的一个错误是把“==”写成“=”。
3.3.1 关系运算和逻辑运算
3.3.1.3 条件运算符和条件表达式 ?: 条件运算符是C语言中唯一的三目运算符
表达式1 ?表达式2 :表达式3 条件运算符的优先级高于赋值运算,低于关系和算术运算符 结合方式:从右向左 ① 关系成立,关,关系表达式取值为0,代表“假” 条件表达式的计算:表达式1先被计算,如果表达式1的值为非0,
符组成。作用是指定输入时的数据格式。参数表中各输入项用 逗号隔开,各输入项只能是合法的地址表达式。格式描述串描 述了程序所要求的转换方式,它控制着函数scanf由标准输入 读入的过程。scanf函数返回成功完成输入转换的输入项数。 2. scanf函数常用格式说明 每个格式说明都必须用“%”开头,以一个格式字符作结束。 3.scanf函数的工作过程 4. scanf函数实例
3.4 循环结构
3.4.4 控制语句
3. goto语句 goto语句作用是实现在一个函数体内部的任意控制转移。必须 和标号一起使用。形式为: goto 标号
3.3.1.4 逻辑运算符和逻辑表达式
2. 逻辑表达式求值运算 “!”是,表示“否定”;“&&”表示“并且”,“||”表示“或者”。 它们的运算对象是条件表达式和逻辑量。 常用:0表示逻辑假值,1表示逻辑真值(非0)。
表3.4 逻辑运算符的运算规则表
!(a&&b)=!a||!b
!(a||b)=!a&&!b
如:printf(“hello”); (3)表达式语句, 由一个表达式加一个分号构成一个语句。
C#程序设计语言课件 第3章 流程控制语句
![C#程序设计语言课件 第3章 流程控制语句](https://img.taocdn.com/s3/m/da338de0b9d528ea81c779d9.png)
}
22
下面程序执行时,若输入2,则输出结果是?
int i = Convert.ToInt32(Console.ReadLine()); switch (i++) {
case 1: Console.WriteLine("1:"+i); break;
case 2: Console.WriteLine("2:" + i); break;
}
2:3 23
找错:
switch (i*3 ) { case 1 :
Console.WriteLine("1:"+i); break; case 2 :
Console.WriteLine("2:" + i); break; }
24
3.3 循环语句
循环语句也叫迭代语句,它可以重复执行嵌入语句的语句块。被重 复执行的语句称之为循环体,能否继续重复执行取决于循环条件。本节 就详细介绍C#中的4种循环语句。
Console.ReadLine(); }
17
3.2.4 嵌套if语句
if (表达式1)
{
if (表达式2)
嵌套if语句就是指在if语 句或else语句中,嵌套了
{ 语句块1
}
多个if else语句。 if语句、if else语句和if
else {
语句块2
else if else语句之间可 以相互嵌套,并且可以嵌
10
3.2.1 if语句
if语句属于选择语句,也可以称为条件语句。根据布尔表达式的值 判断是否执行语句块的内容。
if ( 表达式 ) {
语句块 }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运行结果: 运行结果: x=3 y=2
2. if语句的嵌套 语句的嵌套 (1)在基本形式1的else后的语句2位置层层 在基本形式1 else后的语句2 后的语句 嵌套基本形式1语句。 嵌套基本形式1语句。 if(表达式1 语句1 if(表达式1) 语句1 else if(表达式2)语句2 if(表达式2 语句2 …… …… if(表达式n 语句n else if(表达式n)语句n 语句n+1; else 语句n+1;
语句1; break; 语句1; break; case 常量表达式2 常量表达式2:
语句2; break; 语句2; break; …… case
语句n; break; 语句n; break; [ defalt : 语句n+1 语句n+1 ] }
[3]:根据学生的考分, 例 [3] : 根据学生的考分 , 来判断划分成绩的 及格和不及格,分别用5 优、良、及格和不及格,分别用5,4,3,2来 表示,且按如下划分: 100~ 表示,且按如下划分: 100~95 5 94~ 94~80 79~ 79~60 59~ 59~0 完整的源程序如下: 完整的源程序如下:
多分支选择语句 无条件转移语句 当循环 直到型循环 for循环 for循环
凡以后在语法形式中出现的 )~ if( )~else ~ 条件分支语句
break,continue,return,goto
‘ 语句’ 一词, 均指以上表 语句 ’ 一词 ,
while( ) ~ 中的各种语句。 中的各种语句。 do ~ while( ) for( ) ~
接下页
4 3 2
void main(){ int snum, score; char grade; scanf("%d%d",&snum, &score ); if(score>94) 分层缩进对齐的形式, 分层缩进对齐的形式, grade='5'; 便于阅读,便于调试。 便于阅读,便于调试。 else if(score>79) else 总 是 与 它 前面 最 接 grade='4'; 近的还没有配对的if if配对 近的还没有配对的if配对 else if(score>59) 进入 if 语 句 后 至多执行 grade='3'; 其中的一个语句, 其中的一个语句 , 即使嵌 else 套形式也不例外; 套形式也不例外; grade='2'; %c\ printf("%d %c\n",snum, grade ); }
的大小,且把大者赋给变量x 例[1]:比较a, b 的大小,且把大者赋给变量x,小的 [1]:比较a, 赋给变量y 并打印输。 赋给变量y,并打印输。
#include <stdio.h> void main(){ int a,b,x,y; a=2; b=3; if(a>b){ x=a; y=b; } else{ x=b; y=a; } y=%d\ printf("x=%d y=%d\n",x, y); }
功能:根据表 达式的值是否 与某常量表达 相同, 式 i 相同 , 来选 择执行若干语 句中的一个语 句或一个语句 序列。若要真 正起到多分支 选择执行功能 ,须配合使用 break语句 语句。 break语句。
真正能起到多分支选择执行功能的形式: 真正能起到多分支选择执行功能的形式: switch(表达式){ switch(表达式){ 表达式 case case …… case } 常量表达式1 语句1; break; 常量表达式1:语句1; break; 常量表达式2 语句2; break; 常量表达式2:语句2; break; 常量表达式n 语句n; break; 常量表达式n:语句n; break;
//用户自定义函数原型说明 //用户自定义函数原型说明
sum=term=x;
while( fabs(term) > EPS ){ n=n+1;
ቤተ መጻሕፍቲ ባይዱ
信息科学技术学院 2)*(2*nterm=term*(-x*x)/((2*n-2)*(2*n-1)); term=term*(-x*x)/((2*n-C语言程序设计教学组
运行结果: 运行结果: x=3 y=2 x=3 y=2
二、条件语句(if) 条件语句(if)
非零(真) 非零(
1. 两种基本形式: 两种基本形式:
语句1 语句
表达式?
零
语句2 语句
基本形式1 基本形式1: if(表达式)语句1 语句2 if(表达式)语句1 else 语句2 表达式
非零(真) 非零( 零
break语句用于终止 switch break 语句用于终止switch 语 语句用于终止 句的执行,跳出switch 结构。 句的执行,跳出switch 结构。
:语句 语句n+1 [ defalt :语句n+1 ]
说明: 说明:
switch(表达式){ switch(表达式){ 表达式 case 常量表达式1 常量表达式1: 表达式和常量表达式i 表达式和常量表达式 i 要求是 整形或字符形, 整形或字符形,且两者类型相 同; 常量表达式i 常量表达式 i 的值必须互不相 同,它们只起相当于语句入口 标号的作用, 标号的作用,没有条件判断分 常量表达式n 常量表达式n: 支执行的功能; 支执行的功能; 执行时若常量表达式i 执行时若常量表达式 i 的值与 表达式相等, 表达式相等,就顺序执行其后 的 语 句 , 否 则 执 行 defalt 后 的语句n+1; 的语句n+1; n+1
标号语句 以上语句添加标号,构成标号语句, 以上语句添加标号,构成标号语句,
C语句的分类
函数调用语句 简单的顺 表达式语句 序执行语 空语句 句 复合语句 流 程 控 制 语 句 分 支 转 移 循 环 switch 函数调用加分号构成 表达式加分号构成 花括号括起来的语句
约定:为叙述简捷方便, 约定:为叙述简捷方便 , 只有一个分号的语句
基本形式1 基本形式1: if(表达式)语句1 if(表达式)语句1 表达式 语句2 else 语句2 基本形式2 基本形式2: if(表达式)语句1 if(表达式)语句1 表达式
2. if语句的嵌套 语句的嵌套 (3)在基本形式1的语句1位置嵌套基本形式2 在基本形式1的语句1位置嵌套基本形式2 if(表达式1 if(表达式1) if(表达式2)语句1 if(表达式2 语句1 语句2 else 语句2
基本形式1 基本形式1: if(表达式)语句1 if(表达式)语句1 表达式 else 语句2 语句2 基本形式2 基本形式2: if(表达式)语句1 if(表达式)语句1 表达式
else究竟与哪一个if配对? else究竟与哪一个if配对? 究竟与哪一个if配对
基本形式1 if(表达式 语句1 表达式) 基本形式1: if(表达式)语句1 基本形式2 if(表达式 语句1 表达式) 基本形式2: if(表达式)语句1
三、多分之选择语句(switch) 多分之选择语句(switch) switch语句形式: switch语句形式: 语句形式 switch(表达式){ switch(表达式){ 表达式 case case …… case } 常量表达式n 语句n 常量表达式n:语句n :语句 语句n+1 [ default :语句n+1 ] 常量表达式1 语句1 常量表达式1:语句1 常量表达式2:语句2 常量表达式2 语句2
复合语句: 复合语句:在程序中用大括号括起来的若干语 句成为复合语句。一般形式: 句成为复合语句。一般形式:
{ 数据说明部分; 数据说明部分; 执行语句部分; 执行语句部分; }
执行语句可以是简 单语句、 构造语句, 单语句 、 构造语句 , 还可以是复合语句。 还可以是复合语句。 在复合语句内部定 义的变量, 义的变量 , 其作用域 仅限于该复合语句的 内部; 内部;
语句2 else 语句2
注意: 注意:
● 语法规定else总是与它前面最接近的还没 语法规定else总是与它前面最接近的还没 else 有配对的if配对; 有配对的if配对; if配对 ● 进入if语句后,不管其层层嵌套有多复杂, 进入if语句后,不管其层层嵌套有多复杂, if语句后 最多只执行其中的一个语句。 最多只执行其中的一个语句。
第三章 语句与控制流
内容提要: ★ 内容提要:
C语句的分类 语句的分类 空语句与复合语句 条件分支语句 循环控制语句与嵌套 执行流程强制转移 编程常用技巧 语句分类表 空语句与复合语句 条件分支语句 循环控制语句 程序示例 流程强制转移
第三章 语句与控制流
C 语言是一种很好的结构化程序设计 语言,它提供了比FORTRAN PASCLE更丰 FORTRAN、 语言 , 它提供了比 FORTRAN、PASCLE更丰 富的流程控制语句, 富的流程控制语句 , 还提供了将多个语 句组合成一个语句的复合语句。 句组合成一个语句的复合语句。
标号语句 以上语句添加标号,构成标号语句, 以上语句添加标号,构成标号语句,
一、空语句与复合语句 空语句:只有一个分号的语句, 空语句:只有一个分号的语句,属于不进行任 何操作的语句。 何操作的语句。
过滤掉输入字符流中的空白、 过滤掉输入字符流中的空白、 回车换行和制表符的 语句。循环体是一个空语句: 语句。循环体是一个空语句: '||c=='\n'||c=='\ while((c=getchar())==' '||c=='\n'||c=='\t') ; 计算字符串的长度语句,其循环体是一个空语句: 计算字符串的长度语句, 循环体是一个空语句: a[i]!='\ for( i=0; a[i]!='\0'; i++ ) ;