----------------------------------------------------------------------------------------

  1. //单一判断
  2. if(a < ) {
  3.   printf("小于0");
  4. }
  5.  
  6. //else
  7. if(a < ) {
  8.   printf("小于0");
  9. } else {
  10.   printf("不小于0");
  11. }
  12.  
  13. //if嵌套
  14. if(a < ) {
  15.   if(a < -) {
  16.     printf("小于-5");
  17.   } else {
  18.     printf("不小于-5");
  19.   }
  20. } else {
  21.   printf("不小于0");
  22. }
  23.  
  24. //级联if else if
  25. if(a < ) {
  26.   printf("小于0");
  27. } else if(a < -) {
  28.   printf("小于-5");
  29. } else if(a < -) {
  30.   printf("小于-10");
  31. } else {
  32.   printf("不小于0");
  33. }
  34.  
  35. //级联if else if 另一种写法(推荐写法:单一出口)
  36. int sign = ;
  37. if(a < ) {
  38.   t = -;
  39. } else if(a < -) {
  40.   t = -;
  41. } else if(a < -) {
  42.   t = -;
  43. } else {
  44.   t = ;
  45. }
  46. printf("%d", t);
  47.  
  48. //多路分支
  49. switch(a) {
  50. case :
  51. printf("");
  52. break;
  53. case :
  54. printf("");
  55. break;
  56. default:
  57. printf("other");
  58. }
  1. Tips: 1. 不省略大括号;
        2. 赋值运算符与相等关系运算符在判断时注意不要用错

++与--

  1. #include <stdio.h>
  2.  
  3. int main() {
  4.  
  5.   int a;
  6.  
  7.   a = ;
  8.  
  9.   printf("a++=%d \n", a++);   //2
  10.  
  11.   printf("%d \n", a);       //3
  12.  
  13.   printf("++a=%d \n", ++a);   //4
  14.  
  15.   printf("%d \n", a);       //4
  16.  
  17.   return ;
  18. }
  19.  
  20. 注:不管是a++还是++a,最后a的值都为a+1;区别是a++是一个表达式,结果为a+1前的结果;++作为前缀,++a的结果是a+1后的结果。

while与do..while

  1. int a = ;
  2. scanf("输入一个数:%d", &a);
  3. while(a > ) {
  4.   printf("a");
  5.   a--;
  6. }
  7. printf("a");
  8.  
  9. do{
  10.   printf("a");
  11.   a--;
  12. }while(a > );

猜数游戏

  1. //
  2. // main.c
  3. // demo11
  4. //
  5. // Created by weichen on 14/12/22.
  6. // Copyright (c) 2014年 weichen. All rights reserved.
  7. //
  8.  
  9. #include <stdio.h>
  10. #include <stdlib.h>
  11. #include <time.h>
  12.  
  13. int main(int argc, const char * argv[]) {
  14. //猜数
  15. srand(time());
  16. int a = rand()% + ;
  17. int number;
  18. int count = ;
  19.  
  20. do{
  21. printf("请输入1-100的数:");
  22. scanf("%d", &number);
  23.  
  24. count++;
  25.  
  26. if(a > number) {
  27. printf("您输的数小了!\n");
  28. }else if(a < number){
  29. printf("您输的数大了!\n");
  30. }else{
  31. printf("恭喜,您在第%d次猜对了!", count);
  32. }
  33. }while(a != number);
  34.  
  35. return ;
  36. }

for循环

  1. #include <stdio.h>
  2.  
  3. int main(int argc, const char * argv[]) {
  4. //求阶乘
  5. int n;
  6.  
  7. printf("请输入一个数:");
  8.  
  9. scanf("%d", &n);
  10.  
  11. int i = ;
  12. int total = ;
  13. /*
  14. while(i <= n) {
  15. total *= i;
  16. i++;
  17. }
  18. */
  19.  
  20. /*
  21. for(i; i<=n; i++) {
  22. total *= i;
  23. }
  24. */
  25.  
  26. for(int i=; i<=n; i++) {
  27. total *= i;
  28. }
  29.  
  30. /*
  31. int temp = n;
  32. for(n; n>=i; n--) {
  33. total *= n;
  34. }
  35.  
  36. printf("%d的阶乘为%d", temp, total);
  37. */
  38.  
  39. printf("%d的阶乘为%d", n, total);
  40.  
  41. return ;
  42. }

优先级

  1. ()
  2. ++ -- + - !
  3. * / %
  4. + -
  5. < <= > >=
  6. == !=
  7. &&
  8. ||
  9. *= /= %= += -= =

