C语言学习笔记(六)--分支程序设计
来源:互联网 发布:人工智能心理学 编辑:程序博客网 时间:2024/05/09 11:40
1使用if语句设计选择程序:if语句一般分为两种方式:单条件单分支、和单 条件双分支if语句。
1.1单条件单分支的if语句一般语法:
If(表达式A){
语句B;
}
语句执行流程:首先执行表达式A,如果表达式A的值非0,则执行语句序列B,然后流程继续往下执行。
例子代码:
#include "stdio.h"main(){double score;printf("input the score:");scanf("%lf",&score);if(score>=60)/*成绩开始判断*/printf("\npass!\n");printf("programming is over!\n");/*和判断语句并列的下一条语句*/}
1.2单条件双分支的语法格式:
If(表达式A){
语句B;
}else{
语句C;
}
语句执行流程:首先执行表达式A的运算,如果表达式A的值非0,则执行语句B,条件不成立则执行C。
例子代码:
#include "stdio.h"main(){double score;printf("input the score:");scanf("%lf",&score);if(score>=60)/*成绩开始判断*/printf("\npass!\n");/*及格说明分支*/elseprintf("fail!\n");printf("programming is over!\n");/*和判断语句并列的下一条语句*/}
2嵌套的if语句
2.1嵌套常用格式:
第一种:
If(表达式)
{语句}
else if(表达式)
{语句}
第二种:
If(表达式)
{语句}
else if(表达式)
语句
else
语句
例子代码:
#include "stdio.h"#include "math.h"void main(){int a; scanf("%d", &a); if(abs(a)<10) printf("%dis one bit.\n",a); else if(abs(a)<100) printf("%dis two bit.\n",a); else if(abs(a)<1000) printf("%dis three bit.\n",a); else if(abs(a)<10000) printf("%dis four bit.\n",a); else if(abs(a)<32767) printf("%dis five bit.\n",a); else printf("thenumberistoolarge\n");}
3.用switch分支设计选择程序
3.1语法形式:
Switch(表达式){
case 整型常量表达式1:语句;[break;]
case 整型常量表达式1:语句;[break;]
case 整型常量表达式1:语句;[break;]
[default]:语句;
}
注:[]里是可省略的。
3.2语句的执行流程:根据switch表达式的值,确定语句的执行入口,自上而下用表达式的值与case的值比较,相等就执行case后面的语句,如果语句结尾含有break,就中断switch,否则就继续执行下一个case,如果没有与表达式相匹配的值,就执行default后的语句。
switch的表达式可以为任意类型,但运算结果必须是整型或字符型。
例子代码:
#include "stdio.h"main(){int score; printf("score="); scanf("%d",&score);switch((int)(score/10)) /*整型量之间的除法,结果仍为整型*/{ case 10: case 9:printf("YourgradeisA\n");break; case 8:printf("YourgradeisB\n");break; case 7:printf("YourgradeisC\n");break; case 6:printf("YourgradeisD\n");break; default:printf("YourgradeisE\n");}}
switch语句也可以嵌套,break只能让程序跳出它所在的switch分支。
例如:
switch(n1){
case 1:
switch(n2){
case 11:......;
}
case 2:.....;
}
4.分支程序设计实例
4.1判断年份是否为闰年。
#include "stdio.h"main(){int year;printf("input the year:");scanf("%d",&year);if((year%4 == 0) && (year%100 != 0))printf("该年是闰年\n");else if(year%400 == 0)printf("该年是闰年\n");elseprintf("该年是平年\n");}
4.2计算天数:
#include"stdio.h"main(){ int day,month,year,sum,leap; printf("\nplease input year,month,day\n"); scanf("%d%d%d",&year,&month,&day); switch(month) /*先计算某月以前月份的总天数*/ { case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; default:printf("data error");break; } sum=sum+day; /*再加上某天的天数*/ if(year%400==0||(year%4==0&&year%100!=0)) /*判断是不是闰年*/ leap=1; else leap=0; if(leap==1&&month>2) /*如果是闰年且月份大于2,总天数应该加一天*/ sum++; printf("It is the %dth day.",sum);}
- C语言学习笔记(六)--分支程序设计
- C语言程序学习(六)笔记
- C语言学习笔记(六)字符串
- C语言学习笔记<六>
- C语言学习笔记 lesson13 分支
- iOS开发学习笔记-C语言学习(六)
- 【C++PrimerPlus6学习笔记】之四:循环、分支、表达式、运算符(第五六章)
- C语言笔记(六)
- C语言学习笔记(五)--顺序程序设计
- C语言学习笔记(七)--循环程序设计
- C语言学习笔记(六)其它数据类型
- C语言学习笔记(六)——文件操作
- C语言学习笔记(六)---行列式求值小程序
- C语言学习-分支结构 (简单明了)
- C语言基础教程(六)Turbo C 程序设计初步
- 《C语言及程序设计初步》-07分支结构程序设计体验
- C语言学习-分支结构
- C语言深度剖析笔记(六)
- 三角形重心
- 关于Banner设计的文章
- 3D glasses and other 3D display devices
- java中for语句的作用真是强大!
- 妙用Ntsd终止恶意进程
- C语言学习笔记(六)--分支程序设计
- SQL2005 用户sa登录失败,完美解决方案!
- windows api 读取目录下所有文件
- 求一个字节(8bit)有几位为"1"的O(1)解
- remove 用法
- 优秀程序员的十个习惯
- JavaScript 面向对象程序设计(上)——封装
- 关于Memory barrier
- 教程:实现Android的不同精度的定位(基于网络和GPS)