【无标题】

 

 DAY3

【3】赋值运算符

=:赋值运算符

左值 = 右值; 把右值赋值给左值

左值,是既可以作为左值也可以作为右值的量

右值,只能作为右值的量

混合赋值运算符:

a+=1

a=a+1

a-=1

a=a-1

a*=1

a=a*1

a/=2

a=a/2

【4】关系运算符

非真即假,非0即1

0假,1真

在C语言中非0即为真

 

==

判断左右两个操作数是否相等

!=

不等于

a>b

判断a是否大于b

a

判断a是否小于b

a>=b

判断a是否大于等于b

a

判断a是否小于等于b

练习:

1、终端输入两个数,判断两数是否相等

if(表达式成立)

{

执行代码块的内容;

}

 

2、终端输入一个三位数,输出该数个位+十位+百位的结果

3、终端输入一个四位数,输出该数个位、十位、百位和千位的结果

 

【5】逻辑运算符

逻辑运算的结果非0即1,非真即假

&&

逻辑与,两个操作数都为真结果才是真,

有一个操作数为假结果就是假

||

逻辑或,两个操作数都为假结果才是假

一个操作数为真结果就是真

逻辑非,

逻辑短路现象

逻辑与运算,如果左侧表达式的值为假,右侧的表达式不会执行,逻辑与运算的结果为0/假

逻辑或运算,如果左侧表达式的值为真,右侧的表达式不会执行,逻辑与运算的结果为1/真

练习:

1、终端输入一个数,判断该数是否在区间[12,54]中。a>=12和a

 

【6】条件运算符

C语言中的唯一一个三目运算符

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

先执行表达式1,如果表达式1成立,执行表达式2,如果表达式1不成立,执行表达式3。

练习:

1、终端输入两个数,使用条件运算符,输出两个数中较大的数。

【7】逗号运算符

(表达式1,表达式2,表达式3·····表达式n)

每个表达式都会执行,取最右侧表达式的结果,

【8】位运算符

一般都使用无符号数进行位运算

对二进制进行运算的

&

按位与,两个二进制位都为1结果为1

有一个为0结果就是0

|

按位或,两个二进制位都是0结果位0

有一个位1结果就是1

^

按位异或,同0异1

~

按位取反,1变0,0变1

>>

按位右移,高位补0

按位左移,低位补0

0000 1001

&0000 1000 =0000 1000 = 8

0000 1001

| 0000 1000 = 0000 1001 = 9

0000 1001

^0000 1000 = 0000 0001 = 1

~0000 1001 = 1111 0110 = 118

0000 1001>>3 = 0000 0001 = 1

0000 1001

练习:

1、求unsigned char类型数值0x1的数,

如果没有特殊声明,bit从右向左从0开始,

2、有一个unsigned char类型的数据a,把他的第六个bit位置为1。

a|=(0x1 a = a | 0x1???? ???? | 0100 0000 0x1

?1?? ????

3、有一个unsigned char类型的数据a,把他的第六个bit位置为0。

a&=~(0x1???? ???? & 1011 1111 ~(0x1

?0?? ????

 

 

【9】sizeof运算符

sizeof求数据的大小。

sizeof(数据); sizeof括号里面放什么,就求什么的大小。

 

【10】运算符优先级

单算移关于

异或逻条赋

加括号,括号的优先级最高

vim的自动补全

在家目录下,cd .vim

cd snippets

vim c.snippets

找到main的行,隐藏的使用l打开 ,添加内容,再保存退出

 

 DAY4

一、C语言的结构

  1. 顺序结构,代码从上到下执行
  2. 分支结构/选择结构
  3. 循环结构

二、分支结构

【1】if单分支结构

if(表达式)

{

表达式成立执行的代码块;

}

【2】双分支结构

if(表达式)

{

表达式成立执行的代码块;

 

}

else

{

表达式不成立执行的代码块;

}

【3】多分支结构

 

 【4】嵌套if

 

练习:

  1. 终端输入一个数,判断是否是偶数
  2. 终端输入一个数,判断是否是7的倍数
  3. 终端输入年份,判断是否是闰年,能被四整除但是不能被100整除或者能被400整除的叫闰年。

 

 

 

 

4.终端输入一个[100,999]之间的数,判断是否是是否是水仙花数,

(水仙花数:个位*个位*个位+十位*十位*十位+百位*百位*百位=数本身)

 

 

5.终端输入学生成绩,输出成绩等级,[100,90]A,(90,80]B,(80,70]C,(70,60]D,(60,0]不及格。

 

6.狗的前两年每一年相当于人类的10.5岁,之后每增加一年就增加一岁,终端输入狗的年龄,输出该相当于人的多少岁

7. 终端输入一个数,判断是否是3的倍数,如果是3的倍数再判断是否是5的倍数

 

作业:

  1. 整理思维导图
  2. 终端输入年份,判断是否是闰年,在闰年的基础上判断是否是超级闰年,能被400整除的是超级闰年
  3. 终端输入三条边,判断是否能构成三角形(判断两边之和大于第三边),在能构成三角形的基础上判断三角形的类型(等边,等腰和直角)
  4. 从终端输入一个字符:如果是大写的 转换成小写,如果是小写的 转换成大写,如果是 0-9   按照 %d  输出对应整型的  0-9,其他字符 转换成 #并输出。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值