CDay03

yizhihongxing

字符类型

编码

char类型采用ASCII编码,占1个字节,只用了7位(最高位是0),能表示128个字符。

CDay03
需要记忆的:


  • 空字符 '\0' = 0
  • ' ' = 32
  • '0' = 48
  • 'A' = 65
  • 'a' = 97

转义序列

字符转义序列

CDay03

数字转义序列

  • 八进制:以 \ 开头,后面最多接三个八进制数
  • 十六进制:以 \x 开头,后面接十六进制数

字符处理函数

CDay03

读写字符类型

  1. scanf/printf,配合%c来读写,%c匹配一个字符

  2. getchar()/putchar()
    int getchar(void) 函数从 stdin 上读取下一个可用的字符,并把它返回为一个整数。这个函数在同一个时间内只会读取一个单一的字符。您可以在循环内使用这个方法,以便从屏幕上读取多个字符。
    int putchar(int c) 函数把字符输出到 stdout,并返回相同的字符。这个函数在同一个时间内只会输出一个单一的字符。您可以在循环内使用这个方法,以便在屏幕上输出多个字符。

getchar和putchar的效率远高于printf和scanf,如果只是读写字符数据,建议使用getchar和putchar。

布尔类型

C99引入布尔类型,定义在<stdbool.h>中

布尔值转换为整数

  • false --> 0
  • true --> 1

整数转换为布尔值

  • 0 --> false
  • 非0 --> true

类型转换

1、为什么要进行类型转换?
答:计算机硬件做计算时,要求操作数有相同的位数(相同类型)
2、什么时候会发生类型转换?
答:给定的类型和需要的类型不一致时,就会发生类型转换
3、如何进行类型转换?
答:隐式类型转换、显式类型转换

隐式类型转换

CDay03

CDay03
有符号数与无符号数进行运算时,有符号数会隐式转换为无符号数,故不要将有符号数和无符号数一起参与运算!

显式类型转换

格式:(目标类型) 表达式;

示例:

// 1.计算浮点数的小数部分
double d = 3.14159;
double fraction = d - (int)d;

// 2.提高代码可读性
float f = 3.14f;
//...
int i = (int)f;    //注意这里发生了类型转换,可能会出现问题

// 3.对类型转换进行更精确的控制
int dividend = 4, divisor = 3;
double quotient = 0;

quotient = (double)dividend/divisor;

// 4.可以避免溢出
long long a = 24 * 60 *60 * 1000;
long long b = (long long)24 * 60 *60 * 1000 * 1000 * 1000;

printf("b/a = %lld\n", b / a);

CDay03

sizeof运算符

作用:计算某一类型数据所占的字节数
格式:sizeof(类型)

注意:sizeof是在编译阶段进行运算的

typedef

作用:给类型起别名
格式:typedef 类型 别名;

为什么要给类型起别名?
答:提高代码可读性、提高代码可移植性

注意:

#define int BOOL  //预处理后就没有别名了,编译器无法给出精确的报错信息
typedef int BOOL;

总结

CDay03

原文链接:https://www.cnblogs.com/MyXjil/p/17084014.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CDay03 - Python技术站

(0)
上一篇 2023年4月18日
下一篇 2023年4月18日

相关文章

  • Visual C++ 常用数据类型转换方法详解第1/2页

    标题部分 Visual C++ 常用数据类型转换方法详解 简介部分 在开发过程中,常常需要进行数据类型转换,比如int类型转换为string类型、string类型转换为double类型等。Visual C++ 提供了丰富的数据类型转换方法,本文将详细讲解常用的数据类型转换方法。 数据类型转换方法示例 将 int 类型转换为 string 类型 代码示例: i…

    C 2023年5月23日
    00
  • java 实现黄金分割数的示例详解

    Java 实现黄金分割数的示例详解 什么是黄金分割数 黄金分割数又称黄金比例,是一种在数学、美术及建筑等领域中广泛存在的比例关系。黄金分割比例是指将一条线段分成两条部分,使其中一条部分与全长之比等于另一条部分与这条部分之比。 数学上,黄金分割比例为 (根号5-1)/2,约等于 0.6180339887。 如何实现黄金分割数 在 Java 中,可以使用以下代码…

    C 2023年5月22日
    00
  • PHPExcel简单读取excel文件示例

    当我们需要读取excel文件中的数据时,我们可以使用PHPExcel库。下面将详细讲解“PHPExcel简单读取excel文件示例”的完整攻略。 准备 首先需要在项目中引入PHPExcel库,可以使用Composer安装,也可以手动下载和引入。 示例1 下面是一个最简单的读取excel文件第一个工作表中所有数据的示例代码: // 引入PHPExcel req…

    C 2023年5月23日
    00
  • C语言之整数划分问题(递归法)实例代码

    C语言之整数划分问题(递归法)实例代码是一篇介绍整数划分问题及其递归解法的文章,并提供了C语言代码实现。下面将详细讲解这篇文章的内容。 整数划分问题简介 首先,文章介绍了整数划分问题的背景和定义。整数划分问题的定义是:将一个正整数$n$划分成不超过$n$个正整数的和,每个划分方案中的数都必须不小于$1$,且不考虑顺序。例如,对于$4$这个数字,可以划分为以下…

    C 2023年5月24日
    00
  • JSON 编辑器实现代码

    实现一个 JSON 编辑器的代码,一般包含以下步骤: 实例化编辑器 首先,我们需要选择一款开源的编辑器库来作为我们的 JSON 编辑器,例如 monaco-editor,ace 等,这些库都可以很方便地实现文本编辑器。 例如使用 monaco-editor 库,我们可以通过以下代码来实例化一个 JSON 编辑器: require.config({ paths…

    C 2023年5月23日
    00
  • linux下使用g++编译cpp工程的方法

    在Linux下使用g++编译cpp工程的方法共分为以下几个步骤: 1. 安装g++ 在终端输入以下命令安装g++: sudo apt-get update sudo apt-get install g++ 2. 准备工程文件 创建一个名为my_project的文件夹,在其下创建三个cpp文件,分别为main.cpp、function1.cpp和functio…

    C 2023年5月23日
    00
  • Linux中文件系统truncate.c详解

    Linux中文件系统truncate.c详解 什么是truncate.c文件 truncate.c文件是Linux内核中负责处理文件截断操作的核心文件。其主要功能是截断指定文件的长度,可以对文件进行缩短或扩展。在Linux系统的文件系统中,文件截断操作是文件的常用操作之一。 truncate.c文件操作示例 1. 文件截断操作 truncate.c文件主要包…

    C 2023年5月24日
    00
  • C语言与C++中内存管理详解

    C语言与C++中内存管理详解 内存管理是C语言和C++中非常重要的一部分,正确的内存管理可以避免内存泄漏和内存溢出等问题,从而提高程序的稳定性和性能。本文将详细介绍C语言和C++中的内存管理技巧和注意事项。 内存分配和释放 在C语言和C++中,内存分配和释放是通过动态内存管理函数来实现的。C语言中的动态内存管理函数包括malloc()、calloc()和re…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部