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

潍坊网站优化长兴县城乡建设局网站

潍坊网站优化,长兴县城乡建设局网站,做模板网站怎么放视频教程,网站建设微金手指下拉15C 语言支持数组数据结构#xff0c;数组是一个由若干相同类型变量组成的有序集合。 这里的有序是指数组元素在内存中的存放方式是有序的#xff0c;即所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素#xff0c;最高的地址对应最后一个元素。 在 C 语言中数组是一个由若干相同类型变量组成的有序集合。 这里的有序是指数组元素在内存中的存放方式是有序的即所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素最高的地址对应最后一个元素。 在 C 语言中数组名表示数组的地址即数组首元素的地址。当我们在声明和定义一个数组时该数组名就代表着该数组的地址。数组中的元素可以通过索引访问索引值从 0开始。C 语言还允许我们使用指针来处理数组这使得对数组的操作更加灵活和高效。按数组元素的类型不同数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。 一、一维数组 1、定义 1 数组定义 基本格式为dataType arrayName[length]; 其中dataType 为数据类型arrayName 为数组名length为数组长度。 2访问数组元素 基本格式为arrayName[index] 注意 数组中每个元素的数据类型必须相同。数组长度 length 最好是整数或者常量表达式例如 10、20*4 等。访问数组元素时下标的取值范围为 0 index length过大或过小都会导致数组溢出越界异常。 3数组内存是连续的 数组是一个整体它的内存位置是连续的也就是说数组元素之间是相互挨着的彼此之间没有一点点缝隙。 连续的内存为指针操作通过指针来访问数组元素和内存处理整块内存的复制、写入等提供了便利这使得数组可以作为缓存临时存储数据的一块内存使用。 一般情况下数组名会转换为数组的地址需要使用地址的地方直接使用数组名即可。 2、初始化数组 一维数组的初始化有 3种方式 1定义数组时直接对数组元素赋初值。数组元素值一般放在一对大括号中。例如 int iArray[6] {1, 2, 3, 4, 5, 6};2如果只给一部分数组元素赋值则未赋值的元素默认为被赋值为类型默认值。例如 int iArray[6] {1, 2, 3}; // iArray[2] 3, iArray[3] 03当对全部数组元素都赋初值时可以不指定数组长度。例如 int iArray[] {1, 2, 3, 4}; // 长度为4数组长度可以使用 sizeof 运算符来获取数组的长度。 使用 sizeof 可以获得数据类型或变量在内存中所占的字节数。同样使用sizeof 也可以获得整个数组在内存中所占的字节数。因为数组中每个元素的类型都是一样的在内存中所占的字节数都是相同的所以总的字节数除以一个元素所占的字节数就是数组的长度。 #include stdio.hint main() { int iArray1[6] {1, 2, 3, 4, 5, 6};int iArray2[6] {1, 2, 3};int iArray3[] {1, 2, 3, 4};printf(iArray1长度%d\n, sizeof(iArray1) / sizeof(iArray1[0]));printf(iArray2长度%d\n, sizeof(iArray2) / sizeof(iArray2[0]));printf(iArray3长度%d\n, sizeof(iArray3) / sizeof(iArray3[0]));return 0; }3、实例 实例1 #include stdio.hint main() {int iArray[11] {0};printf(请输入手机号\n);for (int index 0; index 11; index) {scanf(%d, iArray[index]); //输入号码使用空格隔开}printf(你输入手机号为\n);for (int index 0; index 11; index) {printf(%d, iArray[index]);}return 0; }实例2 #include stdio.hint main() { float fArray[5];for(int i 0; i 5; i){fArray[i] 1.1 * i;}for(int i 0; i 5; i){printf(打印 fArray[%d]%f \n, i, fArray[i]);}return 0; }二、二维数组 多维数组是由多个长度相同的一维数组构成的。主要认识二维数组。 基本格式如下type name[size1][size2]…[sizeN]; 1、定义 1 数组定义 基本格式为dataType arrayName[length1][length2]; 其中dataType 为数据类型arrayName 为数组名length1 为行下标的长度length2 为列下标的长度。 2访问数组元素 基本格式为arrayName[index][index] 3数组内存是连续的 二维数组在概念上是二维的但在内存中是连续存放的换句话说二维数组的各个元素是相互挨着的彼此之间没有缝隙。那么如何在线性内存中存放二维数组呢 有两种方式 一种是按行排列 即放完一行之后再放入第二行一种是按列排列 即放完一列之后再放入第二列。 在C语言中二维数组是按行排列的。 也就是先存放 a[0] 行再存放 a[1] 行最后存放 a[2] 行每行中的 4 个元素也是依次存放。数组 a 为 int 类型每个元素占用 4 个字节整个数组共占用 4×(3×4)48 个字节。 2、初始化数组 二维数组的初始化有 3种方式 1将所有数据写在一个大括号内按照数组元素排列顺序对元素赋值。例如 int iArray[2][2] {1, 2, 3, 4};2为所有元素赋初值时可以省略行下标但是不能省略列下标。例如 int iArray[][2] {1, 2, 3, 4, 5, 6}; // 一共6个数据分为3列所以数组有2行。3分行给数据元素赋值。例如 int iArray[2][3] {{1, 2, 3}, {4, 5, 6}};数组长度可以使用 sizeof 运算符来获取数组的长度。 #include stdio.hint main() { int iArray1[2][2] {1, 2, 3, 4};int iArray2[][2] {1, 2, 3, 4, 5, 6};int iArray3[2][3] {{1, 2, 3}, {4, 5, 6}};printf(iArray1长度%d\n, sizeof(iArray1) / sizeof(iArray1[0][0]));printf(iArray2长度%d\n, sizeof(iArray2) / sizeof(iArray2[0][0]));printf(iArray3长度%d\n, sizeof(iArray3) / sizeof(iArray3[0][0]));return 0; }3、实例 一般使用嵌套循环来处理二维数组。 实例1 #include stdio.hint main(){/* 5 行 2 列的数组 */int iArray[5][2] {{10,15}, {1,2}, {2,4}, {3,6},{4,8}};int i, j;/* 输出数组中每个元素的值 */for (i 0; i 5; i ) {for (j 0; j 2; j ) {printf(打印 iArray[%d][%d] %d\n, i, j, iArray[i][j]);}}return 0; }三、字符数组 数组中的元素类型为字符型时称为字符数组。即字符数据中的每个元素可以存放一个字符。 字符数组的定义和访问与其他数组类型类似。 C语言中没有专门的字符串变量没有 String类型通常使用字符数组来存放字符串。 字符数据实际上是一系列的字符集合不严谨的说就相当于字符串。 1、定义 基本格式为char arrayName[length]; 其中char 为字符类型arrayName 为数组名length为数组长度。 2、初始化 字符数组的初始化有 3种方式 1逐个字符赋给数组中的元素。例如 char cArray[6] {H, e, l, l, o};2定义字符数组的同时进行初始化此时可以省略数组长度。例如 char cArray[] {H, e, l, l, o};3利用字符串给字符数组赋初值。例如 char cArray[] {Hello}; // 也可以不指定数组长度 // 或者去掉 {} char cArray[] Hello;字符串长度就是字符串包含了多少个字符不包括最后的结束符\0。 可以使用 string.h头文件中的 strlen() 函数来求字符串的长度。 #include stdio.h #include string.hint main(){ char cArray1[6] {H, e, l, l, o, \0};char cArray2[] {H, e, l, l, o};char cArray31[5] {Hello};char cArray32[] {Hello};char cArray33[] Hello;printf(cArray1长度%d\n, sizeof(cArray1) / sizeof(cArray1[0]));printf(cArray1 strlen长度%d\n, strlen(cArray1));printf(cArray2长度%d\n, sizeof(cArray2) / sizeof(cArray2[0]));printf(cArray2 strlen长度%d\n, strlen(cArray2));printf(cArray31长度%d\n, sizeof(cArray31) / sizeof(cArray31[0]));printf(cArray31 strlen长度%d\n, strlen(cArray31));printf(cArray32长度%d\n, sizeof(cArray32) / sizeof(cArray32[0]));printf(cArray32 strlen长度%d\n, strlen(cArray32));printf(cArray33长度%d\n, sizeof(cArray33) / sizeof(cArray33[0]));printf(cArray33 strlen长度%d\n, strlen(cArray33));printf(--------------\n); printf(cArray2%s\n, cArray2);printf(cArray2[6]%c\n, cArray2[6]);printf(cArray31%s\n, cArray31);printf(cArray32%s\n, cArray32);return 0; }正确地初始化变量是一个良好的编程习惯否则有时候程序可能会产生意想不到的结果因为未初始化的变量会导致一些在内存位置中已经可用的垃圾值。 一般在字符串的最后手动添加’\0’或者初始化数组为’\0’或者数组大小多一个字节。 3、字符数组的结束标志 C语言中使用字符数组保存字符串时系统会自动为其添加“\0”作为结束符。 所以在 C语言中字符串总是以“\0”作为结尾所以“\0”也被称为字符串结束标志或者字符串结束符。 注意 “\0”是 ASCII 码表中的第 0 个字符英文称为 NUL中文称为“空字符”。该字符既不能显示也没有控制功能输出该字符不会有任何效果它在 C语言中唯一的作用就是作为字符串结束标志。C语言在处理字符串时会从前往后逐个扫描字符一旦遇到“\0”就认为到达了字符串的末尾就结束处理。“\0”至关重要没有“\0”就意味着永远也到达不了字符串的结尾。用字符串方式初始化比逐个字符初始化要多占一个字节多占的这个字节用于存放字符串结束标志“\0”。 // cArray1和cArray2是等价的cArray1系统会自动添加“\0”。 char cArray1[] Hello; char cArray2[] {H, e, l, l, o, \0}; // 字符数组并不要求最后一个字符为“\0”甚至可以不包含“\0”。所以下面的写法也是合法的。 char cArray3[5] {H, e, l, l, o};所以是否加“\0”应根据需要来决定由于系统对字符串常量会自动加上一个“\0”。因此为了使处理方法一直并且便于测定字符串的实际长度通常我们在字符数组中会人为的加上一个“\0”。 4、实例 实例1 #include stdio.hint main() {char cString[7] charge;char cReverse[7] {0};int size;size sizeof(cString);printf(源字符串长度%d\n, size);for (int i 0; i 6; i) {cReverse[size - i - 2] cString[i];}printf(源字符串%s\n, cString);printf(反转之后的字符串%s\n, cReverse);return 0; }实例2 #include stdio.h #include string.hint main(){ char str[30] {\0}; //将所有元素都初始化为 0或者说 \0char c;int i;printf(str长度%d\n, sizeof(str) / sizeof(str[0]));printf(str strlen长度%d\n, strlen(str));for(c65,i0; c90; c,i){str[i] c;}printf(str%s\n, str); printf(str strlen长度%d\n, strlen(str));return 0; }– 求知若饥虚心若愚。
http://www.hkea.cn/news/14418612/

