10.21学习

1.格式说明符中的%2s

在 C 语言中, %2s  是一个格式说明符,用于  scanf 、 fscanf 、 sscanf  等输入函数中。它指定了函数应该读取的字符串的最大长度。具体来说:

 % :表示开始一个格式说明符。

 2 :指定要读取的字符的最大数量,这里是2个字符。

 s :表示要读取的数据类型是字符串。

因此, %2s  用于指示函数读取最多2个字符的字符串。这在读取固定长度的字符串或者当你知道输入中只有有限数量的字符时非常有用。

示例

char str[3]; // 需要额外的空间来存储字符串结束符 '\0'

scanf("%2s", str);

在这个例子中, scanf  函数将读取最多2个字符,并将它们存储在  str  数组中。 str  数组的第三个元素将自动设置为字符串结束符  \0 ,以确保它是一个有效的 C 字符串。

使用  %2s  可以防止缓冲区溢出,如果你知道输入的字符串长度不会超过2个字符,这是一个安全的做法。如果输入的字符少于2个, scanf  会读取所有可用的字符并自动添加字符串结束符  \0 。如果输入的字符超过2个, scanf  只会读取前2个字符,并忽略其余的输入。

 

2.比较运算符(>=/<=)

★>=  ,称为“大于等于”运算符。它用来比较两个值,如果左边的值大于或等于右边的值,那么表达式的结果是  true (在 C 语言中通常表示为  1 ),否则结果是  false (通常表示为  0 )。

语法

表达式1 >= 表达式2

表达式1:可以是任何数值或指针类型的表达式。

表达式2:可以是任何数值或指针类型的表达式,且类型需要与表达式1兼容。

示例

int a = 5;

int b = 3;

 

if (a >= b) {

printf("a is greater than or equal to b\n");

} else {

printf("a is less than b\n");

}

在这个例子中, a >= b  的结果是  true ,因为  5  大于  3 ,所以程序会输出  "a is greater than or equal to b" 。

 >=  运算符也可以用于浮点数的比较:

float f1 = 7.2;

float f2 = 2.5;

 

if (f1 >= f2) {

printf("f1 is greater than or equal to f2\n");

} else {

printf("f1 is less than f2\n");

}

在这个例子中, f1 >= f2  的结果也是  true ,因为  7.2  大于  2.5 ,所以程序会输出  "f1 is greater than or equal to f2" 。

比较运算符  >=  在编程中经常用于条件语句(如  if  语句)和循环语句(如  while  或  for  循环)中,以根据比较结果控制程序的流程。

 

★<=  ,称为“小于等于”运算符。它用来比较两个值,如果左边的值小于或等于右边的值,那么表达式的结果是  true (在 C 语言中通常表示为  1 ),否则结果是  false (通常表示为  0 )。

语法

表达式1 <= 表达式2

表达式1:可以是任何数值或指针类型的表达式。

表达式2:可以是任何数值或指针类型的表达式,且类型需要与表达式1兼容。

示例

int a = 5;

int b = 3;

 

if (a <= b) {

printf("a is less than or equal to b\n");

} else {

printf("a is greater than b\n");

}

在这个例子中, a <= b  的结果是  false ,因为  5  不小于  3 ,所以程序会输出  "a is greater than b" 。

 <=  运算符也可以用于浮点数的比较:

float f1 = 7.2;

float f2 = 2.5;

 

if (f1 <= f2) {

printf("f1 is less than or equal to f2\n");

} else {

printf("f1 is greater than f2\n");

}

在这个例子中, f1 <= f2  的结果也是  false ,因为  7.2  不小于  2.5 ,所以程序会输出  "f1 is greater than f2" 。

比较运算符  <=  在编程中经常用于条件语句(如  if  语句)和循环语句(如  while  或  for  循环)中,以根据比较结果控制程序的流程。

 

 

3.char

