7月5号和6号复习和预习(C++)

发布于:2025-07-09 ⋅ 阅读:(17) ⋅ 点赞:(0)

基础知识点讲解

  • 数组基本概念:数组是存储相同类型数据的集合,有固定长度,通过下标访问元素(下标从 0 开始)。
  • 复习部分
    • 数组创建与初始化:可声明时直接初始化,如int a[]={1,2,3};也可指定长度后赋值,如int a[3]; a[0]=1
    • 元素访问:通过数组名[下标],如a[1]访问第二个元素。
    • 遍历数组:用 for 循环,循环变量作为下标遍历所有元素。
    • 数组操作:包括找最大 / 最小值、交换元素、累加求和、求平均值等。
  • 预习部分(二维数组):本质是 “数组的数组”,声明形式如int a[2][3],表示 2 行 3 列,通过a[i][j]访问第 i 行第 j 列元素。

知识点总结

  • 复习部分
    • 数组创建与初始化的两种方式及注意事项(长度固定)。
    • 元素访问的下标规则(从 0 开始,避免越界)。
    • 遍历数组的 for 循环应用。
    • 常见操作:找最值、交换元素、求和、求平均值。
  • 预习部分:二维数组的声明、元素访问方式。

重点难点考点

  • 重点:数组元素访问的下标规则、遍历数组的方法、基本操作的实现。
  • 难点:数组下标越界问题、遍历过程中对元素的复杂操作(如交换、找最值)。
  • 考点:数组初始化的正确写法、遍历数组的代码实现、基本操作(求和、求最值等)的编程题。

练习题

填空题
  1. 数组int a[5]={1,2,3}中,未初始化的元素值为(0)。
  2. 访问数组int b[]={5,6,7}的最后一个元素,表达式为(b [2])。
  3. 遍历长度为 5 的数组c,for 循环的循环变量 i 的范围应从(0)到(4)。
  4. 交换数组d[]={3,4}中两个元素后,数组变为({4,3})。
  5. 二维数组int e[2][2]={{1,2},{3,4}}中,e[1][0]的值是(3)。
选择题
  1. 以下数组初始化正确的是(C)
    A. int a[] B. int a[3]={1,2,3,4} C. int a[]={1,2} D. int a[2]={1}(第二个元素未初始化,虽允许但不完整,C 更正确)
  2. 数组int f[]={9,8,7,6}的长度为(B)
    A. 3 B. 4 C. 5 D. 不确定
  3. 要访问数组g[5]的第三个元素,正确的是(B)
    A. g[3] B. g[2] C. g[1] D. g[0]
  4. 以下不能实现数组h[]={2,5}元素交换的是(A)
    A. h[0]=h[1]; h[1]=h[0] B. int t=h[0]; h[0]=h[1]; h[1]=t
  5. 二维数组int i[3][2]的元素总数是(A)
    A. 6 B. 5 C. 4 D. 3
判断题
  1. 数组的下标可以是负数。(×)
  2. 数组声明后,长度可以改变。(×)
  3. 遍历数组时,循环变量的最大值可以等于数组长度。(×)
  4. 求数组元素的和时,初始累加器应设为 0。(√)
  5. 二维数组的行下标和列下标都从 0 开始。(√)
编程题
  1. 创建数组int a[]={2,4,6,8,10},输出所有元素。
  2. 数组int b[]={5,3,9,1},找出最大值并输出。
  3. 交换数组int c[]={7,8}中两个元素后输出数组。
  4. 计算数组int d[]={60,70,80}的平均值并输出。
  5. 声明二维数组int e[2][2]={{1,2},{3,4}},输出所有元素。

题解

填空题
  1. 解析:局部数组未初始化的元素默认值为 0。
  2. 解析:数组长度为 3,最后一个元素下标为 2。
  3. 解析:数组下标从 0 开始,长度 5 的数组下标为 0-4。
  4. 解析:交换后第一个元素变 4,第二个变 3。
  5. 解析:二维数组e[1][0]表示第二行第一个元素,即 3。
选择题
  1. 解析:A 未初始化且无长度;B 初始化元素数超过长度;D 正确但不完整,C 正确。
  2. 解析:数组元素有 4 个,长度为 4。
  3. 解析:第三个元素下标为 2。
  4. 解析:A 会导致两个元素值相同,无法完成交换;B 用临时变量正确。
  5. 解析:3 行 2 列,元素总数 3×2=6。
判断题
  1. 解析:下标不能为负数,否则越界。
  2. 解析:数组长度一旦确定不可改变。
  3. 解析:最大下标为长度 - 1,循环变量超过则越界。
  4. 解析:累加器初始为 0,才能正确累加元素和。
  5. 解析:二维数组下标从 0 开始,与一维数组一致。
编程题
  1. 代码:

c

#include <stdio.h>
int main() {
    int a[]={2,4,6,8,10};
    for(int i=0;i<5;i++){
        printf("%d ",a[i]);
    }
    return 0;
}

输出:2 4 6 8 10
2. 代码:

c

#include <stdio.h>
int main() {
    int b[]={5,3,9,1},max=b[0];
    for(int i=1;i<4;i++){
        if(b[i]>max) max=b[i];
    }
    printf("%d",max);
    return 0;
}

输出:9
3. 代码:

c

#include <stdio.h>
int main() {
    int c[]={7,8},t=c[0];
    c[0]=c[1];
    c[1]=t;
    printf("%d %d",c[0],c[1]);
    return 0;
}

输出:8 7
4. 代码:

c

#include <stdio.h>
int main() {
    int d[]={60,70,80},sum=0;
    for(int i=0;i<3;i++){
        sum+=d[i];
    }
    printf("%.1f",sum/3.0);
    return 0;
}

输出:70.0
5. 代码:

c

#include <stdio.h>
int main() {
    int e[2][2]={{1,2},{3,4}};
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            printf("%d ",e[i][j]);
        }
        printf("\n");
    }
    return 0;
}

输出:1 2
3 4


网站公告

今日签到

点亮在社区的每一天
去签到