当前位置: 首页 > news >正文

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

基础知识点讲解

  • 数组基本概念:数组是存储相同类型数据的集合,有固定长度,通过下标访问元素(下标从 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

http://www.dtcms.com/a/270188.html

相关文章:

  • 初识mysql(一)
  • 论文略读:UniPELT: A Unified Framework for Parameter-Efficient Language Model Tuning
  • 无人机报警器探测模块技术解析
  • HDLBits刷题笔记和一些拓展知识(十一)
  • 中文编程开发工具构件系列介绍——数值比较构件
  • 视频网站弹幕系统简易实现
  • Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架
  • Android Handler机制与底层原理详解
  • RHA《Unity兼容AndroidStudio打Apk包》
  • 什么是2.5G交换机?
  • 【如何下载网页中的视频】
  • 【HarmonyOS】鸿蒙端云一体化开发入门详解 (一)
  • 零基础 Qt 6 在线安装教程
  • vue前置知识-end
  • 呼叫系统对接智能体能解决哪些问题?
  • exFAT文件系统mp4素材文件变0字节的恢复方法
  • Spring中过滤器和拦截器的区别及具体实现
  • ROS平台上使用C++实现A*算法
  • 3423. 循环数组中相邻元素的最大差值 — day97
  • MySQL 8.0 OCP 1Z0-908 题目解析(23)
  • 服务端渲染
  • VMware克隆虚拟机,模板机已提前设置了固定IP,克隆机需要修改的事项
  • Java项目:基于SSM框架实现的旅游协会管理系统【ssm+B/S架构+源码+数据库+毕业论文】
  • Web前端开发: :where(伪类函数选择器)
  • 软件设计与重构
  • docker部署单机gitlab
  • Pytorch实战——完整的模型训练套路2
  • GitOps实践指南:GitLab CI/CD + ArgoCD 实现 Kubernetes 自动化部署
  • 【AI大模型】深度学习正则化技术:Batch Normalization (BatchNorm) 详解
  • 【GPT深度研究】科研SaaS项目可行性分析报告