第一部分:C语言基础知识

1.1 C语言简介

C语言,由Dennis Ritchie于1972年发明,是一种广泛使用的计算机编程语言。它以其高效、灵活和可移植性而闻名,是许多现代编程语言的基石。C语言主要用于系统编程、嵌入式系统开发、游戏开发等领域。

1.2 C语言环境搭建

要开始学习C语言,首先需要搭建开发环境。以下是一个简单的步骤:

  • 安装编译器:如GCC(GNU Compiler Collection)。
  • 配置开发环境:设置环境变量,以便在任何目录下编译C程序。
  • 选择文本编辑器:如Visual Studio Code、Sublime Text等。

1.3 基本语法

C语言的基本语法包括:

  • 变量:用于存储数据的容器。
  • 数据类型:如整型(int)、浮点型(float)、字符型(char)等。
  • 运算符:用于执行算术、逻辑等操作。
  • 控制结构:如条件语句(if-else)、循环语句(for、while)等。

第二部分:C语言实战案例

2.1 简单计算器

以下是一个简单的计算器程序,用于执行加、减、乘、除运算:

#include <stdio.h>

int main() {
    float num1, num2;
    char operator;

    printf("Enter an operator (+, -, *, /): ");
    scanf("%c", &operator);

    printf("Enter two operands: ");
    scanf("%f %f", &num1, &num2);

    switch (operator) {
        case '+':
            printf("%.1f + %.1f = %.1f", num1, num2, num1 + num2);
            break;
        case '-':
            printf("%.1f - %.1f = %.1f", num1, num2, num1 - num2);
            break;
        case '*':
            printf("%.1f * %.1f = %.1f", num1, num2, num1 * num2);
            break;
        case '/':
            if (num2 != 0.0)
                printf("%.1f / %.1f = %.1f", num1, num2, num1 / num2);
            else
                printf("Division by zero is not allowed.");
            break;
        default:
            printf("Invalid operator!");
    }

    return 0;
}

2.2 水仙花数

水仙花数是指一个三位数,其各位数字的立方和等于该数本身。以下是一个找出所有水仙花数的程序:

#include <stdio.h>

int main() {
    int num, originalNum, remainder, result = 0;

    printf("The armstrong numbers between 1 and 999 are: \n");

    for (num = 1; num < 1000; num++) {
        originalNum = num;
        result = 0;

        while (originalNum != 0) {
            remainder = originalNum % 10;
            result += remainder * remainder * remainder;
            originalNum /= 10;
        }

        if (result == num)
            printf("%d\n", num);
    }

    return 0;
}

第三部分:进阶学习

3.1 预处理器

C语言中的预处理器允许在编译之前对源代码进行操作。以下是一些常用的预处理器指令:

  • 宏定义:如 #define PI 3.14159
  • 条件编译:如 #ifdef DEBUG
  • 文件包含:如 #include <stdio.h>

3.2 动态内存分配

C语言提供了动态内存分配的机制,允许在程序运行时分配和释放内存。以下是一些常用的动态内存分配函数:

  • malloc():分配指定大小的内存。
  • calloc():分配指定大小的内存,并将其初始化为0。
  • realloc():重新分配指定大小的内存。

通过学习这些基础知识,你可以开始编写更复杂的C语言程序。记住,实践是学习编程的关键,不断尝试和修复错误,你将逐渐成为一名优秀的C语言程序员。