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

微信商城下载整站优化服务

微信商城下载,整站优化服务,wordpress虚拟支付插件,做网络教育录播网站数组是含有多个数据项的数据结构#xff0c;并且这些数据项都具有相同的数据类型。这些数据项称为数组的元素#xff0c;我们可以根据元素在数组中的位置来选取元素。 最简单的数组就是一维数组。数组元素在内存中是依次排列的#xff0c;如下图所示#xff1a; 声明一个…数组是含有多个数据项的数据结构并且这些数据项都具有相同的数据类型。这些数据项称为数组的元素我们可以根据元素在数组中的位置来选取元素。 最简单的数组就是一维数组。数组元素在内存中是依次排列的如下图所示 声明一个数组我们需要指定数组元素的类型和数量。如 int a[10]; const int* p; // pointer to const 常量指针 int* const p; //constant pointer 指针常量 const int* const p; 数组元素可以是任何类型数组的长度则必须是常量表达式 (能够在编译期间求值的表达式)。因为程序以后可能需要调整数组的长度所以一般情况下我们会使用宏来定义数组的长度 数组索引 我们可以用数组索引来访问数组中的元素。在 C 语言中数组索引是从 0 开始的所以长度为 n 的数组索引范围为 0 ~ n-1。假如 a 是含有 10 个元素的数组那么这些元素可以依次标记为 a[0], a[1], ..., a[9]如下图所示 /* clears a */for (i 0; i N; i) a[i] 0; /* reads data into a */for (i 0; i N; i) scanf(%d, a[i]); /* sums the element of a */for (i 0; i N; i) sum a[i]; C 语言有一个常被人诟病的问题不检查数组索引越界 (why?)。当数组索引越界时程序的行为是未定义的也就是说任何情况都可能发生。 #includeiostream //#includestdio.h using namespace std;void test0(){int arr[] {1, 2, 3};printf(arr[3] %d\n, arr[3]); }int main() {test0();} 数组初始化 数组可以像其它变量一样进行初始化不过数组的初始化需要一些技巧。 数组初始化式最常见的形式是用大括号包含一组常量表达式常量表达式之间用逗号分隔。   int a[10] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 如果初始化式比数组短那么剩余元素被初始化为 0 int a[10] {1, 2, 3, 4, 5, 6}; /* initial value of a is {1, 2, 3, 4, 5, 6, 0, 0, 0, 0} */ 利用这个特性我们很容易把数组元素全部初始化为 0 int a[10] {0}; 注意初始化式不能比数组长也不能完全为空。 如果给定了初始化式我们也可以省略数组的长度 int a[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 对数组使用 sizeof 运算符 我们可以使用 sizeof 运算符确定数组的大小 (字节)。如果数组 a 包含 10 个整数那么 sizeof(a) 的值通常为 40。sizeof 运算符也可以确定数组元素的大小两者相除即得到数组的长度 sizeof(a) / sizeof(a[0]) 这样做有个好处即使日后数组的长度发生改变这个 for 循环是不需要发生变化的。为了可读性和通用性我们往往把 sizeof(a) / sizeof(a[0]) 定义为带参数的宏 #define SIZE(a) (sizeof(a) / sizeof(a[0])) ... for (i 0; i SIZE(a); i) a[i] 0; 【练】用户输入初始金额利率和投资年数程序将打印一张表格。表格将显示输入的利率以及紧随其后 4 个更高利率下的总金额。程序的会话如下 #includeiostream //#includestdio.h using namespace std;void test0(){double init_balance, rate;int years;coutEnter initial balance:;cininit_balance;coutEnter initial rate:;cinrate;coutEnter number of years:;cinyears;cout\nYears ;for(int i 0; i 5; i){//coutirate% ;printf(%5.2lf%%, irate);}coutendl;double value[5];for(int i 0; i 5; i)value[i] init_balance;for(int j 1; j years; j){coutj ;for(int i 0; i 5; i){ value[i] value[i] * (ratei)/100;printf(%7.2lf,value[i]); }coutendl;}}int main() {test0();return 0; } 多维数组 数组可以有任意维数。其中最常用的是一维数组其次是二维数组一般很少见到更高维的数组。如下我们声明了一个二维数组 (类似数学上的矩阵)   int matrix[5][9]; 数组 matrix 有 5 行 9 列且行和列的索引都是从 0 开始的如下图所示 就像一维数组和 for 循环是好伙伴一样二维数组和嵌套的 for 循环是好伙伴。例如我们可以通过下面的方式创建一个维度为 10 的单位矩阵 #define N 10 double identity[N][N]; int row, col;for (row 0; row N; row) for (col 0; col N; col)     if (row col)  identity[row][col] 1.0; else         identity[row][col] 0.0; 多维数组初始化 通过嵌套一维数组初始化式我们可以构建二维数组的初始化式 int matrix[5][9] {{1, 1, 1, 1, 1, 0, 1, 1, 1},                   {0, 1, 0, 1, 0, 1, 0, 1, 0},                   {0, 1, 0, 1, 1, 0, 0, 1, 0},                   {1, 1, 0, 1, 0, 0, 0, 1, 0},                   {1, 1, 0, 1, 0, 0, 1, 1, 1}}; 更高维数组的初始化式可以采取类似的方法构建,C 语言提供了多种方法来简化多维数组的初始化。 如果初始化式的长度不够那么剩余元素被初始化为 0。如下面的初始化式只填充了数组的前 3 行后面 2 行将被初始化为 0。 int matrix[5][9] {{1, 1, 1, 1, 1, 0, 1, 1, 1},                   {0, 1, 0, 1, 0, 1, 0, 1, 0},                   {0, 1, 0, 1, 1, 0, 0, 1, 0}}; 如果内层初始化式不足以填满数组的一行那么这一行剩余的元素会被初始化为 0。 int matrix[5][9] {{1, 1, 1, 1, 1, 0, 1, 1, 1},                   {0, 1, 0, 1, 0, 1, 0, 1},                   {0, 1, 0, 1, 1, 0, 0, 1},                   {1, 1, 0, 1, 0, 0, 0, 1},                   {1, 1, 0, 1, 0, 0, 1, 1, 1}}; 甚至我们可以省略内存的大括号 (不推荐)。 int matrix[5][9] {1, 1, 1, 1, 1, 0, 1, 1, 1,                    0, 1, 0, 1, 0, 1, 0, 1, 0,                    0, 1, 0, 1, 1, 0, 0, 1, 0,                    1, 1, 0, 1, 0, 0, 0, 1, 0,                   1, 1, 0, 1, 0, 0, 1, 1, 1}; 编译器一旦发现值足以填满一行它就开始填充下一行。 注意在初始化式中省略内层大括号是非常危险的因为不小心多写或者少写一个值都会影响后面元素的初始化。   常量数组  无论是一维数组还是二维数组我们都可以在声明时加上const修饰符而变成 常量 const char hex_chars[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}; 程序在运行期间不会对数组进行修改。 const不仅仅可以修饰数组它可以修饰任意变量。但是const在数组声明中特别有用因为数组经常包含一些不会发生改变的信息。编译器酌情进行优化运行效率更高。 【练】写一个随机发牌的程序。用户指定发几张牌程序打印手牌。程序的会话如下
http://www.pierceye.com/news/586293/

