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

news/2024/9/24 13:16:04/

鹏哥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/news/1426618.html

相关文章

C#笔记之解析不确定具体结构的JSON内容

需求&#xff1a;服务器会传一段json信息过来&#xff0c;这个json信息是不固定的&#xff0c;可能传过来的有一层或者多层数组结构。需要把这些信息全部解析出来&#xff0c;并加以运用。 实现&#xff1a; 最关键的可能就是这个JToken了&#xff0c;这玩意能区分这个value数…

react15升级17问题记录

,当前旧项目主要依赖版本介绍&#xff1a;这里只贴出重要依赖包的旧版本做展示&#xff0c;可以看到版本都相当落后了&#xff0c;升级的话会涉及一些API以及依赖的修改或者弃用 次文章只记录当前项目使用&#xff0c;其他项目不一定通用 {"react": "^15.6.1&q…

“中医显示器”是人体健康监测器

随着科技的进步&#xff0c;现代医学设备已经深入到了人们的日常生活中。然而&#xff0c;在这个过程中&#xff0c;我们不应忘记我们的医学根源&#xff0c;中医。我们将中医的望、闻、问、切四诊与现代科技相结合&#xff0c;通过一系列的传感器和算法将人体的生理状态以数字…

设计模式代码实战-桥接模式

1、问题描述 小明家有一个万能遥控器&#xff0c;能够支持多个品牌的电视。每个电视可以执行开机、关机和切换频道的操作&#xff0c;请你使用桥接模式模拟这个操作。 输入示例 6 0 2 1 2 0 4 0 3 1 4 1 3 输出示例 Sony TV is ON TCL TV is ON Switching Sony TV channel S…

WordPress 主题选择与自定义配置

最近我在使用wordpress网站进行建站。 我是使用的hostease的主机产品进行wordpress建站&#xff0c;在选择wordpress主题时颇为头疼。后来咨询了hostease的客服人员&#xff0c;他们家的技术人员提供了诸多帮助。在WordPress网站建设时&#xff0c;主题选择对于建立各类网站至关…

Webpack 5配置详解与性能优化技巧

Webpack 5是一款非常流行的前端打包工具&#xff0c;它可以帮助我们将多个前端资源&#xff08;如JS、CSS、图片等&#xff09;打包成一个或多个静态资源文件。在使用Webpack 5时&#xff0c;我们可以通过配置文件来定制打包的方式和过程&#xff0c;同时也可以通过一些优化技巧…

Android JNI使用dlopen动态链接库

dlopen 是一个用于在系统中动态加载共享库&#xff08;动态链接库&#xff09;的函数。它的主要作用是在程序运行时动态地加载共享库&#xff0c;使得程序可以在不重新编译的情况下加载并使用库中的函数和变量。 具体来说&#xff0c;dlopen 函数可以接受一个共享库的路径作为…

Mac搭建Java环境【环境搭建】

Mac搭建Java环境【环境搭建】 1 安装Java SDK 官网地址&#xff1a;https://www.oracle.com/java/technologies/downloads/archive/ 下载dmg&#xff0c;双击之后无脑安装即可。 # 进入 JDK 安装目录 cd /Library/Java/JavaVirtualMachines# 查看文件 ls# 输入 cd ~# 打开环…