char  是一种基本数据类型,用于存储单个字符。 char  类型的变量可以存储一个范围从 0 到 127 的整数,这些整数对应于 ASCII 码表中的字符。ASCII(美国信息交换标准代码)是一种字符编码标准,它为英语字符和一些控制字符分配了特定的数字代码。

★特点

大小: char  类型通常占用 1 个字节(8 位)的内存空间。

范围:在标准 ASCII 编码中, char  类型的变量可以表示从 0 到 127 的整数值。在扩展的 ASCII 编码中,范围可能达到 0 到 255。

存储: char  类型的变量可以存储字符的整数值,也可以直接存储字符本身。

声明和初始化

声明一个  char  类型的变量的语法如下:

char变量名;

或者在声明时直接初始化:

char变量名 = 'A';

示例

char letter = 'A'; // 存储字符 'A'

char number = 65; // 存储字符 'A' 的 ASCII 码值,即 65

在这个例子中, letter  和  number  都声明为  char  类型,但  letter  直接存储了字符 'A',而  number  存储了 'A' 的 ASCII 码值 65。

★注意事项

①当你将一个字符赋值给  char  类型的变量时,应该使用单引号,如  'A' 。

如果你直接赋一个没有引号的数字给  char  类型的变量,那么它将存储该数字对应的 ASCII 码值。

②char  类型的变量也可以进行算术运算,因为它本质上是一个整数。

③char  类型在处理字符串和字符数据时非常有用,它是 C 语言中处理文本信息的基本构建块。

 

4.input

input  这个词本身并不是一个关键字或者特定的函数,它通常用作变量名,表示输入的数据。当你看到  input[0]  这样的表达式时, input  是一个数组类型的变量,而  input[0]  表示访问该数组的第一个元素。

在编程中,数组是一种数据结构,用于存储一系列相同类型的元素。数组的元素可以通过索引来访问,索引从 0 开始计数,这意味着数组的第一个元素的索引是 0,第二个元素的索引是 1,以此类推。

示例

假设你有一个字符数组用来存储字符串,你可以这样声明和使用它:

char input[] = "Hello"; // 声明一个字符数组并初始化

printf("%c\n", input[0]); // 输出数组的第一个元素,即 'H'

在这个例子中, input  是一个字符数组,它包含了字符串  "Hello" 。通过  input[0]  可以访问到数组中的第一个字符,即  'H' 。

如果你在函数或程序中看到  input[0] ,这通常意味着程序正在处理从用户或其他来源输入的数据,并且这些数据被存储在  input  数组中。数组的索引  [0]  用来获取第一个输入的字符或数据项。

在一些编程上下文中, input  可能指的是一个输入流或输入缓冲区,例如,在处理文件输入输出时, input  可能是一个指向文件的指针,而  input[0]  可能表示文件内容的第一个字符。但具体情况取决于程序的具体实现和上下文环境。

 

5.&&

在 C 语言中, &&  是逻辑运算符,称为逻辑“与”(AND)运算符。它用来连接两个或多个条件表达式,只有当所有连接的条件表达式都为真(true)时,整个逻辑表达式的结果才为真。

★语法

条件1 && 条件2

条件1:第一个要评估的条件表达式。

条件2:第二个要评估的条件表达式。

如果条件1和条件2都为真,则整个表达式的结果为真(1);如果任何一个条件为假(0),则整个表达式的结果为假(0)。

示例

if (input[0] >= 'A' && input[0] <= 'Z') {

// 如果 input[0] 是一个大写字母,则执行这里的代码

}

在这个例子中:

 input[0] >= 'A' :检查  input[0]  是否大于或等于字符  'A' 。

 input[0] <= 'Z' :检查  input[0]  是否小于或等于字符  'Z' 。

只有当  input[0]  同时满足这两个条件时(即  input[0]  是一个介于  'A'  和  'Z'  之间的字符,包括  'A'  和  'Z' ), &&  运算符才会返回真,从而执行  if  语句块内的代码。

