零基础玩转C语言第一章—分支语句

这篇具有很好参考价值的文章主要介绍了零基础玩转C语言第一章—分支语句。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,我是深鱼~

目录

前言:

1.什么是语句?

2.分支语句(选择结构)

2.1if语句

2.1.1悬空的else

2.1.2if书写形式的对比

2.1.3练习

2.2switch语句

 2.2.1在switch语句中的break和default语句

2.2.2练习

结语:彼方尚有荣光在,少年不惧岁月长


前言:

今天我们来重点来学习分支语句的相关内容,对于分支语句大家应该都挺熟悉的,但是你一定还有一些知识不知道,不信就来看看!

零基础玩转C语言第一章—分支语句,零基础玩转C语言,c语言,开发语言

1.什么是语句?

C语言中的语句分为以下五类:

(1)表达式语句                       3+5;                
(2)函数调用语句                    printf("hehe\n");    
(3)空语句:                           ;      

有时候我们需要一条语句,但是这条语句什么都不需要做,就可以使用空语句   

(4)控制语句:用于控制程序的执行流程

可分为以下三类:

<1>分支语句(条件判断语句):if语句,switch语句

<2>循环语句:do while语句,while语句,for语句

<3>转向语句:break语句,goto语句,continue语句,return语句

(5)复合语句

2.分支语句(选择结构)

2.1if语句

语法结构:C语言中:0表示假,非0表示真

if(表达式)             if(表达式)                    //多分支   if(表达式1)

     语句;                    语句1;                                           语句1;

                                 else                                               else if(表达式2)

                                     语句2;                                          语句2;

                                                                                       else

                                                                                            语句3;

代码演示:
单分支:

//单分支
#include<stdio.h>
int main()
{
	//如果年纪大于18输出成年人
	int age = 0;
	//输入
	scanf("%d", &age);
	//判断
	if (age >= 18)
		printf("成年人\n");
	return 0;
}

双分支: 注意else后面不跟表达式

//双分支
#include<stdio.h>
int main()
{
	//如果年龄大于等于18-成年人,否则打印-未成年人
	int age = 0;
	//输入
	scanf("%d", &age);
	//判断
	if (age >= 18)
		printf("成年人\n");
	else
		printf("未成年\n");
	return 0;
}

多分支:因为各个分支是相互排斥的,所以18-30大于18就可以不用写

//age<18  - 未成年
//18~30   - 青年
//31~50   - 中年
//51~70   - 中老年
//71~99   - 老年
//>99     - 老寿星
#include<stdio.h>
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age < 18)
		printf("未成年\n");
	else if (age <= 30)
		printf("青年\n");
	else if (age <= 50)
		printf("中年\n");
	else if (age <= 70)
		printf("中老年\n");
	else if (age <= 99)
		printf("老年\n");
	else
		printf("老寿星\n");
	return 0;
}

注意:(1)在C语言中要想表达18<age<30怎么表达:不能和数学中一样直接写,C语言中不存在连等

if(age>18&&age<30)

(2)if默认只能控制一条语句,要执行多条语句,就得加{}

#include<stdio.h>
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age >= 18)
	{//代码块
		printf("成年了\n");
		printf("谈恋爱\n");
	}
	return 0;
}
2.1.1悬空的else
#include <stdio.h>
int main()
{
	int a = 0;
	int b = 2;
	if (a == 1)
		if (b == 2)
			printf("hehe\n");
	else
			printf("haha\n");

	return 0;
}

大家可以看看这个程序的结果是多少?

其实什么也不打印,因为else的匹配规则是和它最近的if匹配

这就告诉我们代码风格很重要,我们可以适当使用{}使代码的逻辑更加清晰
 

#include <stdio.h>
int main()
{
	int a = 0;
	int b = 2;
	if (a == 1)
	{
		if (b == 2)
			printf("hehe\n");
		else
			printf("haha\n");
	}
	return 0;
}

改成这样就清晰的知道这个代码的逻辑

2.1.2if书写形式的对比
if(condition)
 { 
     return x;
 }
return y;

分析这个代码,思考一下是不是满足condition就return x,不满足就return y

答案使肯定的,但是这样的代码我们还要思考一下才能知道它的逻辑

if(condition)
 { 
     return x;
 }
else
{
     return y;
}

这样改进就可以清晰的知道其逻辑

我们再来看一个代码

#include <stdio.h>
int main()
{
	int a = 10;
	if (a == 5)
		printf("hehe\n");

	return 0;
}