相关文章:

  • 广州网站制作实力乐云seowordpress 评论模块
  • 永久免费制作网站木门行业做网站有什么好处
  • 怎么区分模板网站wordpress菜单怎么建
  • 网站开发最新效果企业手机网站建
  • 网站群管理系统哪个好wordpress制作会员功能
  • 做套现网站网站的访问量
  • 做网站网页需要学些什么做网站学的什么专业
  • 建设银行的官方网站纪念币公司宣传页设计印刷
  • 网站左侧图片悬浮代码常州工厂网站建设
  • 智慧团建网站怎么转团关系app制作开发小程序制作开发
  • 誉字号网站wordpress 展示模板下载
  • 网站不接入备案成都市建设工程质量协会网站
  • 企业网站html网站开发济南招聘
  • 网站html优化方法音乐网站开发参考文献
  • 网站建设及推广方案ppt模板微信小程序开发工具下载哪个版本
  • 固安县城乡和住房建设局网站科技公司手机端网站
  • 寿光网站建设思科企业网络拓扑图
  • 中国建设银行河南省分行网站建筑人才服务中心官网
  • 响应式app网站模板单页淘宝客网站2014年行吗
  • 西安网站推广优化高端定制网站开发设计建站流程
  • m版网站开发公司如何做网络推广营销
  • 济宁商城网站开发设计网址源码在线查看
  • 网站建设公司介绍百度电脑怎么用wordpress
  • 宛城区网站建设广东seo推广方案
  • 北京建网站定制价格网站风格总结
  • 如何建设一个购物网站wordpress 优酷插件
  • 你们网站做301网站开发规模和工作量的计算
  • 班级网站建设甘肃住房和城乡建设厅网站
  • 网站建设哪家性价比高住房和城乡建设部网站办事大厅里边
  • 外贸小语种网站建设深圳市保障性住房申请官网