c语言3选择结构流程及应用文档格式.docx

上传人:b****5 文档编号:19132574 上传时间:2023-01-04 格式:DOCX 页数:16 大小:34.92KB
下载 相关 举报
c语言3选择结构流程及应用文档格式.docx_第1页
第1页 / 共16页
c语言3选择结构流程及应用文档格式.docx_第2页
第2页 / 共16页
c语言3选择结构流程及应用文档格式.docx_第3页
第3页 / 共16页
c语言3选择结构流程及应用文档格式.docx_第4页
第4页 / 共16页
c语言3选择结构流程及应用文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

c语言3选择结构流程及应用文档格式.docx

《c语言3选择结构流程及应用文档格式.docx》由会员分享,可在线阅读,更多相关《c语言3选择结构流程及应用文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

c语言3选择结构流程及应用文档格式.docx

(I/2==0)

If语句

简单if语句格式:

If(条件)语句;

if(x%2==0)printf(“\nxiseven”);

if–else语句格式:

if(条件)语句1;

else语句2;

elseprintf(“\nxisodd”);

嵌套if–else语句格式:

if(条件1)语句1;

elseif(条件2)语句2;

:

elseif(条件n-1)语句n-1;

else语句n;

条件运算

条件运算符:

?

条件表达式:

表达式1?

表达式2:

表达式3

y=x>

0?

x:

-x;

Switch语句

Switch语句格式:

switch(表达式)

{

case常量表达式1:

语句序列1;

case常量表达式2:

语句序列2;

case常量表达式n:

语句序列n;

default:

语句序列n+1;

}

例题

P301

/***************************************************

问题3.1:

关系运算符和关系表达式

知识点说明:

1)关系运算符;

2)用途:

用于比较两个操作数之间的关系;

3)关系运算:

比较两个操作数,如果符合关系运算符指定的关系,则关系运算结果为1,否则为0

4)关系运算的取值:

0或者1,0即逻辑“假”,1即逻辑“真”

****************************************************/

#include"

stdio.h"

voidmain()

{intiX=3,iY=4,iZ=5;

/*变量定义*/

printf("

iX=%d,iY=%d,iZ=%d\n"

iX,iY,iZ);

iX>

iYis%d\n"

iX>

iY);

/*关系运算与关系表达式*/

iX<

iX<

iY==iX>

/*复杂的关系运算*/

=iYis%d\n"

=iY);

(iX+iY)==iZis%d\n"

(iX+iY)==iZ);

/*含有算术表达式的关系运算*/

getch();

}

P302

问题3.2:

逻辑运算符和逻辑表达式

1)逻辑运算符;

对操作数(操作对象)作逻辑“与”、“或”、“非”运算;

3)真值表;

4)逻辑表达式:

用逻辑运算符连接操作对象的表达式

5)复合运算:

先算算术表达式,再算关系表达式,最后算逻辑表达式

{intiX=3,iY=4;

iX=%d,iY=%d\n"

iX,iY);

=5&

=-5is%d\n"

=-5);

/*逻辑运算与复合表达式*/

iY||iX+iY==8is%d\n"

iY||iX+iY==8);

'

A'

iX-iY<

0is%d\n"

'

0);

/*含字符常量的复合表达式*/

2.56is%d\n"

!

2.56);

/*逻辑非运算*/

99&

iY||iX*iY==12is%d\n"

iY||iX*iY==12);

getch();

P303

问题3.3:

逻辑运算符

1)==运算与=运算的区别:

前者是关系运算,后者是赋值运算;

2)数学中的不等式:

用c语言来写时要注意写法的区别;

/*变量与变量的初始化*/

iY&

(iX=10)is%d\n"

(iX=10));

/*&

运算前的表达式为0,则整个表达式为0*/

iX=%d\n"

iX);

iY||(iY=11)is%d\n"

iY||(iY=11));

/*||运算前的表达式为非0,则整个表达式为非0*/

iY=%d\n"

iY);

}

P304

问题3.4:

数的绝对值

1)简单if语句:

if(条件表达式)语句

2)条件表达式的构成:

关系表达式、逻辑表达式、复合表达式

3)if语句的作用:

有条件地执行语句,或者有选择地执行语句

{intiX,iY;

Pleaseinputaninteger:

"

);

scanf("

%d"

&

iX);

/*输入一个整数*/

iY=iX;

if(iX<

0)/*单分支的选择结构,根据条件(iX<

0),选择是否执行语句iY=-iX*/

iY=-iX;

\n|%d|=%d"

P305

问题3.5:

电灯开关

1)if-else语句:

if(条件表达式)

语句1;

else

语句2;

2)if-else语句的含意:

根据条件,选择执行语句1或者语句2

{intiOnOff;

Pleaseinput1oraninteger:

iOnOff);

if(iOnOff!

=0)/*双分支选择结构,根据条件决定跑哪一分支*/

\nThelightison."

/*条件成立时执行的语句*/

\nThelightisoff."

/*条件不成立时执行的语句*/

P306

/*****************************/

{intiX,iY,iMax;

Pleaseinput2integers:

%d%d"

iX,&

iMax=iX>

iY?

iX:

iY;

/*用条件运算符?

:

来实现双分支选择结构*/

iMax=%d"

iMax);

P307

***********************************************************

问题3.7:

分段函数

1)多分支选择结构的格式

2)多分支选择结构的执行过程:

-遇到第1个条件为真时执行相应的语句,

然后跳到if之后的下一个语句执行

-如果没有一个条件为真,则执行最后一个else之后的语句

***********************************************************/

Pleaseinputanintegers:

if(iX>

5)/*多分支选择结构的实现*/

iY=iX+3;

elseif(iX<

0)

iY=2*iX+30;

iY=0;

printf("

f(%d)=%d"

P308

问题3.8:

成绩等级转换

1)多分支选择结构的应用

{floatfScore;

Pleaseinputyourscore:

%f"

fScore);

if(fScore>

=90&

fScore<

=100)/*复杂的多分支选择结构*/

YourgradeisA."

elseif(fScore>

=80&

90)

YourgradeisB."

=70&

80)

YourgradeisC."

=60&

70)

YourgradeisD."

0&

60)

YourgradeisE."

Invalidinput."

P309

问题3.9:

驾照判别

1)switch语句的格式

2)用switch语句实现多分支选择

3)switch语句的执行过程

-当表达式遇到第1个匹配的case时,执行该case之后相应的语句

-一般每个case之后的语句组中,最后一个语句应该是break语句

-break语句用于使程序跳出switch语句体

{charchLicence;

Pleaseinputyourdrivinglicence:

%c"

chLicence);

switch(chLicence)/*用switch语句实现多分支选择结构*/

{

case'

Youcandrivebus,car,truck."

break;

B'

Youcandrivecar,truck."

C'

Youcandrivecar."

D'

Youcandriveautobikeonly."

default:

InputError."

P310

问题3.10:

1)switch语句的应用

2)switch语句

-允许case后为空

intiTemp=-1;

Pleaseinputascore:

=0&

fScore<

=100)

iTemp=fScore/10;

switch(iTemp)

case0:

/*0-59分,"

E"

*/

case1:

case2:

case3:

case4:

case5:

break;

case6:

D"

case7:

C"

case8:

B"

case9:

/*90-100分,"

A"

case10:

InvalidInput!

P311

问题3.11:

对一个随机数的判断

1)随机数产生:

涉及的函数

-srand函数为随机函数初始化,头文件为"

stdlib.h"

-time函数时间函数,产生系统时间,头文件为"

time.h"

-rand函数随机函数,产生随机的正整数,头文件为"

2)srand((unsigned)time(NULL)):

以系统时钟作为随机数初始化的随机种子;

3)rand():

无需参数,直接产生随机数

{inta;

srand((unsigned)time(NULL));

a=rand();

if(a%2==0)

\n%d:

EVEN"

a);

ODD"

P312

问题3.12:

产生100个两位随机整数

 

{inta,i;

for(i=0;

i<

100;

i++){

a=10+rand()%90;

%d\t"

if(i%10==9)printf("

\n"

练习

任务1(P301):

求以下列函数的值。

注:

1)当输入自变量x的值后,求出对应的函数y的值,将x和y的值显示出来;

2)输入的x值大于等于0时的y值与x值小于0时的y值,计算方法是不一样的。

任务2(P302):

编一程序,从键盘输入3个整数,显示输出较大的一个。

程序涉及到1)变量的定义;

2)数据的输入;

3)数据之间的大小关系的判断;

4)判断结果的显示。

任务3(P303):

从键盘上输入一整数,判断它的奇偶性。

如果输入的是奇数,则在屏幕上输出“ODD”,如果输入的是偶数,则在屏幕上输出“EVEN”。

任务5(P304):

输入三个实数a,b,c(满足a≠0),解一元二次方程ax2+bx+c=0。

a当b2-4ac>

0时,方程有两个不等的实根;

a当b2-4ac=0时,方程有两个相等的实根;

a当b2-4ac<

0时,方程有一对共轭复根;

编程时1)要对输入的参数a判断,如果a=0时,显示“Invalida!

”,然后结束程序;

2)要对方程的根的判断式进行判断,并进行相应的计算,给出相应的显示结果。

任务6(P305):

判断一个年份是否闰年。

答案

p301

{intX,Y;

X);

if(X<

Y=2*X-1;

Y=3*X-1;

Y\n%d"

Y);

p302

{inta,b,c,Max;

Pleaseinputthreeinteger:

%d%d%d"

a,&

b,&

c);

if(a>

b&

b>

c)/*a>

c是错误的表达方式*/

Max=a;

{if(b>

c&

a)

Max=b;

Max=c;

Max\n%d"

Max);

p303

****************************************************/

{intx;

Pleaseenteranumber:

x);

if(x%2==0)

\nEVEN"

\nODD"

p304

math.h"

{inta,b,c;

floatx1,x2;

pleaseenter3numbers"

if(a==0)

Invalida!

{if(b*b-4*a*c>

{x1=(-b+sqrt(b*b-4*a*c))/(2*a);

x2=(-b-sqrt(b*b-4*a*c))/(2*a);

printf("

%f%f"

x1,x2);

elseif(b*b-4*a*c==0)

{x2=x1=(-b+sqrt(b*b-4*a*c))/(2*a);

Norealrootexist"

p305

#include"

conio.h"

voidmain()

{inty;

pleaseenterayear:

y);

if(y%4==0&

y%100!

=0||400)

\ntheyearisrunnian"

\ntheyearisnotpinnian"

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

当前位置:首页 > 工程科技 > 环境科学食品科学

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

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