使用  &&  运算符可以确保所有相关条件都必须满足,这在需要多个条件同时为真时非常有用。这种逻辑组合提高了条件判断的灵活性和表达力。

 

6.if

在编程中, if  语句是一种基本的控制流语句,用于根据条件是否为真来决定是否执行一段代码。 if  语句允许程序根据条件表达式的值为真或假来选择性地执行代码块。

★基本语法

if (条件表达式) {

// 当条件表达式为真(true)时执行的代码

}

★条件表达式:一个返回布尔值(真或假)的表达式。如果条件表达式的结果为真(非零值),则大括号  {}  中的代码块将被执行。

示例

int number = 10;

 

if (number > 5) {

printf("Number is greater than 5\n");

}

在这个例子中,如果变量  number  的值大于5,那么  if  语句中的代码块将执行,打印出消息 "Number is greater than 5"。

 if  语句也可以包含  else  部分,用来处理条件为假的情况:

if (条件表达式) {

// 当条件表达式为真时执行的代码

} else {

// 当条件表达式为假时执行的代码

}

示例

int number = 3;

 

if (number > 5) {

printf("Number is greater than 5\n");

} else {

printf("Number is not greater than 5\n");

}

在这个例子中,如果  number  大于5,将执行  if  块中的代码;否则,将执行  else  块中的代码。

 if  语句也可以嵌套,即在一个  if  语句内部包含另一个  if  语句,这样可以创建更复杂的条件逻辑。

 if  语句是编程中实现决策逻辑的基础,允许程序根据不同的条件执行不同的操作。

 

 

 

Q:在C语言中,`if` 语句可以与其他控制流语句一起使用吗?

A:在 C 语言中, if  语句确实可以与其他控制流语句一起使用,以创建复杂的逻辑和程序流程。这些控制流语句包括  else 、 else if 、 switch 、 while 、 do...while  和  for  循环等。结合使用这些语句可以让你根据不同的条件执行不同的代码块,或者在满足特定条件时重复执行一段代码。

 if  与  else  和  else if 

 if  语句可以与  else  和  else if  结合使用,以处理多种情况:

if (条件1) {

// 当条件1为真时执行的代码

} else if (条件2) {

// 当条件1为假且条件2为真时执行的代码

} else {

// 当条件1和条件2都为假时执行的代码

}

 if  与  switch 

 if  语句也可以用在  switch  语句的  case  语句中,尽管这通常不是推荐的做法,因为它会降低代码的可读性:

switch (表达式) {

case 值1:

if (条件) {

// 条件为真时执行的代码

}

break;

case 值2:

// 其他代码

break;

// 更多的 case 语句

}

 if  与循环语句

 if  语句可以与  while 、 do...while  和  for  循环结合使用,以控制循环的执行或在循环内部根据条件执行特定的代码:

while (条件) {

if (循环内的某个条件) {

// 根据条件执行特定的代码

}

// 循环内的其他代码

}

 

for (初始化; 条件; 更新) {

if (循环内的某个条件) {

// 根据条件执行特定的代码

}

// 循环内的其他代码

}

在这些情况下, if  语句通常用于在循环的每次迭代中检查一个条件,并根据该条件执行特定的代码块。

总的来说, if  语句是 C 语言中非常灵活的控制流语句,可以与其它控制流语句结合使用,以实现复杂的程序逻辑和流程控制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/56127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ajax:跨域、防抖和节流、HTTP协议

在善意的“双向奔赴”中&#xff0c;每个普通人都如星辰&#xff0c;微小但释放着自己的光芒&#xff0c;交织成灿烂的星河 文章目录 跨域防抖和节流HTTP协议HTP状态码以及代表意义错误代码的影响移动的小天使 跨域 同源策略 概念&#xff1a;协议&#xff0c;域名&#xff0c…

RAID5数据恢复—raid5阵列如何重组?raid5阵列重组方法详解

