李成笔记网

专注域名、站长SEO知识分享与实战技巧

C语言全解析:从入门到精通

第3章 基本语法

在这一章中,我们将详细介绍C语言的基本语法,包括注释、变量与数据类型、常量、运算符和输入输出。这些基础知识是编写C程序的基石,掌握它们将为你后续的学习打下坚实的基础。

3.1 注释

注释是代码中不被执行的部分,主要用于解释代码的功能和逻辑。C语言支持两种注释方式:

  • 单行注释:使用 // 开头,注释从 // 开始到行末的所有内容。
  • 多行注释:使用 /* 开始, */ 结束,可以跨越多行。

3.1.1 单行注释

#include <stdio.h>

int main() {
    // 这是一个单行注释
    printf("Hello, World!\n");  // 输出字符串
    return 0;
}

3.1.2 多行注释

#include <stdio.h>

int main() {
    /*
     * 这是一个多行注释
     * 可以跨越多行
     */
    printf("Hello, World!\n");
    return 0;
}

3.2 变量与数据类型

变量是程序中用来存储数据的标识符。C语言提供了多种数据类型,每种数据类型都有其特定的用途和大小。

3.2.1 基本数据类型

  • 整型
    • int:通常占用4个字节,范围通常是-2,147,483,648到2,147,483,647。
    • short:通常占用2个字节,范围通常是-32,768到32,767。
    • long:通常占用4个字节,范围通常是-2,147,483,648到2,147,483,647。
    • long long:通常占用8个字节,范围通常是-9,223,372,036,854,775,808到9,223,372,036,854,775,807。
  • 浮点型
    • float:通常占用4个字节,精度约为6-7位小数。
    • double:通常占用8个字节,精度约为15位小数。
    • long double:通常占用10个字节或更多,精度更高。
  • 字符型
    • char:通常占用1个字节,用于存储单个字符。
  • 布尔型
    • _Bool(C99引入):通常占用1个字节,表示真(1)或假(0)。

3.2.2 变量声明和初始化

#include <stdio.h>

int main() {
    int age = 25;  // 声明并初始化一个整型变量
    float height = 1.75;  // 声明并初始化一个浮点型变量
    char grade = 'A';  // 声明并初始化一个字符型变量
    _Bool is_student = 1;  // 声明并初始化一个布尔型变量

    printf("Age: %d\n", age);
    printf("Height: %.2f\n", height);
    printf("Grade: %c\n", grade);
    printf("Is student: %s\n", is_student ? "Yes" : "No");

    return 0;
}

3.3 常量

常量是程序中不可改变的值。C语言中定义常量的方式有两种:使用 #define 预处理器指令和使用 const 关键字。

3.3.1 使用 #define 定义常量

#include <stdio.h>

#define PI 3.14159  // 定义一个常量

int main() {
    float radius = 5.0;
    float area = PI * radius * radius;

    printf("Area of the circle: %.2f\n", area);

    return 0;
}

3.3.2 使用 const 定义常量

#include <stdio.h>

int main() {
    const float PI = 3.14159;  // 定义一个常量
    float radius = 5.0;
    float area = PI * radius * radius;

    printf("Area of the circle: %.2f\n", area);

    return 0;
}

3.4 运算符

C语言提供了多种运算符,用于执行各种数学和逻辑运算。

3.4.1 算术运算符

  • +:加法
  • -:减法
  • *:乘法
  • /:除法
  • %:取模(求余)
#include <stdio.h>

int main() {
    int a = 10;
    int b = 3;

    printf("a + b = %d\n", a + b);
    printf("a - b = %d\n", a - b);
    printf("a * b = %d\n", a * b);
    printf("a / b = %d\n", a / b);  // 整数除法
    printf("a %% b = %d\n", a % b);  // 取模

    return 0;
}

3.4.2 关系运算符

  • ==:等于
  • !=:不等于
  • <:小于
  • <=:小于等于
  • >:大于
  • >=:大于等于
#include <stdio.h>

int main() {
    int a = 10;
    int b = 3;

    printf("a == b: %s\n", a == b ? "True" : "False");
    printf("a != b: %s\n", a != b ? "True" : "False");
    printf("a < b: %s\n", a < b ? "True" : "False");
    printf("a <= b: %s\n", a <= b ? "True" : "False");
    printf("a > b: %s\n", a > b ? "True" : "False");
    printf("a >= b: %s\n", a >= b ? "True" : "False");

    return 0;
}

3.4.3 逻辑运算符

  • &&:逻辑与
  • ||:逻辑或
  • !:逻辑非
#include <stdio.h>

int main() {
    int a = 10;
    int b = 3;
    int c = 5;

    printf("(a > b) && (b < c): %s\n", (a > b) && (b < c) ? "True" : "False");
    printf("(a < b) || (b < c): %s\n", (a < b) || (b < c) ? "True" : "False");
    printf("!(a < b): %s\n", !(a < b) ? "True" : "False");

    return 0;
}

3.4.4 位运算符

  • &:按位与
  • |:按位或
  • ^:按位异或
  • ~:按位取反
  • <<:左移
  • >>:右移
#include <stdio.h>

int main() {
    int a = 10;  // 1010 in binary
    int b = 3;   // 0011 in binary

    printf("a & b = %d\n", a & b);  // 0010
    printf("a | b = %d\n", a | b);  // 1011
    printf("a ^ b = %d\n", a ^ b);  // 1001
    printf("~a = %d\n", ~a);        // 11111111111111111111111111110101 (in two's complement)
    printf("a << 1 = %d\n", a << 1); // 10100
    printf("a >> 1 = %d\n", a >> 1); // 0101

    return 0;
}

3.5 输入输出

C语言提供了标准库函数来进行输入和输出操作。常用的输入输出函数包括 printfscanf

3.5.1 输出

printf 函数用于将格式化的字符串输出到标准输出(通常是屏幕)。

#include <stdio.h>

int main() {
    int age = 25;
    float height = 1.75;
    char grade = 'A';

    printf("Age: %d\n", age);
    printf("Height: %.2f\n", height);
    printf("Grade: %c\n", grade);

    return 0;
}

3.5.2 输入

scanf 函数用于从标准输入(通常是键盘)读取格式化的输入。

#include <stdio.h>

int main() {
    int age;
    float height;
    char grade;

    printf("Enter your age: ");
    scanf("%d", &age);

    printf("Enter your height: ");
    scanf("%f", &height);

    printf("Enter your grade: ");
    scanf(" %c", &grade);  // 注意前面的空格,用于忽略前导空白字符

    printf("Age: %d\n", age);
    printf("Height: %.2f\n", height);
    printf("Grade: %c\n", grade);

    return 0;
}

3.6 小结

通过本章的学习,我们掌握了C语言的基本语法,包括注释、变量与数据类型、常量、运算符和输入输出。这些基础知识是编写C程序的基石,掌握它们将为你后续的学习打下坚实的基础。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言