数据类型 |
---|
编程时给变量或者函数起的名字就是标识符,就好比我们慕课网的每一位童鞋都有姓名,姓名就是这位童鞋的标识符。C语言的标识符是不可以随便起名字的,必须遵守一定的规则。 C 语言规定,标识符可以是字母(A~Z,a~z)、数字(0~9)、下划线_组成的字符串,并且第一个字符必须是字母或下划线。在使用标识符时还有注意以下几点: (1)标识符的长度最好不要超过8位,因为在某些版本的C中规定标识符前8位有效,当两个标识符前8位相同时,则被认为是同一个标识符。 (2)标识符是严格区分大小写的。例如Imooc和imooc 是两个不同的标识符。 (3)标识符最好选择有意义的英文单词组成做到"见名知意",不要使用中文。 (4)标识符不能是C语言的关键字。想了解更多C语言关键字的知识,请查阅WIKI。 疑问:变量名和标志符有什么区别? |
注意:在定义中不允许连续赋值,如int a=b=c=5;是不合法的。 注:C语言中不存在字符串变量,字符串只能存在字符数组中 |
C语言的常量可以分为直接常量和符号常量。 在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义,其一般形式为: #define 标识符 常量值 符号常量的标示符一般习惯使用大写字母,变量的标示符一般习惯使用小写字母,加以区分。 |
自动转换发生在不同数据类型运算时,在编译的时候自动完成。自动转换遵循的规则就好比小盒子可以放进大盒子里面一样,下图表示了类型自动转换的规则。 char类型数据转换为int类型数据遵循ASCII码中的对应值,ASCII码请查看WIKI。 注:字节小的可以向字节大的自动转换,但字节大的不能向字节小的自动转换 VC下面也是同样的运行结果 |
强制类型转换 https://www.imooc.com/code/5120 在使用强制转换时应注意以下问题: 1、数据类型和表达式都必须加括号,如把(int)(x/2+y)写成(int)x/2+y则成了把x转换成int型之后再除2再与y相加了。 2、转换后不会改变原数据的类型及变量值,只在本次运算中临时性转换。 3、强制转换后的运算结果不遵循四舍五入原则。 |
运算符 |
---|
那么C语言中又有哪些运算符呢? 如下所示: ※ 算术运算符 ※ 赋值运算符 ※ 关系运算符 ※ 逻辑运算符 ※ 三目运算符 |
除法运算中注意: 如果相除的两个数都是整数的话,则结果也为整数,小数部分省略,如8/3 = 2;而两数中有一个为小数,结果则为小数,如:9.0/2 = 4.500000。 取余运算中注意: 该运算只适合用两个整数进行取余运算,如:10%3 = 1;而10.0%3则是错误的;运算后的符号取决于被模数的符号,如(-10)%3 = -1;而10%(-3) = 1。 两个%%在printf函数中才能输出%号,若只输入一个%会被计算机误认为是分隔符 |
结构语句 |
---|
使用break语句时注意以下几点: 1、在没有循环结构的情况下,break不能用在单独的if-else语句中。 2、在多层循环中,一个break语句只跳出当前循环。 |
continue语句的作用是结束本次循环开始执行下一次循环。 break语句与continue语句的区别是:break是跳出当前整个循环,continue结束本次循环开始下一次循环。 |
返回值: 没有返回值的函数,返回类型为void。 注意:void函数中可以有执行代码块,但是不能有返回值,另void函数中如果有return语句,该语句只能起到结束函数运行的功能。其格式为:return; |
递归就是一个函数在它的函数体内调用它自身。执行递归函数将反复调用其自身,每调用一次就进入新的一层。递归函数必须有结束条件。 一句话总结递归:自我调用且有完成状态。 |