iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言示例讲解ifelse语句的用法
  • 532
分享到

C语言示例讲解ifelse语句的用法

2024-04-02 19:04:59 532人浏览 泡泡鱼
摘要

目录1、前言2、if语句的语法结构3、关于if else语句的示例4、if else 书写形式的对比5、例子1、前言 (1)C语言是结构化的程序设计语言。C语言的三种基本程序结构分别

1、前言

(1)C语言是结构化的程序设计语言。C语言的三种基本程序结构分别是:

  • 顺序结构:按照程序顺序执行
  • 选择结构:根据判断结果选择分支方向
  • 循环结构:指有一个循环体,可以根据判断条件决定循环多少次

(2)分支语句(选择语句)和循环语句

(3)什么是语句?

C语言中由一个分号(;)隔开的就是一条语句。

2、if语句的语法结构

大致分为三种:

if(表达式)
    语句;

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

//多分支
if(表达式1)
    语句1;
else if(表达式2)
    语句2;
else
    语句3;

3、关于if else语句的示例

示例一:了解if else结构

#include <stdio.h>
int main()
{
	int age = 10;
	if (age >= 18)
		printf("成年\n");
	return 0;
}

运行该程序,将不会有打印结果;如果在此基础上加上

	else
		printf("未成年\n");

则运行结果为:

未成年

示例二:if或else默认只执行它下面的一句

将示例一中的年龄10改为20,再在else的语句下加上一句,查看运行结果。

#include <stdio.h>
int main()
{
	int age = 20;
	if (age >= 18)
		printf("成年\n");
	else
		printf("未成年\n");
		printf("不能去网吧\n");
	return 0;
}

运行结果:

成年

不能去网吧

显然这个结果是不合理的,我们想要的是如果是“未成年”,才要打印“不能去网吧”,但是输入的年龄是20,显示“成年”就可以了,它还是显示了“不能去网吧”。这就证明if/else默认的是只执行它下面的一条语句。在我敲这段代码的时候,实际上这个编译器它已经很智能了,能体现出if/else默认的是只执行它下面的一条语句这个性质的一个表现就是:else下的第二条语句它是自动和else对齐的,为了查看程序是否能只打印“成年”,本次代码特地手动给else下的第二条printf语句之前敲了tab键。

那么怎样才能让程序实现我们想要的功能呢?

将else里面要执行的两条语句给它用大括号括起来,一个“{}”就是一个代码块,就是一个逻辑。

{
    语句列表;
}

代码修正如下:

#include <stdio.h>
int main()
{
	int age = 20;
	if (age >= 18)
	{
		printf("成年\n");
	}
	else
	{
		printf("未成年\n");
		printf("不能去网吧\n");
	}
	return 0;
}

示例三:if else的多分支情况

错误示例:

int main()
{
	int age = 60;
	if (age < 18)
		printf("少年\n");
	else if (18 <= age < 26)
		printf("青年\n");
	return 0;
}

运行该程序以后,会打印“青年”。为什么会出现这样的结果呢?

因此虽然60并不在18到26之间,也会打印“青年”。

正确写法:

int main()
{
	int age = 60;
	if (age < 18)
		printf("少年\n");
	else if (age >= 18 && age < 26)
		printf("青年\n");
	else if (age >= 26 && age < 40)
		printf("壮年\n");
	else if (age >= 40 && age < 60)
		printf("中老年\n");
	else 
		printf("老年\n");
	return 0;
}

运行结果为:老年

示例四:悬空else

int main()
{
	int a = 0;
	int b = 2;
	if (a == 1)
		if (b == 2)
			printf("hi\n");
	else
		printf("hello\n");
	return 0;
}

运行该代码之后,打印窗口无结果。为什么呢?

来看一下如果我不手动删除tab间隔,编译器是怎么识别这段代码的。(我再给它加上{}使得程序的可读性更高一些)

int main()
{
	int a = 0;
	int b = 2;
	if (a == 1)
	{
		if (b == 2)
		{
			printf("hi\n");
		}
		else
		{
			printf("hello\n");
		}
	}
	return 0;
}

可以看到,else与离他最近的那个if匹配了,因为a的值是0,所以就不会进入第一个if,自然也就不会有打印结果了。所以说代码的分隔很重要,加上{}将代码分隔开可以使得程序的可读性提高。

4、if else 书写形式的对比

代码一以及代码二实际上实现的功能是一样的。下面利用一段代码来解释一下为什么说代码一和代码二实际上是一样的。

int test()
{
	if (1)
		return 0;
	printf("haha\n");
	return 1;
}
int main()
{
	test();
	return 0;
}

运行该程序的时候,发现什么都不会打印。摁下fn+f10调试代码,可以看到执行完test中的return 0就直接跳过了printf(“haha\n”);return 1;这两句。

修改代码如下:

int test()
{
	if (0)
		return 0;
	return 1;
}
int main()
{
	test();
	return 0;
}

可以看到代码走到if (0)后,再走就走到return 1了。

代码三与代码四也是一样的,为什么把num == 5 写为 5 == num 呢?为了避免出现一下情况

int main()
{
	int num = 1;
	if (num = 5)
	{
		printf("hello\n");
	}
}

将 == 写成了 =,就变成了将5赋值给num,此时判断条件为真,就不是判断num是否是5了,程序最终会打印hello。但是在代码四里面如果将5 == num 写为 5 = num程序就报错了。

5、例子

输出1-100之间的奇数

int main()
{
	int i;
	for(i = 0; i < 100; i++)
		if (i % 2 == 1)
		{
			printf("%d\t", i);
		}
		else
		{
			printf("");
		}
	return 0;
}

1       3       5       7       9       11      13      15      17      19      21      23      25      27      29     31       33      35      37      39      41      43      45      47      49      51      53      55      57      59     61       63      65      67      69      71      73      75      77      79      81      83      85      87      89     91       93      95      97      99 

到此这篇关于C语言示例讲解if else语句的用法的文章就介绍到这了,更多相关C语言if else内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C语言示例讲解ifelse语句的用法

本文链接: https://www.lsjlt.com/news/151326.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言示例讲解ifelse语句的用法
    目录1、前言2、if语句的语法结构3、关于if else语句的示例4、if else 书写形式的对比5、例子1、前言 (1)C语言是结构化的程序设计语言。C语言的三种基本程序结构分别...
    99+
    2022-11-13
  • C语言示例讲解while循环语句的用法
    目录1、while语句结构2、代码示例在学习和回顾该知识前,已经掌握了if语句的结构和用法。 if (条件)    语句; 当条件满足的情况下,if结构...
    99+
    2022-11-13
  • C语言示例讲解switch分支语句的用法
    目录1、了解switch分支语句2、示例3、default子句4、练习1、了解switch分支语句 switch语句也是一种分支语句,常常用于多分支的情况。 比如: 输入1,就会输出...
    99+
    2022-11-13
  • C语言示例讲解do while循环语句的用法
    目录1、do while()循环-先执行后判断2、do while中的break以及continue3、练习4、猜数字游戏1、do while()循环-先执行后判断 do语句的语法 ...
    99+
    2022-11-13
  • C语言实例讲解嵌套语句的用法
    目录一 、if 嵌套二、比较ab两个数值大小三、总结一 、if 嵌套 格式: if ( 条件 ){    if( 嵌入一个条件 ){   &n...
    99+
    2022-11-13
  • C语言实例讲解选择语句的使用
    目录一、if…else选择语句详解1. 图示if…else流程2. if…else代码流程3. if…else的三种情况3.1...
    99+
    2022-11-13
  • C语言详细讲解while语句的用法
    目录while语句格式例题1例题2例题3while语句格式 格式: while(表达式){    语句块} 1、先执行while(表达式),如条件为真执行语句块;...
    99+
    2022-11-13
  • C语言详细讲解if语句与switch语句的用法
    目录一、if 语句二、switch 语句三、错误提示一、if 语句 格式: if(写条件){输出内容}条件为真运行这个。 else {输出内容}否则输出这个。 代码: #includ...
    99+
    2022-11-13
  • C语言示例讲解for循环的用法
    目录1、循环语句for的语法2、for循环中的break以及continue3、for语句的循环变量控制的一些建议4、for循环的变种5、题目1、循环语句for的语法 for (表达...
    99+
    2022-11-13
  • C语言实例讲解四大循环语句的使用
    目录一、do…while()循环1. 图示流程2. 代码流程3. 示例代码1到100求和)二、while()循环1. 图示流程2. 代码流程3. 示例代码(1到100求...
    99+
    2022-11-13
  • C语言 socketpair用法案例讲解
    socketpair()函数的声明: #include <sys/types.h> #include <sys/socket.h> int socketp...
    99+
    2022-11-12
  • C语言图文并茂讲解分支语句用法
    目录一、if 语句分析二、switch 语句分析三、小结一、if 语句分析 if 语句用于根据条件选择执行语句else 不能独立存在且总是与它最近的 if 相匹配else 语句后可以...
    99+
    2022-11-13
  • Go语言select语句用法示例
    目录用法使用场景实现收发功能注意事项用法 多个通道 Channel 中信息的发送和接受处理的专用的语句—select 语句。select 语句会阻塞,直到其中的一个发送/...
    99+
    2022-11-11
  • C#解决多IfElse判断语句和Switch语句问题的方法分享
    这篇文章介绍使用设计模式中的策略模式和委托来解决多个IfElse判断语句和Switch语句,这种替换方式在其他语言也一样可以做到,比如PHP、JavaScript、Python或者J...
    99+
    2022-12-08
    C#多IfElse判断语句 C#多Switch语句 C# 策略模式
  • C语言详细讲解循环语句的妙用
    目录一、循环语句分析二、do ... while 语句的循环方式三、while 语句的循环方式四、for 语句的循环方式五、break和 continue 的区别六、do 和 bre...
    99+
    2022-11-13
  • C语言超细致讲解分支语句
    目录前言C语言的语句爱选择的分支家族无所不能的大哥if另辟蹊径的小弟switch前言 从今天开始,我将不间断的为大家分享我学C的历程,今天为大家分享的是分支语句。 C语言的语句 C语...
    99+
    2022-11-13
  • C语言超细致讲解循环语句
    目录C语言循环家族while循环for循环dowhile循环C语言循环家族 家族成员有while语句,for语句和do....while语句。这些成员都能实现循环,但又各有特点。今天...
    99+
    2022-11-13
  • C语言详细分析讲解流程控制语句用法
    目录一、分支语句1.if语句2.switch语句二、循环语句1.for语句2.break和continue语句3.循环嵌套4.while和do…while语句一、分支语...
    99+
    2022-11-13
  • C语言单链表的图文示例讲解
    目录一、单链表的结构二、单链表的函数接口1. 申请结点及打印单链表2. 尾插尾删3. 头插头删4. 中间插入和删除1. 在 pos 指向的结点之后插入结点2. 在 pos 指向的结点...
    99+
    2023-02-14
    C语言单链表的基本操作 C语言单链表
  • java示例讲解循环语句的使用
    目录1.跳转控制语句:2.循环嵌套:3.Random目录 1.跳转控制语句: 区分continue和break;  * continue:用于循环中,基于条件控制,跳过某次...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作