我们看到第5行,对于我们初学者很可能分不清=和==的区别,就经常会在if后面表达式跟=

先来看看=和==有什么区别?

=赋值符               eg:a=5,意思就是把5赋值给a

==判断是否相等  eg:a==5就是判断a和5是否相等

 既然==是判断是否相等,那左右两边交换位置也就没有影响,那么我们为了防止写错

 if(5==a)
2.1.3练习

(1)判断一个数是否为奇数

#include<stdio.h>
int main()
{
	int number = 0;
	scanf("%d", &number);
	if (number % 2 == 1)
		printf("是奇数\n");
	else
		printf("不是奇数\n");
	return 0;
}

(2)输出1-100之间的奇数

方法一:

#include<stdio.h>
int main()//输出1-100之间的奇数
{
	int i = 0;
	for (i = 1; i <= 100; i++)
	{
		//判断并输出
		if (i % 2 == 1)
			printf("%d ", i);//记得加一个空格隔开
	}
	return 0;
}

方法二:1就是奇数,然后加2下一个奇数,直接i=i+2

#include<stdio.h>
int main()//输出1-100之间的奇数
{
	int i = 0;
	for (i = 1; i <= 100; i = i + 2)
	{
		printf("%d ", i);//记得加一个空格隔开
	}
	return 0;
}

2.2switch语句

switch语句也是一种分支语句,但是常常是多分支的情况(这样就避免if..else if...else if..形式)

比如:

零基础玩转C语言第一章—分支语句,零基础玩转C语言,c语言,开发语言

switch语句的结构:

switch(整形表达式)
{

       case 整形常量表达式:

                       语句;

}

零基础玩转C语言第一章—分支语句,零基础玩转C语言,c语言,开发语言 注意:switch语句中case和switch后面接的不一定只是int类型,还可以是char,short,long类型,但是不能跟double,float类型

 2.2.1在switch语句中的break和default语句

break实现了switch语句跳出分支语句的效果,switch语句搭配break使用才能实现真正的分支

比如:

#include<stdio.h>
int main()
{
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
		printf("星期1\n");
		break;
	case 2:
		printf("星期2\n");
		break;
	case 3:
		printf("星期3\n");
		break;
	case 4:
		printf("星期4\n");
		break;
	case 5:
		printf("星期5\n");
		break;
	case 6:
		printf("星期6\n");
		break;
	case 7:
		printf("星期天\n");
		break;
	}
	return 0;
}

但是如果要

1.输入1-5,输出“weekday”

2.输入6-7,输出“weedend”

 代码如下:

#include<stdio.h>
int main()
{
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("weekday\n");
		break;
	case 6:
	case 7:
		printf("weekend\n");
		break;
	default:
		printf("选择错误\n");
		break;
	}
	return 0;
}

如果输入的值和所有case标签的值都不一样,那就直接进入default语句,注意每个switch语句只能出现一个default子句,default子句可以出现在语句列表的任何位置

编程好习惯:在最后一个case语句和default语句的后面加上一条break语句

2.2.2练习

问题:看看下面代码结果是什么?

#include <stdio.h>
int main()
{
	int n = 1;
	int m = 2;
	switch (n)
	{
	case 1:
		m++;
	case 2:
		n++;
	case 3:
		switch (n)
		{//switch允许嵌套使用
		case 1:
			n++;
		case 2:
			m++;
			n++;
			break;
		}
	case 4:
		m++;
		break;
	default:
		break;
	}
	printf("m = %d,n = %d\n", m, n);
	return 0;
}

答案:m=5,n=3

分析:首先n=1,m=2,然后进入switch语句,n=1,直接进入case1,m=3,因为没有break,继续进入case2,n=2,然后又没有break,继续进入case3,因为n=2,进入case2,m=4,n=3,然后break跳出小的switch语句,因为case3没有break,继续进入case4,m=5,遇到break直接跳出大的switch语句,最后输出m=5,n=3

结语:彼方尚有荣光在,少年不惧岁月长

零基础玩转C语言第一章—分支语句,零基础玩转C语言,c语言,开发语言

觉得笔者写的还可以,或者自己有些许收获的时候,麻烦铁汁们动动小手,给俺来个一键三连,万分感谢 文章来源地址https://www.toymoban.com/news/detail-613026.html

