C 语言程序设计考试指南 | AI生成和翻译

Home 2026.02

《计算机程序设计基础(实践)》课程考试大纲

课程代码:13794


I. 考核目标

本课程旨在培养学生的计算思维和编程能力,为后续专业课程(如“高级语言程序设计”和“Data Structures”)打下坚实的编程基础。

具体考核目标:


II. 参考教材

《计算机程序设计基础》
孙建忠、肖源源、张迎新 主编
机械工业出版社,2024年版


III. 考核内容

考核内容侧重于具有实际意义且可通过动手操作验证的核心知识点,具体分为 6 个模块:

1. 数据类型、运算符与输入/输出

(1) 基本数据类型:

(2) 常量与变量:

(3) 运算符与表达式:

(4) 输入/输出:

2. 结构化编程

(1) 条件语句:

(2) 循环语句:

(3) 跳转语句:

(4) 复合结构:

3. 数组与字符串

(1) 一维数组:

(2) 二维数组:

(3) 字符串:

4. 函数基础

(1) 函数定义与声明:

(2) 函数调用:

(3) 变量作用域:

(4) 简单函数实现:

5. 指针基础

(1) 指针定义与初始化:

(2) 指针与数组:

(3) 指针与变量:

(4) 指针操作注意事项:

6. 文件操作

(1) 打开与关闭文件:

(2) 文件读写:

(3) 文件操作流程:

(4) 文件打开失败处理:


IV. 试卷结构

总分:100 分

题型:

  1. 程序填空题 - 2 题,20 分
    • 给定不完整的程序代码,考生根据要求完善缺失部分
  2. 函数题 - 1 题,15 分
    • 给定主函数 (main function),考生在不修改主函数的情况下实现指定函数
  3. 程序设计题 - 3 题,65 分
    • 给定具体问题需求,考生设计并编写完整的程序代码

V. 命题要求

  1. 所有考试均使用在线编程评测系统 (OJ)
  2. 考生可多次提交代码
  3. 系统实时返回评测结果
  4. 最终答案以考生每道题最后一次提交为准
  5. 考试时间:90 分钟
  6. 题目覆盖各模块知识点
  7. 难度比例:
    • 容易:20%
    • 较容易:35%
    • 较难:35%
    • 难:10%

VI. 考试网络环境要求

考试环境必须满足:


VII. 注意事项


VIII. 题型示例

1. 程序填空题

题目描述:

以下代码旨在实现“读入 5 个整数到数组中,计算数组元素的平均值并输出(保留 1 位小数)”。请完成缺失代码以确保程序功能正确。

填空程序:

#include <stdio.h>
int main() {
    int arr[5];
    int i;
    float avg, sum = 0.0;
    
    // 空 1:循环读取 5 个整数到数组 arr
    for (i = 0; i < 5; i++) {
        ____________________; 
    }
    
    // 空 2:循环将数组元素累加到 sum
    for (i = 0; i < 5; i++) {
        ____________________; 
    }
    
    // 空 3:计算平均值(sum 除以元素个数 5)
    avg = ____________________; 
    
    // 空 4:输出平均值,保留 1 位小数
    ____________________; 
    
    return 0;
}

参考答案:


2. 函数题

题目描述:

给定主函数代码,实现具有以下功能的函数 countOdd:统计数组 arr 前 n 个元素中奇数的个数并返回该计数。

主函数如下:

#include <stdio.h>
#define N 50

// 函数声明
int countOdd(int arr[], int n);

int main() {
    int arr[N], n, cnt;
    
    // 输入数组元素个数
    scanf("%d", &n);
    
    // 输入 n 个整数到数组
    for (int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }
    
    // 调用函数统计奇数
    cnt = countOdd(arr, n);
    
    // 输出结果
    printf("Number of odd numbers: %d\n", cnt);
    
    return 0;
}

/* 请在此处编写 countOdd 函数 */

参考答案:

int countOdd(int arr[], int n) {
    int count = 0; // 初始化奇数计数器为 0
    
    // 遍历数组的前 n 个元素
    for (int i = 0; i < n; i++) {
        // 检查当前元素是否为奇数(除以 2 余数不为 0)
        if (arr[i] % 2 != 0) {
            count++; // 奇数计数器加 1
        }
    }
    
    return count; // 返回奇数个数
}

3. 程序设计题

题目描述:

编写一个完整的程序来实现“学生成绩等级判断”功能。

具体要求:

参考答案:

#include <stdio.h>
#include <string.h> // 用于字符串处理(本题可省略,但为规范保留)

int main() {
    // 定义数组存储 3 名学生的姓名和成绩
    char name[3][11]; // 3 个字符串,每个最多 10 个字符(加 '\0')
    int score[3];
    char grade; // 存储单个学生的等级
    
    // 输入 3 名学生的信息
    for (int i = 0; i < 3; i++) {
        printf("Please enter the name and score of student %d (separated by space): ", i+1);
        scanf("%s %d", name[i], &score[i]); // 姓名不含空格,使用 %s 输入
    }
    
    // 处理并输出结果
    for (int i = 0; i < 3; i++) {
        // 根据成绩判断等级
        if (score[i] >= 90 && score[i] <= 100) {
            grade = 'A';
        } else if (score[i] >= 80 && score[i] <= 89) {
            grade = 'B';
        } else if (score[i] >= 70 && score[i] <= 79) {
            grade = 'C';
        } else if (score[i] >= 60 && score[i] <= 69) {
            grade = 'D';
        } else {
            grade = 'E';
        }
        
        // 输出结果
        printf("%s: %d-%c\n", name[i], score[i], grade);
    }
    
    return 0;
}

Back Donate