设为首页 加入收藏

TOP

C语言学习笔记(六)--分支程序设计(一)
2014-11-23 23:55:10 来源: 作者: 【 】 浏览:40
Tags:语言学习 笔记 --分支 程序设计

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");/*及格说明分支*/

else

printf("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");

else

printf("该年是平年\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

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言学习笔记(五)--顺序程序设.. 下一篇菜鸟修炼C语言小设计之――工资统..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: