3.5知识点复习
extern:
表示声明。 没有内存空间。 不能提升。
const:
限定一个变量为只读变量。
volatile:
防止编译器优化代码。
volatile int flg = 0;
register:
定义一个寄存器变量。没有内存地址。
register int a = 10;
字符串:
C语言中,用双引号引着的一串字符,称之为字符串。一定有一个结束标记'\0'
char ch = ‘A’; 一个字节
"abc" --> 'a''b''c''\0'
‘a’ 不等价 “a”('a''\0')
printf函数:
%s:打印字符串, 挨着从字符串的第一个字符开始打印,打印到'\0'结束。
%d:打印整数
%c:打印字符
%x:打印16进制数
%u:打印无符号
%m.n: 打印实型时用到,一共有 m 位(整数、小数、小数点),n位小数。
%0m.nf: 其中 f:表示打印实型,一共有 m 位(整数、小数、小数点),n位小数。 0:表示不足 m 位时,用0凑够m位。
%%: 显示一个%。 转义字符'\' 对 % 转义无效。
%Ns:显示N个字符的字符串。不足N用空格向左填充。
%0Ns:显示N个字符的字符串。不足N用0向左填充。
%-Ns:显示N个字符的字符串。不足N用空格向右填充。
putchar函数:
输出一个 字符 到屏幕。
直接使用 ASCII 码。
不能输出字符串。
‘abc’既不是一个有效字符,也不是一个有效字符串。
常用putchar('\n');来打印换行。
printf("\n");
scanf函数:
从键盘接收用户输入。
1. 接收 整数 %d
int a, b, c; 创建变量空间, 等待接收用户输入。
scanf("%d %d %d", &a, &b, &c);
2. 接收 字符 %c
char a, b, c;
scanf("%c %c %c", &a, &b, &c);
3. 接收 字符串 %s
char str[10];// 定义一个数组,用来接收用户输入的 字符串。
scanf("%s", str);// 变量名要取地址传递给 scanf, 数组名本身表示地址,不用 & 符。
接收字符串:
1) scanf 具有安全隐患。如果存储空间不足,数据能存储到内存中,但不被保护。【空间不足不要使用】
2) scanf 函数接收字符串时, 碰到 空格 和 换行 会自动终止。不能使用 scanf 的 %s 接收带有空格的字符串。
将 #define _CRT_SECURE_NO_WARNINGS 添加到程序 第一行。 解决scanf 4996错误
getchar()函数:
从键盘获取用户输入的 一个字符。
返回该获取的字符的 ASCII 码。
算数运算符:
先 * / % 后 + -
除法运算后,得到的结果赋值给整型变量时,取整数部分。
除0 :错误操作。不允许。
对0取余:错误操作。不允许。
不允许对小数取余。余数不能是 小数。 35 % 3.4;
对负数取余,结果为余数的绝对值。10 % -3; --》 1
++ 和 --:
前缀自增、自减:
先自增/自减, 在取值。
int a = 10;
++a;// a = a+1;
后缀自增、自减:
int a = 10;
a++;// a = a+1;
先取值, 再自增/自减。
赋值运算:
int a = 5;
a += 10; // a = a+10;
a -= 30; // a = a-30;
a %= 5; // a = a % 5;
比较运算符:
== 判等。
!= 不等于.
< 小于
<= 小于等于
> 大于
>= 大于等于
13 < var < 16; ==> var > 13 && var < 16;
逻辑运算符:
0为假,非0为真。(1)
逻辑非:!
非真为假, 非假为真。
逻辑与: &&(并且)
同真为真,其余为假。
逻辑或:|| (或)
有真为真。同假为假。
运算符优先级:
[]() > ++ -- (后缀高于前缀) (强转) sizeof > 算数运算(先乘除取余,后加减)>
比较运算 > 逻辑运算 > 三目运算(条件运算)> 赋值运算 > 逗号运算
三目运算符: ? :
表达式1 ? 表达式2 : 表达式3
表达式1 是一个判别表达式。 如果为真。整个三目运算,取值表达式2。
如果为假。整个三目运算,取值表达式3。
默认结合性。自右向左。
类型转换:
隐式类型转换:
由编译器自动完成。
由赋值产生的类型转换。 小--》大 没问题。 大 --》 小 有可能发生数据丢失。
int r = 3;
float s = 3.14 * r * r;
321:256 128 64 32 16 8 4 2 1
1 0 1 0 0 0 0 0 1
char ch = 0 1 0 0 0 0 0 1
强制类型转换:
语法:(目标类型)带转换变量
(目标类型)带转换表达式
大多数用于函数调用期间,实参给形参传值。
if分支语句:匹配一个范围.属于模糊匹配.
if (判别表达式1)
{
判别表达式为真,执行代码。
}
else if(判别表达式2)
{
判别表达式1为假,并且判别表达式2,执行代码。
}
else if(判别表达式3)
{
判别表达式1为假,判别表达式2为假,判别表达式3, 执行代码。
}
。。。
else
{
以上所有判断表达式都为假, 执行代码。
}
练习:三只小猪称体重:
屏幕输入三只小猪的重量。借助if分支语句,找出最重的小猪重量。
switch 分支:精确匹配.
switch(判别表达式)
{
case 1:
执行语句1;
break;// 防止case穿透
case 2:
执行语句2;
break;
case 3:
执行语句3;
break;
...
case N:
执行语句N;
break;
default:
其他情况的统一处理;
break;
}
case 穿透:
在一个case分支中如果,没有break;那么它会向下继续执行下一个case分支.
while循环:
while(条件判别表达式)
{
循环体.
}
练习:敲7:1--100数数, 逢7和7的倍数,敲桌子。
7的倍数:num % 7 == 0
个位含7:num % 10 == 7
十位含7:num / 10 == 7
do while 循环:
无论如何先执行循环体一次。然后在判断是否继续循环。
do {
循环体
} while (条件判别表达式);
练习:求水仙花数。 一个三位数。各个位上的数字的立方和等于本数字。 234 861
100 -- 999
int num = 100;
个位数: int a = num % 10; a*a*a;
十位数: int b = num / 10 % 10;
百位数: int c = num / 100;
相关文章:
3.5知识点复习
extern:表示声明。 没有内存空间。 不能提升。const:限定一个变量为只读变量。volatile:防止编译器优化代码。volatile int flg 0; register:定义一个寄存器变量。没有内存地址。register int a 10;字符串:C语言中&a…...
湖南中创教育PMP分享项目经理有哪些优势?
项目经理拥有超强的计划能力;具备大局意识;沟通能力特别强;具备更大的灵活性和反应能力以及总结汇报能力 1、超强的计划能力 项目经理几乎无时无刻都在做计划,因此也就更擅长做计划。 项目管理要抓重点,有主次地处理…...
LeetCode:27. 移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面…...

