C语言中的数据类型及相关数据 *** 作

C语言中的数据类型及相关数据 *** 作,第1张

一、数据类型 1.1 基本类型 char 、short 、int、long、float、double 1.2 构造类型

概念:由若干个相同或不同类型数据构成的集合,这种数据类型被称为构造类型

如:数组、结构体、共用体、枚举

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         if(b 2、|| 逻辑或         两个条件至少有一个为真,则结果为真         if((a>b) || (a 3、! 逻辑非         如果原本表达式为真,则为假,原本表达式为假,则为真         if(!(a>b))         {         } 注意:         在C语言不能这样写表达式10 < a < 100,需要通过逻辑运算符a > 10 && a < 100 数学中:a<10或者a>100 ,C语言中:a < 10 || a > 100 补充:         C语言中的截断法则         1、 逻辑与的短路原则:如果第一个表达式的结果为假,则整体表达式为假,则后面所有的 表达式都不会执行         2、逻辑或的短路原则:如果第一个表达式的结果为真,则整体表达式为真,所有后面所有 的表达式都不会执行 4.5 位运算符 1、&  按位 与         任何值与0得0,与1保持不变         0xab & 0x3c =0x28                  0xab:1010 1011         0x3c: 0011 1100                   0010 1000=0x28 2、 | 按位或         任何值或1得1,或0保持不变         0xab | 0x3c=0xbf                  0xab:1010 1011         0x3c: 0011 1100                  1011 1111=0xbf 3、 ~ 按位取反( 按位取反,通过补码进行取反)         1变0,0变1         正数的补码是它本身

        负数的补码=原码取反码+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<

       

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/3002741.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-27
下一篇 2022-09-27

发表评论

登录后才能评论

评论列表(0条)

保存