首页 > 其他分享 >零基础C语言入门第四课——分支(上)

零基础C语言入门第四课——分支(上)

时间:2024-10-24 22:47:19浏览次数:7  
标签:第四课 语句 入门 int age else num printf C语言

文章目录

开篇

本篇文章还没写完,后面会继续修改编辑,把分支的笔记整合到一起,大家可以先收藏,后面就可以看到完整版的笔记了
前面我们说过,C语言是结构化的程序设计语言,这里的结构指的是顺序结构、选择结构、循环结构,C语言是能够实现这三种结构的。
我们可以使用 if 、 switch 实现分支结构,使用 for 、 while 、 do while 实现循环结构。

一、if语句

1.1if

if 语句的语法形式如下:

if ( 表达式 )
 语句

表达式成立(为真),则语句执行,表达式不成立(为假),则语句不执行
之前在布尔类型说过,在C语言中,0为假,非0表示真,也就是表达式的结果如果是0,则语句不执行,表达式的结果如果不是0,则语句执行。
例⼦:输入一个整数,判断是否为奇数

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

在这里插入图片描述
举个例子:
在这里插入图片描述

1.2 else

如果一个数不是奇数,那就是偶数了,如果任意一个整数,我们要清楚的判断是奇数还是偶数怎么表示呢?
这里就需要 if…else… 语句了,语法形式如下:

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

例子:判断整数是否为偶数,是的话打印偶数,否则奇数
很简单:

# include <stdio.h>
int main()
{
   int num = 0;
   scanf("%d", &num);  
   if (num % 2 == 0)    注意if第一句不能有逗号
        printf("%d 为偶数\n", num);
   else
        printf("%d 为奇数\n", num);
   return 0;
}

练习:输入一个年龄,>= 18岁就输出:成年,否则就输出:未成年
参考代码:

#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if(age>=18)
printf("成年\n");
else
printf("未成年\n");
return 0;
}

1.3 分支中包含多条语句

默认在 if 和 else 语句中默认都只控制一条语句,比如:

#include <stdio.h>
int main()
{
 int age = 0;
 scanf("%d", &age);
 if(age >= 18)
 printf("成年了\n");
 printf("太好了\n");
 return 0;
 }

在这里插入图片描述
在这里插入图片描述

上面的代码,你会发现输入的值不管是>=18 还是<18,“太好了” 都会打印在屏幕上。

这是因为 if 语句只能控制一条语句,就是 printf(“成年了\n”); ,if语句为真,则打印成年了,if语句为假,则不打印,对于 printf(“太好了\n”); 是独立存在的,不管if语句的条件的真假,都会被执行。那如果我们要if语句同时控制2条语句,怎么办呢?那就要使用 {} 将代码括起来,else 后也可以跟上大括号。如下:

#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if(age >= 18) //if 后使⽤{} 控制多条语句-这个块也叫:程序块,或者复合语句
{
printf("成年了\n");
printf("太好了\n");
}
return 0;
}

当然,我们还能再优化一下:

#include <stdio.h>
int main()
{
 int age = 0;
 scanf("%d", &age);
 if(age >= 18) //if 后使用{} 控制多条语句-这个块也叫:程序块,或者复合语句
 {printf("成年了\n");
 printf("太好了\n");
 }
 else //else 后使用{}控制多条语句-这个块也叫:程序块,或者复合语句
 {
 printf("未成年\n");
 printf("心碎♥\n");
 }
 return 0;
}

1.4 嵌套if

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

#include <stdio.h>
int main()
{
 int num = 0;
 scanf("%d", &num);
 if(num == 0)
 printf("输⼊的数字是0\n");
 else if(num > 0) //这⾥的if 相当于嵌套在else语句中,形成了嵌套结构
 printf("输⼊的数字是正数\n");
 else
 printf("输⼊的数字是负数\n");
 
 return 0;
}

