1、变量的特点和作用域 1)特点 (1)创建一个变量,相当于在内存中创建一片空间且内存空间大小不会被改变。 (2)同一个作用域不能有相同的变量名。 (3)初始化时候创建,在函数作用域执行后失效,并且会释放内存空间。 2)作用域:指函数能使用的区域。 (1)不同函数属于平行作用域,平行作用域是没有干扰的。 (2)同一个函数下可以有多个作用域,嵌套作用域,子作用域内部创建根外部创建没有关系,但是可以引用外部的变量,使用就近原则。 (3)子作用域定义的变量,只在本作用域内有效,在父作用域内是没有效果的。 2、变量的内存分析
1)内存的基本单位是byte(字节),每一块字节都是有地址(名字)的。 2)变量创建后就占用了一片固定的内存空间。 3)不同类型的数据,在不同编译环境下占用的空间大小是不同的。 file:///var/folders/l9/f_srrbv91xgb25g8s9y2w3s00000gn/T/cn.wiz.wiznoteformac/WizNote/f9395552-26f8-456c-b612-ce60885936e9/index_files/9260657.png 4)sizeof(数据类型)是一个关键字,也是一个单目操作符,是用来打印在当前环境下占用的内存字节数。打印占位符用%lu; 5)首字节的地址,就是变量的地址 6)内存由地址从大到小开始寻址(分配地址),优先分配内存地址较大的字节给变量。 7)在变量没有初始化之前,一定不要使用变量的值,因为没有意义。 3、scanf()函数 1)C语言下的样式化输入函数,由C语言自带的库提供。 2)可以按用户指定的格式从键盘上把数据输入到指定到变量中。 3)常用的格式化规定字符 %d整数 %f浮点数 %c字符 %s字符串 %p指针的值 4)scanf函数输入样式 scanf("%d,%d",&a,&b); 5)注意事项 (1)可以单个输入,也可以批量输入,但两个%d%d之间的分隔符必须原样输入。 (2)格式化字符串不能用\n做换行,直接回程就可以。 4、基本运算 1)c语言的运算符 file:///var/folders/l9/f_srrbv91xgb25g8s9y2w3s00000gn/T/cn.wiz.wiznoteformac/WizNote/f9395552-26f8-456c-b612-ce60885936e9/index_files/7882483.png
2)算数运算符 (1)+加 -减 *乘 /除 % 取余(取除未被整除的部分) (2)不同数据类型精度不一样,double>float>int,取余运算符只能时整数。 (3)取余运算时一个%报错,只需加入printf("a%%b=%d\n",a%b); (4)高精度像低精度转换会丢失精度,但是低精度像高精度转换精度会自动提升。 (5)强制转换int a = (int)1.8;数字前加入关键字,作为强制的类型转换。 (6)运算时两个精度不一样,会自动转换数据类型,且时低精度像高精度转换。 (7)同精度的运算只能得到同精度的结果,如果需要提高精度,需要强制的类型转换。 3)赋值及自增自减运算 (1)=赋值运算符 +=加等于运算符 -+减等于运算符 ++自增运算符 --自减运算符 (2)变量可以进行自增自减,常量不可以。 (3)++在前,先赋值,在运算,++在后,先运算,在赋值 (4) (5) 4)sizeof() (1)C语言的一个关键字,是一个单目操作符,不是一个函数。 (2)sizeof是以字节形式输出它的操作数或者数据类型的存储大小。 (3)sizeof是以系统当前的编译环境取计算字节的大小。 (4)sizeof后面直接输入char类型的字符,系统会自动变成ASCII码对应的int值。 (5)使用sizeof加括号打印数据类型,不加括号,只能打印常量或变量。 (6)lu无符号的长整型,表示正整数有符号的长整型包括所有范围内的整数,且可以和int互相转换 5)关系运算符 (1)==等于等于 >大于 <小于 <=小于等于 >=大于等于 !=不等于 (2)对数据进行比较,查看是否成立。 (3)C语言中0代表假,非0代表真。 (4)关系运算符运算的结果是一个int值。 (5)如果优先级相同的两个运算进行计算,那么在看结合性。关系运算符的结合型是从左往右进行计算 6)逻辑运算符 (1)||或者 &&并且 !非 (2)对多个表达式进行判断。 (3)||当有一边为真时,结果为真,&&当两边都为真时,结果为真,!取反值,例如,结果为真时,取假值,结果为假时,取真值。 (4)优先级 小括号()>符号->!>算数运算符>关系运算符>&&>|| 7)三目运算符 (1)<表达式1>?<表达式2>:<表达式3> (2)定义:如果表达式1成立,则返回表达式2的值。如果表达式1不成立,则返回表达式3的值。 (3)三个位置的表达式,不仅仅是数值,但必须有运算结果, 8)操作符和结合率
(1)操作符和结合率 file:///var/folders/l9/f_srrbv91xgb25g8s9y2w3s00000gn/T/cn.wiz.wiznoteformac/WizNote/f9395552-26f8-456c-b612-ce60885936e9/index_files/13647284.png (2)结合律指有两个优先级相同的情况下在看结合率。
|