相关文章:

  • 网站建设常用单词手机网站类型
  • 贵阳仿站定制模板建站免费网页制作的网站
  • 深圳前十网站扩广公司怎么制作软件?
  • 临海网站开发公司门户网站建设模式包括网站群和
  • 国外psd网页模板网站北京品牌网站建设公司哪家好
  • 做网站界面深圳互助资金盘网站开发
  • 无锡高端网站设计开发最好的包装设计公司哪家好
  • 金溪网站建设推广开发板公测的更新频率
  • 网站权重排行企业名录查询软件
  • 微网站制作软件苏州网页设计培训
  • 原创文章网站wordpress 版权插件
  • 网站内容策划书为什么打开谷歌浏览器是2345网址导航
  • 如何提高外贸网站排名郑州正规的男科医院有哪些
  • 自己做内部网站建设网站基本步骤
  • 公司网站建设外包哪里可以注册免费域名
  • 做网站被骗3000生成静态页面网站源码
  • 桥头东莞网站建设音乐网页设计材料加字加图片
  • 南京高端网站制作wordpress换轮播图的
  • 河北省建设资格执业中心网站网页策划书
  • 网站备案信息传常州金坛网站建设
  • 专门做蛋糕视频的网站什么网站专门做软件的
  • 做直播网站开发教程新品发布会的目的
  • 淘宝请人做网站被骗小程序入口在哪里
  • 天津建设工程信息网站网站编写
  • 佛山网站建设怎样做山西两学一做网站登录
  • 只做公司网站方案wordpress视频播放系统
  • 网站服务器放置地黄骅烈士
  • 哪个网站做国内销海外的邵阳建网站
  • 青岛学网站建设的学校网站建设简讯
  • 亚马逊网站特点和经营范围中国网站建设公司有哪些方面