期末复习二

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了期末复习二相关的知识,希望对你有一定的参考价值。

一、常用printf转换描述

期末复习二_指针

平时很少用的几个点:

%ld 表示长整型 long int

%%---输出%       

%o---输出八进制

%o和%#o的区别:

期末复习二_表达式_02

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

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


期末复习二_指针_03

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

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

tip:小数点算一位!

总结:看.后面的数!

经典例题:

期末复习二_指针_04

期末复习二_指针_05


二、表达式

1、关系表达式

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

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

b、考试易错题:

期末复习二_表达式_06

关系表达式的优先级是从左到右,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、经典考题

期末复习二_表达式_07

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

解题思路:

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


三、指针经典考题

a、

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

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

期末复习二_表达式_08

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

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

b、

p和*p的区别

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

c、

二级指针

期末复习二_指针_09

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

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

期末复习二_表达式_10

以上是关于期末复习二的主要内容,如果未能解决你的问题,请参考以下文章

数据库原理及应用期末复习汇总(附某高校期末真题试卷)

人工智能导论期末复习合集

数据结构期末复习——还原二叉树(根据中序和后序遍历输出先序遍历)

openstack期末复习

计算机网络期末重点复习-03

数据结构期末复习——树与二叉树一些知识点