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

大通县wap网站建设公司做期货与做网站的关系

大通县wap网站建设公司,做期货与做网站的关系,徐州建设局工程交易网,深圳网站建设价格多少一、前言 通过前面的学习#xff0c;我们已了解C语言的结构变量、分支结构和循环结构。今天#xff0c;我们一起来认识C语言的另一知识点——数组。先赞后看#xff0c;养成习惯。 二、数组概念 学习数组#xff0c;我们要明白数组是什么。在我看来#xff1a;数组是⼀组…一、前言 通过前面的学习我们已了解C语言的结构变量、分支结构和循环结构。今天我们一起来认识C语言的另一知识点——数组。先赞后看养成习惯。 二、数组概念 学习数组我们要明白数组是什么。在我看来数组是⼀组相同类型元素的集合。 从这句话中我们可以提取到如下的信息 数组可以存放相同的数据且类型相同。        数组的1元素个数不为零。 数组分为⼀维数组和多维数组多维数组⼀般⽐较多⻅的是⼆维数组。 三、一维数组 3.1 一维数组的创建 存放在数组的值被称为数组的元素数组在创建的时候可以指定数组的⼤⼩和数组的元素类型。        类型说明符就是我们常用的存储类型如int 、short、char......当然也可以自定义类型。        数组名就是自取的名字要取得方便阅读。        []是用来确定数组大小的可根据需要而定。 基本创建语法如下 ​int arr1[0];//0表示元素个数short arr2[0];char arr3[0];float arr4[0];double arr5[01];//表达式形式也可以​ 3.2 一维数组的初始化 在创建数组的时候我们需要对数组进行初始化那我们该如何进行初始化呢且听我细细道来 在进行初始化时我们一般使用大括号的形式即把数据放入大括号中。 初始化有分为完全初始化和不完全初始化。 那什么是完全初始化什么又是不完全初始化呢可这样理解假如你家有五口人每个人都能分到一包饼干这就是完全初始化反之则是不完全初始化。在我们写代码过程中大多数都是用不完全初始化。 代码如下 ​​int arr1[0] { 0 };//完全初始化int arr2[2] { 0 };//不完全初始化int arr3[3] { 00 ];//不完全初始化int arr4[5];//错误初始化在VS中会报错​​ 3.3一维数组的类型  数组的类型就是去除数组名就是其类型以上述代码为例 ​ ​​int arr1[0] { 0 };//数组类型为int [0]int arr2[2] { 0 };//数组类型为int [2]char arr3[3] { 00 ];//数组类型为 char [3]​​​ 3.4 一维数组的使用  在学习完基本的语法后我们就要学习对其使用了一维数组可以存放数据存放数据的⽬的是对数据的操作那我们该如何使用呢 3.4.1 数组下标 C语⾔规定数组是有下标的下标是从0开始的假设数组有n个元素最后⼀个元素的下标是n-1下 标就相当于数组元素的编号如下 在C语⾔中数组的访问提供了⼀个操作符 [] 这个操作符叫下标引⽤操作符。 有了下标访问操作符我们就可以轻松的访问到数组的元素了. 3.4.2 数组的打印 大家是不是现在很好奇一维数组是怎么打印的。在这里提供两种方法 法一 #include stdio.h int main() {char arr[] 123456;printf(%s, arr);return 0; } %s可以打印字符串因此可以采用此方法。 法二 #include stdio.h int main() {char arr[6] { 1,2,3,4,5,6 };int i 0;for (i 0; i 6; i){printf(%d, arr[i]);}return 0; } 此方法用之前学习过的for循环运用循环的方式逐个打印。 3.4.3 数组的输入  明白了打印自然就明白了输入这里仍提供两种方法。 法一 #include stdio.h int main() {int arr[2] { 1,2 };int i 0;for (i 0; i 2; i){scanf(%d, arr[i]);}for (i 0; i 2; i){printf(%d, arr[i]);}return 0; } 整体思路和上述法二一样运用for循环进行输入及打印。 法二 可借助gets进行输入。代码如下 #include stdio.h int main() {char arr[2] { 0 };int i 0;gets(arr);printf(%s, arr);return 0; } 3.4.4 数组的存储 有了前⾯的知识我们其实使⽤数组基本没有什么障碍了如果我们要深⼊了解数组我们最好能了 解⼀下数组在内存中的存储。 #include stdio.h int main() {int arr[10] { 1,2,3,4,5,6,7,8,9,10 };int i 0;for (i 0; i 10; i){printf(arr[%d] %p\n , i, arr[i]);}return 0; } 结果如下 从输出的结果我们分析数组随着下标的增⻓地址是由⼩到⼤变化的并且我们发现每两个相邻的 元素之间相差4因为⼀个整型是4个字节。所以我们得出结论数组在内存中是连续存放的。 四、二维数组  前⾯学习的数组被称为⼀维数组数组的元素都是内置类型的如果我们把⼀维数组做为数组的元 素这时候就是⼆维数组⼆维数组作为数组元素的数组被称为三维数组⼆维数组以上的数组统称 为多维数组。 4.1二维数组的创建及初始化 我们已学习了一维数组的创建及初始化那⼆维数组如何初始化呢像⼀维数组⼀样也是使⽤⼤括号初始化的。 类比一维数组的定义只不过二维数组第一个常量表达式表示行第二个常量表达式表示列。 int arr[5][5];//创建五行五列的二维数组 char arr2[3][5];//字符型二维数组 float arr3[4][5];//浮点型二维数组 其初始化与一维数组大致一样都分为完全初始化和不完全初始化。 int arr1[3][5] {1,2};//不完全初始化 int arr2[3][5] {0};//不完全初始化 int arr3[3][5] {1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7};//完全初始化 int arr4[3][5] {{1,2},{3,4},{5,6}};//按照⾏初始化 int arr5[][5] {1,2,3};//初始化时省略⾏但是不能省略列 4.2 ⼆维数组的使⽤  4.2.1 ⼆维数组的下标 当我们掌握了⼆维数组的创建和初始化那我们怎么使⽤⼆维数组呢 其实⼆维数组访问也是使⽤下标的形式的⼆维数组是有⾏和列的只要锁定了⾏和列就能唯⼀锁定 数组中的⼀个元素。 C语⾔规定⼆维数组的⾏是从0开始的列也是从0开始的如下所⽰ int arr[3][5] {1,2,3,4,5, 6,7,8,9,10, 11,12,13,14,15}; 4.2.2 二维数组的输入和输出 访问⼆维数组的单个元素我们知道了那如何访问整个⼆维数组呢 其实我们只要能够按照⼀定的规律产⽣所有的⾏和列的数字就⾏以上⼀段代码中的arr数组为例⾏ 的选择范围是0~2列的取值范围是0~4所以我们可以借助循环实现⽣成所有的下标。  int main() {int arr[3][5] { 1,2,3,4,5, 6,7,8,9,10, 11,12,13,14,15 };int i 0;for(i 0; i 3; i){int j 0;for (j 0; j 5; j){printf(%d, arr[i][j]);}printf(\n);}return 0; } 结果如下 4.2.3 ⼆维数组在内存中的存储  像⼀维数组⼀样我们如果想研究⼆维数组在内存中的存储⽅式我们也是可以打印出数组所有元素 的地址的。代码如下 #includestdio.h int main() {int arr[3][5] { 1,2,3,4,5, 6,7,8,9,10, 11,12,13,14,15 };int i 0;for(i 0; i 3; i){int j 0;for (j 0; j 5; j){printf(%p\n, arr[i][j]);}printf(\n);}return 0; } 结果如下 从输出的结果来看每⼀⾏内部的每个元素都是相邻的地址之间相差4个字节跨⾏位置处的两个元 素如arr[0][4]和arr[1][0]之间也是差4个字节所以⼆维数组中的每个元素都是连续存放的。  五、数组练习 多个字符从两端移动向中间汇聚 编写代码演⽰多个字符从两端移动向中间汇聚 分析 若要完成此题需要借个操作符strlen和函数Sleep。 一下是解释 C语言中的 sleep 函数可以让当前线程暂停执行一段时间通常用于模拟实际运行环境下的等待或延时操作。在 Windows 和 Linux 等主流操作系统中sleep 函数的实现方式略有不同但其基本原理都是通过让线程进入睡眠状态来实现等待或延时的效果。 其中seconds 参数表示线程需要暂停的秒数。sleep 函数返回值为 0表示线程成功地暂停了指定的秒数如果 sleep 函数被其他信号打断则返回值为剩余需要暂停的秒数。 需要注意的是sleep 函数的参数类型为 unsigned int而不是浮点数类型。如果需要暂停小于 1 秒的时间可以使用 usleep 函数它的参数类型为微秒unsigned int可以精确地控制线程的等待时间。         在每次输出之后使用 sleep 函数暂停 1 秒模拟实际运行环境下的延时操作。需要注意的是在使用 sleep 函数时应该将输出立即刷新到控制台上否则可能会出现输出延迟的情况。 另外需要注意的是sleep 函数会让当前线程进入睡眠状态因此在调用 sleep 函数时应该确保当前线程已经完成了所有需要执行的操作否则可能会导致程序出现不可预测的结果。同时需要注意不要在循环中频繁地调用 sleep 函数否则可能会降低程序的性能影响程序的正常运行。 需要注意的是在不同的操作系统中sleep 函数的精度和可靠性可能会有所不同。在一些嵌入式系统中sleep 函数的精度可能会受到系统时钟精度的限制导致实际暂停的时间可能会比预期的时间短。因此在使用 sleep 函数时应该根据实际需要选择合适的等待时间并且在代码中添加必要的异常处理机制以确保程序的稳定性和可靠性。 总的来说strlen是计算长度的sleep是延迟打印。  可参考如下代码  #define _CRT_SECURE_NO_WARNINGS 1​ #include stdio.h int main() {char arr1[] hello,world ;char arr2[] ########### ;int left 0;int right strlen(arr2) - 1;while (left right){Sleep(1000);arr2[right] arr1[right];arr2[left] arr1[left];left;right--;printf(%s\n, arr2);}return 0; } 结果如下 六、最后 今天的学习到这里就结束了如果有什么问题可以留言我会尽我所能为你解答。 完
http://www.pierceye.com/news/113653/

