IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 【C语言语句】选择语句(分支语句),循环语句,呕心沥血总结C语言各种语句 -> 正文阅读

[C++知识库]【C语言语句】选择语句(分支语句),循环语句,呕心沥血总结C语言各种语句

前言:
大家好,我是良辰呀💞!继续给大家更新C语言初阶教程,今天带领大家深入了解各种C语言语句🍡,让大家对C语言有更深的理解。

🍬每敲一行代码,就离心的彼岸更近一些。🍾🍾🍾
在这里插入图片描述


🍓1、C语言语句

C语言有各种各样的语句,今天我们主要讲解一下下面这些语句,让大家深入了解C语言语法。
学会C语言语法,就如拥有了一把利剑,披荆斩棘,同时也是对C语言学习的一大进步。

  • 输入输出语句
  • return语句
  • 表达式语句
  • 选择语句
  • 循环语句
  • 跳转语句
  • 空语句
  • 复合语句
  • 函数调用语句

🍓2、输入输出语句

C语言常见的输入输出语句有scanfprintf,为了便于理解,我们先讲解printf,再道scanf。那具体怎么用呢?我们细细道来!

🚀2.1 printf输出语句

printf函数用来显示字符串的内容,而且能在字符串中插入一定的数值。

在这里插入图片描述

说明:

  1. %d表示整型,age为参数,把初始化变量age引入到print中
  2. printf也可以引入常量。
int main()
{
  printf("李四%d岁了"20);
  return 0;
}

上面的例子很简单,我还是简单提及一下,下面带大家见识一个面试题🍡
在这里插入图片描述
为什么结果是这样呢?不解与疑惑映入眼帘。

在这里插入图片描述
在这里插入图片描述
我们学习编程要学会查资料,C语言可以查找网站cplusplus.com以及软件MSDN等。

  1. 从上面我们可以了解到printf也是具有返回值的,printf返回打印的字符数,如果发生错误返回负数。
  2. printf函数套用printf函数,从里到外依次脱,先打印520,520为三个数字,返回3,3为一个数字,返回1,所以依次打印的数字为52031。

资料中的英语其实并不难,不要被吓到了哦,如果刚开始有点不习惯,可以查字典,慢慢积累,谁都会经历一个习惯的过程。🍡

🚀2.2 scanf输入语句

scanf函数根据特定的格式进行输入操作,语法和printf函数本质上相同,但又有一些不同。

?2.2.1 scanf函数的陷阱

  1. 转换说明的数量是否与输入变量数量相匹配以及他们的类型是否匹配。
  2. 取地址符&对于scanf函数是相当重要的。
    在这里插入图片描述

scanf语句无取地址符时就不能达到键盘输入目的。【scanf往往通过访问地址发挥作用】

?2.2.2 scanf函数的返回值

在这里插入图片描述
在这里插入图片描述
从这里我们可以了解到scanf函数也是有返回值的,它的返回值是输入数量的个数。

在这里插入图片描述

说明:ret1是输入一个数的返回值,结果为1。
ret2是输入两个数的返回值,结果为2。

🍓3、return语句

从字面上看return具有返回的意思,没错,它确实具有返回和结束的意思,那它一般该如何使用呢?
我们一起来瞧一瞧。

🚀3.1 没有返回值的return

在这里插入图片描述
该程序是打印数组内容,但是达到限制语句时,有return,直接结束函数,循环外边的语句也将不再执行。

🚀3.2 有返回值的return

在这里插入图片描述

main函数中调用一个add函数进行加法运算,add前面为int,表示返回一个整型,return a+b返回数值,返回的可以是变量,也可以是常量,但是一定要有值。return 0表示正常结束程序,一般而言main函数里面都要有。

🍓4、表达式语句

表达式是由运算符和运算对象组成,而表达式语句是指由表达式组成的语句,大多数语句以分号作为结束标志,但也有特例。也可以这么理解,表达式语句一般都有结果。

int a=10,b=20,c=0;
c=a+b;//这就是一个表达式语句

🍓5、选择语句(分支语句)

常见的选择语句有if语句和switch语句,选择语句,顾名思义,通过某个条件才能执行某个语句。

🚀5.1 if语句

语法格式:

  1. if(表达式)
    语句;
  2. if(表达式)
    语句1;
    else
    语句2;
    //多分支
  3. if(表达式1)
    语句1;
    else if(表达式2)
    语句2;
    else
    语句3
//代码1
int main()
{
    int age = 0;
    scanf("%d", &age);
    if (age >= 18)
    {
        printf("成年人\n");
    }
}

代码1为单if语句,符合if条件执行if代码块里面的语句。

//代码2
int main()
{
 int age = 0;
    scanf("%d", &age);
    if(age<18)
   {
        printf("未成年\n");
   }
    else
   {
        printf("成年\n");
   }
}

代码2为if和else结合的条件语句,符合if执行if代码块的语句,否则,执行else代码块里面的语句。

//代码3
int main()
{
 int age = 0;
    scanf("%d", &age);
    if(age<18)
   {
        printf("少年\n");
   }
    else if(age>=18 && age<30)
   {
        printf("青年\n");
   }
    else if(age>=30 && age<50)
   {
   printf("中年\n");
   }
    else if(age>=50 && age<80)
   {
        printf("老年\n");
   }
    else
   {
        printf("老寿星\n");
   }    
}

代码3为if,else if,else结合的语句,只能执行其中的一块代码。

总结:
如果表达式的结果为真,则语句执行。
在C语言中如何表示真假?
0表示假,非0表示真。

🚀5.2 if与else的匹配

