//------------------整型变量修饰符 修饰符(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]? //垃圾数 -------------------------------------------- 华丽的分割线 ---------------------------------------------- 持续更新 敬请期待
|