慕课学习C,http://www.imooc.com/learn/249
摘录上面的学习资料,第1~4章数据类型、运算符和程序结构语句
注意:在定义中不允许连续赋值,如int a=b=c=5;是不合法的。
注:int、short
int、long int是根据编译环境的不同,所取范围不同。而其中short int和long int至少是表中所写范围,但是int在表中是以16位编译环境写的取值范围。另外 c语言int的取值范围在于他占用的字节数
,不同的编译器,规定是不一样。ANSI标准定义int是占2个字节,TC是按ANSI标准的,它的int是占2个字节的。但是在VC里,一个int是占4个字节的。
注:C语言中不存在字符串变量,字符串只能存在字符数组中
注:字节小的可以向字节大的自动转换,但字节大的不能向字节小的自动转换
在使用强制转换时应注意以下问题:
1、数据类型和表达式都必须加括号,如把(int)(x/2+y)写成(int)x/2+y则成了把x转换成int型之后再除2再与y相加了。
2、转换后不会改变原数据的类型及变量值,只在本次运算中临时性转换。
3、强制转换后的运算结果不遵循四舍五入原则。
注意:使用do-while结构语句时,while括号后必须有分号。break语句与continue语句的区别是:break是跳出当前整个循环,continue结束本次循环开始下一次循环。
在使用switch语句时还应注意以下几点:
1、在case后的各常量表达式的值不能相同,否则会出现错误。
2、在case子句后如果没有break;会一直往后执行一直到遇到break;才会跳出switch语句。
3、switch后面的表达式语句只能是整型或者字符类型。
4、在case后,允许有多个语句,可以不用{}括起来。
5、各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
6、default子句可以省略不用。
不用break的switch,会一直往后执行一直到遇到break或是结尾才跳出switch语句;求前几月的总天数: (先假设是平年)
switch(month-1){
case 11: days += 31;
case 10: days += 31;
case 9: days += 31;
case 8: days += 30;
case 7: days += 31;
case 6: days += 30;
case 5: days += 31;
case 4: days += 30;
case 3: days += 31;
case 2: days += 28;
case 1: days += 31;
case 0: days += 0;
}
使当前函数中断,可以使用goto或break;break不仅能用在循环体内,还可以用在switch语句里;continue只能用在循环体内。
本文深入探讨了C语言的基础知识,包括数据类型、运算符、程序结构语句等核心概念。详细解释了整型、短整型、长整型的区别以及在不同编译环境下的取值范围。强调了字符串存储在字符数组中的特性,并阐述了字节大小转换的自动性和强制转换规则。同时,提供了switch语句的使用注意事项,包括常量表达式、break语句的正确使用等。此外,通过实例展示了如何使用switch语句计算前几月的总天数,以及break和continue语句的区别。

被折叠的 条评论
为什么被折叠?



