概念:由若干个相同或不同类型数据构成的集合,这种数据类型被称为构造类型
如:数组、结构体、共用体、枚举
1.3 常量和变量 1.3.1 常量:在程序运行过程中,其值不可以改变的量 常量的分类: 整型 100,125,-100,0 实型 3.14 , 0.125f,-3.789 字符型 ‘ 'a','b','7' 字符串 “ "a","ab","1232" ASCII 码表:对于计算机而言,只能识别二进制数,也就是数字,对于非数值型数据,如果要使用,就需要将其用一个数值型数据进行标识,就称之为ASCII码表 1.3.2 变量:其值可以改变的量被称为变量 定义变量的方式: 存储类型 数据类型 变量名; 存储类型 数据类型 变量名 = 变量或者常量; 变量在定义的时候要满足标识符的命名规则 (1)只能由字母、数字和下划线组成 (2)首字母不能是数字 (3)不能关键字相同 二、格式化输出字符 2.1 普通字符 %d 十进制有符号整数 %ld 十进制long有符号整数 %u 十进制无符号整数 %o 以八进制表示的整数 %x 以十六进制表示的整数 %f float型浮点数 %lf double型浮点数 %e 指数形式的浮点数 %c 单个字符 %s 字符串 %p 指针的值 2.2 特殊应用 %3d %03d %-3d %5.2f %3d 要求宽度为3位,如果不足3位,前面空格补齐;如果足够3位,此语句无效 %03d 要求宽度为3位,如果不足3位,前面0补齐;如果足够3位,此语句无效 %-3d 要求宽度为3位,如果不足3位,后面空格补齐;如果足够3位,此语句无效 %.2f 小数点后只保留2位 三、类型转换 数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题. 转换的方法有两种: 自动转换: 遵循一定的规则,由编译系统自动完成. 强制类型转换: 把表达式的运算结果强制转换成所需的数据类型 3.1 自动转换 1、占用内存字节数少(值域小 ) 的类型,向占用内存字节数多 ( 值域大 ) 的类型转换 , 以保证精 度不降低 . 2、转换方向: 3.2 强制转换 通过类型转换运算来实现 (类型说明符) (表达式) 功能: 把表达式的运算结果强制转换成类型说明符所表示的类型 例如: (float)a; // 把a的值转换为实型 (int)(x+y); // 把x+y的结果值转换为整型 注意: 类型说明符必须加括号 四、运算符 用运算符将运算对象(也称 *** 作数)连接起来的、符合C语法规则的式子,称为C表达式 运算对象包括常量、变量、函数等 4.1 运算符的分类 1、双目运算符:即参加运算的 *** 作数有两个 例:+ a+b 2、单目运算符:参加运算的 *** 作数只有一个 ++自增运算符 给变量值+1 --自减运算符 int a=10; a++; 3、三目运算符:即参加运算的 *** 作数有3个 ()?():() 4.2 算术运算符 + (加) 、- (减)、 *(乘) 、 /(除) 、 %(取余) 、+=(加等于)、 -=(减等于) 、*=(乘等于) 、/=(除等于) %=(取余等于) / 只能整数之间进行运算,且向下取整 如:10/3=3; 复合运算符: a += 3;相当于a = a+3; 4.3 关系运算符 >、<、= =、>=、<=、!=(为不等于) 一般用于判断条件是否满足或者循环语句 注意:关系运算符中==用于判断左右两边是否相等,不能使用=,=用于赋值,将右值赋给 左值 4.4 逻辑运算符 1、&& 逻辑与 两个条件都为真,则结果为真 if((a>b) && (a负数的补码=原码取反码+1
负数的原码=补码取反码+1
反码:除符号位外,其他按位取反
4、^按位异或
不同为1,相同为0
5、左移和右移
<<左移: 左移几位右边补几个零
x左移n位,结果=x*2^n
>>右移: 右移几位左边补几个符号位
正数右移左边补0,负数右移左边补1
x右移n位,结果:x/2^n(向下取整)
6、置位问题
将某个数第n位置1: 某个数 | (1< 将某个数第n位置0: 某个数 & (~(1< 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)