尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

C语言基础:一维整形数组

C语言基础:一维整形数组
📅 发布时间:2026/7/30 5:06:46

C语言定义:

数组是一组==相同数据类型== ==有限个==数据的集合。

1)数据类型相同

2)数据的个数有限个

功能 ,用来存储多个数据。多个变量。

分类:

一维整形数组

二维整形数组

一维字符数组 -》 1个字符串

二维字符串 -》 多个字符串

多维数组 -》 二维数组以上

1 定义数组
​ int a=3;// int 数据类型 数组名[整形常量]; int array[5]; // array 数组名(集合名) int [] 5 可以容纳5个int 的变量 int array2[2+3]; ​ int array3[a+2];// error a是一个变量 ​ void b;// 不能有 void类型的变量 void array4[5]; //不能有 void类型的数组 ​

特性:

  1. 单一性 数据类型相同 2.连续性 内存空间连续存放 3.有序行 元素是有序的

2.数组元素的访问
数组名[下标]; [] 数组下标运算符 , 下标从 0 开始,表示第一个元素 下标 ,范围 0 - 容量-1; 常量,变量,表达式,类型是整形 ​ 数组不能整体操作 。定义完毕后,不能整体赋值。 int a[5]; a =10; // 错误的,不能操作。 ​ 数组访问的过程不要越界,越界后,行为不确定。 ​ 数组元素本身,可以做左值,或右值 ​ a[0] = 10; // a[0] 数据类型 int 写入 第一元素 a[1] = 20; // 数组元素作左值 ,写入 a[2] = 30; a[3] = 40; // 这是最后一个元素 a[4] = 50; // 注意没有 a[5] , 这个一个越界的位置 错误 ,下标从0开始 // a[5] =60; // int c = 0; ​ b = a[1]+1; // 数组元素作 右值,读出 a[c] =20; ​
3.初始化
int main() { ​ // 定义+初始化 全部初始化 ,注意不要越界 int a[5]={1,2,3,4,5}; ​ //局部初始化 // 初始化部分数据,剩下的全部是0 int a2[5]={1,2,3}; // 全部都是0 用的多 int a3[5]={0}; ​ // 数组的容量可以是空的,但必须初始化 // ,编译器会根据初始化的个数,填入容量 int a4[] = {1,2,3}; // 不给容量,也没有给初值,编译报错 //int a5[]; ​ int a5[]={0}; // a5 数组中,只有一个元素 return 0; }
4.数组的遍历
遍历,有且只有一次,访问数组中所有的元素操作。 int a[50]={0}; ​ 写入遍历 for(i=0;i<size;i++) { a[i] = rand()%1000; } ​ 读出遍历 for(i=0;i<size;i++) { printf("%3d\t",a[i]); ​ }​
5.数组的倒置
int temp =0; //倒置 for(i=0;i<size/2;i++) { temp =a[i]; a[i] =a[size-1-i]; a[size-1-i]= temp; } ​
6 .冒泡
冒泡 ,升序 相邻元素依次比较 如果前面的数大,交换两数 ,内层循环 ++ 一次 数组遍历一次 ,会找到最大值,并存储在数组的最后。外层循环 ++ 一次 ​
int j = 0 ; for(j = size-1;j>0;j--) // 外层循环 j++ ,找到一个最大值,存储到最后 { for(i=0;i<j;i++) // 内层循环 i++ ,相邻元素比较 { if(a[i]> a[i+1]) { int t = a[i]; a[i] = a[i+1]; a[i+1] = t; ​ } } } ​

7.选择

选择 ,升序 元素依次比较 如果前面的数大,交换两数 ,内层循环 ++ 一次 , 数组遍历一次 ,会找到最小值,并存储在数组的最前面。外层循环 ++ 一次 int j = 0 ; for(j=0;j<size-1;j++) { for(i=j+1;i<size;i++) { if(a[j]> a[i]) { int t = a[i]; a[i] = a[j]; a[j] = t; ​ } } }

插入排序
二分查找(折半查找)
前提条件:序列必须有序
思想(升序):将要查找的值和序列的中间位置值比较,比中间位置值大,则在后半序列中继续折
半查找,如果比中间值小,则从前半个序列中继续折半查找,如果恰好相等,则找到。
优势:效率高---->时间复杂度O(logn)

i = 0; j = len - 1; while (i <= j) { mid = (i + j) / 2; if (num > a[mid]) { i = mid + 1; } else if (num < a[mid]) { j = mid - 1; } else { printf("find %d\n", a[mid]); break; } } if (i > j) { printf("Not find\n"); }

相关新闻

  • 磁吸充电宝测评推荐:我实测记录
  • firewall用户认证综合实验
  • 终极解决方案:用SetDPI彻底告别Windows多显示器DPI缩放混乱

最新新闻

  • heic转jpg:扫描件格式不对时按问答清单逐项排查 - 办公小帮手
  • 终极指南:一键永久保存QQ空间十年青春记忆的免费开源工具
  • 深入解析RS-232/422/485串口通信:从差分信号到Modbus实战
  • 无审查模型与国内通用模型对比
  • 玉石复检全流程教学:新手也能自主验货、维权有据
  • 从零搭建规范STM32工程:CubeMX配置与Keil分层架构实战

日新闻

  • 终极TeamSpeak3音乐机器人搭建指南:5分钟实现语音聊天室音频播放
  • 广州海珠区内搬家攻略,平价靠谱搬家服务商推荐,专业打包搬运省心避坑全流程指南 - 厚道搬家
  • 大语言模型入门指南:从零到精通掌握AI核心技术的5大步骤

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号