襄阳网站建设xytzg网站建设税率是多少

diannao/2026/1/18 14:27:46/文章来源:
襄阳网站建设xytzg,网站建设税率是多少,商店网站在线设计,求推荐个网站#x1f341; 博客主页:江池俊的博客 #x1f4ab;收录专栏#xff1a;C语言——探索高效编程的基石 #x1f4bb; 其他专栏#xff1a;数据结构探索 #x1f4a1;代码仓库#xff1a;江池俊的代码仓库 #x1f3aa; 社区#xff1a;C/C之家社区 #x1f341; 如果觉…  博客主页:江池俊的博客 收录专栏C语言——探索高效编程的基石  其他专栏数据结构探索 代码仓库江池俊的代码仓库  社区C/C之家社区  如果觉得博主的文章还不错的话请点赞收藏 三连支持一下博主 目录 一、一维数组的创建和初始化 1.1 数组的创建  1.2 数组的初始化 1.3 一维数组的使用  1.4 一维数组在内存中的存储  二、二维数组的创建和初始化  2.1 二维数组的创建 2.2 二维数组的初始化 2.3 二维数组的使用  2.4 二维数组在内存中的存储  三、 数组越界  四、数组作为函数参数 4.1 冒泡排序函数的错误设计 4.2 数组名是什么 4.3 冒泡排序函数的正确设计 思路 一、一维数组的创建和初始化 1.1 数组的创建  数组是一组相同类型元素的集合。 数组的创建方式 type_t arr_name [const_n]; //type_t 是指数组的元素类型 //const_n 是一个常量表达式用来指定数组的大小 数组创建的实例 //代码1 int arr1[10]; //代码2 int count 10; int arr2[count];//数组时候可以正常创建 //代码3 char arr3[10]; float arr4[1]; double arr5[20];注数组创建在C99标准之前 [] 中要给一个常量才可以不能使用变量。在C99标准支持了变长数组的概念。  1.2 数组的初始化 数组的初始化是指在创建数组的同时给数组的内容一些合理初始值初始化。 看代码 int arr1[10] {1,2,3}; int arr2[] {1,2,3,4}; int arr3[5] {12345} char arr4[3] {a,98, c}; char arr5[] {a,b,c}; char arr6[] abcdef; 数组在创建的时候如果想不指定数组的确定的大小就得初始化。数组的元素个数根据初始化的内容来确定。 但是对于下面的代码要区分内存中如何分配。  char arr1[] abc; char arr2[3] {a,b,c}; 对于 arr1 数组使用双引号括起来的字符串常量 abc 会自动在末尾添加一个空字符 \0因此 arr1 数组的大小为 4包括字符 a, b, c 和空字符 \0。  Memory layout for arr1: | a | b | c | \0 |对于 arr2 数组使用花括号括起来的字符列表是没有自动添加空字符 \0 的因此 arr2 数组的大小是 3只包括字符 a, b, c。 Memory layout for arr2: | a | b | c |需要注意的是arr1 和 arr2 在初始化方式上有区别 ▪️arr1 是用字符串常量进行初始化编译器会自动根据字符串常量的长度为其分配足够的空间并   在末尾添加一个空字符 \0确保它是以 null-terminated 形式存储的。 ▪️arr2 是用字符列表进行初始化只会把指定的字符存储在数组中不会自动添加空字符 \0。 因此在使用这两个数组时需要注意它们的大小和内存布局。对于字符串处理通常建议使用 arr1 这样以 null-terminated 形式存储的字符数组这样可以方便使用标准字符串函数。而 arr2 则更适用于需要明确指定字符内容的情况但需要特别注意不要访问超过数组大小的索引否则可能导致未定义行为。  1.3 一维数组的使用  对于数组的使用我们之前介绍了一个操作符 [] 下标引用操作符。它其实就数组访问的操作符。 我们来看代码 #include stdio.h int main() {int arr[10] {0};//数组的不完全初始化//计算数组的元素个数int sz sizeof(arr)/sizeof(arr[0]);//对数组内容赋值,数组是使用下标来访问的下标从0开始。所以int i 0;//做下标for(i0; i10; i)//这里写10表示数组元素个数{arr[i] i;} //输出数组的内容for(i0; i10; i){printf(%d , arr[i]);}return 0; } 总结:  1. 数组是使用下标来访问的下标是从0开始。 2. 数组的大小可以通过计算得到。 int arr[10]; int sz sizeof(arr)/sizeof(arr[0]);//sizeof计算的是字节数 1.4 一维数组在内存中的存储  看代码 #include stdio.h int main() {int arr[10] {0};int i 0;int sz sizeof(arr)/sizeof(arr[0]);for(i0; isz; i){printf(arr[%d] %p\n, i, arr[i]);}return 0; } 运行结果  仔细观察输出的结果我们知道随着数组下标的增长元素的地址也在有规律的递增。 由此可以得出结论数组在内存中是连续存放的。 二、二维数组的创建和初始化  2.1 二维数组的创建 //数组创建 int arr[3][4]; char arr[3][5]; double arr[2][4];2.2 二维数组的初始化 //数组初始化 int arr[3][4] {1,2,3,4};//数组元素1234 0000 0000 int arr[3][4] {{1,2},{4,5}};//数组元素1200 4500 0000 int arr[][4] {{2,3},{4,5}};//二维数组如果有初始化行可以省略列不能省略 //数组元素2300 4500 2.3 二维数组的使用  二维数组的使用也是通过下标的方式。 看代码 #include stdio.h int main() {int arr[3][4] { 0 };int i 0;for (i 0; i 3; i){int j 0;for (j 0; j 4; j){arr[i][j] i * 4 j;}}for (i 0; i 3; i){int j 0;for (j 0; j 4; j){printf(%-2d , arr[i][j]);}printf(\n);}return 0; } 运行结果 2.4 二维数组在内存中的存储  像一维数组一样这里我们尝试打印二维数组的每个元素地址。 #include stdio.h int main() {int arr[3][4];int i 0;for(i0; i3; i){int j 0;for(j0; j4; j){printf(arr[%d][%d] %p\n, i, j,arr[i][j]);}}return 0; } 运行结果  通过结果我们可以分析到其实二维数组在内存中也是连续存储的。 三、 数组越界  数组的下标是有范围限制的。 数组的下规定是从0开始的如果数组有n个元素最后一个元素的下标就是n-1。 所以数组的下标如果小于0或者大于n-1就是数组越界访问了超出了数组合法空间的访问。 C语言本身是不做数组下标的越界检查编译器也不一定报错但是编译器不报错并不意味着程序就 是正确的 所以程序员写代码时最好自己做越界的检查。 以下代码是一维数组的越界  #include stdio.h int main() {int arr[10] {1,2,3,4,5,6,7,8,9,10};int i 0;for(i0; i10; i){printf(%d\n, arr[i]);//当i等于10的时候越界访问了}return 0; } 同理二维数组的行和列也可能存在越界。  四、数组作为函数参数 往往我们在写代码的时候会将数组作为参数传个函数比如我要实现一个冒泡排序这里要讲算法 思想函数将一个整形数组排序。 4.1 冒泡排序函数的错误设计 冒泡排序Bubble Sort是一种简单的排序算法其基本思想是重复地遍历要排序的数组每次比较相邻两个元素如果它们的顺序错误则交换它们直到整个数组排序完成为止。排序过程中较大的元素会像气泡一样逐步上浮到正确的位置因此得名冒泡排序。 //方法1 #include stdio.h void bubble_sort(int arr[]) {int sz sizeof(arr)/sizeof(arr[0]);//这样对吗int i 0;for(i0; isz-1; i){int j 0;for(j0; jsz-i-1; j){if(arr[j] arr[j1]){int tmp arr[j];arr[j] arr[j1];arr[j1] tmp;}}} } int main() {int arr[] {3,1,7,5,8,9,0,2,4,6};bubble_sort(arr);//是否可以正常排序for(int i0; isizeof(arr)/sizeof(arr[0]); i){printf(%d , arr[i]);}return 0; }方法1出现问题那我们找一下问题调试之后可以看到 bubble_sort 函数内部的 sz 是1。 难道数组作为函数参数的时候不是把整个数组的传递过去  4.2 数组名是什么 下面带你玩转数组名 #include stdio.h int main() {int arr[10] {1,2,3,4,5};printf(%p\n, arr);printf(%p\n, arr[0]);printf(%d\n, *arr);//输出结果return 0; } 运行结果  结论 数组名是数组首元素的地址。有两个例外 但是如果数组名是首元素地址那么 int arr[10] {0}; printf(%d\n, sizeof(arr)); 为什么输出的结果是40  补充 sizeof(数组名)计算整个数组的大小sizeof内部单独放一个数组名数组名表示整个数 组。 数组名取出的是数组的地址。数组名数组名表示整个数组。 总结除补充的两种情况之外所有的数组名都表示数组首元素的地址。  4.3 冒泡排序函数的正确设计 思路 1.从数组的第一个元素开始比较相邻的两个元素。如果第一个元素比第二个元素大升序     排序则交换这两个元素的位置使得较大的元素“冒泡”到右侧。 2.继续比较后续的相邻元素重复上述操作直到最后一个元素。 3.一轮遍历完成后最大的元素将会被“冒泡”到数组的最后一个位置。 4.然后从数组的第一个元素开始进行下一轮遍历但这次不需要考虑已经排序好的最后一     个元素。 5.重复上述过程直到所有元素都排序完成。 冒泡排序是一个简单但效率较低的排序算法其时间复杂度为O(n^2)其中n是数组的大       小。由于其效率较低通常不推荐在大规模数据上使用但对于小规模的数据或是教学         示例冒泡排序仍然是一种简单易懂的排序算法。  当数组传参的时候实际上只是把数组的首元素的地址传递过去了。 所以即使在函数参数部分写成数组的形式 int arr[] 表示的依然是一个指针 int *arr 。 那么函数内部的 sizeof(arr) 结果是4。 所以在传参时我们需要多传递一个变量它表示的是数组的大小。 //方法2 #includestdio.h void bubble_sort(int arr[], int sz)//参数接收数组元素个数 {int i 0;for (i 0; i sz - 1; i){int j 0;for (j 0; j sz - i - 1; j){if (arr[j] arr[j 1]){int tmp arr[j];arr[j] arr[j 1];arr[j 1] tmp;}}} } int main() {int arr[] { 3,1,7,5,8,9,0,2,4,6 };int sz sizeof(arr) / sizeof(arr[0]);printf(冒泡排序前\n);for (int i 0; i sz; i){printf(%d , arr[i]);}printf(\n);bubble_sort(arr, sz);printf(冒泡排序后\n);for (int i 0; i sz; i){printf(%d , arr[i]);}printf(\n);return 0; } 运行结果  以上就是数组的全部内容学完数组后大家可以尝试去写三子棋和扫雷这两个有意思的小游戏相信大家能够拿下这两个小游戏大家也可以参考我写的三子棋和扫雷⏩ 三子棋  【C语言】三子棋----详解    扫雷 【C语言】三子棋----详解 今天的分享就到这里如果觉得博主的文章还不错的话请三连支持一下博主哦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/90667.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

