「C系列」C 基本语法

2024-06-04 7453阅读

文章目录

  • 一、C 基本语法
    • 1. **程序结构**
    • 2. **数据类型**
    • 3. **变量声明**
    • 4. **运算符**
    • 6. **函数**
    • 7. **指针**
    • 8. **数组**
    • 9. **结构体和联合体**
    • 10. **预处理指令**
    • 11. **内存管理**
    • 二、C 关键字
      • 1. 整体概览
      • 2. 具体关键字
        • 数据类型关键字
        • 控制流关键字
        • 其他关键字
        • C11新增关键字
        • 总结
        • 三、相关链接

          一、C 基本语法

          C语言是一种通用的、过程式的计算机编程语言,它支持结构化编程、词汇变量作用域和递归,并且它的设计提供了低级别的存取,允许程序员直接操作内存。以下是C语言的一些基本语法和概念:

          1. 程序结构

          C语言程序由以下部分组成:

          * 预处理命令(如 `#include`)
          * 函数定义
          * 变量声明
          * 主函数(`main()`)
          

          一个简单的C程序示例:

          #include 
          int main() {
              printf("Hello, World!\n");
              return 0;
          }
          

          2. 数据类型

          C语言支持多种数据类型,如:

          * 整数:`int`, `short`, `long`, `long long`
          * 浮点数:`float`, `double`, `long double`
          * 字符:`char`
          * 布尔值(C99开始):`_Bool` 或 `bool`(在 `` 中定义)
          * 枚举(enum)
          * 指针
          * 结构体(struct)
          * 联合体(union)
          * 数组
          * 空类型(void)
          

          3. 变量声明

          在C语言中,必须先声明变量才能使用它。声明变量时,需要指定其类型。

          int a; // 声明一个整型变量a
          double b; // 声明一个双精度浮点型变量b
          

          4. 运算符

          C语言支持多种运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符等。

          5. 控制流语句

          C语言使用控制流语句来控制程序的执行流程。这些语句包括:

          * 条件语句(`if`, `else`, `switch`)
          * 循环语句(`for`, `while`, `do-while`)
          * 跳转语句(`break`, `continue`, `goto`, `return`)
          

          6. 函数

          函数是C语言程序的基本组成部分。一个函数执行特定的任务,并可能返回一个值。函数定义的一般形式为:

          返回类型 函数名(参数列表) {
              // 函数体
          }
          

          7. 指针

          指针是C语言中非常重要的概念。指针是一个变量,其值是一个内存地址。通过指针,我们可以直接访问和操作内存。

          8. 数组

          数组是一种数据结构,用于存储相同类型的多个元素。在C语言中,数组元素通过索引访问。

          9. 结构体和联合体

          结构体是一种复合数据类型,允许你将多个不同类型的数据项组合成一个单独的数据类型。联合体是另一种复合数据类型,它允许你在相同的内存位置存储不同的数据类型。

          10. 预处理指令

          C语言支持预处理指令,如 #include, #define 等。这些指令在编译之前由预处理器处理。

          11. 内存管理

          C语言提供了对内存的直接访问和控制,因此程序员需要负责内存的分配和释放。这通常通过 malloc(), calloc(), realloc() 和 free() 等函数实现。

          二、C 关键字

          1. 整体概览

          C语言中的关键字(Keywords)是预定义的、具有特殊含义的标识符,它们不能被用作变量名、函数名或其他标识符。以下是C语言中的关键字列表(注意,这个列表可能会因C语言标准的不同而略有差异,但以下是最常见的关键字):

          auto         break        case         char         const
          continue     default      do           double       else
          enum         extern       float        for          goto
          if           inline       int          long         register
          restrict     return       short        signed       sizeof
          static       struct       switch       typedef      union
          unsigned     void         volatile     while        _Alignas
          _Alignof     _Atomic      _Bool        _Complex     _Generic
          _Imaginary   _Noreturn    _Static_assert _Thread_local (C11 及以后)
          

          这些关键字在C语言中有着特定的用途和上下文。例如,int 用于声明整数类型的变量,for 和 while 用于循环控制,if 用于条件判断,return 用于从函数中返回值,等等。

          在C11及以后的版本中,增加了一些新的关键字,如 _Alignas、_Alignof、_Atomic、_Bool、_Complex、_Generic、_Imaginary、_Noreturn 和 _Thread_local,它们提供了对C语言更高级特性的支持,如对齐控制、原子操作、布尔类型、复数类型、泛型选择、虚数类型、非返回函数和线程局部存储等。

          请注意,关键字是区分大小写的,因此 Int、if 和 IF 在C语言中具有不同的含义(其中只有 if 是关键字)。在编写C语言程序时,应避免使用这些关键字作为标识符,以免导致编译错误。

          2. 具体关键字

          C语言的关键字在编程中扮演着非常重要的角色,它们具有特定的功能和用途。以下是C语言中的关键字及其详细案例的说明:

          数据类型关键字

          1. char:声明字符型变量或函数返回值类型
            • 案例:char ch = 'A'; 声明一个字符变量ch并初始化为字符’A’。
            • double:声明双精度浮点型变量或函数返回值类型
              • 案例:double pi = 3.14159; 声明一个双精度浮点型变量pi并初始化为π的近似值。
              • int:声明整型变量或函数
                • 案例:int age = 25; 声明一个整型变量age并初始化为25。
                • float:声明浮点型变量或函数返回值类型
                  • 案例:float salary = 5000.0; 声明一个浮点型变量salary并初始化为5000.0。

          控制流关键字

          1. if:条件语句
            • 案例:if (age >= 18) { printf("Adult\n"); } 如果age大于或等于18,则输出"Adult"。
            • for:循环语句
              • 案例:for (int i = 0; i
              • while:循环语句的循环条件
                • 案例:int i = 0; while (i
                • do-while:循环语句,至少执行一次循环体
                  • 案例:int i = 0; do { printf("%d ", i); i++; } while (i
                  • switch:开关语句
                    • 案例:switch (grade) { case 'A': printf("Excellent\n"); break; ... } 根据grade的值输出不同的评价。
                    • break:跳出当前循环或switch语句
                      • 案例:在switch语句或循环中使用,如上面的switch案例。
                      • continue:结束当前循环,开始下一轮循环
                        • 案例:for (int i = 0; i

          其他关键字

          1. return:子程序返回语句
            • 案例:在函数中返回一个值,如int sum(int a, int b) { return a + b; }。
            • void:声明函数无返回值或无参数,声明无类型指针
              • 案例:void printMessage() { printf("Hello, World!\n"); } 声明一个无返回值的函数。
              • static:声明静态变量
                • 案例:static int count = 0; 声明一个只在当前文件内可见的静态变量。
                • struct:声明结构体类型
                  • 案例:struct Person { char name[50]; int age; }; 声明一个名为Person的结构体。
                  • enum:声明枚举类型
                    • 案例:enum Days { Sunday, Monday, Tuesday, ... }; 声明一个名为Days的枚举类型。
                    • typedef:用以给数据类型取别名
                      • 案例:typedef int Integer; 之后可以使用Integer作为int的别名。

          C11新增关键字

          C11标准新增了一些关键字,如_Alignas、_Alignof、_Atomic等,这些关键字提供了对C语言更高级特性的支持,但在这里不详细展开。

          总结

          C语言的关键字在编程中扮演着至关重要的角色,它们定义了程序的基本结构和行为。上述案例仅展示了部分关键字的用法,实际上每个关键字都有其独特的用途和上下文。在实际编程中,应根据需要合理地使用这些关键字。

          三、相关链接

          1. Visual Studio Code下载地址
          2. Sublime Text下载地址
          3. 「C系列」C 简介

    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]