如果没有相应的括号结合,而且格式没有对齐,你知道else和哪一个if结合使用嘛?

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

适当的使用{}可以使代码的逻辑更加清楚,写代码要有好的格式与风格。
else是和它离的最近的if匹配的。

🚀5.3 switch语句

switch语句中只有结合break才能事先真正的分支。拥有break,符合每一个case就会执行相应的case语句。

int main()
{
	int input = 0;
	scanf("%d", &input);
	switch(input)
	{
	case 1:
		printf("星期一\n");
		break;
	case 2:
		printf("星期二\n");
		break;
	default:
		printf("输入有误\n");
		break;
	}
	return 0;
}

上面就是一种switch选择语句,
语法结构:
switch(表达式)
{
case 常量表达式: 语句;
case 常量表达式:语句;

default:语句;
}
switch注意的问题:

  1. switch括号里面只能放整型表达式。5+10也是常量表达式。
  2. break语句不能丢掉,如果丢掉了好几个case语句都将执行
  3. 不允许有重复的case语句,但是各个case以及default语句的顺序没有要求(default也可以放在case语句前面,但一般不这么做。)

如果表达的值与所有的case标签的值都不匹配怎么办?
那就引入了其它情况,在switch语句里面,其它情况用关键词default。
default关键词:

  1. 可以写在任何一个 case 标签可以出现的位置。
  2. 当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。因此,每个switch语句中只能出现一条default子句。
  3. default可以出现在语句列表的任何位置。

🍓6、循环语句

很多时候我们想让一件事情执行很多次,这次我们就用到了我们的循环语句,我们常见的循环语句有以下几种,让我们慢慢了解。

🚀6.1 while

先判断控制表达式,才开始执行循环体,表达式为假时,循环结束。
while(表达式) 语句

int main()
{
 int i = 1;
 while(i<=10)
 {
 printf("%d ", i);
 i = i+1;
 }
 return 0;
}

当表达式控制语句没有限制时,将进入死循环。
控制条件为1时永远为真。
Sleep是为了看的更清楚,每秒执行一个循环。

在这里插入图片描述

🚀6.2 for

int main()
{
 int i = 0;
 //for(i=1/*初始化*/; i<=10/*判断部分*/; i++/*调整部分*/)
 for(i=1; i<=10; i++)
 {
 printf("%d ", i);
 }
 return 0;
}

注意:
初始化语句只执行一次,然后进行判断,再执行循环体,最后执行调整部分。

🚀6.3 do…while

先执行一次循环体,再进行控制语句判断。
特点:至少执行一次循环。

#include <stdio.h>
int main()
{
 int i = 1;
 do
 {
 printf("%d ", i);
        i=i+1;
 }while(i<=10);
 return 0;
}

🍓7、跳转语句

🚀7.1 break语句

前面我们已经见到break语句在switch语句里面的用法,但在上面没有细讲,接下来我们就来细品一下break。

在这里插入图片描述

大家会发现,break具有跳出循环的功能,但是break只能跳出本次循环,如果多个循环嵌套,它只跳出它所在的循环范围

🚀7.2 continue语句

在这里插入图片描述

continue和break不同,continue会结束本次循环,并且满足条件的continue后面的代码将不再执行,但是循环并不会结束。

🚀7.3 goto语句

break和continue都是跳转语句,但他们的跳转往往需要条件约束,而goto语句就比较高大上了,它可以跳转到任何地方,但是一般不常用
在这里插入图片描述

ben是定义的一个标识符【goto语句直接可以跳转的地方】,goto语句的出现解决了很多问题,但是一般不用,多个goto语句跳来跳去,可能会导致一些不必要的麻烦。

🍓8.空语句

简而言之,空语句就是除了分号,没有任何表达式的语句。

🚀8.1 省略了初始化语句的空语句

在这里插入图片描述

🚀8.2 省略了控制语句就会进入死循环。

在这里插入图片描述

🚀8.3 while循环里面的空语句

++n为先++再使用,n为6时跳出while循环
在这里插入图片描述

🍓9.复合语句

复合语句其实很简单,只是大家或许没听过这个概念,简单给大家讲一下。
复合语句(语句块),把多条简单语句融合在一起,一般用大括号括在一起结合起来的语句叫做复合语句。
{
表达式1;
表达式2;

}

🚀9.1 通过代码了解语句块

语句块里面的代码只能在该语句块使用。
出了该语句块,它将不复存在

在这里插入图片描述

上面的变量n定义在另一个代码块中,printf调用n时会报错未定义。

🚀9.2 static修饰的语句块

在这里插入图片描述

根据结果大家可以看出来,static可以让语句块里面的声明周期变长,直到程序结束,static修饰的变量才进行释放空间。

🚀9.3 static修饰的变量

在这里插入图片描述

注意:
static修饰变量是让变量的声明周期变长,但是没有提高变量的作用域,声明周期和作用域的概念大家一定不能混淆,因此呢,上面的代码还会报错,出了块的作用域,块中的变量不能在其它块中使用。后续会有块的调用【特殊情况】

🍓10、函数调用语句

函数调用其实就是一个函数想实现某个功能,调用另一个函数。
好处是减少代码的冗余性,可以达到多次调用的效果,没有必要重新写功能块。
下面就是一个简单的函数加法调用,这次简单了解一下函数,后续我们会详解函数以及传参的。

在这里插入图片描述

尾序:
💝C语言各种语句已经讲解完,如果有问题,欢迎大家指教。我将再接再厉,努力成长,尽其所能更新好的文章。💦💦💦

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-10-08 20:22:11  更:2022-10-08 20:24:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 7:07:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码