RAID5数据恢复环境&#xff1a; 一台存储上有一组由12块SCSI硬盘&#xff08;11块数据盘1块热备盘&#xff09;组建的RAID5磁盘阵列&#xff0c;FreeBSD操作系统zfs文件系统。 RAID5故障&#xff1a; 其中一块盘出现故障&#xff0c;需要重组该raid5磁盘阵列。 RAID5数据恢复…

MySQL数据库操作——(4)

目录 8 视图 8.1 常见的数据库对象 8.2 视图概述 8.2.1 为什么使用视图&#xff1f; 8.2.2 视图的理解 8.3 创建视图 8.3.1 创建单表视图 8.3.2 创建多表联合视图 8.3.3 基于视图创建视图 8.4 查看视图 8.5 更新视图的数据 8.5.1 一般情况 8.6 修改、删除视图 8.…

冲锋衣市场洞察:全方位数据分析与趋势展望

冲锋衣整体数据分析 一. 概述 本报告基于从淘宝商品搜索接口和淘宝精确月销量接口中提取的数据&#xff0c;分析了前百个品牌在销售额上的占比情况。分析涵盖了销售额和占比的数据&#xff0c;为决策提供了依据。&#xff08;数据获取时间&#xff1a;2024.10.08&#xff09;…

(c++)函数的引用语法、使用、函数调用作左值

//引用的用途&#xff1a;可以利用引用用形参修饰实参&#xff0c;引用的语法比指针操作地址更加简单易懂。 //1.不要返回局部的引用 2.如果函数返回的是引用&#xff0c;则这个函数调用可以作为左值 #include<iostream> using namespace std; //引用的用途&#xff1a;…

leetcode动态规划(十)-0-1背包理论基础(一维数组)

一维dp数组&#xff08;滚动数组&#xff09; leetcode中无纯0-1背包问题&#xff0c;可从卡码网上查看题目46.0-1背包问题 一维数组来源于二维数组&#xff0c;其本质是对一维数组进行压缩了&#xff0c;压缩后需要注意在进行背包容量循环的时候采用后序遍历&#xff0c;而不…

less 命令无法正确显示中文字符问题

less的配置文件通常是~/.lessfilter或~/.lessrc。你可以检查这些文件中是否有关于字符编码的设置。如果没有&#xff0c;可以添加以下内容到配置文件中&#xff1a; export LESSCHARSETutf-8&#xff08;设置字符编码为 UTF-8&#xff09;。 如果没有~/.lessfilter或~/.lessr…

世界500强,计算机校招月薪 1k ?

大家好&#xff0c;我是鸭鸭&#xff01; 周末闲来无事&#xff0c;鸭鸭又来互联网冲浪了&#xff0c;没想到刷到这么一张图&#xff1a; 现在校招给计算机应届生开出的薪资只有 1&#xff5e;1k 了吗&#xff1f;鸭鸭很难不怀疑这是打错字了。 根据图里信息&#xff0c;这应…

【数据库设计】逻辑结构设计

E-R实体集的转换 概念结构设计之后就是对E-R图进行逻辑结构设计&#xff1a;即将E-R图转化成关系的过程。逻辑结构设计主要用于数据库管理系统上&#xff0c;为了让数据在计算机系统中更好地表示。 此设计过程用到的数据模型有&#xff1a;除了前面讲过的关系模型还有层次模型…

双十一该买什么比较好?双十一推荐好物清单分享

​是不是很多朋友跟我一样&#xff0c;已经为双11做好了准备&#xff0c;打算开启买买买的节奏&#xff01;作为一名家居兼数码博主&#xff0c;每年双11的时候都会疯狂囤很多物品&#xff0c;所以今天就跟大家来分享一下&#xff0c;我的双11购物清单&#xff0c;也给大家参考…

数据结构部分混淆

