c语言程序定义不知数量的一维数组,c语言程序设计10-第6章 利用数组处理批量数据 6.1 怎样定义和引用一维数组.ppt...

c语言程序设计10-第6章 利用数组处理批量数据 6.1 怎样定义和引用一维数组

* 临沂大学汽车学院:韩晓翠 第6章 利用数组处理批量数据 6.1 怎样定义和引用一维数组 授课要点 数组的概念 一维数组的定义和引用 一维数组的初始化和赋值 数组元素的遍历 问题:从键盘输入10个整数,逆序输出这10个数。 void main() {int a0,a1,a2,a3,a4,a5,a6,a7,a8,a9;scanf("%d",&a0); scanf("%d",&a1);scanf("%d",&a2);scanf("%d",&a3);scanf("%d",&a4); …… printf("%d\n",a4);printf("%d\n",a3);printf("%d\n",a2);printf("%d\n",a1);printf("%d\n",a0); } 以上例子中的几个变量 具有相同的数据类型! 数组的概念 数组是一组变量,满足下列条件:(1)具有相同的名字(2)具有相同的数据类型(3)在存储器中连续存放 每个变量名字相同下标不同,称为“数组元素” “数组名”代表整个数组,其值是这组变量在内存中所占连续存储空间的首地址。 数组要先定义后使用。 数组名不能与相同作用域的其他变量名重名 问题 如何定义数组? 如何为数组元素赋值? 如何引用数组元素? 6.1.1 怎样定义一维数组(P143) 一维数组: 只有一个下标的数组 定义形式为:类型说明符 数组名[常量表达式] 例如: int a[10]; 说明 数组名为a 数组中每个元素的数据类型为int类型 10个数组元素,下标从0到9 [ ]内是常量表达式,不能为变量 1、定义能够存放100个整数的数组 2、定义能够存放50个浮点数的数组 3、定义存放一个学生姓名的数组 模仿练习 以下一维数组的定义是否正确? int a[ ]; #define SIZE 100 float b[SIZE]; int n=10; char c[n]; int 2a[10]; 错误,没有指明数组的大小 int a[10]; 正确 ,SIZE是常量,相当于 float b[100]; 错误,定义数组,指定大小不能是变量,应为 int c[10]; 错误,数组名2a 不符合标识符的命名规则 6.1.2 怎样引用一维数组元素(P144) 数组就是一组变量的集合,每个数组元素相当于是一个变量 引用数组元素的表示形式: 数组名[下标] 如:int a[5];所定义的数组就是五个变量的集合,分别是: a[0], a[1],a[2], a[3], a[4] int a[N]; 下标的取值范围:0~N-1 ,其中N为数组的大小 下标是整型值,可以是整型常量、整型变量或整型表达式 如:a[i] a[3+1] a[2*i-1] 定义数组之后,与普通变量一样,数组是没有初始值的,各存储单元的值都是不定的。 初始化:定义数组的同时赋初值 语法: 数据类型说明符 数组名[长度]={数值1,数值2,…}; 如 : int data[10]={0,1,2,3,4,5,6,7,8,9}; 6.1.3 一维数组的初始化(P145) 1、定义并初始化一个float型数组,包含5个元素。 2、定义并初始化一个字符型数组,包含6个元素。 3、定义一个全0的整形数组,包含15个元素。 模仿练习 初始化注意事项: 允许初始化一部分元素,其他没有赋初值的元素初值为0; int a[10]={0,1,2,3,4,5}; 相当于 int a[10]={0,1,2,3,4,5,0,0,0,0}; (2)允许初始化时省略数组的长度,数组的长度为赋初值的个数; int a[ ]={1,2,3,4,5}; 相当于 int a[5]={1,2,3,4,5}; (3)不能对整个数组初始化; int data[5]=1; 错误,应为: int data[5]={1,1,1,1,1}; 一维数组的初始化 数组的赋值只能对数组元素单独操作,不能对数组整体操作。 赋值的两种方式:int a[5]; 赋值运算符 如:a[3]=8; 输入函数 如:scanf("%d",&a[3]); 例:a={1,3,5,7,9}; 错误 a[5] ={1,3,5,7,9}; 错误 例:a=1; 错误,应单独为每个元素赋值 对数组的整体赋值只能在初始化时进行 一维数组的赋值 课首问题的解决 从键盘输入10个整数,保存到数组a中;再逆序输出。 void main() {int a[10];scanf("%

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

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

相关文章

c语言凸包算法,基于C语言的凸包算法实现

基于C语言的凸包算法实现非计算机专业,代码有些的不好的地方,大佬轻喷^ _ ^根据要求,需要使用C语言实现凸包算法——Graham扫描法,本文将从算法理解、实现思路、遇到的问题及其解决方案三个方面来阐述实现过程。算法理解凸包算法G…

VS Code 使用小技巧

