4.20+C语言感想,有趣的思考题,case的省略操作,统计位数,终止循环,break和continue语句, 准备下一篇见。

embedded/2024/10/21 5:54:08/

鹏哥C语言感想

一.高级

这可不是什么煎饼,这种食物叫做蓝莓,俗称苹果。生长在撒哈拉沙漠的雨林地带。因外形酷似企鹅,所以我们又喜欢叫他北极熊。你们这些人,连仙人掌都不知道,就不要乱说他是西瓜好吗?再说一遍这个橘子叫做猕猴桃,晚上要上直播课的平台叫做CCtalk~~

二.连写错误

错误示范:

不要连写a<b<c,前面部分判断为1导致错误;

 用a<b&&b<c;解决问题

三.判断语句:

5==a来判断,不会忘记多加一个==,哈哈哈

四.C语言中短路问题:

判断前面后错误,就不判断后面的值

五.有趣的思考题:

#include<stdio.h>
int main()
{int i = 0,a=0, b = 2, c = 3, d = 4;/*/y有趣的题*/i = (a++ && ++b && d++);printf("i=%d\n a=%d\n b=%d\n c=%d\n d =%d\n", i, a, b, c, d);return 0;
}    

 * `a++` 是后缀自增运算符,它先返回 `a` 的当前值(在这里是0),然后将 `a` 的值增加1。因此,在表达式中,`a++` 的值是0。  
* `++b` 是前缀自增运算符,它先将 `b` 的值增加1(在这里从2变为3),然后返回新的值(即3)。  
* `d++` 也是后缀自增运算符,它先返回 `d` 的当前值(在这里是4),然后将 `d` 的值增加1
* `&&` 是逻辑与运算符。如果其两个操作数都为非零(在C语言中,非零值通常被视为`true`),则整个表达式的结果为`true`(即非零值),否则为`false`(即0)。  
* 因此,`(a++ && ++b && d++)` 这个表达式的求值过程如下:  
    + 首先,`a++` 返回0(因为 `a` 是0),但因为0在逻辑上下文中被视为`false`,所以整个表达式在这里就已经确定为`false`(即0)。由于逻辑与运算符的短路行为(一旦确定整个表达式的结果为`false`,就不会再计算后面的操作数),`++b` 和 `d++` 不会被执行。  
* 最终,`i` 被赋值为0。

六.switch 语句

switch 语句是一种特殊形式的 if...else 结构,用于判断条件有多个结果的情况。它把多重的 else if 改成
更易用、可读性更好的形式。

就:case   case   case,不同情况输出不同值

 0.0这个是不是很可爱;哈哈哈

字符类型是也是归类到整型家族

字符类型归类到整型家族是因为字符在内存中存储的是字符的ASCII码值,而ASCII码值是整型。

例如,在C语言中,char类型的变量本质上存储的就是整型数据(ASCII码值),因此可以将char类型归类到整型家族中。

七. case的省略操作,不用每一个后面都输出:

#include<stdio.h>
int main()
{int day = 0;scanf("%d", &day);switch (day){case 1:case 2:case 3:case 4:case 5:printf("工作日");break;case 6:case 7:printf("happy日");break;default:printf("输入错误");break;}return 0;
}

 练习:逆序输入(以前作业写过,当时比较复杂)这次用一个新的方式

3/23作业上的一些简单题可以看看提升基础,不同简单,这里我写的更需要好好苍梧苍梧,三元条件运算符(也称为条件运算符)用的比较多一点-CSDN博客

{int a;printf("请输入一个数:");scanf("%d", &a);while (a){printf("%d", a % 10);a = a / 10;}return 0;
}

while循环中:

  • 使用a % 10获取a的个位数字,并使用printf函数输出。
  • 使用a = a / 10a除以10,去掉其个位数字,以便下一次循环处理十位数字。
  • a为0时,循环结束。

最后,程序返回0,表示正常结束。

 八.到了for语句喽:

九. while 和for的比较:

初始化   判断   调整都有变化:

十.do while语句:

先做了再判断

例如:

使用 do while 在屏幕上打印1~10的值

{int a = 1;do{printf("%d ", a);a++;} while (a<=10);return 0;
}

统计位数:

无论什么数,上来就给他加1;

{int a, count = 0;printf("请输入一个数:");scanf("%d", &a);do{count++;a /= 10;} while (a);printf("这是一个%d位数", count);return 0;
}

换一种方式:while:

十一.终止循环:

break和continue语句;


在循环执行的过程中,如果某些状况发生的时候,需要提前终止循环,这是非常常见的现象。C语言中提供了break 和 continue 两个关键字,就是应用到循环中的。
break 的作用是用于永久的终止循环,只要 break 被执行,直接就会跳出循环,继续往后执行。
。continue 的作用是跳过本次循环中 continue 后边的代码,在 for 循环和 while 循环中有所差异的。

抄了鹏哥的,我给原图发一下。

展示一下break:

 换成continue;报错了,但是他还是在坚强的运行;