相关文章:

  • 网站开发文档是什么概念注册个体户
  • 双井做网站的公司app开发和网站开发价格
  • 电梯企业网站制作中山网站建设电话
  • 做网站推广哪些跨境电商平台企业
  • 域名注册网站推荐方案模板
  • 亚运村网站建设北京工商注册官网
  • sql2005做网站书店网站建设人员分配
  • 工商局网站怎么做股东实名认证石家庄网站建设公司怎么样
  • 做公众号的模版的网站国内网站做国外服务器
  • 做国际网站的上海高端网站公司wordpress 4.9.6 下载
  • 学校集约网站建设最牛餐饮营销手段
  • wordpress影视站网站太花哨
  • 青岛 机械 中企动力提供网站建设小说网站怎么做空间小
  • 通江县网站建设做网站到八方资源网怎么样
  • 国家网站建设ssh架构jsp网站开发
  • 浦东新区手机网站设计网络营销做得好的产品
  • 浙江市建设网站市场监督管理局电话举报电话
  • 企业网站的建设的功能定位菏泽百度推广公司电话
  • linux系统怎么做网站女生去住建局好不好
  • 自己搭建环境建设网站网站开发温州
  • 下沙做网站软件erp系统的主要功能
  • 郑州网站建设专家最新手机排行榜2021
  • 宠物店网站建设策划书重庆网站建设 红旗河沟
  • 一般网站自己可以做播放器吗最简单的一个网站开发
  • 网站的开发商务网站安全方案设计
  • 如何建立网站教材漳诈网站建设
  • 开家网站设计公司广州网站建设app开发
  • 建站服务公司网站源码成都游戏外包公司排名
  • 呼伦贝尔网站建设呼伦贝尔astro wordpress
  • 做网站需要好多钱专业制作广告字