期末复习二

简介: 期末复习二

一、常用printf转换描述


image.png

平时很少用的几个点:

%ld 表示长整型 long int

%%---输出%      

%o---输出八进制

%o和%#o的区别:

image.png

%#o更让我们清楚八进制的形式

%x和%#x打印十六进制也是如此、



image.png

%md是我们常见的转换描述。默认右对齐,前面加上-负号就是左对齐,我们在打印99乘法表时,-2d就是表示左对齐,每个数字占2个宽度

%m.nf不太常见,m表示占几个宽度,n表示小数点后位数(值得注意的是,若小数位数比规定小数点后位数长,需要截断,按照四舍五入!这也是C语言唯一一个需要四舍五入的地方

tip:小数点算一位!

总结:看.后面的数!

经典例题:

image.png


二、表达式

1、关系表达式

a、关系表达式的数值只能是1(真)或0(假)

如果9>8这个关系表达式是真的,所以9>8这个表达式的数值就是1

b、考试易错题:


image.png

关系表达式的优先级是从左到右,1<0为假,返回值就是0,而0<2为真,返回值就是1,所以总表达式输出结果就是1!


2、条件表达式:

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

考试口诀:真前假后

当表达式1的值是非0时,采用表达式2,当表达式1的值就是0时,采用表达式3


3、break和continue的差别

break是打破的意思,(破了整个循环),所以看见break就要退出整个一层循环。

continue是继续的意思(继续循环),但是要结束本次循环,就是循环体内部的语句不再执行,跳到循环开始,进行新一轮的循环


4、不停的输入,直到输入#停止输入

while((x=getchar())!='#')


5、经典考题


image.png

首先明确while()括号里面不为0就是真,为0就是假,跳出循环。

解题思路:

第一个先--,k为0,跳出循环,所以只减了一次;第二个先使用,发现等于一,需要再次--,一共经历了两次--,最后结果就是-1


三、指针经典考题

a、

*p++和(*p)++的区别

前者本质是地址++,后者p的本身的值会++


image.png

*p++,意味p指向首元素地址,而*p++本质是地址++,所以就变成第二个元素的值,---3

(*P)++本质是值++,所以1++就变成2

b、

p和*p的区别

p的本质是地址,而*p表示地址里面的值!

c、

二级指针


image.png

解答:把*q看成一个指针整体,所以*q就表示p的地址,而**q才表示p地址里面存放的值7!

值得注意二级指针只能存放一级指针的地址,不能存放变量的地址


image.png

相关文章
|
Python
西安石油大学Python期末复习
西安石油大学Python期末复习
181 0
|
5月前
|
编解码
《通信原理》期末复习笔记(一)
《通信原理》期末复习笔记(一)
|
5月前
|
网络协议 网络性能优化 网络虚拟化
《计算机网络》期末复习笔记
《计算机网络》期末复习笔记
|
5月前
|
编解码 内存技术
《通信原理》期末复习笔记(二)
《通信原理》期末复习笔记(二)
|
网络协议 网络安全 网络性能优化
期末复习【计算机网络】
期末复习【计算机网络】
143 0
|
7月前
|
设计模式 算法 安全
【周末闲谈】剑指offer,了解面试,学会面试
【周末闲谈】剑指offer,了解面试,学会面试
72 0
|
7月前
|
数据建模 测试技术 uml
【软件工程】期末复习总结(通俗易懂,学不会来打我)
【软件工程】期末复习总结(通俗易懂,学不会来打我)
线性代数 - 期末复习(一)
线性代数 - 期末复习(一)
143 0
|
人工智能
「1」线性代数(期末复习)
行列式是一个数,是一个结果 三阶行列式的计算:主对角线的乘积 全排列与对换 逆序数为奇就为奇排列,逆序数为偶就为偶排列 对换: 定理一:一个排列的任意两个元素对换,排列改变奇偶性(和行列式的行(列)交换,符号要变化) 行列式的定义: 上下三角行列式和对角行列式:它的值就是主对角线的乘积
「1」线性代数(期末复习)