四。数组课程笔记

小编 2026-06-22 阅读:1994 评论:0
数组课程笔记: 一。知识点汇总: 1.在C语言中, 数组【i】 属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可...

数组课程笔记:
一。知识点汇总:
1.在C语言中, 数组【i】 属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
2.数组说明的一般形式为:类型说明符 数组名 [常量表达式],……; 其中,类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数据元素的个数,也称为数组的长度。
数组就是一次性定义相同数据类型的一组变量数组定义。
举例
int a[10]; 说明整型数组a,有10个元素。若要表示第10个元素,则使用a[9]。第一个则是a[0]。
float b[10],c[20]; 说明实型数组b,有10个元素,实型数组c,有20个元素。
char ch[20]; 说明字符数组ch,有20个元素。
3.二维数组:用来表示矩阵,如5行5列的矩阵为a【5】【5】,i行j列的矩阵为b【i】【j】。
二维数组在概念上是二维的,即是说其下标在两个方向上变化, 下标变量在数组中的位置也处于一个平面之中, 而不是象一维数组只是一个向量。但是,实际的硬件存储器却是连续编址的, 也就是说存储器单元是按一维线性排列的。如何在一维存储器中存放二维数组,可有两种方式:一种是按行排列, 即放完一行之后顺次放入第二行。另一种是按列排列, 即放完一列之后再顺次放入第二列。在C语言中,二维数组是按行排列的。
4.字符数组:
字符数组
用来存放字符量的数组称为字符数组。
字符数组类型说明的形式与前面介绍的数值数组相同。例如:char c[10]; 由于字符型和整型通用,也可以定义为int c[10]但这时每个数组元素占2个字节的内存单元。
字符数组也可以是二维或多维数组,例如:char c[5][10];即为二维字符数组。
字符数组也允许在类型说明时作初始化赋值。例如:static char c[10]={c,,p,r,o,g,r,a,m};赋值后各元素的值为:数组C c[0]c[1]c[2]c[3]c[4]c [5]c[6]c[7]c[8]c[9]其中c[9]未赋值,由系统自动赋予0值。 当对全体元素赋初值时也可以省去长度说明。例如:static char c[]={c, ,p,r,o,g,r,a,m`};这时C数组的长度自动定为9。
int main()
{
int i,j;
char a【】[5]={{‘B’,‘A’,‘S’,‘I’,‘C’,},{‘d’,‘B’,‘A’,‘S’,‘E’}};
for(i=0;i<=1;i++)
{
for(j=0;j<=4;j++)
printf(\"%c\",a[j]);
printf(\"\\n\");
}
二.能够解决的问题:
数组能够解决许多有规律可循的数学问题,如:寻找配对数:
#include
using namespace std;
int main()
{int n,i,q,w,e,r=0;
cin>>n;
int a[1001];
for(i=1;i<=n;i++)
cin>>a[i];
for(q=1;q<=n;q++)
for(w=q+1;w<=n;w++)
for(e=w+1;e<=n;e++)
if(a[q]*a[w]==a[e]||a[w]*a[e]==a[q]||a[q]*a[e]==a[w])
r=r+1;
cout<<r;
}
以及许多多维上的数学问题,如:矩阵交换行:

#include
using namespace std;
int main()
{
int a[5][5], m, n, i, j;
for (i=0; i<5; i++)
for (j=0; j<5; j++)
cin >> a[i][j];
cin >> m >> n;
for (j=0; j<5; j++){
i = a[m-1][j];
a[m-1][j] = a[n-1][j];
a[n-1][j] = i;
}
for (i=0; i<5; i++){
for (j=0; j<5; j++){
cout << a[i][j] << \" \";
}
cout << endl;
}
return 0;
}
三、自己的感想:
数组前面的题还能做出来,但到后面越来越难以思考,许多次思路与正确答案差了很多,自己到现在还没有找到数组的规律,导致代码的编写越来越困难。剩下的题目多为字符串,在字符串的使用上,我还没有了解,必须在19周前尽快解决。
否则很有可能造成严重后果。

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表