第六,七章学习笔记

第六章 C控制语句:循环

whlie 循环
语法格式:

while(条件) /* 条件为真/满足入口条件,执行循环 */
{
循环体
}

eg:
在这里插入图片描述

注:此处用到scanf()函数返回值(0or1),给status赋值作为循环条件。也可以用if循环判断用户输入<y/n>作为循环条件。但效率不高。

关系运算符

在这里插入图片描述
与python一致
判断浮点数时,由于计算机对浮点数会有舍入误差,会使本来在逻辑上相等的两个数,反而不等。
解决:使用fabs()函数,该函数返回一个浮点数的绝对值。

??计算机对浮点数会有舍入误差,那用绝对值为啥就能解决

优先级和关系运算符

关系运算符的优先级比算数运算符低,比赋值运算符高。
关系运算符之间有两种不同的优先级
高优先级组:<<= >>=
低优先级组:== !=

在这里插入图片描述

  • 1为真,0为假
  • 所有非0值为真,0为假
  • 关系表达式为真,求值为1;关系表达式为假,求值得0。

for循环

在这里插入图片描述
语法格式:

for(初始化;测试条件;表达式更新)

  • 第一个表达式给计数器赋初值,第二个表达式表示计数器的范围,第三个表达式递增计数器。
  • 三个表达式之间用分号间隔,可省略一个或多个表达式(不能省略分号!!),只要在循环体中包含能结束循环的语句就行。

其他赋值运算符

+= -= *= /= %=
它们的含义即用法与python一样
在这里插入图片描述

逗号运算符

把两个表达式连接成一个表达式,并保证最左边的表达式最先求值。
逗号运算符通常在for循环头的表达式用于包含更多的信息。
整个逗号表达式的值是右侧表达式的值

do while 循环(出口条件循环)

出口条件循环:即在循环的每次迭代之后检查测试条件,保证至少执行循环体中的内容一次
语法格式

do
简单或复合语句
while(循环条件);

用do while写的循环用while也能写出等价的程序,但会长一些
在这里插入图片描述

数组

编号与python一样,声明数组时,方括号中的值指明数组元素个数,数组的第一个元素编号为0,第二个为1.

第7章C控制语句:分支和跳转

if语句

语法格式

if(判断条件)
语句块

if else语句(与python的else字句相同)

语法格式

if(判断条件)
语句块1
else
语句块2

多重选择else if

其用法与python一样

if(判断条件)
语句块1;
else if(条件)
语句块2;

else if(条件n)
语句块n;

getchar()和putchar()

对字符的输入/输出函数

getchar()函数不带任何参数,它从输入列队中返回下一个字符。下面的语句读取下一个字符输入,并把该字符的值赋给变量ch。
ch=getchar();
与scanf("%c",ch);语句效果相同

??它从输入列队中返回下一个字符。下面的语句读取下一个字符输入,并把该字符的值赋给变量ch。是不是按ASCI码值输出下一位字符,比如输入a,把b赋值给ch

putchar()函数打印它的参数,把之前赋给ch的值作为字符打印出来
putchar(ch);
与printf(“%c”,ch);语句效果相同

相比scanf()和printf()它们更简洁

ctype.h系列的字符函数

C有一系列专门处理字符的函数,ctype.h头文件包含了这些函数的原型。这些函数只接受一个字符作为参数。如果该字符属于某特殊类型,就返回一个非零值(真),否则返回0(假)
在这里插入图片描述

else与if配对

规则:如果没有{},else与离他最近的if配对,除非最近的if被花括号括起来。编译器忽略缩进

逻辑运算符

在这里插入图片描述
也可用and / or / not 代表与/或/非(iso646.h头文件)
逻辑判断与python一样
同真与为真,同假或为假,非真假颠倒

优先级

!运算符优先于乘法运算符,与递增运算符相同,只比圆括号优先级低。
&&运算符的优先级比或高,但两者优先级都比关系运算符低,比赋值运算符高。

求值顺序

从左往右,一但发现有使整个表达式为假的因素,立刻停止求值。

条件运算符:?:

条件运算符需要三个运算对象,每个对象都是一个表达式。

语句1?语句2:语句3;

如果语句1 为真,整个条件表达式的值是语句2的值;否者是语句3的值
eg:
在这里插入图片描述

循环辅助:continue和break

  • continue:三种循环都可使用continue语句,执行该语句,会跳过本次循环(迭代),并开始下一轮循环(迭代)
  • break:程序执行到循环体中的break,终止循环,继续执行下一阶段
    在这里插入图片描述
    在这里插入图片描述

多重选择:switch和break

语法格式:

switch(整型表达式){
case 常量1:
语句1;
case 常量2:
语句2;

case 常量n:
语句n;
default :
语句n+1;
}

break语句可以让程序离开switch语句,跳至switch语句后面的下一条语句。如果没有,程序从匹配标签开始执行到switch末尾。
在这里插入图片描述

多重标签

语法格式:

switch(整型表达式){
case 常量1:
case 常量12:
语句1;
case 常量2:
case 常量22:
语句2;
default :
语句
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值