期末复习二

简介: 期末复习二

一、常用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

相关文章
|
7月前
|
Python
西安石油大学Python期末复习
西安石油大学Python期末复习
108 0
|
27天前
|
内存技术
|
2月前
|
算法
覃超老师 算法面试通关40讲
无论是阿里巴巴、腾讯、百度这些国内一线互联网企业,还是 Google、Facebook、Airbnb 等硅谷知名互联网公司,在招聘工程师的过程中,对算法和数据结构能力的考察都是重中之重。本课程以帮助求职者在短时间内掌握面试中最常见的算法与数据结构相关知识点,学会面试中高频算法题目的分析思路,同时给大家从面试官的角度来分析算法题的解答技巧,从而更有效地提升求职者的面试通过率。
15 3
覃超老师 算法面试通关40讲
|
5月前
|
数据建模 测试技术 uml
【软件工程】期末复习总结(通俗易懂,学不会来打我)
【软件工程】期末复习总结(通俗易懂,学不会来打我)
|
11月前
|
vr&ar
线性代数 - 期末复习(二)
线性代数 - 期末复习(二)
80 0
|
11月前
线性代数 - 期末复习(一)
线性代数 - 期末复习(一)
84 0
|
12月前
|
算法 数据可视化 测试技术
软件工程期末复习(二)
软件工程期末复习(二)
118 0