C语言分支循环语句--------分支结构

c语言是结构化的程序设计语言,c语言中有顺序结构,循环结构,选择结构。那怎么在c

语言中实现这几种结构的呢?下面就让我带你了解一下。

一,分支结构

1.if语句的介绍

在生活中我们为了完成一件事,会选择不同的方式来完成,在c语言程序中也不例外。

(1)为了在c语言中实现选择结构我们会使用到if语句。

if语句的语法结构如下

if(表达式)
    语句

利用这个if语句就能实现选择,语句中的表达式是为判断条件,如果该表达式结果为真,则会运行if所控制的代码。如果表达式为假,则不运行if控制的代码。

例子:

#include<stdio.h>
int main()
{
   int a=1;
   if(a)
      printf("%d",a);
   return 0;
}

代码中a=1,1是非0表示为真,则会执行if控制的这条语句,如果将a的值改成0的话,则判断为假,就不执行if控制的语句。

注意:if只能控制一条语句,如果想要控制多条语句这时候就要使用{}来把多条语句括起来。

代码如下

if(表达式)
{
  语句1;
  语句2;
  ....
}

(2)else

当我们在写程序的时候判断一个数,不是奇数就是偶数,那这时候就要使用if.......else语句了

if(表达式)
    语句1;
else
    语句2;

这是if..... else的语法形式

例子:判断一个数的奇偶性

#include<stdio.h>

int main()
{
  int num=0;
  scanf("%d",&num);
  if(num%2==0)
    printf("该数为偶数");
  else
    printf("该数为奇数");


  return 0; 
}

这时候你输入一个数字,程序就会判断奇偶性。如果是偶则打印偶数,如果是奇数则打印奇数。

(3)if语句的嵌套

当我们使用if   else两个选择不能满足多个选择需求时候,我们就可以使用else if这个语句

else if(表达句)
   {
      语句
   }

我们可以使用多个elseif语句来实现多个选择


if()
    语句
else if()
    语句0;
else if()
    语句1;
else if()
    语句2;
else if()
    语句3;

我们还能实现在if里面再实现选择结构,称为嵌套

if ()
{
	if ()
	{
		语句;
	}
	else
		语句;
}

利用if嵌套实现复杂的逻辑判断

比如说年龄的判断

int main()
{
	int age = 0;
	printf("请输入你的年龄: ");
	scanf("%d", &age);
	if (age < 18)
		printf("少年");
	else if (age >= 18 && age < 44)
	{
		printf("青年");

	}
	else if (age >= 44 && age < 59)
		printf("中年");
	else if (age >= 59 && age < 89)
		printf("老年");
	return 0;
}

注意:else悬空的问题,else总是和它最近的if匹配

(3)关系操作符

<:大于运算符  <=大于等于运算符

>:小于运算符   >=小于等于运算符

== 相等运算符

!=不相等运算符

这些关系运算符运用在表达式上则为

a<b等,这些关系表达式返回值一般为0或1,表示假或真。

注意:易出现的错误,把相等运算符用成了一个=,这时候就不是判断而是赋值了。

关系运算符也不能连用,如果要表示一个数大于一个数且小于另一个数

这时候就要使用 并且 &&

i<j && i>a

这时候返回值为

a为真

a为假
b为真
b为假

所以当&&两边表达式都为真的时候才会返回值为真

逻辑运算符 ||

||表示或者,当我们写一个判断季节的程序的时候,就会出现冬季的时候,是12月到1月份,这时候就很难将他们放到一个范围内,这时候就要使用||逻辑操作符了,表示或者,如下列代码

#include<stdio.h>

int main()
{
    int month = 0;
    sacnf("%d",&month);
    if(month==11 || month==12 || month==1 || month==2)
           printf("冬天");
    retrun 0;
{

还有一个常见的逻辑操作符

逻辑取反操作符:!

这个操作符可以改变单个表达式的真假

条件操作符

格式为

表达式1 ? 表达式2 :表达式3

当表达式1为真的时候执行表达式2,表达式3不执行。同理当表达式1为假的时候执行表达式3,不执行表达式2。

注意:在逻辑操作符执行时会发生短路的现象:

&&:表达式1 && 表达式2,如果表达式1为假的话,表达式2就不执行判断。

||:表达式1 || 表达式2,如果表达式1为真的话,表达式2就不执行判断。

这样就称为短路。

2.switch语句

 除了if语句外,我们还可以使用switch来实现选择分支结构。

语法形式             

  程序会按照expression的值匹配到对应的case  value,然后再执行case value后面所控制的语句。如果没有匹配到case的话,则会执行default。

注意:expression后面必须是整形表达式,case后面必须是整形常量表达式。

在程序中我们要在每一个case语句后加一个break来跳出这个switch语句。否则会将case后面所有case语句都执行。

很多人对switch里的case句子的顺序有疑问,在switch语句里是没有顺序要求的,但是为了观看,尽量把case 1到case n,default放在最后。

  • 26
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值