c语言char什么意思 视频 c语言中char什么意思( 二 )


一般情况下,如果程序发现变量被赋予的值和它自身的值不相同,会先进行隐式转换(一般是占用空间小的类型向占用空间大的类型转换),就是能简单的去去小数,把存储的位数进行调整,如果自己没办法进行调整,此时需要强制进行类型转换,格式为(数据类型) 最小单位的表达式
变量的修饰关键词const关键词是用来声明变量所在的内存区域是只读的,也就是说可以使用其里面的值,但是不能修改,常常用于当做常量,或者写函数时将不需要修改值的变量设置成const防止意外修改 。
aoto关键词是默认的关键词,用来声明局部变量,生命周期一般是在变量所在的范围最小的花括号内(可以把整个源代码文件的范围当做一个很大的无名花括号,定义在程序里的变量一般初值全为二进制的0),在生命周期外变量会被销毁,由于局部变量实在太常用,auto写的又不是很多,所以在c11标准中auto变成了根据给定的初值自动设置变量的类型的关键词 。
register关键字是声明变量是在寄存器中存储,寄存器是一个高速小容量靠近CPU的储存单元,并且寄存器的数量有限,有些的还有特殊的用途,所以register只是一个建议,而且由于寄存器是一种单独离散的特殊单元,不能用&取地址(寄存器没有地址)
static关键字是程序运行时声明变量的所在的内存一直会被保存,直到程序退出内存才会释放这个空间 。被其修饰的变量所在的内存区域一般全是二进制的0
extern表示这个全局变量是从别的文件定义的 。
常量常量顾名思义就是不变的量,数学里的π永远等于3.1415926535...,e等于
2.718281828459...,f(x)=x2+2x+1中的数2,1 。类似的,代码里直接出现的数,和符号代替的数就是常量 。在c语言中基本类型的数值都有表示 ***
在整型常量中,有二进制,十进制,八进制和十六进制表示 *** ,十进制就跟正常生活数的表示 *** 一样 。八进制要在八进制表示的数前面加一个0,十六进制要在前面加0x或者0X,二进制要在数的前面加0b,默认情况下,十进制表示的数都会被认为是int类型,如果想表示无符号类型就要在数的后面加一个u,长整型要在数的后面加l,长无符号整型在数的后面加lu,长长整型要加ll 。浮点数一般是我们生活常用的表达 。默认是double类型,要是表示float类型,需要在数的后面加一个f 。
字符型常量是用一对单引号包含一个字符 eg 'c' '1'
字符串(字符数组常量)是用一对双引号包含字符串 。是特殊的字符数组常量的表示 ***。eg“c++”
基本运算符号赋值符号=是运算级别倒数第二的运算符号 它是将右边的值赋值给左边,不难理解,赋值符号左边只能是像可以写入的变量这样的存储单元,所以这样的存储单元又叫左值(lvalue),赋值表达式返回的值是等号右边得到的值 。eg a=1;这个返回的值是1
逗号,是运算级别最低的符号,它主要是从最左边以逗号为分界点,逐一执行里面的操作得到数值,整个返回值的最后结果是最右边得到的值 。
加号+ 减号- 称号* 除号/和数学意义上的运算是一样的,他们相对的运算顺序也和数学的四则运算是一样的 。
求余符号%是计算整数之间整除以后的余数 。
位左移<<是把一个数当做二进制进行左移,左边移出的二进制位舍弃,右边移进来的二进制位用0填充 。eg:6<<2表示将6这个int类型左移两位,得到24.
位右移>>是把一个数当做二进制进行右移,右边移出的二进制位舍弃,左边移进来的二进制位用0填充 。eg:6>>2表示将6这个int类型右移两位,得到1.

推荐阅读