首页 > 其他分享 >C语言学习——三大语法结构

C语言学习——三大语法结构

时间:2023-09-16 11:15:06浏览次数:39  
标签:语句 C语言 代码 语法结构 循环 条件 执行 三大 结构

1.顺序结构

C语言中的顺序结构是指程序中的语句按照从上到下的顺序依次执行,每一条语句都在前一条语句执行完毕后才执行,形成了线性的执行路径。这是C语言的基本执行方式,也是大多数编程语言的通用执行方式之一。以下是C语言顺序结构的特点:

1.1从上到下执行: 在C语言中,程序从main函数开始执行,按照代码的编写顺序,逐行逐句执行,从程序的起始处到结束处。这意味着前面的语句必须执行完毕后,才会执行后面的语句。

1.2逐行执行: 每一行代码都是一个语句,都会被依次执行。在C语言中,语句通常以分号(;)结尾,表示语句结束。

1.3变量和数据的顺序: 变量的声明和初始化也遵循顺序结构。如果在程序中定义了一个变量,它会在后续的代码中可用,直到变量超出了它的作用域。

1.4条件和循环的控制流: 尽管C语言中有条件语句(如if语句)和循环语句(如for循环、while循环),但它们的执行也是顺序的。条件语句和循环语句的出现可以改变程序执行的路径,但它们仍然按照在代码中的顺序执行。

#include <stdio.h>
int main() {
    // 声明和初始化变量
    int a = 5;
    int b = 3;
    int sum;
    // 执行顺序结构的计算
    sum = a + b;
    // 打印求和结果
    printf("The sum of %d and %d is %d\n", a, b, sum);

    return 0;
}

2.分支结构

C语言的分支结构允许程序根据条件的不同执行不同的代码块。分支结构是编程语言中的一种控制结构,它允许程序在运行时根据条件选择不同的执行路径。C语言中有几种分支结构,包括if语句、switch语句等。以下是如何理解C语言的分支结构:

2.1 条件判断:分支结构的核心思想是条件判断。程序会检查一个条件(通常是一个表达式),然后根据条件的结果决定执行哪一段代码。

2.2 if语句: 最常见的分支结构是if语句。if语句根据条件的真假执行不同的代码块。如果条件为真,执行if语句块中的代码;如果条件为假,可以选择执行else语句块中的代码(如果有的话)。

if (条件判断) {
    // 当条件为真时执行这里的代码
} else {
    // 当条件为假时执行这里的代码
}

2.3 多重分支: 除了if语句,C语言还提供了多重分支的控制结构,如switch语句。switch语句根据一个表达式的值选择执行不同的代码块,每个代码块由case标签标识。一旦找到匹配的case标签,程序将执行相应的代码块,并可以使用break语句退出switch语句。

switch (表达式) {
    case value1:
        // 当表达式等于value1时执行这里的代码
        break;
    case value2:
        // 当表达式等于value2时执行这里的代码
        break;
     case valueX:
        // 可以包含多种情况
     default:
        // 如果没有匹配的case,则执行这里的代码
}

2.4 嵌套分支: 分支结构可以嵌套在其他分支结构中,以实现更复杂的条件控制。例如,可以在if语句内部再嵌套一个if语句,以实现多层条件判断。

2.5 逻辑运算符: 分支结构通常涉及到逻辑运算符,如&&(逻辑与)和||(逻辑或),用于组合多个条件。逻辑运算符允许在一个条件中考虑多个条件的组合。

总之,分支结构是编程中非常重要的控制结构之一,它允许程序根据不同的情况采取不同的行动,使程序具有灵活性和智能性。通过合理使用分支结构,可以编写适应各种情况的程序逻辑。

3.循环结构

C语言的循环结构是一种编程结构,允许程序多次执行相同或类似的代码块,直到某个条件得到满足或者达到指定的次数。循环结构是一种控制结构,它使得程序能够有效地重复执行特定任务。以下是如何理解C语言的循环结构:

3.1 重复执行: 循环结构允许程序多次执行一组语句,每次迭代都执行一次,直到满足某个条件或达到指定的次数。

3.2 条件控制: 最常见的循环结构是while循环和for循环,它们在每次迭代前都会检查一个条件,如果条件为真,就继续执行循环体内的代码;如果条件为假,就跳出循环。

3.3 计数器控制: 循环也可以通过计数器控制,即循环的次数由一个计数器变量控制。当计数器达到指定的值时,循环终止。

3.4 无限循环: 某些情况下,也可以创建一个无限循环,即循环条件始终为真。但这通常用于创建服务器或游戏循环,以持续执行某些任务。

3.5 控制流程: 循环结构可以改变程序的控制流程,允许程序根据不同的情况执行不同的代码。

3.6 循环结束条件: 为了避免无限循环,通常需要在循环体内定义终止循环的条件。否则,循环将永远执行下去(除非自己需要)。

3.7 while循环

 while循环是一种最基本的循环结构,它根据条件的真假反复执行一段代码块。循环体内的代码将一直执行,直到条件变为假。 while循环的基本语法如下

while (condition) {
    // 循环体内的代码
}
  • condition 是一个表达式,用于检查循环是否继续执行。
  • 循环体内的代码将反复执行,只要 condition 为真。
  • 如果 condition 一开始就为假,循环体内的代码将不会执行。

3.8 for循环

for循环是C语言中最常用的循环结构之一,它能够在一个循环头中集中控制循环的初始化、条件和迭代步骤。for循环的基本语法如下:

for (initialization; condition; update) {
    // 循环体内的代码
}
  • initialization 定义了循环变量的初始值。
  • condition 是一个表达式,用于检查循环是否继续执行。
  • update 定义了循环变量在每次迭代后的更新操作。
  • 循环体内的代码将在每次迭代中执行。

3.8 do-while循环

do-while循环是一种后检测循环,它保证循环体内的代码至少执行一次,然后再根据条件的真假决定是否继续执行。do-while循环的基本语法如下:

do {
    // 循环体内的代码
} while (condition);
  • 循环体内的代码将至少执行一次,然后在每次迭代结束后检查 condition
  • 如果 condition 为真,循环将继续执行,否则循环结束。

4 总结

顺序结构:

  • 顺序结构是最基本的结构,代码按照从上到下的顺序执行。
  • 每条语句都在前一条语句执行完毕后才执行,形成了线性的执行路径。
  • 用于执行一系列指令,每个指令都按照指定的顺序执行。

分支结构:

  • 分支结构允许程序在不同条件下执行不同的代码块。
  • 常见的分支结构包括if语句和switch语句。
  • if语句根据条件的真假执行不同的代码块,可以包括else语句来处理条件为假的情况。
  • switch语句根据表达式的值选择执行不同的代码块,每个代码块由case标签标识。

循环结构:

  • 循环结构允许程序多次执行相同或类似的代码块,直到某个条件满足或达到指定的次数。
  • 常见的循环结构包括while循环、for循环和do-while循环。
  • while循环根据条件的真假反复执行代码块,先检查条件再执行。
  • for循环提供了集中控制循环初始化、条件和迭代的方式,适用于多种情况。
  • do-while循环保证循环体内的代码至少执行一次,后检查条件来决定是否继续执行。

总的来说,这三种结构可以组合使用,以创建复杂的程序逻辑。顺序结构用于按照顺序执行代码,分支结构用于根据不同条件选择执行不同代码,循环结构用于多次执行相同代码块,根据条件或计数器的状态控制循环的终止。这些结构是构建程序的基本构建块,使得程序能够执行不同的任务和逻辑。

标签:语句,C语言,代码,语法结构,循环,条件,执行,三大,结构
From: https://www.cnblogs.com/L12C/p/17706436.html

相关文章

  • Ubuntu16.04下C语言编译及makefile应用
    一、不同环境下C语言的编译在Ubuntu16.04下:step1:编写main1.c主程序用nano编好,下面为主程序展示注意:1、主程序中函数的声明step2:编写子程序 step3:用gcc命令编译采用多个文件一起编译,输出放在main1中 gcc的常见用法:-c只生成目标文件不进行连接,用于对目标文件的分别......
  • 9月15日忆——学习C语言碎片
    EOF指的是endofflie,即文件结束符号,值为-1运用函数比较两个数的大小#include<stdio.h>intMax(intx,inty){if(x<y)returny;elsereturnx;}intmain(){inta=1;intb=2;intmax=Max(a,b);printf("%d\n",max);return0;}sizeof的相关知识inta=1;intarr[]={1,2,3,4,5,6}......
  • 七天学会C语言-第一天(C语言基本语句)
    一、固定格式这个是C程序的基本框架,需要记住!!!#include<stdio.h>intmain(){return0;}二、printf语句简单输出一句C程序:#include<stdio.h>intmain(){printf("大家好,");printf("我是");printf("沐尘而生!");return0;}运行结果:例2:#include......
  • C语言学习记录
    声明:#include<stdio.h>#include<string.h>#include<windows.h>#include<stdlib.h>#include<time.h>#include<math.h>1000到2000年之间的闰年intmain(){intyear=0;intcount=0;for(year=1000;year<=2000;year++)......
  • day1 C语言:对于P1055 ISBN号码的代码优化及多解
    day1C语言:对于P1055ISBN号码的代码优化及多解先看题目 直接说最优解,其他方法后置 第一部分1.第一个点是数据的输入,本人第一的想法是直接用int类型去接受数据,但因为“-”的存在,在取得各位数字时会用到复杂循环和取余计算,所以这里用到char类型输入数据去取得各个位上的......
  • 9月14日忆C语言
    一、函数1.库函数2.自定义函数eg:先定义一个函数#include<stdio.h>intAdd(intx,inty)//int是返回值的类型,Add是函数名,括号里的是参数{intz=x+y;returnz;}//大括号里的内容是函数体然后下面开始使用函数intmain(){inta=1;intb=2;intc=Add(a,b);//等价于intc=a+......
  • 萌新学习c语言记录
    好久没发博客了,因为大学开学了我看到我们学校社团的题目求两个数的最大公约数和最小公倍数感觉不怎么难在上课的时候闲的无聊写下来了。......
  • Vue学习四:组件的三大组成部分、组件通信和进阶语法
    一、组件的三大组成部分<template>里面只能有一个根元素<style>全局样式(默认):影响所有组件局部样式:scoped下样式,只作用于当前组件<script>el根实例独有,data是一个函数,其他配置项一致二、scoped设置局部样式默认情况:写在组件中的样式会全局生效→因此很容易造成多......
  • 九九乘法表c语言
    intmain(){ inti=1; intj=0; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) {  printf("%d*%d=%-2d",j,i,j*i);//%-2d表示控制宽度为两个字符,且右对齐 } printf("\n"); } return0;}......
  • 【C语言】scanf多组输入的三种方法!
    (文章目录)前言  <fontcolor=green>......