首页 > 其他分享 >10.26学习

10.26学习

时间:2024-10-26 23:20:50浏览次数:3  
标签:char 变量 10.26 int 数据类型 学习 整型 常量

1.整形的定义和输出

在C语言中,整形(Integer)是一种基本数据类型,用于存储整数。整形变量可以是正数、负数或零。在定义和输出整形变量时,需要注意以下几点:

①定义整形变量:

使用 int 关键字定义整型变量。

可以指定整形变量的初始值。

例如: int number = 10; 

②整型的分类:

C语言中有几种不同的整型类型,包括 short int (短整型)、 int (整型)、 long int (长整型)和 long long int (长长整型)。

还有无符号整型 unsigned int ,它只能存储非负整数。

③整型的取值范围:

不同的整型类型有不同的取值范围。例如, int 通常占用4个字节(32位),其取值范围通常是-2,147,483,648到2,147,483,647(取决于编译器和系统架构)。

 short int 通常占用2个字节, long int 可能占用4个字节或8个字节,而 long long int 通常占用8个字节。

④输出整形变量:

使用 printf 函数输出整型变量时,使用 %d 或 %i 格式说明符。

例如: printf("%d", number); 

⑤格式化输出:

可以通过在 printf 函数中使用格式化选项来控制输出的格式,例如设置宽度、填充字符、对齐方式等。

例如: printf("%5d", number);  会在输出时至少占用5个字符的宽度,如果数字不足5位,则左侧填充空格。

⑥整数溢出:

当整数值超出其类型所能表示的范围时,会发生溢出。

例如,对于 int 类型的变量,如果其值超过2,147,483,647,会发生溢出,导致不正确的结果。

⑦整型提升:

在表达式中,较小的整型可能会被提升为较大的整型,以避免精度损失。

例如, int 和 char 类型的变量在算术运算中可能会被提升为 int 类型。

⑧整型字面量:

可以使用后缀 L 或 l (大写或小写)来表示长整型字面量,例如 123L 。

使用后缀 LL 或 ll 来表示长长整型字面量,例如 123LL 。

⑨整型转换:

当将一个较大的整型赋值给一个较小的整型时,可能会发生截断,即超出部分会被丢弃。

例如,将 long long int 类型的值赋给 int 类型的变量时,如果该值超出了 int 的范围,就会发生截断。

⑩整型的位操作:

整型变量可以进行位操作,如位与(&)、位或(|)、位异或(^)、位非(~)和位移操作。

在编写C语言程序时,了解这些基本的整型操作和注意事项是非常重要的,以确保程序的正确性和效率。

 

2.变量和常量

在编程中,变量和常量是两种基本的数据类型,它们有以下不同点:

①存储的数据是否可以改变:

变量:变量是可以改变其值的标识符。在程序运行过程中,可以根据需要对变量重新赋值。

常量:常量是不可改变其值的标识符。一旦被赋值,其值在程序的整个生命周期内保持不变。

②定义方式:

变量:在C语言中,变量通常使用 int 、 float 、 char 等数据类型关键字来定义。

常量:在C语言中,常量可以用 const 关键字定义,或者使用预处理器指令 #define 来定义宏常量。

③内存分配:

变量:变量在内存中分配了存储空间,可以在程序运行时改变其值。

常量:常量通常在编译时就确定了其值,并且可能被编译器优化,不一定会分配内存空间。

④使用场景:

变量:用于存储程序运行过程中需要变化的数据。

常量:用于存储那些在程序运行过程中不需要改变的数据,比如配置参数、数学常数(如π)、固定算法中的系数等。

⑤编译器优化:

变量:由于变量的值可能会改变,编译器在优化代码时需要考虑到这一点。

常量:由于常量的值不会改变,编译器可以进行更多的优化,例如常量折叠(constant folding),将常量表达式在编译时计算并替换。

⑥作用域:

变量:变量的作用域取决于其定义的位置,可以是局部的(在函数或代码块内定义)或全局的(在所有函数之外定义)。

