花括号 {}

C语言使用花括号({})来组织语句,这些语句会被按序执行。一些语言允许我们在程序的任意一行声明变量(C++),另一些语言坚持我们只能在程序的开头声明变量(Pascal)。C语言采取了一种比较折中的方式–变量可以在任意一个函数体内被声明(也就是说在花括号内)。现在的语言允许我们在程序的任意地方声明语句,十分方便。


if语句

ifif-else都是C语言中可用的结构,结构如下:

//最简单的形式,没有花括号和else
if (<expression>) <statement>
//没有else的形式
if (<expression>) {<statement><statement>
}
//完整形式
if (<expression> {<statement>
}
else {<statement>
}

<expression>可以是任何有效的语句。


三目运算符

三木运算符是传统的if-else结构的一种缩写形式,结构为:

<expression1> ? <expression2> : <expression3>

这本身是一个表达式,所以代表一个具体的数值。整个运算符的工作方式是:首先计算表达式1,如果这是真值(非零值),那么它就返回表达式二的值,否则它返回表达式3的值。

一个使用的例子如下:

//if-else结构
if (x < y) {min = x;
}
else {min = y;
}//三目运算符形式
min = (x < y) ? x : y ;

switch语句

switch语句可以被理解为一种特殊形式的if语句,它常常用来根据一个整型值(expression-表达式计算出的值)的不同执行不同的操作,语法如下:

switch (<expression>) {case <const-expression-1>:<statement>break;case <const-expression-2>:<statement>break;case <const-expression-3>:case <const-expression-4>:<statement>break;default:<statment>

首先表达式expression的值会被计算,然后根据计算出的值和case语句后的值进行比较,跳转到匹配的位置去执行。case后的表达式通常是int或char常量。

每个常量都需要一个case关键词和一个冒号:。一旦整个执行跳转到了某个具体的case处,程序会继续执行这个case后的所有语句,这个过程叫做”fall through“,在上面的代码例子中,expression计算出的结果不管是表达式3还是表达式4,都会执行相同的操作,这就是”fall through“的一个例子。所以如果我们希望执行完特性的case后就离开,就需要像上面代码描述的,在语句执行完后使用break语句来离开switch(不使用break是可以通过编译的,但是会导致错误的执行结果)。

这种”fall through“的特性是C语言的一个遗留问题。


while循环

格式如下:

while (<expression>) {<statement>
}

while循环在每次循环执行前都会评估表达式的,如果表达式最初的值就是false的话,while循环一次都不会执行,这个结构和if一样需要花括号来包裹结构体。


do-while循环

do-while和while十分类似,但是表达式放在了最后,如下所示:

do {<statement>
} while (<expression>)

这个结构体里面的语句至少会执行一次,在结构体执行完后才会评估表达式的结果来判断是否需要跳出循环。


for循环

/待补充13

C语言基础2-C语言条件结构相关推荐

  1. 01_Go语言基础学习_Golang语言特性、环境搭建、第一个Go程序、包

    1. Golang语言特性: 垃圾回收: 1.内存自动回收,再也不需要开发人员管理内存: 2.开发人员专注业务实现,降低了心智负担 : 3.只需要new分配内存,不需要释放 天然并发: 1.从语言层面 ...

  2. 我的全栈之路-C语言基础之C语言概述与开发环境搭建

    我的全栈之路-C语言基础之C语言概述与开发环境搭建 我的全栈之路 1.1 信息技术发展趋势 1.2 浅谈计算机系统架构 1.2.1 计算机系统架构概述 1.2.2 计算机硬件系统 1.2.2 计算机软 ...

  3. 计算机编程c 语言实型数据,C语言-基础教程-C语言实型数据

    C语言-基础教程-C语言实型数据 分类:计算机等级 | 更新时间:2016-07-08| 来源:转载 2.4.1 实型常量 实型常量又称浮点常量,是一个十进制表示的符号实数.符号实数的值包括整数部分. ...

  4. c语言教程变量,C语言-基础教程-C语言常量与变量

    考试大计算机等级站整理: 2.2.1 标识符命名 在C语言中,标识符是对变量.函数标号和其它各种用户定义对象的命名.标识符的长度可以是一个或多个字符.绝大多数情况下,标识符的第一个字符必须是字母或下划 ...

  5. c语言表达式用法,C语言 运算符、表达式和条件结构 用法总结

    运算符.表达式和条件结构 内容概要:各种运算符的使用 运算符的优先级 表达式的计算 条件分支结构判断的常用结构 表达式: 表达式是运算符和操作数的组合,如下所示: s = ( n + 9 ) * ( ...

  6. 一篇文章带你玩转C语言基础语法5:条件判断 if else 语句与分支 。(千字总结)

    我的个人主页:☆光之梦☆的博客_CSDN博客-C语言基础语法(超详细)领域博主 欢迎各位

  7. c++语言基础知识,c++语言基础知识汇总.ppt

    <c++语言基础知识汇总.ppt>由会员分享,可在线阅读,更多相关<c++语言基础知识汇总.ppt(68页珍藏版)>请在人人文库网上搜索. 1.1,第二章 C+语言初步,本章主 ...

  8. 学单片机需要多少C语言基础,C语言单片机编程教程

    很多学员和朋友经常找我给他们推荐C语言的书,他们可能想和我当年一样,闷头大干一场,学个几个月的C语言,把C语言吃透,再开始单片机程序开发! 别!别!别! 大家千万别这么干,我当年自学了3个月的C语言, ...

  9. SQL语言基础:SQL语言概念知识笔记

    1.SQL标准 ANSI(美国国家标准机构)SQL 对ANSI SQL进行修改后在1992年采用的标准SQL-92或SQL2 SQL-99或SQL3标准从SQL2扩充而来,增加了对象关系特征和许多其他 ...

  10. 单片机c语言基础知识,c语言必背100代码有哪些?

    我记得刚开始接触编程的时候,觉得太难了. 也很好奇,写代码的那些人也太厉害了吧?全是英文的,他们的英文水平一定很好吧? 他们是怎么记住这么多代码格式的?而且错了一个标点符号,整个程序都会有影响. 一个 ...

最新文章

  1. linux 开机启动 自启动 设置
  2. 设计模式之---Factory
  3. 求n!,C(n,m)和A(n,m)最后的非零位。
  4. [Vue源码分析]谷歌翻译后,Vue双向数据绑定失效了?
  5. C#中5步完成word文档打印的方法
  6. Android之Bitmap学习总结
  7. LeetCode--single-number复杂度
  8. 老项目换unicorn的大致步骤
  9. NGINX配置之二: nginx location proxy_pass 后面的url 加与不加/的区别.
  10. Delphi通过Map文件查找内存地址出错代码所在行
  11. 一信通短信接口对接_短信验证码接口轻松对接事项
  12. 利用Python在统计局网站爬取统计年鉴
  13. React使用ECharts
  14. 桃李春风一杯酒 江湖夜雨十年灯
  15. 第十一个Java程序,计算QQ等级。
  16. FastBond智能可穿戴之智能手表原型设计(MAX32660+SHT40+ADXL345+OLED+RTC)
  17. C/C++小写数字转换成大写数字
  18. 软件工程c语言2000行代码,C语言教务管理系统(2000行代码)
  19. ipad无法充电怎么办_ipad无法充电无法开机怎么办 详细解决方法介绍【图文】
  20. 每天学习一个设计模式(九):创建型之建造者模式

热门文章

  1. 计算机三位科学家,华南理工大学这三位年轻科学家太优秀了!
  2. 数据结构-02-链表数据结构之双链表和循环链表
  3. flex blazeds java_flex使用blazeds和java交互类型问题
  4. android自定义 ProgressBar(继承自View)
  5. IT已成为最疯狂的加班行业,没有之一
  6. 新型超级生物计算机简介,自然形成的超级生物计算机
  7. java list stream avg_Java8之list.stream的常见使用
  8. linux 命令行 迅雷替代,linux下迅雷的替代
  9. ultilize什么意思_utilize是什么意思_utilize在线翻译_读音_用法_例句_含义-查字典网...
  10. 关于iis w3wp.exe