到了这里,关于零基础玩转C语言第一章—分支语句的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spark大数据分析与实战笔记(第一章 Scala语言基础-2)

    Spark是专为大规模数据处理而设计的快速通用的计算引擎,它是由Scala语言开发实现的,关于大数据技术,本身就是计算数据,而Scala既有面向对象组织项目工程的能力,又具备计算数据的功能,同时Spark和Scala的紧密集成,本书将采用Scala语言开发Spark程序,所以学好Scala将有助

    2024年02月11日
    浏览(61)
  • .NET5从零基础到精通:全面掌握.NET5开发技能【第一章】

    C#版本新语法-官网: C#7:https://docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-7 C#8:https://docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-8 C#9:https://docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-9 章节 第一章:https://www.cnblogs.com/kimiliucn/p/17613434.html 第二章:https://www.cnblogs.com/kimiliucn/p

    2024年02月13日
    浏览(71)
  • 【蓝桥杯备赛Java组】第一章·语言基础|竞赛常用库函数|输入输出|String的使用|常见的数学方法|大小写转换

    🎥 个人主页:深鱼~ 🔥收录专栏:蓝桥杯 🌄欢迎 👍点赞✍评论⭐收藏 目录 一、编程基础 1.1 Java类的创建  1.2 Java方法  1.3 输入输出  1.4 String的使用 二、竞赛常用库函数 1.常见的数学方法 2.大小写转换 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,

    2024年01月19日
    浏览(79)
  • 【C语言】选择语句(分支语句)

    ㊙️小明博客主页:➡️ 敲键盘的小明 ㊙️ ✅关注小明了解更多知识☝️ 提示:本篇文章为C语言选择语句的个人总结,内容如若有误,请及时联系我更正。 转载请注明原创,谢谢。 提示:以下是本篇文章正文内容:   假设你在水果摊购买一斤的水果,摊主会根据你购

    2024年02月09日
    浏览(54)
  • [C语言]分支语句和循环语句

    C语言的语句可分为以下五类: 表达式语句 函数调用语句 控制语句 复合语句 空语句 其中, 控制语句用于控制程序的执行流程,以实现程序的各种结构方式 ,C语言有九种控制语句。 可分成以下三类: 条件判断语句也叫分支语句:if语句、switch语句; 循环执行语句:do whi

    2024年02月12日
    浏览(56)
  • 第一章:SpringBoot基础入门

    Spring 能做什么 Spring 的能力 Spring 的生态 网址: https://spring.io/projects/spring-boot 覆盖了: Web 开发、数据访问、安全控制、分布式、消息服务、移动开发、批处理等。 Spring5 重大升级 响应式编程 内部源码设计 基于 Java8 的一些新特性。 为什么用 SpringBoot ​ Spring Boot makes it eas

    2024年02月12日
    浏览(47)
  • 第一章 数学基础

    理解范数概念 区分向量的内积 a ⋅ b mathbf{a} cdot mathbf{b} a ⋅ b 与外积 a × b mathbf{a} times mathbf{b} a × b 区分矩阵的乘法 A ⊗ B mathbf{A} otimes mathbf{B} A ⊗ B 、内积 A B mathbf{A} mathbf{B} AB 、哈达玛积 A ⊙ B mathbf{A} odot mathbf{B} A ⊙ B 向量 向量是一组标量排列而成的,只有一个

    2024年02月06日
    浏览(53)
  • 第一章 C++语言简介之——c++语言的特点

    C++是一种 编译式的、通用式、大小写敏感 的编程语言, 完全支持面向对象程序设计 。 C++语言与C语言相比,在求解问题方法上进行的最大改进是 面向对象 Windows环境下,由C++源程序文件编译而成的 目标文件的扩展名是.obj , 源文件的扩展名为.cpp , 所有的obj文件连接成为

    2024年01月16日
    浏览(44)
  • 第一章 Python的基础语法

    1.1 基础数据结构 首先我们介绍一下python的基础数据结构:Python中的数据结构是组织和存储数据的方式,它们使得数据的处理更为高效和灵活。Python内置了多种数据结构,主要包括列表(list)、元组(tuple)、集合(set)和字典(dict)。 列表(List) :列表是Python中最常用的

    2024年04月09日
    浏览(49)
  • 【C语言记】分支语句和循环语句

    C 语句可分为以下五类: 表达式语句:3+5; 函数调用语句:printf(\\\"hehen\\\"); 复合语句 空语句: ;(需要一条语句,但这条语句什么都不做。) 控制语句 控制语句 用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成, C 语言有九种控制语句。

    2024年02月07日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包