零基础C语言-3

第三章.分支语句(if篇)


前言

本人是一名在校通信专业的学生,本文章主要用途为记录自己在C语言学习中的笔记


一、C语言的结构

C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构选择结构循环结构,C语⾔是能够实现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种
结构的组合。
其中 我们可以用if、switch实现分支语句;用for、while、 do while实现循环语句

二、if语句

1.if

代码如下(示例):

#include <stdio.h>
int main()
{
	int a = 0;   //给a初始化
	scanf("%d", &a);   //scanf输入函数  %d占位符,&地址码
	if (a > 0)       //当输入的值>0时为真,运行打印haha
		printf("haha\n");
	else             //否则为假,打印hehe
		printf("hehe\n");
	return 0;
}

表达式成⽴(为真),则语句执⾏,表达式不成⽴(为假),则语句不执⾏

在C语言中0为假,非0为真。也就是表达式的结果如果是0,则语句不执⾏,表达式的结果如果是
不是0,则语句执⾏。

2.例题总结

例1:输入一个整数,判断是否为奇数
代码如下:

#include <stdio.h>
int main()
{
	int num = 0;
	scanf("%d", &num);  
	if (num % 2 == 1)    //输入的数除以2的余数若为1,则为奇数
		printf("%d 是奇数\n", num);  //表达式的结果若为真(成立),则程序执行
	return 0;
}

例2:输入一个整数,判断奇数和偶数
代码如下:

#include <stdio.h>
int main()
{
	int num = 0;
	scanf("%d", &num);
	if (num % 2 == 1)  // 表达式的结果若为真(成立),则程序执行
		printf("%d 是奇数\n", num);
	else    //否则为0,执行else
		printf("%d 是偶数\n", num);
	return 0;
}

例2:输⼊⼀个年龄,>= 18岁就输出:成年,否则就输出:未成年
代码如下:

#include <stdio.h>
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age >= 18)     //当结果为真时,打印“成年”
		printf("成年\n");
	else               //否则为假,打印 “未成年”
		printf("未成年");
	return 0;
}

3.分支中包含多条语句

默认if和else只能控制一条语句,若想控制多条语句,则需要添加一个大括号。
代码如下:

#include <stdio.h>
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age <= 18)               //当结果为真时候,打印“未成年”
	{
		printf("未成年\n");
		printf("啦啦啦啦啦\n");   //由于添加了大括号,可以再打印“啦啦啦啦啦”
	}                            //if和else语句只能控制一条语句,若要控制多条语句 需要带上大括号
	else                      //否则打印成年
		printf("成年");
	return 0;
}

4.if嵌套式

在if else语句中,else可以与另一个if连用,构成多重判断。
⽐如:要求输⼊⼀个整数,判断输⼊的整数是0,还是正数或者负数
方法一
代码如下:

#include <stdio.h>
int main()
{
	int num = 0;
	scanf("%d", &num);
	if (num == 0)                  //嵌套式if语句第一种方式
		printf(" 你输入的数字是0\n");
	else
	{
		if (num > 0)                 //嵌套的if
			printf("你输入的是正数\n");
		else
			printf("你输入的是负数\n");
	}
	return 0;
} 

方法二
代码如下:

#include <stdio.h>
int main()
{
	int num = 0;
	scanf("%d", &num);
	if (num == 0)
		printf("你输入的是0\n");
	else if (num > 0)
		printf("你输入的是正数\n");
	else
		printf("你输入的是负数\n");
	return 0;
}

练习:输入一个人的年龄,如果年龄<18岁,打印“少年”;如果年龄在18岁至44岁打印“青年”;如果年龄在45岁至59岁打印“中少年”;如果年龄在60岁至89岁打印“老年”;如果90岁以上打印“老寿星”。
方法一
代码如下:

#include <stdio.h>
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age < 18)
	   printf(" 少年\n");
	else
	{
		if ( age <=44)           //if(30 < age < 59) 多个关系运算符不宜连用,但可以这么写 if(30 < age && age < 59)
		   printf("青年");
		else
		{
			if ( age<=60)
				printf("中老年\n");
			else
			{
				if (age <= 89)
					printf("老年\n");
				else
					printf(" 老寿星\n");
			}
		}
	}
	 
	   return 0;
}

方法二
代码如下:

#include <stdio.h>
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age < 18)
	       printf(" 少年\n");
	else if ( age <=44)
		   printf("青年");
	else if ( age<=60)
		   printf("中老年\n");
	else if (age <= 89)
		   printf("老年\n");
	else
		   printf(" 老寿星\n");   //else有就近原则,与最近的if匹配
	   return 0;
}

方法三
代码如下:

#include <stdio.h>
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age <= 18)
	   printf(" 少年\n");
	else
	{
		if ( 19 <= age && age <= 44)           
		   printf("青年");
		else
		{
			if (45 <= age && age <= 59)
				printf("中老年\n");
			else
			{
				if (60 <= age && age < 89)
					printf("老年\n");
				else
					printf(" 老寿星\n");
			}
		}
	}
	 
	   return 0;
}

注意if语句中不能如下连写 if(i<j<k),只能if(i<age && age <k)

总结

本章简浅的讲述了一下关于if从句的知识点,主要学习了if从句、if从句的嵌入式、if从句嵌入式的多种方法、if从句的一些注意事项,如有补充,后续会一步步完善。

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值