首页 > 其他分享 >10.21学习

10.21学习

时间:2024-10-21 23:18:33浏览次数:3  
标签:语句 10.21 char 字符 学习 条件 input 表达式

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 语言中非常灵活的控制流语句,可以与其它控制流语句结合使用,以实现复杂的程序逻辑和流程控制。

标签:语句,10.21,char,字符,学习,条件,input,表达式
From: https://blog.csdn.net/2401_87363162/article/details/143136071

相关文章

  • 10.21随笔
    这里是10.21随笔编程作业留档:要求为自主生成四则运算题,可选择题目数量,难度,并记录错题。以下为代码:packageys;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjava.util.Random;importjava.util.Scanner;imp......
  • 24.10.21
    A哇,直接一个CF*3000。要求的即为图2,5,可以用总方案数(\(\binom{n}{3}\))减去图1,3,4。对于图1,只要求出一根线左边有多少不与它相交的线,右边有多少线,记为\(l_i\)和\(r_i\)。对答案的贡献为\(l_i\timesr_i\)。对于图3,4,两图的共同点为三条线中有两条满足另外的两条线......
  • 全网最详细深度学习环境配置(Pycharm+anaconda+pytorch+TensorFlow+cuda+cudnn+改变虚
    目录1.版本说明2.安装Pycharm3.安装anaconda1.安装2.配置路径3.修改镜像源4.修改默认虚拟环境安装位置1.查看conda信息2.修改对应文件的权限3.再次查看信息5.配置Pycharm环境4.安装torch5.安装TensorFlow+cuda+cudnn1.打开对应的文件CUDA2.打开CUDNN3.安装T......
  • 10.21日
    CREATETABLEwebsites(idint(11)NOTNULLAUTO_INCREMENT,namechar(20)NOTNULLDEFAULT''COMMENT'站点名称',urlvarchar(255)NOTNULLDEFAULT'',alexaint(11)NOTNULLDEFAULT'0'COMMENT'Alexa排名',co......
  • 10.21
    A.CircleCF297E场上秉持着正难反更难的精神,根本没考虑容斥。正着统计合法方案很难,考虑用总方案数减去不合法方案数。总方案数比较容易求得,为\(\binom{n}{m}\)。不合法的可以归为两种情况:一种是两边都与当前线段相离。另一种是一个与当前线段相交,另一个相离。第一种情......
  • 带权并查集 学习笔记
    顾名思义,就是并查集带权值。在路径压缩的时候,我们还要维护权值应该怎么办呢?关联题目:P1196[NOI2002]银河英雄传说。我们对于一个舰队维护一个\(fr\)表示到头部的距离,\(cnt\)表示该舰队的战舰数量。那么每一次合并时,先进行路径压缩,找到父亲,在将父亲的权值传下来即可。因为每......
  • 10.21
    没时间写题了,写点题解。一道题写了一晚上,效率有点低。。。多校A层冲刺NOIP2024模拟赛09区间给定一个长度为\(N\)的数列\(A_1,A_2,\dots,A_N\)和一个长度为\(N−1\)的数列\(B_2,B_3,\dots,B_N\)。有\(Q\)个询问,每次询问是一个区间\([L_i,R_i]\)。请你求出有多少二元......
  • #护网面试#红蓝攻防#安全# 木马文件的学习
    声明:本博文,只是基于学习进行记录。冰蝎源码<?php@error_reporting(0);session_start();$key="密钥";//该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond$_SESSION['k']=$key;$post=file_get_contents("php://input");if(!extension_loaded('......
  • 机器学习中的图像处理与计算机视觉
    引言在现代计算机科学中,图像处理和计算机视觉已成为最活跃的研究领域之一,这得益于机器学习和深度学习的发展。本文将深入探讨图像处理与计算机视觉的基础概念、常见应用、关键技术、常用工具,以及在这些领域中的代码示例。通过本篇文章,我们将了解如何从头开始构建一个简单的计......
  • 【机器学习】支持向量机SVM|高斯核 讲解及代码实现
    支持向量机SVM支持向量机介绍SVM全称是SupportedVectorMachine(支持向量机)即寻找到一个超平面使样本分成两类,并且间隔最大。是一种监督学习算法,主要用于分类,也可用于回归与逻辑回归和决策树等其他分类器相比,SVM提供了非常高的准确度优点:适合小样本高纬度数据......