您的位置:首页 > 编程语言 > C语言/C++

嵌入式开发之C语言基础第三天&第四天学习笔记

2016-11-02 20:26 513 查看
c语言(三)---运算符与分支语句

单字符接收与输出

getchar()

如果接收单个字符,可以使用getchar()函数

char ch = getchar();

就会从键盘接收一个字符,赋值给ch变量

putchar()

输出单个字符

putchar(ch);

putchar('a');

缓冲区

键盘输入的数据,首先存放在缓冲区中,直到用户按下enter键,才会将缓冲区的数据输入到程序中,但是scanf函数,会残留最后按下的enter键也就是会残留一个回车字符在缓冲区中,从而导致后面的接收出现异常;

运算符优先级

1.伪运算符最高

2.单目运算符第二

3.双目运算符中:算术运算符>位运算符>逻辑运算符

4.同级运算符看结合性,右结合性的运算符只有赋值运算符与单目运算符

自增自减运算符

++/--

a++;    a自身加1,相当于a = a + 1;

a--;    a自身减1,相当于a = a - 1;

a = 1, b = 1;

c = a + b++;    

表达式相当于两步:

1.c = a + b

2.b = b + 1

所以c = 2;b = 2;

c = a + (++b);

相当于两步:

1.b = b + 1;

2.c = a + b;

所以b = 2; c = 3;

if判断

c语言中对于判断表达式,0为真,非0为假

a = 9 这个表达式的结果就是9;

if(表达式或直接写数字);

if(0)也是可以的

一般形式

if ()

{

 

}

两路分支

if(a == 9)

{

 

}else{

 

}

多路分支

if(){

 

}else if(){

 

}else{

 

}

当if判断后只有一句代码的时候,{}可以省略:

if(a > 0)

     printf("a 大于 0");

逻辑运算符

&&  逻辑与  且      条件1 &&
条件2

||  逻辑或  或      条件1 ||
条件2

!   逻辑非  不是    !条件

 

switch语句

switch(表达式){

    case 常量表达式1:  

      语句1;

      break;

    case 常量表达式2:  

      语句2;

      break;

    case 常量表达式n:  

      语句n;

      break;

    default:  

      语句n+1;

}

当表达式的值与某个常量表达式的值相等时,
即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

for循环

for(循环变量赋初值;循环条件;循环变量增值)

{

    循环语句;

}

执行顺序:1、初始语句  2、执行条件是否符合?  3、循环体  4、增加增量

for循环的循环体如果只有一条语句,for循环的大括号可以省略

(1)for语句的一般形式中的"表达式1"可以省略,此时应在for语句之前给循环变量赋初值.注意省略表达式1时,其后的分号不能省略.如for(;i<=100;i++){....};

(2)如果表达式2省略 即不判断循环条件,循环无终止地循环下去,也就是认为表达式2始终为真.

(3)表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束.

(4)可以省略表达式1和表达式3,只有表达式2
即只给循环条件.

(5)三个表达式都可以省略,如:

for(;;)语句

相当于while(1)语句

即不设初值 不判断条件(认为表达式2为真值)循环变量不增值,无终止的执行循环体.

(6)表达式1也可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式.

while循环

while循环和for循环其实大同小异

格式:

    while(条件)

    {

        循环体;

    }

只要给定的条件为真,while
循环语句会重复执行循环体

do_while

一般形式为:

do{

    语句

}while(表达式);

这个循环与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句。

常用函数

exit()  结束程序    例: exit(0)

exit(0) 正常结束

exit(1) 主动结束

exit(-1) 错误结束

system();   调用终端命令  例:system("clear")

生成随机数:

    srand((unsigned)time(NULL));

    设置随机数种子,如果没有,则每次的随机数是一样的。而且在整个程序中,只需要出现一次就可以了

    rand()%5    生成0 1 2 3 4
中的随机数

    rand()%10 + 90 生成90---99之间的随机数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