c基础day2

目录

运算符

1.1逻辑运算符

1.2位运算符

负数运算:

1.3关系运算符

1.4三目运算符(条件运算符)

1.5赋值运算符

优先级:

分隔符

标点符号

变量

常量

标识常量:


运算符

1.1逻辑运算符

&&逻辑与:全一则一,有零则零

|| 逻辑或:有一则一,全零为零

! 逻辑非:结果取反

printf("%d\n",118>99); //1 printf("%d\n",18>99); //0

截断法则

逻辑与运算中,前边表达式结果为假,后边表达式不再执行,返回假

逻辑或运算中·,前边表达式结果为真,后边表达式不在告状,返回真

printf("%d\n",118>99 && 5>9 );// 0 printf("%d\n",118>99 || 5>9 );//1

printf("%d\n",!(118>99) || 5>9 ); //0

1.2位运算符

操作二进制数

& 位与:全一则一,有零则零

| 位或:有一则一,全零则零

^ 异或:相同为0,不同为1

负数运算:

注意:整数以补码的二进制进行存储,计算

原码

反码

补码

正数

相同

相同

相同

负数

相同

除符号位外,其他按位取反

反码+1

~ 按位取反

<< 左移 左移几位右边补几个零 左移几位就乘以2的几几次方

>> 右移 右移几位左边补几个零

int a=6,b=10; //6 : 110

int c=a&b; //10:1010

printf("%d\n",c);//2 //10:1010

1.3关系运算符

> >= < <= == ~=

=赋值运算符 ==等于

1.4三目运算符(条件运算符)

表达式1?表达式2:表达式3

先判断表达式1是否成立 ,如果成立执行表达式2,如果不成立执行表达式3

1.5赋值运算符

= += -= *= /= %=

a-=5 展开 a=a-5

扩展:逗号运算符(顺序求职运算符)

优先级:

单算移关与,异或逻条赋

单目运算符:++ -- ~ !

算术运算符:/ * % + -

移位运算符: << >>

关系运算符: > >= < <= == !=

位与运算符:&

异或运算符:^

位或运算符:|

逻辑运算符: && ||

条件运算符: ? :

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

分隔符

空格 tab 换行

标点符号

所有的标点符号必须英文

变量

程序运行过程中会发生变化的量

格式:存储类型 数据类型 变量名 :(auto) int a

存储类型:决定变量的存储的位置

数据类型:巨顶变量开辟的空间大小

名称

大小(字节)

取值范围

int

整型

4

char

字符型

1

short

短整型

2

long

长整型

32位:4 ;64:8

float

单精度浮点型

4

有效位数6-7位

double

双精度浮点型

8

15-16位

局部变量和全局变量的区别

局部变量

全局变量

定义位置

函数内部

函数体外

初值

未初始化,值为随机值

未初始化,值为0

作用域

当前函数体内部

整个程序

生命周期

同当前函数一起使用

同整个函数

存储位置

栈区

全局区

虚拟内存空间

栈区:系统自动开辟,回收(函数体内部定义的变量)

堆区:程序员手动开辟(malloc)、回收(free)

全局区、静态区

常量区:char *P

常量

数值型常量:八进制、十进制、十六进制

浮点型常量:单精度,双精度

字符常量 :用单引号包裹,char a=‘q';

char a='A'; char b='123';

printf("%c\n",a); //A printf("%c\n",b);//'3'

char c=0101; char d='\101';

printf("%c\n",c);//A printf("%c\n",d);//A

char d='\101';

char e='\x41';

printf("%c\n",e);//A

\转义字符

字符串常量:用双引号包裹 “hello” 五个字符+’\0‘字符串结束标志==6个字符

标识常量:

宏定义:格式:#define 宏名 常量值或表达式

宏名:一般用大写,目的跟变量进行区分

特点;先进性单纯的替换,替换结束后在进行计算

#define N 2

#define M N+3// 2+3

#define NUM N+M/2+1// 2+2+3/2+1

void main()

{

int a = NUM;

printf("%d\n",a);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值