文档详情

C语句及流程控制.ppt

发布:2017-04-19约5.44千字共32页下载文档
文本预览下载声明
第三章 语句和流程控制 ;3.1 C语句概述 ;3.2 基本语句 ;(3)说明语句 说明语句包括变量定义语句和变量说明、函数说明、结构说明等。例如: int x,y,z=3; 定义x,y,z为整型变量 static int w ; 定义w为静态整型变量 int max();  定义max是整型函数     struct student stu; 定义stu是结构体类型变量 ;3.3 复合语句 ;main() { int a,b; scanf ("%d %d",a,b); if (ab) { int t; t = a;a = b;b = t; } printf ("%d%d\n",a,b); } 在C语言中,每个变量都有其作用域,作用域为从定义它的地方开始,到同一层对应的右括号结束。即使外层中定义了与它同名的变量,内层中出现的该名字意味着内层变量起作用,而外层变量的访问被阻塞。关于变量的作用域,在第5章将会详细讨论。 ;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为真。 下面各节将基于上面各种结构分别介绍它们所对应的语句。 ;3.5 分支结构程序设计语句 ;再看第(2)种形式: if (表达式) 语句S1 else 语句S2 当表达式的值非0,执行语句S1,否则执行语句S2。流程如图所示。;2.if语句的嵌套 if语句的嵌套是指在if语句中又包含了一个或多个if语句。一般形式如下: if (表达式) if(表达式) 语句1 else 语句2 else if(表达式) 语句3 else 语句4 说明: (1)?????? if与else是配对关系,else总是与它上面最近的if配对。 (2)?????? 可用复合语句来改变配对关系。如: if (表达式) { if(表达式) 语句1 } else if(表达式) 语句3 else 语句4 对if语句的嵌套层数c语言没有限制。 ;3.5 分支结构程序设计语句 ;【例】用户从键盘键入+、-、*和/中的任意??个,屏幕上出现对应的英文单词plus,minus,multiply,divide。若按了其他键,屏幕上出现问号。 #inlclude "stdio.h" main() { int c; c = getchar(); if(c = = + ) printf("plus\n"); else if (c = = - ) printf("minus\n"); else if (c = = ? ) printf("multiply\n"); else if (c = = / ) printf("divide\n"); else printf("?\n"); } ;3.switch语句(开关语句) switch语句用于多路选择转向的程序中,也就是多路分支结构的程序。前面曾用多重的if-else 语句来表示多路选择转向,现在用switch语句来实现更为清楚简明。 switch 语句的一般形式: switch (表达式) { case 常量表达式1:语句1 case 常量表达式2:语句2 case 常量表达式n:语句n default: 语句n+1 } ;关于switch语句的相关说明: (1) switch后面括号内的表达式,可以是整形表达式、字符型表达式,也可以是枚举型数据,且必须与case后的常量表达式的类型一致; (2) case和default后的语句可以是任意语句,不必用花括号括起来构成复合语句,会自动顺序执行本case后面的可执行语句; (3) case和default相当于语句标号,当表达式的值与某个case 后面常量表达式的值相等时,就从该case后面的语句开始执行,直到遇到break语句或switch语句结束。如果所有的常量表达式的值都没有与表达式的值匹配,就从default后面的语句开始执行,直到遇到break语句或执行到switch语句结束。在没有default语句时,什么
显示全部
相似文档