CPP不熟悉知识点笔记

19. 指针与函数

19.1 指针作为函数的参数

指针是函数参数传递的重要工具。
通过指针作为函数参数的方法,既可以返回多个运算结果,又可以避免使用全局变量!
(1).作为形参
这里写图片描述
使用一个函数求a,b的平方和、自然对数和、几何平均数、和的平方根:
这里写图片描述
一个量通过return返回,其他三个值通过指针返回!

19.2 数组作为函数的参数

传递数组的地址,数组的长度
求数组n个元素的平均值
这里写图片描述
因此,有四种情况:
1.形参——数组名、实参——数组名;2.形参——指针变量、实参——数组名;
3.形参——指针变量、实参——指针(提前放好数组名);4.形参——数组名、实参——指针。
自定义字符串复制函数:
这里写图片描述

18. 指针与数组

数组名数组第0个元素的地址整个数组的地址
因此,数组名是一个地址常量!
p=a; <> p=&a[0];
那么访问数组元素a[i],下列写法一致:
a[i] <
> p[i] <> ∗ ( a + i ) *(a+i) (a+i) <> ∗ ( p + i ) *(p+i) (p+i)
因此,遍历数组中的元素,有多种写法:
1.下标法;2.通过地址间接访问数组元素;3.通过指向数组的指针变量间接访问元素;
这里写图片描述

18.2 指针与字符串(字符数组)

char *p="C Language"; %计算机自动用一个未命名的字符数组来存放“C Language”;且p指向这个字符数组。

这里写图片描述
使用指针求字符串实际长度(不包含结束标志):
这里写图片描述

#17. 指针
一般函数只能用return返回一个值;利用数组可以返回相同类型的多个值;利用指针可以实现返回不同类型的多个值。
指针是服务于函数的!!尤其是函数之间。

  • 拓展了函数可以做的事情。一个函数可以访问另一个函数的内部变量。
int a,b,*p1=&a,*p2; %则,&*p1 = &a =p1; *&a = *p1 = a;

指针类型==对应计算机的字节地址编码;
对象:占据一定的存储空间,有确定的存储位置!编译器将程序中的对象名转换成机器指令能识别的地址,通过地址来存取对象。

无效指针:
1.NULL;2.未初始化;3.迷途指针
指针的运算必须作用在连续的存储空间上才有意义。(连续空间是指,类似于数组所占地的存储空间)

  • 用const修饰(限定)的指针
    有一件事情不让做了: const int *p; p=&a; 可以读,但是不可以改。
    这里写图片描述
    在函数形参中有应用
  • const指针
    不能做的一件事情是:改变这个指针的指向,起初指向哪个地址,之后依然指向那个地址。
  • 指向const对象的const指针
    之前提到的两件事情都不能做了。

16. 数组的应用

16.1 排序问题

  • 冒泡排序法(bubble sort)
    这里写图片描述
    这里写图片描述

  • 选择排序法(selection)
    记下来最小的数的下标。
    这里写图片描述
    SelectionSort
    ##16.2 查找

  • 顺序查找法
    思想:循环逐个比较;一般用于无序序列
    这里写图片描述

  • 二分查找法
    思想:分成大致相同的两部分;一般用于有序序列
    这里写图片描述

15. 字符串处理

15.1 字符数组

C++标准库 兼容了C语言的字符串处理函数,头文件为 string.h
数组的长度 为字符的长度 + 1;

"a"; % 双引号内 是字符串,字符串必须用 数组来存放。
'a'; % 单引号内 是字符

空字符 \0 为 字符串结束标志。

15.3 字符串类 string

完全可以替代C语言的字符数组,且功能更强大。动态长度。

#include <string>;
string str1, str2="Java",str3("C++"); %str3为对象直接初始化;str2为C风格字符串转换为字符串对象
cin >> str1; %输入
cout << str2; %输出
str1 = str2+str3; %连接
str1 == "ABC"; %比较
str.size(); %成员函数
string Xing[5]={"Jiang","Cao","Xu","Zhao","Lu"} %字符串对象数组

这里写图片描述

14. 数组与函数

14.1 数组作为函数的参数

数组的元数作为函数的参数,与一般变量无区别,属于值传递;
数组名作为函数的参数,传递的是数组的首地址,就是同一个数组。

这里写图片描述

14.2 数组参数的传递机制

形参数组就是是参数组。(且形参的长度并非必须)
多维数组仅第一维可以省略,且其他维必须和实参相同。
寻找二维数组的最大值,和最大值对应的下标
这里写图片描述
计算数组所有元素的平均值
这里写图片描述


13.2 一维数组的引用

int A[5];       %定义的时候方括号里写的是数组的长度;必须是常量表达式
A[2];           %引用的时候方括号里写的是下标。可以是变量

13.3 多维数组的定义

本质上,C++的多维数组都是一维数组,这是由内存形式的线性排列决定的。
且按行存放。
这里写图片描述
二维数组的循环遍历:
这里写图片描述

C++程序设计-西北工业大学-魏英、姜学锋、刘君瑞 视频

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准备**:适合准备计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值