1.随机存储和顺序存储&#xff1a; 随机存取&#xff1a;数组&#xff0c;当存储器中的数据被读取或写入时&#xff0c;所需要的时间与该数据所在的物理地址无关 顺序存取&#xff1a;链表&#xff0c;当存储器中的数据被读取或写入时&#xff0c;所需要的时间与该数据所在的物…

分享一份JSON数据格式商品详情数据详情示例

JSON数据格式的商品详情数据通常包含商品的多个层级信息&#xff0c;以下是一个综合多个来源信息的JSON数据格式的商品详情数据示例参考&#xff1a; {"item": {"num_iid": "836392331271","title": "高腰阔腿牛仔裤女2024年新款…

Java:IDEA生成JavaDoc文档

有些开源项目并未直接提供api&#xff0c;但是通过从github、gitee下载项目可以手动生成Java文档。 步骤如下。 使用IDEA打开项目。 选择生成Java Doc文档&#xff1a; 第一步&#xff1a;选择生成JavaDoc文档的范围&#xff0c;我只对一个源文件生成Doc&#xff0c;所以选择…

鸿蒙开发超好用的 UI 组件和工具类库 BasicLibrary

大家好&#xff0c;我是 V 哥。你在学习HarmonyOS NEXT 开发吗&#xff0c;今天 V 哥给你推荐一款超好用的三方库BasicLibrary&#xff0c;BasicLibrary 是一个基于 API 11 封装的基本库&#xff0c;旨在提升鸿蒙开发效率。它包含了一些常用的 UI 组件和实用工具类&#xff0c;…

Java基础:面向对象编程8

1 Java 注解 1.1 概念 定义&#xff1a;注解&#xff08;Annotation&#xff09;是在 Java 1.5 时引入的概念&#xff0c;同 class 和 interface 一样&#xff0c;属于一种类型。作用&#xff1a;注解提供了一系列数据用来装饰程序代码&#xff08;类、方法、字段等&#xff…

【Lammps】拉伸模拟实验

【Lammps】拉伸模拟实验 一、代码二、解析&#xff08;1&#xff09;初始化&#xff08;2&#xff09;建模&#xff08;3&#xff09;力场设置&#xff08;4&#xff09;热平衡和压力平衡设置时间单位nve系综设置npt 系综设置 &#xff08;5&#xff09;拉伸模拟操作&#xff0…

git配置以及如何删除git

你努力学习和充实自己&#xff0c;除了提升自身的价值&#xff0c;最实际的是当遇到有喜欢的人和事的时候&#xff0c;除了一片真心&#xff0c;还有拿得出手的东西 作用 记录开发的历史&#xff0c;每次记录就是一个版本&#xff0c;而且可以回到历史的某个版本可以实现多人合…

Python中怎样用AKShare获取基金最新数据?

炒股自动化&#xff1a;申请官方API接口&#xff0c;散户也可以 python炒股自动化&#xff08;0&#xff09;&#xff0c;申请券商API接口 python炒股自动化&#xff08;1&#xff09;&#xff0c;量化交易接口区别 Python炒股自动化&#xff08;2&#xff09;&#xff1a;获取…

浅谈普通学历编码学生代码编程之路--24程序员节

#1024程序员节 | 征文# 今夕已是2024年&#xff0c;楼主是一名大四学生 &#xff0c;即将进入社会&#xff0c;曾经总是拿码农来开程序员的玩笑 &#xff0c;也是也是幻想着成为一名码农啊&#xff0c;先说说个人学习Java之路 &#xff0c;从步入大学开始就是主学Java&#xff…

【MyBatis】MyBatis缓存原理详解

目录 一、简介 二、缓存类介绍 2.1 PerpetualCache 2.2 LruCache 2.3 BlockingCache 三、CacheKey 3.1 总结&#xff1a;二级缓存命中条件 四、一级缓存 五、二级缓存 5.1 二级缓存如何组装这些装饰器&#xff1f;&#xff08;解析SQL映射文件中的标签&#xff0c;初…