c语言笔记2-符号



1.注释符号 //  /*……*/

编译器在编译中将注释符号用空格代替

编译器认为双引号括起来的内容是字符串

/*……*/型注释不能被嵌套

编译器将/*作为一段注释的开始,把/*后的内容作为注释,直到出现*/

2.接续符 \   (尽量不用)

①编译器将反斜杠删除,后面一行的内容自动接到前一行

②在连接单词时,反斜杠后不能有空格,下一行之前不能有空格

③接续符适合在定义宏代码块时使用

例:宏代码块(值传递)

#define SWAP(a,b)\

{              \

Int temp=a;   \

a=b;         \

b=temp;      \

}

调用的ab的值调换

若用函数写:(地址传递)

Void swap(int a;int b)

{

int temp=a;  

a=b;        

b=temp;     

}

调用后ab的值不会变

“\”作为接续符还是转义符:

”\”作为接续符使用时可直接出现在程序中

”\”作为转义符使用时需出现在字符或字符串中

3.单引号   双引号

本质上单引号括起来的一个字符代表整数

      双引号扩起来的字符代表一个指针

4.取反:“!”

     只认得0;见到0返回1;值不为0是结果是0

5.左移 <<  右移 >>

左移相当于乘以2n次方,右移相当于除以2n次方,但效率比常数运算符高

6.”表达式:

从左到右顺序求值,最后一个表达式的值为表达式的值

7.程序实例:

交换ab的值,不使用中间变量:

方法①:a=a+b;

b=a-b;

a=a-b;

a很大,b很大时可能溢出

方法②:(巧用^的交换律)

a=a^b;

b=a^b;//b=a^b^b=a^(b^b)=a^0=a

a=a^b;//a=a^b^a=a^a^b=0^b=b;

只适用整型数

8.多符号的读取:贪心法

编译器处理的每一个符号应尽可能多的包含字符
 
编译器以从左到右的顺序一个一个尽可能多的读入字符

例:a+++b=a+++b

    i=2;++i+++I -> ++i++ + i-> 2++ +i   报错

9.c语言中的隐式转换:

①算术运算中,低类型转换为高类型

②赋值表达书中,表达式的值转换为左边变量类型

③函数调用时,实参转换为形参的类型

④函数返回值,return表达式转换为返回值类型

Char->short -> int->unsigned int-> long -> unsigned long ->double -> float

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值