ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

C 语言流程控制

2022-06-14 23:00:41  阅读:171  来源: 互联网

标签:语句 控制 语言 流程 break while statement 执行 expression


image

顺序执行

C 语言的程序是顺序执行,即先执行前面的语句,再执行后面的语句。

条件执行

  • if

if语句用于条件判断,满足条件时,就执行指定的语句。

if (expression) {
  statement // 表达式expression为真(非 0 值)时,就执行 statement 语句。
}
if (line_num == MAX_LINES) {
  line_num = 0;
  page_num++;
}

对于只有一条语句的语句体,可以省略大括号。

if (x == 10)
  printf("x is 10\n");
  • if else
if (expression) {
  statement
} else { // else 分支,指定条件不成立时(表达式 expression 的值为 0),所要执行的代码。
  statement
} 
  • if else if
if (expression) {
  statement
} else if (expression) {
   statement
} ...
else {
  statement
}
  • switch
switch (expression) {
  case value1: 
    statement
  case value2: 
    statement
  default: 
    statement
}

根据表达式expression不同的值,执行相应的case分支。如果找不到对应的值,就执行default分支。

switch (grade) {
  case 0:
    printf("False");
    break; // 如果缺少 break,就会导致继续执行下一个 case 或 default 分支。
  case 1:
    printf("True");
    break;
  default:
    printf("Illegal");
}
  • 三元运算
<expression1> ? <expression2> : <expression3>

表达式expression1如果为true(非 0 值),就执行expression2,否则执行expression3

循环执行

  • while

while语句用于循环结构,满足条件时,执行循环体。此外,循环体内部可以用break语句跳出循环。

while (expression) { 
	statement // expression 为非零值(表示真),就会执行statement语句,然后再次判断 expression 是否为零;
}
  • do while

不管条件expression是否成立,循环体statement至少会执行一次。每次statement执行完毕,就会判断一次expression,决定是否结束循环。

do {
  statement
} while (expression);
  • for
for (循环变量初始化; 条件判断; 修改循环变量){
	statement; 
}

每个部分可以有多条语句。

int i, j;
for (i = 0, j = 999; i < 10; i++, j--) {
  printf("%d, %d\n", i, j);
}

break 语句

break语句有两种用法。

  • 一种是与switch语句配套使用,用来中断某个分支的执行。

  • 另一种用法是在循环体内部跳出循环,不再进行后面的循环了。

for (int i = 0; i < 3; i++) {
  for (int j = 0; j < 3; j++) {
    printf("%d, %d\n", i, j);
    break; // break 语句使得循环跳到下一个 i。
  }
}

注意,break命令只能跳出循环体和switch结构,不能跳出if结构。

continue 语句

continue语句用于在循环体内部终止本轮循环,进入下一轮循环。

while ((ch = getchar()) != '\n') {
  if (ch == '\t') continue; // 只要读到的字符是制表符(\t),就跳过该字符,读取下一个。
  putchar(ch);
}

goto 语句

goto 语句用于跳到指定的标签名处。

char ch;

top: ch = getchar();

if (ch == 'q')
  goto top;

goto 的一个主要用法是跳出多层循环。

while (...) {
  do {
    if (some_error_condition)
      goto bail;    
  } while(...);
}
    
bail:

参考: C 语言教程

标签:语句,控制,语言,流程,break,while,statement,执行,expression
来源: https://www.cnblogs.com/knhap/p/16376772.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有