0
点赞
收藏
分享

微信扫一扫

C语言程序设计学习笔记第三章

第三章

3.1运算符的概念

运算符:

加:+           减:-               乘:*         除:/               求余:%

表达式:由操作数和运算符组成的式子 如==》 a-b,1+2

注:C语言中单一的一个变量或者单一的一个常量是最简单的表达式

优先级:       (该表摘自:)C语言运算符优先级 (biancheng.net)icon-default.png?t=M276http://c.biancheng.net/view/285.html

 

 单目,双目,三目运算符

单目运算符:运算对象只有一个,如:++  --  !

双目运算符:运算符两侧各有一个运算对象,如:  +   -  *   /  %

三目运算符:运算对象有三个,如:     ?:

表达式1?表达式2:表达式3                 ==》表达式1为真则执行表达式2,否则执行表达式3

10>15?10:15                                        ==》结果为15

3.2算术运算符

算术运算符与表达式: +  -  *   /   %

+  -  *   / 只要有一个运算对象是浮点型,则表达式的值为double型。如:

#include <stdio.h>
int main(void){
    float a = 0,c = 0,d = 0;
    
    a = 7.5;
    c = 5/2;    //c = 2
    d = 5.0/2   //d = 2.5,d = 5/2.0或d = 5.0/2.0也等于2.5
    printf("%f\n",c);//%f输出小数
    printf("%f\n",d);
    retrun 0;
}

%求余运算符的两个运算对象必须都为整数,而且表达式结果的正负由除数决定,如

15%6  ==>3

15%-6 ==>3

-15%6 ==>-3

-15%-6 ==>-3

6%15 ==>6

a++与++a(a--与--a同理)

 

 3.3关系,逻辑运算符

关系运算符与表达式:>    <    ==     >=     <=        !=

逻辑运算符与表达式:逻辑与 &&         逻辑或 ||         逻辑非 !

逻辑与 && :参与运算的对象都为真(不为0)结果才为真   ===》一假则假

逻辑或 || :参与运算的对象只要有一个为真(不为0)结果就为真 ===》都为假结果才为假

逻辑或 || :使表达式的值由真变假,由假变真

3.4赋值运算符

简单赋值运算符:=              变量 = 表达式;      如 a = 45;  把45赋值给a

复合的赋值运算符:+=      -=     *=       /=     %= 

a += 10         ==>      a = a + 10

a -= 10         ==>      a = a - 10

a *= 10         ==>      a = a * 10

a  /= 10         ==>      a = a /10

a %= 10         ==>      a = a % 10

sizeof求字节运算符与表达式

sizeof(表达式)结果为表达式的数据类型占据的字节数

#include <stdio.h>
int main(void){
    int a = 5;
    printf("%d\n",sizeof(a+6));//结果为4,5+6=11,11为整型,占据4字节
    return 0;
}

强制类型转换运算符:(类型名)(表达式)

#include <stdio.h>
int main(void){
    int a ,b,d;
    float c = 0;
    c = (int)7.0/2;
    printf("%f\n,c"); //结果:3.00000,不是3.50000,原因是把7.0转成了整型7
    b = (int)7.5*2;   
    printf("%f\n,b"); //结果:14.00000,7.5被转成整型7,再乘以2
    d = (int)(7.6*2);
    printf("%f\n,d"); //结果:15.00000,7.6先乘以2得15.20000,再强制转成整型15.00000
    retrun 0;

}

不同类型的数据混合运算

为了保证运算的精度,计算机会自动转向精度高的数据类型进行转换,如char一定会转换成int,float一定会转换成double

#include <stdio.h>
int main(void){
    char a = 5;
    printf("%d\n",sizeof(a+6));      //结果:4    5+6=11,5是char类型占据1字节,会别强制转换成4字节,再跟整型数据6运算
    return 0;
}
举报

相关推荐

0 条评论