C语言流控制命令的总结

基本概念:

  • C语言中,自顶向下的的代码的流程叫做程序流
  • 能够改变程序流顺序的语句叫做流控制命令

我为什么要写这篇文章

在学习C语言的过程中,经常会用到条件语句和循环语句这些改变程序流顺序的语句,所以需要熟练地掌握,但是我发现,即使亲手写完代码之后,也很容易 forget 其中的语法。比如 switch语句中,每一种case的常数后需要加冒号;break语句需要分号;do语句中

do { statement
}
while(condition);

其中的 while 语句的分号不能忘记。而这些知识很容易混淆,所以写了这篇文章,提醒自己。

正文

C语言中有两种语句能够改变程序流的走向,一种是条件语句,一种是循环语句。他们都是需要条件表达式的帮助,而条件表达式是由比较运算符和逻辑运算符和其他元素共同组成的。

条件表达式:通过判断式子的比较运算符和逻辑运算符的左边与右边的关系,返回一个TURE 或者 FALSE 值。
比较运算符: == ,<,>,<=,>=等等
逻辑运算符:&&,||,!等等

常见的条件语句有:

if语句
基本的语法如下:

if ( condition ){
statements}

其中condition是条件表达式,statement是执行语句。

if...else语句
基本的语法如下:

if( condition ) {
statements}
else {
statements}

switch 语句
基本的语法如下

switch(expression) {
case constant:
statements;
case constant:
statements;
default:
statements;
}

其中 expression 是表达式, constant是常数。

常见的循环语句如下:
for语句

for(declaration; condition; increment){
statements
}

其中declaration 指的是对标签变量的声明,condition指的是满足的最终条件,increment 是标签变量的增量语句。

while语句

while(condition) {
statements
}

do语句

do{
statements
} while (condition);

另外还有 break 语句和 continue 语句,两者都能用于全部的循环语句中,continue不能用于条件语句中,但是 break 能够用在 switch 语句中,如下:

switch(expression){
case constant1:
statements;
break;
case constant2;
statements;
break;
}

C语言流控制命令的总结的更多相关文章

  1. 不可或缺 Windows Native (4) - C 语言: 预处理命令,输入,输出

    [源码下载] 不可或缺 Windows Native (4) - C 语言: 预处理命令,输入,输出 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 预处理命令 输入 ...

  2. C 语言 字符串命令 strstr()的用法 实现将原字符串以分割串分割输出

    C 语言 字符串命令 strstr()的用法 实现将原字符串以分割串分割输出 strstr() 命令是在原字符串中查找指定的字符串第一次出现的地址,用这个特性可以实现字符的分割,判断是否包涵等功能: ...

  3. C 语言入门第八章--C语言预处理命令

    例如:#include ,这种以#号开头的命令称为预处理命令. ===C语言宏定义(#define的用法)==== #define 叫做宏定义命令,它也是C语言预处理命令的一种.所谓宏定义,就是用一个 ...

  4. Go语言常用命令介绍

    go build go build 命令主要是用于测试编译.在包的编译过程中,若有必要,会同时编译与之相关联的包. 如果是普通包,当你执行go build命令后,不会产生任何文件. 如果是main包, ...

  5. C语言预处理命令总结大全

    C程序的源代码中可包括各种编译指令,这些指令称为预处理命令.虽然它们实际上不是C语言的一部分,但却扩展了C程序设计的环境.本节将介绍如何应用预处理程序和注释简化程序开发过程,并提高程序的可读性.ANS ...

  6. c语言编译命令

    第14章 预处理及用户配置文件 • 预处理命令通常在程序编译时进行一些符号处 理,其并不执行具体的硬件操作.C51语言中的预 处理命令主要有宏定义指令.文件包指令和条 件编译指令,还有其他一些调试时使 ...

  7. [C语言]在命令行编译执行程序

    ----------------------------------------------------------------------------------------- [开始] 1. 在M ...

  8. C语言预处理命令详解

    一  前言 预处理(或称预编译)是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作.预处理指令指示在程序正式编译前就由编译器进行的操作,可放在程序中任何位置. 预处理是C语言的一个重要功能 ...

  9. [日常] Go语言圣经-命令行参数

    1.编译 go build hello.go 2.go get gopl.io/ch1/helloworld 命令,就会从网上获取代码,并放到对应目录中 下载的代码会放在$GOPATH/src/gop ...

随机推荐

  1. 详解重定向(HTTP状态码301/302/303/307/408)附例子

    本文为原创文章,转载请注明出处. 今天打算好好把状态码301.302.303.307.308好好撸一遍,并会测试下一些例子. 状态码的解释 我们都知道重定向与这几种状态码有关,来看下这几种HTTP状态 ...

  2. [内核驱动] DOS路径转化为NT路径

    转载:http://blog.csdn.net/qq_33504040/article/details/78468278 最近在做一个文件过滤驱动程序,禁止访问指定目录或文件.想要从R3给R0发命令和 ...

  3. topcoder srm 410 div1

    problem1 link 不包含$gridConnections$ 的联通块一定是连在所有包含$gridConnections$的联通块中最大的那一块上. import java.util.*; i ...

  4. linux内核中宏container_of是干什么的?

    Linux Kernel Version 4.14 1. container_of是干什么的? 已知一个结构体中某个成员的首指针,那么就可以通过宏container_of来获得此结构体的首指针 2 先 ...

  5. extjs使用笔记-21

    yii是后台php框架 而yui是前端界面框架,是ajax框架 Extjs是建立在yui基础上的.不要搞混了. jquery的ready方法,是在文档已经加载完毕\图像完全显示后, 才载入执行的. 由 ...

  6. Spring与MyBatis面试

    Spring: https://www.cnblogs.com/wang-meng/p/5701982.html https://www.cnblogs.com/liangyihui/p/591777 ...

  7. 比赛总结——atcoder beginner contest 109

    第一次AK的ABC 虽然题非常简单 但是值得纪念一下 T1 一道很水的题 不存在做法 纯粹乱跑 但是我把Yes打成YES了,哭唧唧 #include <cstdio> #include & ...

  8. Kubernetes相关概念

    This page explains how Kubernetes objects are represented in the Kubernetes API, and how you can exp ...

  9. 用Qemu模拟vexpress-a9 --- 配置 qemu 的网络功能

    转载:http://wiki.sylixos.com/index.php/Linux%E7%8E%AF%E5%A2%83%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97 环境介 ...

  10. windows 如何不显示带点的文件名、文件夹?

    这些以点开头的文件夹和文件是为了在 linux 中隐藏的.但是在 windows 中如何不显示他们? 资源管理器: CMD: