慕课学习C笔记01-第1~4章数据类型、运算符和程序结构语句
2015-08-19 02:24
519 查看
慕课学习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只能用在循环体内。
摘录上面的学习资料,第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只能用在循环体内。
相关文章推荐
- 黑马程序员——黑苹果的日记(11)—— oc加强
- Unity Asset(4)特性插件 FX Maker
- BZOJ4242 : 水壶
- CC150-链表3
- 蓝牙3.0和4.0
- 蓝牙3.0和4.0
- ZOJ 3674 Search in the Wiki(字典树 + map + vector)
- hdu 4283 You Are the One(区间dp)
- 过滤器 监听器 拦截器作用
- UITextField 弹出键盘的外观(类型)设置
- HDU 1753 大明A+B(大数加法,数组模拟)
- The Array ||
- DOM 扩展——JavaScript高级程序设计笔记(9)
- HDU 1394 Minimum Inversion Number(线段树:单点更新,求逆序数)
- python-关键字参数与非关键字参数(可变参数)详解
- 关于eclipse连接设备调试的问题
- dijkstra小结+(虚拟起点、终点简单介绍)
- 分享给大家一个简单的数据导出excel类
- 区间选点问题
- 3. 单例模式