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

鹏哥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.mfbz.cn/a/560290.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式4-20

客户端 #include <myhead.h> #define SER_IP "192.168.125.244" #define SER_PORT 8888 typedef struct Node { char username[20];struct sockaddr_in cin;struct Node *next; }Node,*Node_p; typedef struct {int flag;char username[20];char data[1024]…

java中File类和输入输出流的用法

目录 针对文件系统进行操作 针对文件内容进行操作 java针对文件操作可以分为两种&#xff1a;1&#xff09;针对文件系统进行操作&#xff0c;如创建文件&#xff0c;删除文件&#xff0c;创建目录&#xff0c;重命名文件等。 2&#xff09;针对文件内容进行操作&#xff0c…

【webrtc】m98 RoundRobinPacketQueue的优先级处理

m98 代码 PacedSender::EnqueuePackets 的调用者可能是多个地方,所以这个要加锁保护。RoundRobinPacketQueue 本身是没有锁的发现m98和新版本不同,参考:【webrtc】m114自己实现的PrioritizedPacketQueuepush和pop都是RtpPacketToSend 但是实际上,内部是封装为QueuedPacket 处…

Darknet框架优化介绍

一、DarkNet框架简介 1.DarkNet的简介 Darknet是一个完全使用C语言编写的人工智能框架&#xff0c;可以使用CUDA的开源框架。主要应用于图像识别领域。 它具有可移植性好&#xff0c;安装间接&#xff0c;查看源码方便等优势&#xff0c;提供了OpenCV等附加选项&#xff0c;还…

基于SSM+Jsp+Mysql的电子商城系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

hackthebox - Redeemer

2024.4.19 TASK 1 Which TCP port is open on the machine? 6379 TASK 2 Which service is running on the port that is open on the machine? redis TASK 3 What type of database is Redis? Choose from the following options: (i) In-memory Database, (ii) Traditiona…

Java -集合-知识点

本文详细介绍了Java中集合的基本概念、常用数据结构和核心特性。通过学习本文&#xff0c;读者可以了解到Java集合框架的核心接口和实现类&#xff0c;掌握各种数据结构在不同场景下的应用方法和优劣势&#xff0c;以及如何使用集合框架提供的方法进行数据操作和处理。同时&…

智慧公厕是如何诞生的?

在城市化进程中&#xff0c;公共卫生设施的建设一直是重要议题之一。而随着科技的不断发展&#xff0c;智慧公厕作为一种创新的解决方案&#xff0c;逐渐成为了现代城市管理的亮点。那么&#xff0c;智慧公厕是如何产生的呢&#xff1f; 一、城市化进程的推动 城市人口的增加和…

[阅读笔记16][Orca-2]Teaching Small Language Models How to Reason

接下来是Orca-2&#xff0c;这篇是微软在23年11月发表的论文&#xff0c;在Orca-1的基础上又进行了一些改进。 作者希望教会Orca-2各种推理策略&#xff0c;例如逐步思考、回忆然后回答、先回忆再推理再回答、直接生成回答等等策略。并且Orca-2应该能针对不同任务应该使用最合适…

使用PHP开发体育赛事直播平台,有这些缺点和优点

"东莞梦幻网络科技"作为体育直播平台开发领域的领导者&#xff0c;选择使用PHP开发体育赛事直播平台的现成源码&#xff0c;为什么会选择该语言&#xff0c;背后的选择理由可以从该技术的优点和缺点中找到答案。 一、优点1、易学易用与快速开发&#xff1a;PHP语言语…

为电路提供参考电压(基准电压) - 齐纳二极管的使用

在电路中通常需要用到参考电压&#xff0c;即提供一个恒定的精确的电压值。比如稳压电路、比较器电路、微控制器的Vref&#xff0c;这些电路都需要提供参考电压。很多厂家都提供了参考电压芯片&#xff0c;不过最简单最省钱的方式是使用齐纳二极管。 齐纳二极管 齐纳二极管也是…

