C语言程序设计前五章知识总结习

                C语言程序设计前五章知识总结习

C语言数据类型分为常量和变量。常量分为整型常量(用int定义,有long和short之分,无符号前加unsigned,默认为有符号)、实型常量(单精度float、双精度double、长双精度long double)、字符型常量(char定义)字符串常量。变量是变化的量,由用户自己定义变量名的标识符,变量的命名须遵循命名规则,标识符必须区分大小写。变量赋值时在赋值符号前后加空格可增加可读性。
C语言的注释格式为/x……x/,如果不加后半部分,注释将一直持续到结束,区别于C++用//只注释一行。注释不可嵌套。
计算某种数据类型用sizeof,如sizeof(int)。
C语言的赋值具有方向性,赋值是把右边的值赋给左边。计算含有不同类型运算符的表达式要考虑优先级,优先级相同考虑综合性,结合行为C语言独有的概念。两个操作数的运算符左结合,赋值运算符右结合。
在从语言中完成一系列运算需要运算符,C语言的运算符共有34种,在第三章讲了几种常用的运算符:
算术运算符
“-(取相反数)“为优先级最高的算术运算符,其结合性为从右向左;“x”、“/”、“%(求余)”优先级次之,“+”、“-”的优先级最低。
“x”在指针中另有它意。
“/"用于同一组操作数在整型和实型中的结果不一样,如浮点数除法5.0/2.0=2.5 和整数除法5/2=2 其结果是不同的。当“/"两侧均为整型时,结果为整型;有一个为实型,结果为双精度。
“%”为求余运算符(模运算符),只能用于两个整型之间,符号与被除数保持一致,如5%-2=1,-5%2=-1。
复合运算符分为符合算术运算符和符合位运算符,后者能够实现简写的赋值如“+=”、“乘号=”、“%=”,举个例子:
a %= b即为a = a % b。
自增运算符和自减运算符
以增1运算符为例,有“++a”和“a++”两种形式,单独执行二者,其结果是一样的;但当将二者同时赋值于一个变量b时,前者是将增1后的值赋给b,后者是将本来的值赋给b后再自增。
在编译时要避免使用如(i++)+(i++)之类会被机器认为有歧义的式子。
类型转换分为自动类型转换和强制类型转换:
隐式类型转换是机器自动将可以有低类型转换为高类型的数据进行转换,如char→int,short→int,float→double。
强制类型转换如int(float a),由实型转换为整型时会丢失数据,如3.14→3,单精度到双精度扩充为16位,由双精度到单精度会截取前七位有效数据。
C语言应用数学函数需调动头文件math.h。
绝对值函数整型用abs,浮点数用fabs。
计算正弦余弦函数如cos(x),其中x的单位是任意弧度。
求不小于、不大于x的最小整数分别用ceil、floor。
几次方用pow,开方用sqrt。
不出意外都是double。
定义宏常量在头文件处用define,如:
#define a 666666
宏名和字符串之间可以有多个空白符,但无需加等号,因为宏定义不是C语句,后面不能加分号。
宏常量没有数据类型,在字符串替换时易出错,const常量,如:
const int a = 6;
该语句可放在main里外。
C语言引入转义字符。转义字符出现在字符串中时,按单个字符计数。比如反/n代表一个字符。目前计算机上广泛使用的字符集是ASCII码字符集。getchar()和putchar()用于字符输入和输出。“a”与“A”、“b”与“B”的ASCII码值相差32。
函数printf格式转换:%u无符号整型,%s输出字符串。
小数点也占一个字符位置。
scanf输入%c时,空格字符和转义字符都会被当作有效字符读入,可在%c前加空格。
if条件语句表达式后不能加分号。
单分支是强调条件成立时执行的操作,需要分情况时使用双分支。
if…if、if…else、if…else if的区别:
if:当前一个if条件成立时,才会去判断下一个if的条件。
if…else:如果if()里面的条件不成立,就直接执行下面else的语句。
if…else if:如果if()里面的条件不成立,下面的else if还要进行条件判断,如果又不成立就继续往下判断。
switch语句用于多路选择。
逻辑运算符!非、&&与、||或。
&&和||都有短路的特征。

你可能感兴趣的:(C语言)