C程序语言实战习题精选:从入门到精通

2026-11-11 0 阅读

C程序语言是计算机编程的基础之一,它以其简洁、高效和灵活性著称。对于初学者来说,掌握C语言需要通过大量的实战练习。本文将精选一些C程序语言的实战习题,帮助读者从入门到精通。

一、基础知识习题

1. 数据类型与变量

题目:编写一个C程序,声明并初始化以下变量:

  • 一个整型变量,存储一个学生的年龄。
  • 一个浮点型变量,存储学生的平均成绩。
  • 一个字符型变量,存储学生的姓名的首字母。

代码示例:

#include <stdio.h>

int main() {
    int age = 20;
    float average_score = 85.5;
    char name_initial = 'Z';
    
    printf("Age: %d\n", age);
    printf("Average Score: %.2f\n", average_score);
    printf("Name Initial: %c\n", name_initial);
    
    return 0;
}

2. 运算符与表达式

题目:编写一个C程序,计算以下表达式的值,并打印结果:

  • (5 + 3) * 2 / 1 - 1 % 2

代码示例:

#include <stdio.h>

int main() {
    int result = (5 + 3) * 2 / 1 - 1 % 2;
    printf("Expression Result: %d\n", result);
    
    return 0;
}

二、控制流习题

1. 条件语句

题目:编写一个C程序,根据用户输入的年龄判断是否成年。

代码示例:

#include <stdio.h>

int main() {
    int age;
    printf("Enter your age: ");
    scanf("%d", &age);
    
    if (age >= 18) {
        printf("You are an adult.\n");
    } else {
        printf("You are not an adult.\n");
    }
    
    return 0;
}

2. 循环语句

题目:编写一个C程序,打印从1到10的所有整数。

代码示例:

#include <stdio.h>

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

三、函数与数组习题

1. 函数

题目:编写一个C程序,定义一个函数,计算两个整数的和,并在主函数中调用它。

代码示例:

#include <stdio.h>

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

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

2. 数组

题目:编写一个C程序,创建一个整型数组,存储10个学生的成绩,并计算平均分。

代码示例:

#include <stdio.h>

int main() {
    int scores[10];
    int i, sum = 0;
    float average;
    
    // 输入学生成绩
    for (i = 0; i < 10; i++) {
        printf("Enter score for student %d: ", i + 1);
        scanf("%d", &scores[i]);
        sum += scores[i];
    }
    
    // 计算平均分
    average = (float)sum / 10;
    printf("Average score: %.2f\n", average);
    
    return 0;
}

四、指针与结构体习题

1. 指针

题目:编写一个C程序,使用指针交换两个整数的值。

代码示例:

#include <stdio.h>

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

int main() {
    int x = 10, 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;
}

2. 结构体

题目:编写一个C程序,定义一个学生结构体,并创建一个学生数组,存储3个学生的信息。

代码示例:

#include <stdio.h>

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

int main() {
    Student students[3] = {
        {"Alice", 20, 85.5},
        {"Bob", 22, 90.0},
        {"Charlie", 21, 78.5}
    };
    
    int i;
    for (i = 0; i < 3; i++) {
        printf("Name: %s, Age: %d, Score: %.2f\n", students[i].name, students[i].age, students[i].score);
    }
    
    return 0;
}

五、文件操作习题

题目:编写一个C程序,创建一个文本文件,写入一些内容,然后读取并打印文件内容。

代码示例:

#include <stdio.h>

int main() {
    FILE *file;
    char filename[] = "example.txt";
    char content[] = "Hello, World!";
    
    // 创建文件并写入内容
    file = fopen(filename, "w");
    if (file == NULL) {
        printf("Error opening file!\n");
        return 1;
    }
    fprintf(file, "%s\n", content);
    fclose(file);
    
    // 打开文件并读取内容
    file = fopen(filename, "r");
    if (file == NULL) {
        printf("Error opening file!\n");
        return 1;
    }
    char buffer[100];
    while (fgets(buffer, sizeof(buffer), file)) {
        printf("%s", buffer);
    }
    fclose(file);
    
    return 0;
}

通过以上实战习题,相信读者对C程序语言的理解会更加深入。在编程过程中,不断实践和总结是提高编程技能的关键。祝大家在编程的道路上越走越远!

分享到: