每日练习2-C语言

1. if语句介绍

1if(表达式)

         {

               语句列表1

}

        else

        {

语句列表2;

         }

if的表达式结果为真,执行语句列表1,否则执行语句列表2

 

扫描二维码关注公众号,回复: 165631 查看本文章

2if(表达式1)

         {

               语句列表1

}

        else if(表达式2)

        {

语句列表2;

        }        

        else

        {

语句列表;

        }

 

if的表达式1结果为真,执行语句列表1,表达式2结果为真,执行语句列表2,否则执行语句列表3

 

注意:else会与之前的最近的没配对的if配对,写代码时,要注意不能写出悬空else

 

2. 浮点数、指针、整型、布尔型变量和零的比较

1)浮点数与零

设置一个能够接受的精度exp,保证误差在允许范围内即可。

2)指针与零

不知道给指针赋什么值时,就赋空即NULL

赋空后,要判断,不为NULL时才能使用。

3)整型与零

== 表示判断;= 表示赋值

4)布尔型变量与零

布尔型变量一般用true表示真,false表示假。

若定义一个整型变量aa0时表示假,非0时表示真。

 

3. switch语句介绍

switch(常量表达式)

{

       语句项;

}

switchcase后必须跟常量表达式;

每个switch语句中只有一个default语句;

case语句无前后顺序;

真正实现分支的其实是break

 

4. goto语句介绍

可以实现在函数中任意跳转。建议少用,容易出错。在深层嵌套的结构的处理过程中,可以使用使得代码简化。

 

5. 各种操作符的介绍

1)算术操作符

              +  - *  /  %

1)除了%操作符之外,其他的几个操作符可以作用于整数和浮点数

2)对于/操作符,若两个操作数都为整数,执行整数除法。而只要有浮点数参与操作,执行的就是浮点数除法

3%操作符的两个操作数必须为整数,返回整除之后的余数

2)移位操作符

              << 左移操作符(左边抛弃、右边补0

              >> 右移操作符(逻辑移位:左边补0,右边丢弃;算术移位:左边补符号位,右边丢弃)

注:对于移位操作符,不要移动负数位

3)位操作符

              &  按位与

|  按位或

^  按位异或

注:操作数必须是整数

4)赋值操作符

              =

              += -=  *=  /=  %=  >>= <<=  &=  |=  ^=(复合赋值操作符)

5)单目操作符

              ! 逻辑反操作

- 负值

+ 正值

& 取地址

sizeof 操作数的类型长度(以字节为单位)

~ 对一个数的二进制按位取反

-- 前置、后置--

++ 前置、后置++

* 间接访问操作符(解引用操作符)

(类型) 强制类型转换

6)关系操作符

              <  > ==  <=  >= !=

7)逻辑操作符

              && 逻辑与

|| 逻辑或

得到的结果是真或假,要注意区分它们与位操作符

8)条件操作符

              exp1 ? exp2 : exp3

exp1的结果为真,执行exp2,否则执行exp3

9)逗号表达式

              exp1, exp2, exp3 … expN

从左向右依次执行,整个表达式的结果是最后一个表达式的结果

10)下标引用、函数调用和结构成员

1)下标引用[ ]

操作数:一个数组名 + 一个索引值

2)函数调用操作符()

接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。

3)访问一个结构的成员

. 结构体.成员名

-> 结构体指针->成员名

 

6. 表达式的求值

表达式求值的顺序是由操作符的优先级和结合性决定。同样,有些表达式的操作数在求值的过程中可能需要转换为其他类型。

(1)   隐式类型转换

(2)   算术转换

 

7. 影响表达式求值的因素

操作符的优先级、结合性,以及是否控制求值顺序

注:不能写出依赖求值顺序的表达式,因为它是不可移植的

 

8. 整型提升

C的整型算术运算总是至少以缺省整型类型的精度来进行的。为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型提升。

 

9. 算术转换

如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数的转换为另一个操作数的类型,否则操作就无法进行。

下面的层次体系称为寻常算术转换(从下向上转化)

                     long double

double

float

unsigned long int

long int

unsigned int

int

 

猜你喜欢

转载自blog.csdn.net/lycorisradiata__/article/details/79802680