C语言之语句和语句的分类

        C语言的代码是由一条一条的语句构成,C语言中的语句可以分为以下五类:

  • 空语句
  • 表达式语句
  • 函数调用语句
  • 复合语句
  • 控制语句

目录

空语句

表达式语句

函数调用语句

复合语句

控制语句


空语句

        空语句可以由一个分号构成。

#include<stdio.h>
int main()
{
    ;//空语句
    return 0;
}

表达式语句

        表达语句就是在表达式的后边加上分号

#include<stdio.h>
int main()
{
    int a = 20;
    int b = 0;
    b = a + 5;//表达式语句
    return 0;
}

函数调用语句

        函数调用的时候,也会加上分号,就是函数调用语句。(不了解库函数和自定义函数的,可以看看博主的这篇文章https://blog.csdn.net/wait___wait/article/details/135047014

#include<stdio.h>
int Add(int x, int y)
{
    return x + y;
}
int main()
{
    printf("haha\n");//函数调用语句(库函数)
    int ret = Add(1, 2);//函数调用语句(自定义函数)
    return 0;
}

复合语句

        复合语句就是代码块。成对括号中的代码就构成了一个代码块,也称作复合语句。

#include<stdio.h>
int main()
{
    int i = 0;
    int arr[10] = {0};
    for(i = 0; i < 10; i++)//for循环,循环体大括号中的就是复合语句
    {
        arr[i] = 10 - 1;
        printf("%d\n", arr[i]);
    }
    return 0;
}

控制语句

        控制语句用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构,选择结构,循环结构),它们由特定的语句定义符组成,C语言有九种控制语句。可以分为以下三类:

  1.  (return语句注意事项https://blog.csdn.net/wait___wait/article/details/135051199
  2. (break语句和continue语句详解https://blog.csdn.net/wait___wait/article/details/135167810
  3. 鉴于goto语句篇幅较短,就在该篇文章里面介绍。

后期会为大家一一介绍控制语句。

goto语句

        C语言提供一种非常特别的用法,就是go to语句和跳转标号,goto语句可以实现在同一个函数内跳转到设置好的标号处。

例如:

#include<stdio.h>
int main()
{
	printf("hehe\n");
	goto next;//分号
	printf("haha\n");
next://冒号
	printf("跳过了haha的打印\n");
	return 0;
}

运行结果: 

goto语句如果使用不当,就会导致在函数内部随意乱跳转,打乱程序的执行流程,所以尽量少用;但是goto语句也不是一无是处,在多层循环的代码中,如果想快速跳出,使用goto就非常方便了。

for(...)
{
    for(...)
    {
        for(...)
        {
            if(disaster)
                goto error;
        }
    }
}
error:
    //...

其实for循环想提前退出可以使用break,但一个break只能跳出一层for循环,如果三层循环嵌套就得使用3个break才能跳出循环,所以在这种情况下我们使用goto语句更加快捷。 

(看到这里,期待大家点个赞)

  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值