常量:使用 const 定义的常量具有与变量相同的作用域规则,而宏常量(使用 #define 定义)在整个文件中都是可见的。

⑦类型:

变量:变量可以是任何数据类型,包括基本数据类型(如 int 、 float )和复合数据类型(如数组、结构体)。

常量:常量可以是基本数据类型的值,也可以是复合数据类型的值,但它们不能是复合数据类型的实例(例如,不能定义一个常量数组)。

⑧调试和维护:

变量:由于变量的值可以改变,调试时可能需要跟踪变量的值变化。

常量:由于常量的值不变,调试时更容易确定其值,有助于减少错误和提高代码的可维护性。

在编程实践中,合理使用变量和常量可以提高代码的可读性、可维护性和性能。

 

 

3.字符型

在C语言中,字符型数据类型用于存储单个字符。主要的字符型数据类型包括:

①char:

这是最基本的字符型数据类型,用于存储单个字符。

 char 类型的变量可以存储一个字符,并且通常占用1个字节(8位)。

例如: char letter = 'A'; 

②signed char:

这是有符号的字符型数据类型,可以存储-128到127的值(在1个字节的系统中)。

 signed char 确保字符型变量被视为有符号整数。

例如: signed char signedLetter = 'A'; 

③unsigned char:

这是无符号的字符型数据类型,可以存储0到255的值(在1个字节的系统中)。

 unsigned char 确保字符型变量被视为无符号整数。

例如: unsigned char unsignedLetter = 'A'; 

在C语言中, char 类型的变量默认是有符号的,但是它的范围取决于编译器和系统的架构。在某些系统上, char 可能是无符号的,因此,如果你需要确保字符型变量是有符号或无符号的,应该使用 signed char 或 unsigned char 。

字符型变量不仅可以存储字母、数字和符号,还可以存储任何整数值,其中每个整数值对应于字符集中的一个字符(如ASCII)。例如, 'A' 的ASCII值是65,所以 char 类型的变量可以存储65,并在需要时被解释为字符'A'。

此外,字符型字面量在C语言中用单引号括起来,以区别于字符串字面量,后者用双引号括起来。例如, 'A' 是字符型字面量,而 "A" 是字符串字面量。字符串字面量实际上在内存中是以字符数组的形式存储的,以空字符 \0 结尾。

 

 

4.浮点型

主要的浮点型数据类型

①float:

这是最基本的浮点型数据类型,用于存储单精度浮点数。

 float 类型的变量通常占用4个字节(32位),并遵循IEEE 754标准。

例如: float f = 1.23; 

②double:

这是双精度浮点型数据类型,用于存储双精度浮点数。

 double 类型的变量通常占用8个字节(64位),并遵循IEEE 754标准。

例如: double d = 1.23; 

③long double:

这是扩展精度浮点型数据类型,用于存储比 double 更高精度的浮点数。

 long double 类型的变量所占的字节数和精度取决于编译器和系统架构,但通常至少和 double 一样大。

例如: long double ld = 1.23; 

浮点型变量的存储和表示遵循IEEE 754标准,该标准定义了浮点数的存储格式,包括符号位、指数位和尾数位。这种格式允许浮点数表示非常大或非常小的数值,并且可以表示非整数的实数。

在C语言中,浮点型字面量通常不指定类型,编译器会根据字面量的位数和精度来决定其类型。例如, 1.23 可以被存储为 float 或 double 类型,具体取决于编译器的默认设置和字面量的精度。如果需要明确指定浮点型字面量的类型,可以在字面量后面加上后缀:

 f 或 F 表示 float 类型,例如: 1.23f 。

 l 或 L 表示 long double 类型,例如: 1.23L 。

需要注意的是,浮点数的精度是有限的,因此在进行浮点运算时可能会遇到舍入误差。此外,浮点数的比较通常不使用等号(==),因为由于精度问题,两个看似相等的浮点数可能在二进制表示上并不完全相同。在需要比较浮点数时,通常会设定一个误差范围(epsilon),来判断两个浮点数是否“足够接近”。

标签:char,变量,10.26,int,数据类型,学习,整型,常量
From: https://blog.csdn.net/2401_87363162/article/details/143261532

相关文章

  • 2024-2025-1 20241411王思棋《计算机基础与程序设计》第五周学习总结
    班级链接https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP作业要求https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05教材学习内容总结《计算机科学概论》第六章一、低级程序设计语言概述(一)定义与特点低级程序设计语言是一种更接近计算机硬件的编程......
  • 2024-2025-1 学号20241315《计算机基础与程序设计》第五周学习总结
    作业信息这个作业属于哪个课程[2024-2025-1-计算机基础与程序设计](https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP)这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05这个作业的目标Pep/9虚拟机机器语言与汇编语言算法与伪代码......
  • 学期 2024-2025-1 学号20241317 《计算机基础与程序设计》第五周学习总结
    学期2024-2025-1学号20241317《计算机基础与程序设计》第五周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<写上具......
  • 2024-2025-1 20241310 《计算机基础与程序设计》第5周学习总结
    2024-2025-120241310《计算机基础与程序设计》第5周学习总结作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里2024-2025-1计算机基础与程序设计第一周作业这个作业的目标自学教材《计算机科学概论(第七版)》第6章并完成云班课测......
  • 【Linux探索学习】第八弹——Linux工具篇(三):Linux 中的编译器 GCC 的编译原理和使用详
    #1024程序员节|征文#Linux下的vim编辑器:【Linux探索学习】第七弹——Linux的工具(二):Linux下vim编辑器的使用详解-CSDN博客前言:在上一篇我们学习了如何在Linux环境下直接用vim编辑器来进行编辑代码,今天我们来学习如何运行我们所编辑的代码,运行代码就需要编译器,也就是我们下......
  • linux学习day1
    1.常见命令介绍(1)ctrlc:取消命令,并且换行(2)ctrlu:清空本行命令(3)tab键:可以补全命令和文件名,如果补全不了快速按两下tab键,可以显示备选选项(4)ls:列出当前目录下所有文件,蓝色的是文件夹,白色的是普通文件,绿色的是可执行文件(5)pwd:显示当前路径(6)cdXXX:进入......
  • 10.26如何进行简单的java连接数据库
    1建表1.win+R输入cmd输入mysql-uroot-p输入密码2.查看数据库原本的成员showdatabases3.创建一个新表,如studentcreatedatabasestudent;4.使用usestudent;createtablestudent(idint,namevarchar(10));5.插入insertintostudentvalue(1,'张三');in......
  • 2024.10.26
    1.st.upper_bound(c)返回的是地址想要上面的值要加*prev()也是;2.p1102的思路先for统计所有的数据的出现次数用map作为计数器一一对应,然后数组里存入的是arr[i]=数据-C;再for把map里有多少计数器的名字和“数据-C”一样的并且将计数器记的数累加求和;3.p1918思路先for把所......
  • 学期:2024-2025-1 学号:20241303 《计算机基础与程序设计》第5周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第五周作业)这个作业的目标<写上具体方面>自学教材,计算机科学概论(第七版)第6章并完成云班课测试,《C语言程序设......
  • 2024-2025-1 20241408陈烨南《计算机基础与程序设计》第五周学习总结
    这个作业属于哪个课程2024-2025-1-计算机基础与程序设计)这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05这个作业的目标①Pep/9虚拟机②机器语言与汇编语言③算法与伪代码④测试:黑盒,白盒作业正文本博客链接教材学......