当前位置:文档之家› c语言分支结构

c语言分支结构

case '/': printf("=%.2f\n", value1/value2); break;
default: printf("Unknown operator\n"); break;
} return 0; }
2、在switch中不使用break
switch(表达式)
{
case 常量表达式1:语句段1;
[1] Select crisps [2] Select popcorn [3] Select chocolate [4] Select cola [0] Exit
int main(void) { int choice, i; double price;
for( i = 1; i <= 5; i++) { printf("[1] Select crisps \n"); printf("[2] Select popcorn \n"); printf("[3] Select chocolate \n"); printf("[4] Select cola \n"); printf("[0] exit \n"); printf("Enter choice: "); scanf("%d", &choice); if(choice == 0) break; switch (choice) { case 1: price=3.0; break; case 2: price=2.5; break; case 3: price=4.0; break; case 4: price=3.5; break; default: price=0.0; break; } printf("price = %0.1f\n", price); }
n-1 真
语句1
语句2

语句n-1
语句n
例: 分段计算水费
0
y

f (x)



4x 3
2.5x 10.5
x0 0 x 15
x 15
源程序——分段计算水费
# include <stdio.h> int main(void) { double x, y;
printf("Enter x:"); scanf("%lf", &x); if (x < 0) { y = 0; } else if (x <= 15)
表达式的值=常量表达式 1 的值
语句段1
表达式的值=常量表达式 2 的值

语句段2


表达式的值=常量表达式 n 的值
语句段n
其他
语句段n+1
3、在switch的某些语句段中使用break
输入10个字符,分别统计出其中空格或回车、数字和其他字符的个数。
int main(void)
{
int blank, digit, i, other;
scanf("%d", &number);
if(number % 2 == 0){
printf("Tne number is even. \n");
}
Enter a number: 329
else{
Tne number is odd.
printf("Tne number is odd. \n");
}
查自动售货机中商品的价格
3.2.1 程序解析
假设自动售货机出售4种商品,薯片(crisps)、爆米花(popcorn)、 巧克力(chocolate)和可乐(cola),售价分别是每份3.0、2.5、4.0和3.5元。 在屏幕上显示以下菜单,用户可以连续查询商品的价格,当查询次数 超过5次时,自动退出查询;不到5次时,用户可以选择退出。当用户 输入编号1~4,显示相应商品的价格;输入0,退出查询;输入其他编 号,显示价格为0。
int main(void) { char operator; double value1, value2;
printf("Type in an expression: "); scanf("%lf%c%lf", &value1, &operator, &value2); switch(operator) {
switch (ch)
{ case ' ' : case '\n':
blank ++; break;
case '0' : case '1' : case '2' : case '3' : case '4' :
case '5' : case '6' : case '7' : case '8' : case '9' :
{y = 4 * x / 3; } else
{y = 2.5 * x - 10.5; } printf("f(%.2f) = %.2f\n", x, y); return 0; }
Enter x: -0.5 f(-0.50) = 0.00
Enter x: 9.5 f(9.50) = 12.67
Enter x: 21.3 f(21.30) = 42.75
[1] Select crisps [2] Select popcorn [3] Select chocolate [4] Select cola [0] Exit Enter choice: 0 Thanks
switch语句处理多分支选择
1、在switch语句的每个语句段中都使用break语句
switch(表达式)
digit ++; break;
default: other ++; break;
}
}
printf("blank=%d, digit=%d, other=%d\n", blank, digit, other);
return 0;
}
4 分支结构程序设计
分支结构一般分为 ◆二分支 ◆多分支 (1) 二分支结构和基本的 if 语句 (2) 多分支结构与嵌套的 if 语句和switch语句
{
case 常量表达式1:语句段1; break;
case 常量表达式2:语句段2 ; break;
...…
case 常量表达式n:语句段n ; break;
default :
语句段n+1 ; break;
}
switch (choice) { case 1: price=3.0; break; case 2: price=2.5; break; case 3: price=4.0; break; case 4: price=3.5; break; default: price=0.0; break;
case '+': printf("=%.2f\n", value1+value2); break;
case '-': printf("=%.2f\n", value1-value2); break;
case '*': printf("=%.2f\n", value1*value2); break;
printf("Thanks \n"); }
[1] Select crisps [2] Select popcorn [3] Select chocolate [4] Select cola [0] Exit Enter choice: 1 price = 3.0
[1] Select crisps [2] Select popcorn [3] Select chocolate [4] Select cola [0] Exit Enter choice: 7 price = 0.0
return 0;
}
例 输入1个整数,输出它的绝对值 。
#include <stdio.h>
int main(void) { int number;
Enter a number: 10 The absolute value is 10.
printf("Enter a number: ");
scanf("%d", &number);
Enter 10 characters: Reold 123? letter=5, digit=3, other=2
for(i = 1; i <= 10; i++)
{ ch h >= 'a' && ch <= 'z' ) || ( ch >= 'A' && ch <= 'Z'))
多种形式多分支结构 实现方法: ◆ 嵌套 if 语句
else – if 语句 嵌套的 if - else语句 ◆ switch语句
if (表达式1) 语句1 else if(表达式2) 语句2
…… else if(表达式n-1) 语句n-1 else 语句n
表达式
1


表达式 2

语句1
语句2
相关主题