{int a=0;while (a<10){if (a==6){continue;}a++;printf("%d ", a);}
}

{int a=1;while (a<10){if (a==6)continue;printf("%d ", a);a++;}return 0;
}

傻掉了,他把全部都给跳过掉了。,我才说,跳又没有加上一个数字,搞得在这里死循环。,哈哈哈,一秒改正。,哈哈哈

{int a=0;while (a<10){a++;if (a==6)continue;printf("%d ", a);}return 0;
}

纠正完成,哈哈哈哈,快去弄一下试一下。那么简单,都不打算去敲一下试一下。

 在循环体内,首先增加a的值。

c复制代码

a++;

然后检查a是否等于6。

if (a==6)

如果a等于6,执行continue语句。continue语句会跳过本次循环迭代中continue后面的所有语句,直接开始下一次循环迭代。因此,当a等于6时,printf语句不会被执行。

continue;

printf语句用于打印a的值,但它被错误地缩进了,实际上它并不在if语句块内。这意味着不管a是否等于6,它都会尝试执行printf(除了当a等于6且continue被执行时)。然而,由于continue的存在,当a等于6时,printf实际上不会被执行。

printf("%d ", a);
  1. a不再小于10时,while循环结束。

  2. 最后,函数返回0,表示程序正常结束。

return 0;

需要注意的是,虽然printf语句的缩进似乎表明它属于if语句块,但实际上它并不属于。在C语言中,语句块的边界是由花括号{}定义的,而不是缩进。因此,printf语句实际上是在if语句块之外。

程序的输出将是:

1 2 3 4 5 7 8 9 10

 准备下一篇见。


http://www.ppmy.cn/embedded/4728.html

相关文章

Unity之圆环slider

一、参考文章 Unity_圆环滑动条&#xff08;圆形、弧形滑动条&#xff09;_unity弧形滑动条-CSDN博客 此滑动条拖动超过360后继续往前滑动值会从0开始&#xff0c;正常我们超过360度时不可在滑动。 二、 超过360度不可滑动问题解决 参考HTML文章制作&#xff1a; https://www.c…

Unity UGUI透明区域点击无效

是这样的&#xff0c;我有一张图&#xff0c;客户给的是1920*1080&#xff0c;但只有中间部分是按钮&#xff0c;是有效像素。为了让空白区域点击无效。需要设置如下 并且加上下面这句 this.GetComponent<Image>().alphaHitTestMinimumThreshold 0.1f;

Phpstorm环境配置与应用

PhpStorm是一款专业的PHP集成开发环境&#xff08;IDE&#xff09;&#xff0c;提供了丰富的功能和工具&#xff0c;可以帮助开发者更高效地开发PHP应用程序。下面是PhpStorm环境配置与应用的步骤: 下载和安装PhpStorm&#xff1a;从官方网站&#xff08;https://www.jetbrains…

【系统分析师】系统安全分析与设计

文章目录 1、安全基础技术1.1 密码相关1.1.1对称加密1.1.2非对称加密1.1.3信息摘要1.1.4数字签名1.1.5数字信封 1.2 PKI公钥体系 2、信息系统安全2.1 保障层次2.2 网络安全2.2.1WIFI2.2.2 网络威胁与攻击2.2.3 安全保护等级 2.3计算机病毒与木马2.4安全防范体系 【写在前面】 记…

手把手教你实现贪吃蛇

前言 在实现贪吃蛇前&#xff0c;我们需要熟练地掌握C语言知识&#xff0c;对初阶数据结构中的链表有一定的掌握&#xff0c;并且我们还会使用到Win 32 API 的知识&#xff0c;下面我会对需要使用到的API接口函数进行解释。最终的代码我放在后面&#xff0c;有需要的可以自取。…

红黑树(Red-Black Tree)

红黑树&#xff08;Red-Black Tree&#xff09;是一种自平衡的二叉查找树&#xff0c;它具有以下特性&#xff1a; 1. 每个节点要么是红色&#xff0c;要么是黑色。 2. 根节点是黑色的。 3. 每个叶子节点&#xff08;NIL节点&#xff09;是黑色的。 4. 如果一个节点是红色的&am…

企业数据分析的维度一般有哪些?

​在很多场景下&#xff0c;都会进行企业的一个分析&#xff0c;来反应我们的问题。常见的需要分析企业数据的场景有&#xff1a;业务优化&#xff08;月度季度&#xff09;&#xff0c;需要做投资决策时&#xff0c;有融资需求&#xff0c;或者战略上出现了改变时&#xff0c;…

探索C语言数据结构:利用顺序表完成通讯录的实现

在好久之前我就已经学习过顺序表&#xff0c;但是在前几天再次温习顺序表的时候&#xff0c;我惊奇的发现顺序编表可以完成我们日常使用的通讯录的功能&#xff0c;那么今天就来好好通过博客总结一下通讯录如何完成吧。 常常会回顾努力的自己&#xff0c;所以要给自己的努力留…