关于选择结构与循环结构

通过这几天的学习,我对​​​c语言中选择与循环结构又有了更加深入的了解,下面就让我来说说吧!

首先就是选择结构,它​​​​​​​在c语言中可谓是常客了,它是根据指定的条件所满足的情况转而执行相应的操作。

1.选择结构

(1.1)关系运算符与关系表达式

(1.1.1)关系运算符——c语言提供6个关系运算符,分别是>(大于),<(小于),>=(大于等于),<=(小于等于),=(等于),!=(不等于).这六个关系运算符都是双目运算符,结合方向都是自左向右结合.关系运算符的优先级低于算术运算符,高于赋值运算符.特别要注意的是在关系表达式中,若关系成立,关系运算的值为1(表示逻辑真),若关系不成立,关系运算的值为0(表示逻辑假).(在比较时,浮点数是用近似值表示的,"=="用于两个浮点数的判断时,由于存储误差,会得出错误的结果,要特别注意哦!一般判断两个浮点数是否相等,可以采用如下形式fabs(1-1.0/3.0*3.0)<1e-6)

关系运算符的优先级>,<,>=,<=的优先级相同,高于==与!=,==与!=的优先级相同.

(1.1.2)关系表达式是用关系运算符将两个表达式连接起来的式子,一般形式<表达式1><关系运算符><表达式2>,被连接的可以是算术表达式,关系表达式,逻辑表达式,赋值表达式和字符表达式等,但是两个表达式的类型要相同,否则比较没有意义.

(1.2)逻辑运算符与逻辑表达式

(1.2.1)逻辑运算符-----c语言提供了三个逻辑运算符,&&(逻辑与运算符),||(逻辑或运算符),!(逻辑非运算符).由于c语言依据数据是否为0来判断逻辑真与逻辑假,所以逻辑运算的操作数类型可以是字符型,整形或浮点型.首先说说&&----逻辑与,&&是二元运算符,判断标准真真为真,否则都为假.||----逻辑或,||也是二元运算符,判断标准假假为假,否则都为真,!----逻辑非,!是一元运算符,取相反结果即若操作数为假,逻辑非运算的结果为真;若操作数为真,逻辑非运算的结果为假.

逻辑运算符的优先级!>&&>||,!高于算数运算符,&&,||都低于关系运算符.逻辑运算符的结合律,采用左结合律,优先级为同一级的运算符,按从左到右的结合方向处理.

(1.2.2)c语言逻辑表达式的特性----在多个&&运算符相连的表达式中,从左至右开始进行,若遇到运算符左边的的操作数为0,则停止计算,此时判定逻辑表达式的结果为0即为假。eg:a=0,b=1;c=a&&(b=3),运行结果为0,b的值仍为1.在多个||运算符相连的表达式中,计算从左至右进行,若遇到运算符左边的操作数为1(逻辑真),则停止运算。可以判定逻辑表达式的结果为1(真)。eg:a=1,b=1,c=0;d=a||b||(c=b+3)运算结果是d的值为1,从c的值仍为0.

(1.2.2)逻辑表达式 是用逻辑运算符将两个表达式或逻辑值连接起来的式子,一般形式<表达式1><逻辑运算符><表达式2>或者<逻辑运算符><表达式1>。

(1.3)if语句

if语句是条件选择语句,通过对给定条件的判定,来决定所要执行的操作。if语句有三种形式:单分支选择if语句,双分支选择if语句和多分支选择if语句。

(1.3.1)单分支if语句

形式:if(表达式)  语句

先计算表达式的值,若表达式的值为非0(逻辑真),则执行表达式后面的语句,若表达式的值为0(逻辑假),则直接转到if语句的下一条语句去执行。

(1.3.2)双分支if语句

形式:if(表达式)  语句1

else  (语句2)即当表达式的值为1(逻辑真)则执行语句1,否则执行语句2.eg:输入一个整数,判断是奇数还是偶数。

#include<stdio.h>
int main()
{int a;
printf("请输入一个整数\n");
scanf("%d",a);
if(a%2==0)
printf("%d是偶数",a);
else
printf("%d是奇数",a);
}

(1.3.3)多分支选择结构

形式:

if(表达式1)语句1
else
if(表达式2)语句2
else
...
if(表达式n)语句n
else语句n+1

执行多分支选择if语句时,如果表达式的值为非0(逻辑真),则执行语句1,后面的语句不再执行;否则执行else后面的语句。

y=x+5(x<=1);y=2*x(x>1&&x<=10);y=3/(x-10)(x>10).
#include<stdio.h>
int main()
{
float x,y;
printf("please input x:\n");
scanf("%f",&x);
if(x<=0)
y=x+5;
else if(x>1&&x<=10)
y=2*x;
else
y=3/(x-10);
printf("y=%.0f\n",y);
}

(1.3.4)if 语句的嵌套

if语句的嵌套是指在上述三种语句结构中,在if-else结构中的任一执行语句中插入if结构或if-else结构。

(1.4)switch语句

当嵌套的if语句比较少时(三个以内),用if编写程序会比较简洁,但是当选择的分支比较多时,if语句就比较冗长,可读性下降,因此c语言提供switch语句来处理多分支选择。switch语句也称开关语句,一般与case,break,default配合使用。一般形式:

switch(表达式)
{
case 1:语句1
case 2:语句2
...
case n:语句n
default:语句n+1
}

(1.4.1)break与continue

break是终止该循环,continue是跳过循环体中continue后面的尚未执行的循环体语句,但不终止整个循环。要与break区分。

循环语句在下次发布的文章里哦!

  • 47
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值