C程序第4章.docx

上传人:b****4 文档编号:2966658 上传时间:2022-11-16 格式:DOCX 页数:8 大小:16.68KB
下载 相关 举报
C程序第4章.docx_第1页
第1页 / 共8页
C程序第4章.docx_第2页
第2页 / 共8页
C程序第4章.docx_第3页
第3页 / 共8页
C程序第4章.docx_第4页
第4页 / 共8页
C程序第4章.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

C程序第4章.docx

《C程序第4章.docx》由会员分享,可在线阅读,更多相关《C程序第4章.docx(8页珍藏版)》请在冰豆网上搜索。

C程序第4章.docx

C程序第4章

公共电子邮箱:

huayupeixun2010@

邮箱密码:

123456

 

第四章选择结构

输入两个数,输出较大的数。

流程图:

开始

输入a和b

a>=b

y↙↘n

输出a输出b

↘↙

结束

程序代码如下:

#include

main()

{inta,b;

printf(“请输入a和b:

\n”);

scanf(“%d%d”,&a,&b);

if(a>=b)

printf(“a=%d”,a);

else

printf(“b=%d”,b);

}

1、关系运算和逻辑运算

(1)关系表达式和逻辑表达式的运算结果都会得到一个逻辑值,要么为“真”,要么为“假”。

(2)非0数都表示真,真的值为1。

0表示假,假的值为0。

(3)举例:

2>3为假,表达式的值为0。

5>3为真,表达式的值为1。

(4)数学界IT界

>>

<<

≥>=

≤<=

≠!

=

===

(5)关系运算符的优先级(详见课本附录6)

算术运算符>关系运算符>赋值运算符

举例:

a=3>5+2

(6)关系运算符两边值的类型不一致的情况

如:

2>0.5,关系运算符两边的操作数的类型一致的情况下才能进行比较。

故先把2转化成2.0,然后和0.5进行比较。

两操作数类型不一致时的转换原则,请见附录5。

(7)逻辑运算符和逻辑表达式

1逻辑与(&&):

一假必假如:

3>2&&5<2

2逻辑或(||):

一真必真如:

2>3||5<6

3逻辑非(!

):

真亦假,假亦真如:

!

(2>3)

(8)区间的表示

数学表示:

0

计算机表示:

x>0&&x<10(&&是“且”的意思)

(9)“短路”现象

①逻辑与(&&)中的“短路”现象

举例:

a的初值为1,经过表达式

2>3&&(a=2)后,a的值为?

答案为a的值仍为1。

②逻辑或(||)中的“短路”现象

举例:

a的初值为1,经过表达式

3>2||(a=2)后,a的值为?

答案为a的值仍为1。

2、if语句

⑴if语句的两种形式

1if(表达式)

语句

举例:

if(a>b)

a=5;

2if(表达式)

语句1

else

语句2

举例:

if(a>b)

a=1;

else

a=2;

注意:

①if和else都是关键字,系统专用,用户决不能用。

②if可单独使用,但是else必须和if配对使用。

3if只对紧跟在它后面的“一条语句”起作用。

可以是简单语句,也可以是一条复合语句。

举例:

①if(a

a=1;

②if(a

{t=a;

a=b;

b=t;}

③if(a

t=a;

a=b;

b=t;

例4.2

输入三个整数,分别放在变量a,b,c中,然后把输入的数据重新按由小到大的顺序放在a,b,c中,最后输出a,b,c的值。

分析:

abc

321

231(a和b比较,若a>b,

↓交换a和b的值)

132(a和c比较,若a>c,

↓交换a和c的值)

123(a和c比较,若a>c,

交换a和c的值)

演示程序:

#include

main()

{inta,b,c,t;

printf(“inputa,b,c:

”);

scanf(“%d%d%d”,&a,&b,&c);

printf(“a=%d,b=%d,c=%d\n”,a,b,c);

if(a>b)

{t=a;a=b;b=t;}

if(a>c)

{t=a;a=c;c=t;}

if(b>c)

{t=b;b=c;c=t;}

printf(“%d,%d,%d\n”,a,b,c);

}

总结:

①交换两个变量的值必须借助第三个变量才能完成。

例如本题中的变量t。

②如果if管辖多条语句,多条语句必须用{}括起来,形成一条复合语句。

例4.4

如何判断能否被3整除

if(n%3==0)

printf(“n=%dYES\n”,n);

else

printf(“n=%dNO\n”,n);

(2)if后面圆括号中的表达式,可以是任意合法的C语言表达式,也可以是任意类型的数据。

举例:

if(a>b)→最为常见的形式

if(2>3)→永假的情况

if(a=3)→永真的情况

if(0)→永假

if

(1)→永真

(3)嵌套的if语句

①if(a>b)

if(a>c)

a=2;

②if(a>b)

if(a>c)

a=2;

else

b=2;

③if(a>b)

{if(a>c)

a=2;}

else

b=2;

④if(a>b)

a=2;

else

{if(a>c)

a=2;}

例4.5

编写程序,根据输入的学生成绩给出相应的等级,大于或等于90分以上的等级为A,60分以下的等级为E,其余每10分为一个等级。

#include

main()

{intg;

printf(“Enterg:

”);

scanf(“%d”,&g);

printf(“g=%d:

”,g);

if(g>=90)printf(“A\n”);

elseif(g>=80)printf(“B\n”);

elseif(g>=70)printf(“C\n”);

elseif(g>=60)printf(“D\n”);

elseprintf(“E\n”);

}

if和else的配对法则:

else总是与前面最近的至今还没有配对的if是一对。

3、条件表达式

1条件表达式的书写形式如下:

表达式1?

表达式2:

表达式3

2条件表达式的执行过程如下:

若表达式1为真,则表达式2的值作为整个条件表达式的值;若表达式1为假,则表达式3的值作为整个条件表达式的值。

3举例:

5>3?

a=2:

a=4

→整个条件表达式的值为2

2>3?

a=2:

a=4

→整个条件表达式的值为4

4、switch语句

⑴实现选择结构的语句有两种:

if语句和switch语句。

⑵switch语句形式如下:

switch(表达式)

{case常量表达式1:

语句1

case常量表达式2:

语句2

…….

case常量表达式n:

语句n

default:

语句n+1

}

⑶举例

switch(a)

{case1:

printf(“A”);

case2:

printf(“B”);

case3:

printf(“C”);

default:

printf(“D”);

}

例4.6用switch语句改写例4.5

#include

main()

{intg;

printf(“Enteramark:

”);

scanf(“%d”,&g);

printf(“g=%d:

”,g);

switch(g/10)

{case10:

case9:

printf(“A\n”);

case8:

printf(“B\n”);

case7:

printf(“C\n”);

case6:

printf(“D\n”);

default:

printf(“E\n”);

}

⑷在switch语句体中使用break语句

#include

main()

{intg;

printf(“Enteramark:

”);

scanf(“%d”,&g);

printf(“g=%d:

”,g);

switch(g/10)

{case10:

case9:

printf(“A\n”);break;

case8:

printf(“B\n”);break;

case7:

printf(“C\n”);break;

case6:

printf(“D\n”);break;

default:

printf(“E\n”);

}

总结:

break的作用:

强制跳出switch语句体。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1