标签:第四课,语句,入门,int,age,else,num,printf,C语言
From: https://blog.csdn.net/2401_87689781/article/details/143220943

相关文章

  • 英飞凌AURIX SafeTpack配置入门
       1024程序员节日快乐!!!Hitex按照ISO26262标准作为安全要素开发,系统需要根据不同ASIL等级的要求,针对不同比例的单点故障(SPF)和潜在故障(LF)进行检测,为英飞凌AURIX系列芯片的功能安全提供解决方案。文章按照Hitex提供的基于EBTresos工具用于模块自定义配置SafeTpack开发的......
  • [初识C语言]初识十进制、八进制以及十六进制之间的转换
     序言:本文面对的对象是C语言的初学者,我将会以最简单的方式来让大家快速了解十进制、八进制以及十六进制之间的转换。十进制的转换:十进制转换为八进制:首先我们学习:%o是printf函数中用于输出一个整数的八进制表示的格式说明符下面以十进制的整数10转换为八进制的整......
  • 【Python入门】7天速成Python网络爬虫高手,urllib从零基础到实战只需一篇
    ......
  • 大模型能做什么?(非常详细),零基础入门到精通,看这一篇就够了
    前言在当今科技快速发展的时代,大模型(LargeModels)作为一种强大的工具,正逐渐在各个领域展现出其独特的魅力和价值。大模型,通常指的是那些参数规模庞大、能力强大的深度学习模型,它们能够处理海量的数据,学习复杂的模式,并在各种任务中展现出惊人的性能。那么,大模型究竟能做什么......
  • Python小白学习教程从入门到入坑------第十四课 函数基础(语法基础)
    一、函数def定义:将具有独立功能的代码块组织成一个整体,使其具有特殊功能的代码集作用:使用函数可以加强代码的复用性,提高编程续写的效率结构:def 函数名():     函数体注意:函数名要符合标识符规定,最好见名知意,调用函数前,必须保证函数已经存在eg:#1.定义函数#......
  • (自用)C语言字符串初始化““和\0的问题
    chars[10]="";正常。应该是全部初始化为\0了?printf会输出空白 chars[10]='';报错。【带引号的字符串应至少包含一个字符】【空字符常量】【“初始化”:无法从“char”转换为“char[10]”】 chars[10]='0';报错。【应使用“{…}”初始化聚合对象】【“初始化”......
  • 实验3 C语言函数应用编程
    实验一#include<stdio.h>charscore_to_grade(intscore);intmain(){intscore;chargrade;while(scanf("%d",&score)!=EOF){grade=score_to_grade(score);printf("分数:%d,等级:%c\n\n",score,grade);......
  • vue3入门教程,一站学会全套vue!
    vue3vue3作为前端重要的框架,学会vue可以让你更加了解前端。本博客致力于让你一站学会vue3的全部内容,从小白到高手。全是干货,准备好了吗?文章目录vue3创建工程文档结构核心语法模板语法插值语法指令语法无参指令有参指令自定义指令setupsetup函数setup语法糖响应式数......
  • SpringBoot入门到精通(十三)日志:别小看它,否则吃亏的是自己!学会你也可以设计架构
    别小看他,当你面对的时候,就会知道,多么痛的领悟!如何在SpringBoot中使用Logback记录详细的日志?整合LogBack,Log4J...等,是不是很多方法!但需要注意,我讲的可能和你是一样的,但也是不一样的。常见日志级别:高---低排列TRACE:描述:最详细的日志级别,通常用于开发和调试阶段......
  • 使用OpenSSl库实现AES-GCM-128算法(C语言)
    在C语言中使用OpenSSL库实现AES-GCM-128算法,并生成GMAC(GaloisMessageAuthenticationCode)消息认证码,通过以下步骤完成:初始化加密环境:创建一个EVP_CIPHER_CTX结构体,用于存储加密过程中的所有必要信息。设置加密算法:指定使用AES-GCM模式,以及密钥和IV(初始化向量)。处理附加认证......