【IOS开发】C语言知识总结(2)

时间:2015-07-05 23:50:09   收藏:0   阅读:356

选择结构-if

if(表达式) {}  

{}为作用域

多重if-else  例如:

#include <stdio.h>
int main(){
  int amount = 888888;
  if(amount<=0){
    printf("没有购物不能获奖");
  }else if(amount%888==0){
    printf("恭喜你获得一等大奖!");
  }else if(amount%88==0){
    printf("恭喜你获得二等奖");
  }else if(amount%8==0){
    printf("恭喜你获得鼓励奖");
  }else{
    printf("谢谢参与");
  }
  return 0;
}

嵌套if-else  例如:

#include <stdio.h>
int main(){
  double speed = 10.71;  //百米速度
  int male = 1; //1代表男,0代表女
  if(speed<12){
    if(male){
      printf("进入男子组决赛");
    }else{
      printf("进入女子组决赛");
    }
  }else{
    printf("没有进入决赛,继续努力!");
  }
  return 0;
}

选择结构-switch

switch(表达式) {case 数值1: break; … default: break;}

#include <stdio.h>
int main(){
  int day = 4;
  switch(day){
    case 1:
        printf("星期一吃青菜\n");
        break;
    case 2:
        printf("星期二吃鱼\n");
        break;
    case 3:
        printf("星期三吃肉\n");
        break;
    case 4:
        printf("星期四吃面条\n");
        break;
    default:
        printf("平时只能喝汤\n");
        break;
  }
  return 0;
}

注意:每个case后面是否有break

循环结构-while

循环结构-do while

一定会执行一次循环体

while 和 do while 比较

inti=0;
while(i<0){
i++;
}
// i = 0
inti=0;
do{
i++;
}while(i<0);
// i = 1

循环结构-for

for(参数初始化;条件判断;参数更新){
  //循环操作
}

for(;;)  这个是个死循环

for括号内的三个语句都是表达式,执行次序如下:

  1. 运行表达式1(参数初始化)
  2. 运行表达式2(条件判断),判断是否为真,若为真执行循环操作,若为假则结束循环
  3. 运行表达式3(参数更新),更新参数,进入步骤2执行下一轮循环

查看一个整数的二进制可用如下函数:

// 输出整数的二进制形式
void putBinary(int n)
{
int bits = sizeof(n) * 8;
while (bits-->0) {
printf("%d", n>>bits&1);
if (bits%4==0) printf(" ");
    }
printf("\n");
}

1个字节等于8bit

技术分享

signed 和 unsigned

1>首先要明确的:signed int等价于signed,unsigned int等价于unsigned

2> signed和unsigned的区别就是它们的最高位是否要当做符号位,并不会像short和long那样改变数据的长度,即所占的字节数。

位运算

1、&按位与

1>功能:  只有对应的两个二进位均为1时,结果位才为1,否则为0。

2>举例:  比如9&5,其实就是1001&101=1,因此9&5=1

3>规律:  二进制中,与1相&就保持原位,与0相&就为0

2、|按位或

1>功能:  只要对应的二个二进位有一个为1时,结果位就为1,否则为0。

2>举例:  比如9|5,其实就是1001|101=1101,因此9|5=13

3、^按位异或

1>功能:  当对应的二进位相异(不相同)时,结果为1,否则为0。(二进制加法判断)

2>举例:  比如9^5,其实就是1001^101=1100,因此9^5=12

3>规律:

4、~ 取反

对整数a的各二进位进行取反,符号位也取反(0变1,1变0)

5、<< 左移

6、>> 右移

运算符的优先级(从高到低)

优先级

描述

运算符

1

括号

()、[]

2

正负号

+、-

3

自增自减,非

++、--、!

4

乘除,取余

*、/、%

5

加减

+、-

6

移位运算

<<、>>、>>>

7

大小关系

>、>=、<、<=

8

相等关系

==、!=

9

按位与

&

10

按位异或

^

11

按位或

|

12

逻辑与

&&

13

逻辑或

||

14

条件运算

?:

15

赋值运算

=、+=、-=、*=、/=、%=

16

位赋值运算

&=、|=、<<=、>>=、>>>=

ASCII对照表

技术分享

 

原文:http://www.cnblogs.com/melodyzhy/p/4623201.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!