C语言要点

scanf函数可以从屏幕上读入用户输入的数据并记录在变量中。第一个参数是用户输入的格式要求。后边的所有参数都必须在变量名前边加符号&。


char表示字符类型,这种类型的数字可以代表一个字符的编号。C语言没有规定char类型的符号,但是我们使用的gcc规定char类型数据是有符号的。gcc同样提供了另外一个符号的char类型,用unsigned char表示。


ASCII码标记录了各种字符和编号之间的对应关系。
'3' - '0' = 3 - 0 (距离一样)
'e' - 'a' = 'E' - 'A'


在C语言中同样的数字如果类型不同则参与同样的计算就可能得到不同的结果。


int类型的数据用来表示不带小数点的数字。与它类似的有如下一些类型:   short(短整数),unsigned short(无符号短整数),long(长整数),unsigned long(无符号长整数),C99中还有long long和unsigned long long类型。


字节是计算机里用来衡量数据所占空间大小的单位。


sizeof()关键字可以用于计算机某个变量或某个数据类型所占空间大小,以字节为单位。


int类型在不同计算机上表现不一样,在我们使用的计算机上它相当于long,在另外一些计算机上它相当于short。


float和double类型用来表示有小数点的数字。




使用一串0或1表示数字的方式叫做二进制,用二进制表示的数字与用十进制表示的数字没有本质区别,只是写法不同。二进制中某一位上的1对应的十进制数字由它后面的数位个数决定,假设数位是n个则对应的十进制数字是2的n次方。


一个字节对应8个二进制位,任何一个字节在计算机里的状态都可以用8个二进制位的数字表示。


负数的二进制表现形式采用补码,是对正数二进制表现形式按位求反然后再加上一得到的。


00000000   100000000   这2个是自己加自己的 100000


八进制和十六进制都可以看成是二进制的变体,他们都可以简化二进制的书写方式。一个八进制的数位对应三个二进制数位,一个十六进制数位对应4个二进制数位。八进制数字前边加0,十六进制数字前边加0x


C语言支持+,-,*,/四种基本的数学计算。除法计算中如果两个操作数都是整数则结果保留整数部分,除法不能把0作为除数。


%操作不可以对带小数点的数字进行计算,如果参与计算的两个操作数符号不一样则结果符号与前一个操作数一致。


赋值操作符从右向左运算。赋值操作符左边必须是一个左值(即可以设置内容的)。赋值操作符的优先级非常低。赋值操作符可以和其他操作符合并成为复合赋值操作符,例如+=,-=。


++, --也可以当作运算符使用,他们只需要一个操作数,而且这个操作数必须是左值。++和--操作符可以对浮点数进行计算,但是通常不这么做。最好不要把这两个操作符和其他操作符写在同一条语句里。


逻辑运算符可以用于编写逻辑表达式,逻辑表达式的计算结果只可能是真(对)或假(错)。在C语言里逻辑表达式的计算结果或者是0或者是1,0代表假,1代表真。程序中可以使用一个整数代表逻辑表达式的计算结果,0仍然代表假其他所有整数都代表真。
==(相等) , !=(不等), >(大于), <(小于), >=(大于等于), <=(小于等于)
&&(与), ||(或), !(非)


与和或都是支持短路特性,就是说如果前一个逻辑表达式计算结果已经能解决整个表达式的结果了就不会再去计算后一个表达式了。

位运算符按照数字的二进制表示对数字进行处理。 ~(按位求反),&(按位与),|(按位或),^(按位亦或),>>(按位右移), <<(按位左移)


负数右移时前边补充符号位数字1


如果在左右移位的操作中没有丢失有效数据则左右移位的效果相当于乘以或除以2的n次方


&操作符用于获得变量的地址。 *可以根据变量地址使用变量。


内存地址以字节为单位,每个字节有一个唯一的地址。相邻字节的地址相差数字1.变量地址的数值是构成它的所有字节中地址数据最小的那个地址。


条件运算符可以在不同条件下取的不同的数值,语法如下:
(逻辑表达式)?(数字1):(数字2)
如果逻辑表达式为真则结果是数字1,否则结果是数字2


C语言中对参与同一个计算过程都的多个不同类型的数据会首先进行类型调整,然后再完成计算。类型调整的原则是尽量不丢失有效数据


选择(分支)语句可以在程序中为多种不同的可能性分别编写处理代码,语法格式如下
if(条件1){ //表示如果,只能出现一次
          满足条件1时执行的语句}
else if (条件2){// 表示或者,可以出现0到n次
          满足条件2时执行的语句}
else{//表示否则,出现0或1次
          以上条件都不满足时的处理代码}




switch语句也可以完成分支处理,受限制更多,语法如下
switch(表达式){
case 数字1:
     表达式等于数字1时要执行的语句;
     break;
....
default:
     前面的所有情况都不匹配时要执行的语句:
     break;
}
switch语句遇到break或者执行完最后一句才退出表达式计算结果必须是整数,带小数点的数字不行。


循环语句用于反复执行相同的代码,for循环的语法如下
for(循环变量初始化;循环变量;修改循环变量的值){
    需要反复执行的代码}


break;语句可以在循环中立刻终止循环的执行
continue;语句可以在循环中终止当次循环而直接进入下一次






列举:1. int i
      2. i=某个边界值
      3. i向另一个边界值靠近
      4. i不会超过边界值


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值