A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 18518902001 中级黑马   /  2015-8-16 13:19  /  626 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//------------------整型变量修饰符
修饰符(int shortlong long long signed unsigned)
所有修饰符都是用来修整形
int         4
short %hd   2
long %ld   8
long long   8(32位)
用来改变一个整形变量的存数空间
用来改变整形变量的符号
signed 表示是有符号的(默认的就是有符号数)
unsigned 表示是一个无符号的数 (正数的取值范围会扩大一倍) %u
//--------------------char类型数据存储
存储原理
char a='a' ----->取出'a'的ASCII码值,97,然后转换2进制,存储在一个字节中
注意事项
1)当把一个字符赋值给一个char类型变量,那么系统首先查这个字符所对应的ASCII码,然后把
这个ASCII值放到变量中
2)根据变量中存储的ASCII值,去查ASCII表中对应字符,然后把这个字符打印控制台上,整形和字符型可以互相转换。
3)char z = '我'; char字节,一个中文字符占3字节(unicode表),所有char不可以存储中文
4)不支持多个字符,多个字符是字符串
char two = 'ac';printf("%c\n",two);
//------------------1)输入一个小写字母,要求转换成大写输出
A 65 a 97 差了32
//------------------数组的基本概念及分类
把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组
在C语言中,数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。
数组的几个名词
1)数组:一组具有相同数据类型的数据的有序的集合
2)数组元素:构成数组的数据。数组中的每一个数组元素具有相同的名称,不同的下标,可以作 为单个变量使用,所以也称为下标变量。
3)数组的下标:是数组元素的位置的一个索引或指示。
4)数组的维数:数组元素下标的个数。根据数组的维数可以将数组分为一维、二维、三维、多维数组。
存储
按类型不同划分
数值数组  字符数组  指针数组  结构数组
按维度分类
//----------------------一维数组
如果一个数组的所有元素都不是数组,那么该数组称为一维数组
定义
类型说明符 数组名[常量表达式];
//---------------------注意点
1) 数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相
同的。第一个数组元素的地址是数组所占内存块的首地址
2) 数组名的书写规则应符合标识符的书写规定。 命名规则:
1、只能由字母、数字、下划线组成
2、不能数字开头
3、不能与关键字重名
4、严格区分大小写
命名规范: 1、起一个有意义名字
2、驼峰标示
3) 数组名不能与其它变量名相同。
//注意点
4) 方括号中常量表达式表示数组元素的个数,如a[5]表示数组a有5个元素。但是其下标从0开始 计算。
5) 不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式。
c99不支持使用变量作为元素个数
6) 允许在同一个类型说明中,说明多个数组和多个变量。
//--------------------数组的初始化
类型说明符 数组名[常量表达式] = { 值, 值......值 };
其中在{ }中的各数据值即为各元素的初值,各值之间用逗号间隔。
//--------------数组初始化的注意事项
1)指定元素的个数的同时,对所有的元素进行显式的初始化
int nums[5] = {1,2,3,4,5};
2)指定数组的元素个数,对数组进行部分显式初始化 定义的同时对数组进行初始化,没有显式初始化的元素,
那么系统会自动将其初始化为0
int num[5] = {1}  --->   1,0,0,0,0
3)不指定元素个数,定义的同时初始化,它是根据大括号中的元素的个数来确定数组的元素个数
int nums[] = {1,2,3,5,6};
4)指定元素个数,同时给指定元素进行初始化
int nums[5] = {[4] = 3,[1] = 2};
给数组赋值的方法除了用赋值语句对数组元素逐个赋值外
还可采用初始化赋值和动态赋值的方法
使用变量定义的数组不可以定义数组的同时对数组进行初始化
int a = 6;
int nums[a];
先定义后初始化
数组没有初始化,数组里面是垃圾数
数组如果部分初始化,剩下的会自动初始化为0,所以是0
先定义后初始化,后初始化的只会对部分元素初始化,其余依旧是垃圾数
int a[10];
a[1] = 10;
a[5]? //垃圾数
--------------------------------------------   华丽的分割线   ----------------------------------------------
持续更新 敬请期待

36a66d6c10e497c7780aacc469c77d65.jpg (65.67 KB, 下载次数: 23)

心有多大 舞台就有多大 只有想不到的 没有做不到的

心有多大 舞台就有多大 只有想不到的 没有做不到的

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马