循环控制

  1. #include <stdio.h>
  2.  
  3. int main(int argc, const char * argv[]) {
  4. // 用1角,2角,5角凑成5元的所有的方式
  5. int one = ;
  6. int two = ;
  7. int five = ;
  8. for(one = ; one < ; one++) {
  9. for(two = ; two < /; two++) {
  10. for(five = ; five < /; five++) {
  11. if(one + two* + five* == ) {
  12. printf("%d个1角加%d个2角加%d个5角可以凑成5元!\n", one, two, five);
  13. }
  14. }
  15. }
  16. }
  17.  
  18. return ;
  19. }
  1. //上述的通用形式
  2. #include <stdio.h>
  3.  
  4. int main(int argc, const char * argv[]) {
  5. // 用1角,2角,5角凑成x元的方式
  6. int one = ;   //1角个数
  7. int two = ;   //2角个数
  8. int five = ;  //5角个数
  9. int x = ;    //钱数
  10. int sign = ;  //凑足标记
  11.  
  12. printf("请输入:");
  13. scanf("%x", &x);
  14.  
  15. for(one = ; one < x*; one++) {
  16. for(two = ; two < x*/; two++) {
  17. for(five = ; five < x*/; five++) {
  18. if(one + two* + five* == ) {
  19. printf("%d个1角加%d个2角加%d个5角可以凑成%x元!\n", one, two, five, x);
  20. sign = ;
  21. }
  22. if(sign == ) {
  23. goto out;  //跳至指定位置(出循环,只输出一次满足需求的方式)
  24. }
  25. }
  26. }
  27. }
  28.  
  29. out:
  30.  
  31. return ;
  32. }
  33.  
  34. 注:break跳出当前循环,不包括父级循环;continue跳过本次循环,继续下次循环

Link: http://www.cnblogs.com/farwish/p/4172901.html

[C语言]流程控制, 复合赋值, 优先级, 循环控制的更多相关文章

  1. 04. Go 语言流程控制

    Go 语言流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的"经脉". Go 语言的常用流程控制有 if 和 for,而 switch 和 ...

  2. Go语言流程控制(六)

    go语言的流程控制主要有if , for和switch. if else(分支结构) go语言的if判断: func main() { score:=65 if score>=90{ fmt.P ...

  3. 9. Go语言—流程控制

    一.流程控制语法 if condition_1{ }else if condition_2{ }else if condition_3{ }else{ } 二.switch分支 package mai ...

  4. Go语言( 流程控制)

    流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码.降低重复代码而生的结 ...

  5. Go语言 - 流程控制 if else | for | switch case

    流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用的流程控制: if | for | switch | goto// switch ...

  6. C语言--流程控制

    一.流程控制 1.顺序结构 *默认的流程结构,按照书写顺序执行每一条语句 2.选择结构 *对给定的条件进行判断,再根据判断结果来决定执行那一段代码 3.循环结构 *在给定条件成立的情况下,反复执行某一 ...

  7. 07-C语言流程控制if、switch

    目录: 一.流程控制 条件分支 if else 二.流程控制 开关分支 switch 回到顶部 一.流程控制 条件分支 1.语法格式:if(表达式1){ //表达式1为真(非0时),执行的语句部分. ...

  8. Go语言流程控制

    1.条件语句 几个注意点和C#不一样的. { } else { } ① 条件语句不需要使用括号将条件包含起来 a<5 ,C#必须有() ②无论语句体内有几条语句,花括号{}都是必须存在的:C#如 ...

  9. C语言流程控制

    顺序结构 顺序结构是最常用的结构,即从上到下的执行语句. int num=5; num++; num=13; 条件结构 条件结构是当表达式为真的时候执行语句块,C语言提供了两种条件结构 if...el ...

随机推荐

  1. 01-配置java开发环境

    JDK 1.8软件下载地址 (Oracle公司的官方网站) http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads ...

  2. Spring MVC RESTful

    REST: 即 Representational State Transfer,(资源)表现层状态转化是目前最流行的一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方便 具体说,就是 HTTP ...

  3. Hook技术之API拦截(API Hook)

    一.实现过程 1.钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统. 2.在消息没有到达目的窗口前,钩子就捕获消息(即钩子函数先得到控制权). 3.钩子可以加工处理该消息,即钩子机制允许应 ...

  4. DIV左、中、右三列布局的各类情况说明

    一.中间定宽.左.右侧百分比自适应: 1.HTML代码: <div id="left"> <div id="innerLeft"> &l ...

  5. linux安装python3 ,安装IPython ,安装jupyter notebook

    安装python3    下载到 /opt/中 1.下载python3源码,选择3.6.7因为ipython依赖于>3.6的python环境wget https://www.python.org ...

  6. isinstance, type, issubclass

    isinstance: 判断你给对象是否是xx类型的. (向上判断)type: 返回xxx对象的数据类型issubclass: 判断xxx类是否xxx的子类 class Animal: def eat ...

  7. 三种常见的Web安全问题

    XSS漏洞 1.XSS简介 跨站脚本(cross site script)简称为XSS,是一种经常出现在web应用中的计算机安全漏洞,也是web中最主流的攻击方式. XSS是指恶意攻击者利用网站没有对 ...

  8. RPM软件管理工具

    1 概述 RPM(RedHat Package Manager),Rethat软件包管理工具,类似windows里面的setup.exe 是Linux这系列操作系统里面的打包安装工具,它虽然是RedH ...

  9. Git工作流基础简介【与产品经理.jpg】

    基于可视化界面的操作可使用Sourcetree这个软件进行操作. 下面将描绘的几个命令主要是 git init git add git commit git status git reset HEAD ...

  10. 6.简单提取小红书app数据保存txt-2

    对页面信息进行简单抓取: 需要注意的问题 : auth-sign 和 auth 都是有一定的时效性,还有url原url是https这里要改为http请求. 这参数的问题需要通过mitmdump去获取请 ...