福田商城网站建设wordpress后台登录路径

目录 泛型的理解: 在ArrayList中使用泛型: 在Map中使用泛型: 在接口中使用泛型: 自定义泛型类/接口与自定义泛型方法 自定义类/接口: 关于泛型类的子类: 注意点: 注意点: 自…

傻瓜式网站开发工具怎么在网站做视频接口

1.创建一个Navigation—based—Application项目,这样Interface Builder中会自动生成一个Table View,然后将Search Bar拖放到表示图上,以我们要给表示图添加搜索功能,不要忘记将Search Bar的delegate连接到File‘s Owner项&#xf…

wordpress网站部署建外贸企业网站

YOLO水稻病害识别/分类数据集,包含疾病和正常2类,共2000多张图像,yolo标注完整,可直接训练。 适用于CV项目,毕设,科研,实验等 需要此数据集或其他任何数据集请私信

.net 网站模板下载地址友链查询站长工具

一、前言 在检索增强生成(Retrieval-Augmented Generation, RAG)的框架下,重排序(Re-Rank)阶段扮演着至关重要的角色。该阶段的目标是对初步检索得到的大量文档进行再次筛选和排序,以确保生成阶段能够优先…

学网站开发多少钱宁波网站制作网站

一、SQLPlus查询的结果,可以根据自己的屏幕情况进行调节:我们知道sqlplus模式下,select查询的时候经常会遇到返回的记录折行,这时候我们往往会设置行宽,列宽和页面记录。设置行宽:set linesize 200 表示行宽被设置为20…