麻雀算法SSA优化LSTM长短期记忆网络实现分类算法
1、摘要 本文主要讲解:麻雀算法SSA优化LSTM长短期记忆网络实现分类算法 主要思路: 准备一份分类数据,数据介绍在第二章准备好麻雀算法SSA,要用随机数据跑起来用lstm把分类数据跑起来将lstm的超参数交给SSA去优化优化完的最优参数…...
哈希表题目:数组中的 k-diff 数对
文章目录题目标题和出处难度题目描述要求示例数据范围解法思路和算法代码复杂度分析题目 标题和出处 标题:数组中的 k-diff 数对 出处:532. 数组中的 k-diff 数对 难度 4 级 题目描述 要求 给定一个整数数组 nums\texttt{nums}nums 和一个整数 k…...

SAP ERP系统PP模块计划策略2050详解
SAP/ERP系统中面向订单生产的计划策略主要有20和50两个策略,这两个策略都是面向订单生产的计划策略,也是离散制造行业应用比较广泛的策略。它们之间最大差异就是在于20策略完全是由订单驱动,而50策略是预测加订单驱动,本文主要介绍…...

TIA博途中将硬件目录更改为中文的具体方法演示
TIA博途中将硬件目录更改为中文的具体方法演示 基本步骤可参考如下: 第一步: 第二步: 具体的操作演示: 如下图所示,在所示的目录中找到zh-chs文件夹,删除或修改文件夹的名称均可,这里建议大家修改文件夹的名称,防止以后需要恢复成英文目录, 如下...
【多线程操作】线程池模拟实现
目录 一.线程池的作用 二.线程池的模拟实现 1.线程模块(Thread.hpp): 2.线程锁模块(LockGuard.hpp): 3.任务模块(Task.hpp) 4.线程池核心(ThreadPool.hppÿ…...

HBase---Hbase安装(单机版)
Hbase安装单机版 文章目录Hbase安装单机版Master/Slave架构安装步骤配置Hbase1.上传压缩包解压更名修改hbase-env.sh修改hbase-site.xml配置HBase环境变量配置Zookeeper复制配置文件修改zoo.cfg配置文件修改myid配置Zookeeper环境变量刷信息配置文件启动hbase步骤hbase shellMa…...

启动项管理工具Autoruns使用实验(20)
实验目的 (1)了解注册表的相关知识; (2)了解程序在开机过程中的自启动; (3)掌握Autoruns在注册表和启动项方面的功能;预备知识 注册表是windows操作系统中的一个核心数据…...
BFD单臂回声实验详解
13.1.1BFD概念 BFD提供了一个通用的、标准化的、介质无关的、协议无关的快速故障检测机制,有以下两大优点: 对相邻转发引擎之间的通道提供轻负荷、快速故障检测。 用单一的机制对任何介质、任何协议层进行实时检测。 BFD是一个简单的“Hello”协议。两个系统之间建立BFD会…...

详解JAVA类加载器
目录 1.概述 2.双亲委派 3.ServiceClassLoader 4.URLClassLoader 5.加载冲突 1.概述 概念: 类加载器(Class Loader)是Java虚拟机(JVM)的一个重要组件,负责加载Java类到内存中并使其可以被JVM执行。类…...
记录一些常用C标准库函数,以及Linux系统调用函数的作用(不断更新)
C标准库函数 perror() 函数 作用:perror函数是C标准库中的一种函数,用于在STDERR(标准错误输出流)中输出给定的错误信息字符串。它不属于Linux系统调用函数。 具体使用方法:perror("调用的函数名") 所需…...

RK3568平台开发系列讲解(显示篇)DRM的atomic接口
🚀返回专栏总目录 文章目录 一、Property二、Standard Properties三、代码案例沉淀、分享、成长,让自己和他人都能有所收获!😄 📢目前DRM主要推荐使用的是 Atomic(原子的) 接口。 一、Property Property(属性)—– Atomic操作必须依赖的基本元素 Property把前面的…...

2022年MathorCup数学建模C题自动泊车问题解题全过程文档加程序
2022年第十二届MathorCup高校数学建模 C题 自动泊车问题 原题再现 自动泊车是自动驾驶技术中落地最多的场景之一,自动泊车指在停车场内实现汽车的自动泊车入位过程,在停车空间有限的大城市,是一个比较实用的功能,减少了驾驶员将…...

【需求响应】基于数据驱动的需求响应优化及预测研究(Matlab代码实现)
👨🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…...

Bellman-ford和SPFA算法
目录 一、前言 二、Bellman-ford算法 1、算法思想 2、算法复杂度 3、判断负圈 4、出差(2022第十三届国赛,lanqiaoOJ题号2194) 三、SPFA算法:改进的Bellman-Ford 1、随机数据下的最短路问题(lanqiaoOJ题号1366&…...
假如你知道这样的MySQL
数据库三范式是什么? 第一范式(1NF):字段具有原子性,不可再分。(所有关系型数据库系 统都满足第一范式数据库表中的字段都是单一属性的,不可再分)第二范式(2NF)是在第一范式(1NF)的…...

SpringBoot笔记(一)入门使用
一、为什么用SpringBootSpringBoot优点创建独立Spring应用内嵌web服务器自动starter依赖,简化构建配置自动配置Spring以及第三方功能提供生产级别的监控、健康检查及外部化配置无代码生成、无需编写XMLSpringBoot缺点人称版本帝,迭代快,需要时…...

C++20 协程体验
1 介绍协程是比线程更加轻量级并发编程方式,CPU资源在用户态进行切换,CPU切换信息在用户态保存。协程完成异步的调用流程,并对用户展示出同步的使用方式。协程的调度由应用层决定,所以不同的实现会有不同的调度方式,调度策略比较灵…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...