C Primer Plus学习笔记——6~7章

第六章

While 循环语句

在这里插入图片描述

  • 在测试条件后面单独加上“ ;”是空语句,它什么也不做。当所有的任务都在测试条件中完成后,不需要在循环体中做什么时,就可以使用空语句:while() ;
  • fabs() 函数返回一个浮点值的绝对值。
  • 测试条件可以是真假判断,当条件值为0时,测试条件为假,其余非零值均为真。例如:while(g!=0)和while(g)测试条件相同。

优先级

算术运算符>关系运算符>赋值运算符

在这里插入图片描述

for循环语句

  • 第一个表达式是初始化
  • 第二个表达式是测试条件
  • 第三个表达式执行更新
  • 形式:for(initialize;test;update)statement 其中在test为假或0之前。重复执行statement部分。

其他赋值运算符(+=、-=、*=、/=、%=)

这些运算符的优先级和赋值号的优先级相同。
在这里插入图片描述

逗号

  • 作为分隔符:char a,b;
  • 作为运算符:把两个表达式连接成一个表达式并保证最左边的表达式最先求值,整个逗号表达式的值是逗号右侧表达式的值。
  • price=10,20; 其中20是一个单独的语句,price的值为10
  • price=(10,20)其中赋给price的值是逗号运算符右侧表达式的值,即20

出口条件循环:do while

while循环和for循环都是入口条件循环,即在循环的每次迭代之前检查测试,所以有可能根本不执行循环体中的内容。
而do while 是出口条件循环,也就是说在循环的每次迭代之后检查测试条件,保证至少执行循环体中的内容一次。
注意:do while循环以分号结尾,结构如图:
在这里插入图片描述

如何选择循环

首先要确定需要入口条件循环还是出口条件循环,通常,入口条件循环用的比较多。
在这里插入图片描述

嵌套循环

嵌套循环是指在一个循环内包含另一个循环,嵌套循环常用于按行和列处理数据,也就是说,一个循环处理所有的行,另一个循环处理一行的所有列。
嵌套循环包括内层循环和外层循环。

数组引入

例题
在这里插入图片描述
在这里插入图片描述

使用带有返回值的函数

声明函数、调用函数、定义函数、使用关键字return都是定义和使用带返回值
在这里插入图片描述

小结

使用循环时应注意:

  • 循环的测试条件要能使循环结束
  • 确保循环测试中的值再首次使用之前已被初始化;
  • 确保循环再每次迭代都更新测试的值
  • C编译器不会检测数组下标是否有效,要自己留心。
  • do while 语句提供了出口条件循环。
  • while语句和for语句提供了入口条件循环,其中for循环特别适用于需要初始化和更新的循环。
  • 使用逗号运算符,可以在for循环中初始化更新多个变量。

第七章

if else 语句

格式:if (expression1)
statement1
else
statement2

注意:else与其距离最近的if配对。
在这里插入图片描述在这里插入图片描述

介绍getchar()和putchar()

不需要转换说明,他们只处理字符
ch=getchar()
把输入参数直接赋值给变量ch
putchar(ch)
直接打印ch对应的字符

ctype.h系列的字符函数

下表列出了ctype.h头文件中的一些函数。

在这里插入图片描述
在这里插入图片描述

逻辑运算符

逻辑运算符的运算对象通常是关系表达式
求值顺序是从左到右,一旦发现有使整个表达式为假的因素就不会再进行下去。
逻辑运算符的优先级比关系运算符低
C中的三种逻辑运算符如下

逻辑运算符含义
&&与 (同真为真)
丨丨或(一真即真)

其中头文件 iso646.h 包含了可以替代逻辑运算符的拼写
可用 and 代替 &&
可用 or 代替 ||
可用 not 代替!
优先级:
!运算符的优先级很高,比乘法的优先级还高,与递增运算符优先级相同,只比圆括号的优先级低
&&运算符优先级比||运算符优先级更高 但逻辑运算符都比算术运算符优先级更低。

条件运算符“ ?:”

需要三个运算对象,称为三目运算符。是C中唯一一个三元运算符。优先级仍然先于赋值运算符。
a?b:c
解释:
if(a)
b
else
c
例:把两个之中最大的值赋给变量max
max=(a>b)?a:b

在这里插入图片描述

循环辅助:continue 和 break

continue:执行到该语句时,会跳过本次迭代的剩余部分,直接进行下一轮循环。
break:终止包含他的循环,并进行到下一阶段。

在这里插入图片描述

switch语句

break在switch语句中的作用是让程序跳出switch语句,进入下一部分。
必须要有break语句跳出switch循环
在这里插入片描述
switch小结:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值