实例1:打印“Hello, World!”

学习任何编程语言的第一步通常都是打印出“Hello, World!”。这是一个简单的程序,可以帮助你熟悉C语言的语法和编译过程。

#include <stdio.h>

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

在这个例子中,#include <stdio.h> 是一个预处理命令,用于包含标准输入输出库,这样我们就可以使用 printf 函数来打印文本。main 函数是程序的入口点,而 return 0; 表示程序成功执行。

实例2:变量和赋值

变量是编程语言中用来存储数据的容器。在这个例子中,我们将创建一个变量来存储一个数字,并将其打印出来。

#include <stdio.h>

int main() {
    int number = 10;
    printf("The value of number is: %d\n", number);
    return 0;
}

这里,我们定义了一个名为 number 的整型变量,并将其赋值为10。%dprintf 函数中的一个格式化占位符,用于打印整数。

实例3:条件语句

条件语句允许程序根据特定的条件执行不同的代码块。以下是一个简单的例子,根据一个数字是否为偶数来打印不同的消息。

#include <stdio.h>

int main() {
    int number = 7;
    if (number % 2 == 0) {
        printf("%d is an even number.\n", number);
    } else {
        printf("%d is an odd number.\n", number);
    }
    return 0;
}

这里,我们使用 % 运算符来计算 number 除以2的余数。如果余数为0,则数字是偶数;否则,它是奇数。

实例4:循环结构

循环结构允许程序重复执行一段代码,直到满足特定条件。以下是一个使用 for 循环打印1到10的例子。

#include <stdio.h>

int main() {
    for (int i = 1; i <= 10; i++) {
        printf("%d\n", i);
    }
    return 0;
}

在这个例子中,for 循环初始化变量 i 为1,然后每次迭代都会检查 i 是否小于或等于10。如果是,它会打印 i 的值,并将 i 的值增加1。

实例5:函数

函数是代码块,可以重复使用,以提高代码的可重用性。以下是一个简单的函数,用于计算两个整数的和。

#include <stdio.h>

int add(int a, int b) {
    return a + b;
}

int main() {
    int result = add(5, 3);
    printf("The sum is: %d\n", result);
    return 0;
}

在这个例子中,我们定义了一个名为 add 的函数,它接受两个整数参数并返回它们的和。然后在 main 函数中调用 add 函数,并将结果打印出来。

实例6:指针

指针是存储变量地址的变量。以下是一个使用指针来交换两个变量值的例子。

#include <stdio.h>

void swap(int *a, int *b) {
    int temp = *a;
    *a = *b;
    *b = temp;
}

int main() {
    int x = 10;
    int y = 20;
    printf("Before swap: x = %d, y = %d\n", x, y);
    swap(&x, &y);
    printf("After swap: x = %d, y = %d\n", x, y);
    return 0;
}

在这个例子中,swap 函数接受两个指向整数的指针作为参数,并交换它们指向的值。

实例7:结构体

结构体是一种复合数据类型,可以包含不同类型的数据项。以下是一个简单的结构体例子,用于表示一个学生的信息。

#include <stdio.h>

typedef struct {
    char name[50];
    int age;
    float gpa;
} Student;

int main() {
    Student student1;
    strcpy(student1.name, "Alice");
    student1.age = 20;
    student1.gpa = 3.5;
    printf("Student's name: %s\n", student1.name);
    printf("Student's age: %d\n", student1.age);
    printf("Student's GPA: %.2f\n", student1.gpa);
    return 0;
}

在这个例子中,我们定义了一个名为 Student 的结构体,它包含三个字段:姓名、年龄和GPA。然后我们创建了一个 Student 类型的变量 student1,并初始化了它的字段。

实例8:文件操作

C语言提供了用于文件操作的函数,如打开、读取、写入和关闭文件。以下是一个简单的例子,用于创建并写入一个文本文件。

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "w");
    if (file == NULL) {
        printf("Error opening file!\n");
        return 1;
    }
    fprintf(file, "This is a test file.\n");
    fclose(file);
    return 0;
}

在这个例子中,我们使用 fopen 函数以写入模式打开一个名为 “example.txt” 的文件。如果文件打开成功,我们使用 fprintf 函数将文本写入文件,然后使用 fclose 函数关闭文件。

实例9:动态内存分配

动态内存分配允许程序在运行时分配内存。以下是一个使用 mallocfree 函数的例子。

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

int main() {
    int *numbers = (int *)malloc(5 * sizeof(int));
    if (numbers == NULL) {
        printf("Memory allocation failed!\n");
        return 1;
    }
    for (int i = 0; i < 5; i++) {
        numbers[i] = i * 2;
    }
    for (int i = 0; i < 5; i++) {
        printf("%d\n", numbers[i]);
    }
    free(numbers);
    return 0;
}

在这个例子中,我们使用 malloc 函数动态分配了一个可以存储5个整数的数组。然后我们初始化数组并打印它的内容,最后使用 free 函数释放分配的内存。

实例10:使用库函数

C语言提供了大量的库函数,可以简化编程任务。以下是一个使用 sqrt 函数计算平方根的例子。

#include <stdio.h>
#include <math.h>

int main() {
    double number = 16;
    double square_root = sqrt(number);
    printf("The square root of %f is %f\n", number, square_root);
    return 0;
}

在这个例子中,我们使用 sqrt 函数从 <math.h> 库中计算16的平方根,并将其打印出来。

通过这些实例,你可以开始学习C语言编程的基础,并逐步提高你的技能。记住,编程是一个实践的过程,不断编写和测试代码是提高技能的关键。