OSI网络七层协议 ——(随手笔记)

1.OSI OSI&#xff08;Open System Interconnect&#xff09;&#xff0c;即开放式系统互连。 一般都叫OSI参考模型&#xff0c;是ISO组织在1985年研究的网络互连模型。该体系结构标准定义了网络互连的七层框架&#xff08;物理层、数据链路层、网络层、传输层、会话层、表示层…

【MATLAB基础绘图第21棒】绘制比例弦图 (Chord Diagram)

MATLAB绘制比例弦图 Chord Diagram 1 简介1.1 弦图简介1.2 比例弦图简介 2 MATLAB绘制比例弦图2.1 数据准备2.2 基本绘制2.3 添加方向箭头2.4 添加绘图间隙2.5 添加刻度2.6 修改标签2.7 颜色设置2.8 弧块及弦属性设置2.8.1 弧块属性设置2.8.2 弦属性设置 2.9 字体设置 参考 1 简…

python数据分析pyecharts【饼状图、直方图、词云、地图】

目录 饼状图 直方图 词云 地图 饼状图 from pyecharts.charts import Pie from pyecharts import options as optsdata {神农架林区: 2.6016,恩施州: 3.0729,十堰市: 3.4300,宜昌市: 3.4555,襄阳市: 4.0543,咸宁市: 4.1145,荆门市: 4.1777,潜江市: 4.2574,黄冈市: 4.40…

C++智能指针(二十)

一.RAII&#xff08;Resource Acquisition Is Initialization&#xff09; RAII资源获取即初始化&#xff0c;RAII的思想就是在构造时初始化资源&#xff0c;或者托管已经构造的资源。在析构的时候释放资源。一般不允许复制或赋值&#xff0c;并且提供若干的资源访问的方法。比…

OpenHarmony其他工具类—lua

简介 Lua是一种功能强大、高效、轻量级、可嵌入的脚本语言。 支持过程编程、面向对象编程、函数编程、数据驱动编程和数据描述。 下载安装 直接在OpenHarmony-SIG仓中搜索lua并下载。 使用说明 以OpenHarmony 3.1 Beta的rk3568版本为例 将下载的lua库代码存在以下路径&#…

C# 将 TextBox 绑定为 KindEditor 富文本

目录 关于 KindEditor 绑定设计 部署 KindEditor 实现代码 小结 关于 KindEditor KindEditor 基于JavaScript 编写&#xff0c;可以与众多WEB应用程序结合。KindEditor 依靠出色的用户体验和领先的技术提供富文本编辑功能&#xff0c;是一款非常受欢迎的HTML在线编辑器。…

【FreeRTOS】使用CubeMX快速移植FreeRTOS工程到蓝桥杯开发板(STM32G431RBT6)

使用CubeMX快速创建FreeRTOS工程到蓝桥杯开发板&#xff08;STM32G431RBT6&#xff09; CubeMX配置CubeMX基础工程的配置☆FreeRTOS相关配置FreeRTOS配置选项卡的解释 软件工程架构与程序设计小综合&#xff1a;☆任务的创建删除、挂起与恢复设计cubexMX配置创建任务软件程序设…

高频前端面试题汇总之JavaScript篇(上)

一、数据类型 1. JavaScript有哪些数据类型&#xff0c;它们的区别&#xff1f; JavaScript共有八种数据类型&#xff0c;分别是 Undefined、Null、Boolean、Number、String、Object、Symbol、BigInt。 其中 Symbol 和 BigInt 是ES6 中新增的数据类型&#xff1a; Symbol 代…

关于 Windows10 计算机丢失 MSVCP120.dll 的解决方法

今天学长跟平时一样打开电脑开始发布文章需要用到Adobe Photoshop CC 2018的时候居然给我来个Photoshop.exe-系统错误、无法启动此程序&#xff0c;因为计算机中丢失MSVCP120.dll 尝试重新安装该程序以解决此问题&#xff0c;安装上面的说明重新安装了我的Photoshop CC 打开还是…
最新文章