一级a做爰全过程网站网站图片展示源代码

目录 1、TypeScript 接口 1.1、实例 1.2、联合类型和接口 1.3、接口和数组 1.4、接口和继承 1.5、单继承实例 1.6、多继承实例 2、TypeScript 对象 2.2、对象实例 2.3、TypeScript类型模板 2.4、鸭子类型(Duck typing) 1、TypeScript 接口 接口…

企业百度网站怎么做wordpress又拍云cdn伪静态

FluentAspects -- 基于 Fluent API 的 AopIntro上次我们做了一个简单的 AOP 实现示例,但是实现起来主要是基于 Attribute 来做的,对于代码的侵入性太强,于是尝试实现基于 Fluent API 的方式来做 AOP 。抽象 InterceptorResolver原来获取方法执…

时尚杂志网站设计分析软件技术外包是什么行业

▪查看某目录下所有文件的个数:[rootlocalhost1 opt]# ls -l |grep "^-"|wc -l▪查看某目录下所有文件的个数,包括子目录里面的:[rootlocalhost1 opt]# ls -lR|grep "^-"|wc -l▪查看某目录下文件夹(目录)的个数&#xf…

陕西住房与城乡建设部网站网络优化有哪些主要流程

问题: 路由传参一直不能获取到参数, 未出现报错 原因: 混淆 query 和 params 的使用方法, 在使用 params 传参时错误的使用了 path 代码: 正确写法1: 使用path要对应query ...this.$router.push({path: /Health,query: {title:…

如何做网站内页排名详细网站设计需求表

文章目录 深度生成模型之GAN基础生成对抗网络1. 生成对抗网络如何生成数据2. 生成对抗原理3. GAN的核心优化目标4. D的优化5. GAN的理想状态6. GAN的训练7. 梯度不稳定与模式崩塌(collapse mode)问题8. 梯度消失问题 深度生成模型之GAN基础 生成对抗网络 1. 生成对抗网络如何…

xyz溢价域名最好的网站网站建设一点通

相信很多博友在开发初次接触学习C# winForm时,当窗体大小变化时,窗体内的控件并没有随着窗体的变化而变化,最近因为一个项目工程的原因,也需要解决这个问题。通过查阅和学习,这个问题得到了解决,或许不是很…

服务器 空间 虚拟主机 网站需要低价网站建设新闻

搜索算法例子 搜索算法是计算机科学中的重要部分,用于在数据集合中查找特定元素。这些搜索算法在不同场景中有不同的应用和性能表现,通过选择合适的搜索算法,可以提高程序的性能和效率。线性搜索:适用于小型、无序数据集。二分搜索:适用于大型、有序数据集。深度优先搜索(…

徐州祥云做网站网站空间排名

本文转载自公众号 PaperWeekly, 对我们近期的论文浅尝进行了精选整理并附上了相应的源码链接,感谢 PaperWeekly!TheWebConf 2018■ 链接 | https://www.paperweekly.site/papers/1956■ 解读 | 花云程,东南大学博士,研究方向为自然…

连云港建设部网站自做美食哪些网站

一、工程问题与学术研究的常规融合方法 工程问题与学术研究的融合通常体现在“产学研结合”的模式中,具体策略如下: 1. 需求导向:从实际工程问题出发,明确科研目标。在解决工程问题的过程中,识别出需要进一步研究的基…

网站建设课程设计报告总结网站的管理包括

场景 业务上有许多发送邮件的场景,发送的邮件基本上都是自动发送的,而且邮件内容是很重要的,对于邮件发没发送,发送的时间点对不对每次回归测试工作量太大了,所以考虑把这部分内容加入到自动化测试中 工具 python g…

东坑网页设计东莞seo网络营销策划

vue中keep-alive组件主要有三个常用的props。 1,include存放的name是组件自身的name属性,只有名称匹配的组件会被缓存2,exclude,任何名称匹配的组件都不会被缓存3,max,最多可以缓存多少组件实例&#xff0…

网站内容上传要求中天钢铁 网站建设

使用腾讯云服务器搭建网站全流程,包括轻量应用服务器和云服务器CVM建站教程,轻量可以使用应用镜像一键建站,云服务器CVM可以通过安装宝塔面板的方式来搭建网站,腾讯云服务器网txyfwq.com整理使用腾讯云服务器建站教程,…

网上停车场做施工图人员网站内蒙古赤峰市信息网官网

点击此处查看原题​​​​​​​ *思路:首先要求 00 11 尽可能的多,所以尽可能多的多配对,配对只在i , i 1之间发生,所以只需要关注str[i] 和 str[i 1]即可,如果str[i] str[i 1] ,那么一定配对&#x…

怎么建个废品网站投资建设网站

一、前言这几年前端的发展速度就像坐上了火箭,各种的框架一个接一个的出现,需要学习的东西越来越多,分工也越来越细,作为一个 .NET Web 程序猿,多了解了解行业的发展,让自己扩展出新的技能树,对…

做网站在手机显示怎么很乱太原建站

一 中断线程 1.1 中断概念 1.在java中,没有提供一种立即停止一条线程。但却给了停止线程的协商机制-中断。 中断是一种协商机制。中断的过程完全需要程序员自己实现。也即,如果要中断一个线程,你需要手动调用该线程的interrupt()方法&…