所有插件查找地址(https://marketplace.visualstudio.com/) 编码快捷方式(http://docs.emmet.io/cheat-sheet/) 安装插件出现 错误unable to verify the first certificate (无法确认第一证书)   解决方…

android 怎么自定义任务栈,Android中的Activity详解--启动模式与任务栈

目录Activity生命周期任务栈启动模式Intent FlagtaskAffinity属性1.Activityactivity的简单介绍就不写了,作为最常用的四大组件之一,肯定都很熟悉其基本用法了。2.生命周期首先,是都很熟悉的一张图,即官方介绍的Activity生命周期图…

SQL Server--疑难杂症之坑爹的Windows故障转移群集

-- 估计是春节前最后一次写博客,也估计是本年值班最后一次踩雷,感叹下成也SQL SERVER,败也SQL SERVER。 -- 场景描述: 操作系统版本 :Windows Server 2012 数据中心版本 数据库版本 :SQL SERVER 2012 企业版…

android handle 阻塞,Android全面解析之Handler机制:常见问题汇总

主线程为什么不用初始化Looper?答:因为应用在启动的过程中就已经初始化主线程Looper了。每个java应用程序都是有一个main方法入口,Android是基于Java的程序也不例外。Android程序的入口在ActivityThread的main方法中:// 初始化主线…

gulp使用

gulp需要全局安装和当前目录都安装才能使用gulp命令 安装gulp插件 npm install gulp-rev gulp-rev-replace gulp-useref gulp-filter gulp-uglify gulp-csso --save-dev gulp-rev:给每个文件添加版本号,根据文件内容计算hash码,修改文件名&am…

android监听器作用,android - 监听器和接收器(Android)有什么区别?

例如,我需要一个BroadcastReceiver来获取这些事件:重新启动或关机屏幕开或关电池状态(电压,接通电源,温度)物理按钮按下(相机,媒体等)但是我需要监听器来获取以下事件:用于传感器事件(加速度,磁场,方向&…

UML中的6大关系(关联、依赖、聚合、组合、泛化、实现)

UML定义的关系主要有六种:依赖、类属、关联、实现、聚合和组合。这些类间关系的理解和使用是掌握和应用UML的关键,而也就是这几种关系,往往会让初学者迷惑。这里给出这六种主要UML关系的说明和类图描述,一看之下,清晰明…

android 相册 uri空,Android---相册getContentResolver().query结果为空指针

针对小米4手机上测试如下代码:Uri uri data.getData();String[] proj {MediaStore.Images.Media.DATA};//Cursor cursor managedQuery(uri, proj, null, null, null);Cursor cursor getContentResolver().query(uri, proj, null, null, null);cursor.moveToFirs…

用Spark学习FP Tree算法和PrefixSpan算法

在FP Tree算法原理总结和PrefixSpan算法原理总结中,我们对FP Tree和PrefixSpan这两种关联算法的原理做了总结,这里就从实践的角度介绍如何使用这两个算法。由于scikit-learn中没有关联算法的类库,而Spark MLlib有,本文的使用以Spa…

android os n9005,SM-N9005

hkSM-N9005ZKETELSM-N9005{"softwares":[{"description":"SAMSUNG Kies,PC Sync","fileName":"Kies3Setup.exe","fileModifiedDate":"2013年9月11日","fileVersion":"Kies 3.0(13091_39…

性能调优-硬盘方面,操作系统方面,文件系统方面

硬盘对数据库性能的影响 传统机械硬盘 当前大多数数据库使用的都是传统的机械硬盘。机械硬盘的技术目前已非常成熟,在服务器领域一般使用SAS或SATA接口的硬盘。服务器机械硬盘开始向小型化转型,目前已经有大量2.5寸的SAS机械硬盘。 机械硬盘有两个重要的…

chrome Android 80,Chrome OS 80将为Chromebook带来侧载Android应用的支持

如需体验这项功能,需在启动 Crostini 容器时加上一行特殊的命令 —— 从 Chromebook 命令行启动时,请加上 –enable-features ArcAdbSideloading 。最终,我们希望这回成为一项明示的标记(flags)功能。如变更日志所述,用户可通过托…

BZOJ4122 : [Baltic2015]File paths

对于在$o$点的某个询问,有两种情况: 情况1:走到任意一个点$x$然后超链接跳到$o$的某个祖先$y$再走到$o$。 枚举所有$y$看看是否存在$x$即可。 时间复杂度$O(nm)$。 情况2:走到$o$的某个祖先$x$,然后走到$x$子树内某个点…

android 日历仿IOS,基于Android week view仿小米和iphone日历效果

前言最近由于项目需求,要做一个仿小米日历的功能,下面显示一天的日程,header以周为单位进行滑动,github上找了很久也没有找到合适的,但找到一相近的开源项目Android-week-view,它不是我们项目所需要的效果&…

Deque - leetcode 【双端队列】

239. Sliding Window Maximum //大概思路是用双向队列保存数字的下标,遍历整个数组,如果此时队列的首元素是i - k的话,表示此时窗口向右移了一步,则移除队首元素。然后比较队尾元素和将要进来的值,如果小的话就都移除&…

android开源系统brvah,Android Jetpack之通用Adapter(Databinding+BRVAH)

之前发过一个databinding版的通用adapter,能实现一般需求,不过功能比较简陋,实际开发中大家更倾向于使用BRVAH等功能丰富的第三方框架。现在给出一个基于BRVAH的databinding版通用Adapter。BaseAdapterabstract class BaseAdapter(private va…

1、管理员登录中间件和注销

1、根据session去判断用户是否登录,登录后才可以进index首页,否则返回login页面,借助中间件 (1)修改路由 Route::group([middleware > [web,admin.login],prefix>admin,namespace>Admin], function () { //注册一个中间件admin.logi…

HTML阅读打开点击不了,如何让网页文章中的代码可以点击运行

在网页中运行代码HTML5学堂:很多代码网站当中,都会提供运行代码段功能,便于查看代码效果,那么这个是如何实现的呢?一起来看一下——如何在网页中运行代码。HTML5学堂-刘国利said:应该是在2013年的时候&…

angular-cli构建

angular-cli全称Command Line Interface 命令行界面 1使用命令 npm install -g angular-cli 安装angular-cli, 2安装完成后使用cli快速常见一个angular模板, 3ng serve启动项目 4在模板(seed/种子)的基础上进行修改 ############################## 在typescript中引用leanclou…