第一部分:C语言基础入门

1.1 C语言简介

C语言是一种广泛使用的计算机编程语言,它具有高效、灵活、功能强大的特点。C语言是很多高级编程语言的基础,如C++、Java等。学习C语言可以帮助你更好地理解计算机的工作原理,为后续学习其他编程语言打下坚实的基础。

1.2 C语言环境搭建

在开始学习C语言之前,你需要搭建一个适合C语言编程的开发环境。以下是一些常用的C语言开发工具:

  • Code::Blocks
  • Visual Studio
  • GCC(GNU Compiler Collection)

1.3 C语言基本语法

C语言的基本语法包括变量、数据类型、运算符、控制结构等。以下是一些C语言的基本语法示例:

#include <stdio.h>

int main() {
    int a = 10;
    printf("a = %d\n", a);
    return 0;
}

1.4 编译与运行C程序

编写完C程序后,你需要将其编译成可执行文件,然后运行它。以下是在Windows和Linux系统下编译与运行C程序的步骤:

Windows系统:

  1. 打开命令提示符。
  2. 切换到C程序所在的目录。
  3. 输入编译命令:gcc -o 程序名 程序名.c
  4. 运行程序:程序名

Linux系统:

  1. 打开终端。
  2. 切换到C程序所在的目录。
  3. 输入编译命令:gcc -o 程序名 程序名.c
  4. 运行程序:./程序名

第二部分:C语言进阶学习

2.1 函数与模块

函数是C语言的核心组成部分,它可以将代码分解成可重用的模块。以下是一个C语言函数的示例:

#include <stdio.h>

void sayHello() {
    printf("Hello, World!\n");
}

int main() {
    sayHello();
    return 0;
}

2.2 数组与指针

数组是C语言中用于存储一系列相同类型数据的一种数据结构。指针是C语言中用于访问内存地址的一种特殊变量。以下是一个C语言数组与指针的示例:

#include <stdio.h>

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    int *ptr = &arr[0];
    printf("arr[0] = %d\n", *ptr);
    return 0;
}

2.3 结构体与联合体

结构体和联合体是C语言中用于组织不同类型数据的一种复合数据类型。以下是一个C语言结构体与联合体的示例:

#include <stdio.h>

typedef struct {
    int x;
    int y;
} Point;

typedef union {
    int x;
    float y;
} Data;

int main() {
    Point p = {1, 2};
    Data d = {3.14f};
    printf("p.x = %d, p.y = %d\n", p.x, p.y);
    printf("d.x = %d, d.y = %f\n", d.x, d.y);
    return 0;
}

第三部分:实战项目

3.1 简单计算器

编写一个简单的计算器程序,实现加、减、乘、除四种运算。

#include <stdio.h>

int main() {
    char operator;
    double firstNumber, secondNumber;

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

    printf("Enter two operands: ");
    scanf("%lf %lf", &firstNumber, &secondNumber);

    switch (operator) {
        case '+':
            printf("%.1lf + %.1lf = %.1lf\n", firstNumber, secondNumber, firstNumber + secondNumber);
            break;
        case '-':
            printf("%.1lf - %.1lf = %.1lf\n", firstNumber, secondNumber, firstNumber - secondNumber);
            break;
        case '*':
            printf("%.1lf * %.1lf = %.1lf\n", firstNumber, secondNumber, firstNumber * secondNumber);
            break;
        case '/':
            if (secondNumber != 0)
                printf("%.1lf / %.1lf = %.1lf\n", firstNumber, secondNumber, firstNumber / secondNumber);
            else
                printf("Error! Division by zero.\n");
            break;
        default:
            printf("Error! Invalid operator.\n");
    }

    return 0;
}

3.2 猜数字游戏

编写一个猜数字游戏程序,程序随机生成一个1到100之间的整数,让用户猜测这个数字。如果用户猜对了,程序会告诉用户猜对了;如果猜错了,程序会告诉用户猜大了还是猜小了。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
    int randomNumber, guess, numberOfGuesses = 0;

    // 初始化随机数生成器
    srand(time(NULL));

    // 生成1到100之间的随机数
    randomNumber = rand() % 100 + 1;

    printf("Guess the number between 1 and 100: ");

    while (1) {
        scanf("%d", &guess);

        numberOfGuesses++;

        if (guess == randomNumber) {
            printf("Congratulations! You guessed the number in %d attempts.\n", numberOfGuesses);
            break;
        } else if (guess < randomNumber) {
            printf("Too low. Try again: ");
        } else {
            printf("Too high. Try again: ");
        }
    }

    return 0;
}

通过以上三个实战项目,你可以巩固所学的C语言知识,并提高编程能力。祝你在两周内掌握C语言,开启编程之旅!