【谭浩强C程序设计精讲 3】字符型数据

news/2025/2/23 15:31:10

文章目录

    • 写在前面
      • 3.2.4 字符型数据
        • 0. 字符常量
        • 1. 字符与字符代码
        • 2. 字符变量

写在前面

从本文开始,内容基于谭浩强C程序设计第五版,因此,和前两讲(基于第二版)的目录对不上。

3.2.4 字符型数据

  • 由于字符是按其代码整数)形式存储的,因此 C99 把字符型数据作为整数类型的一种。
0. 字符常量

对前文常量的一种补充。

  • 字符常量有两种表现形式:

  • (1)普通字符

    • 用单撇括号括起来的一个字符,如:‘a’、‘Z’、‘3’、‘?’、‘#’。

    • 一般是按其 ASCII 代码存储。如:字符’a’的ASCII代码是 97,因此在内存中存放的是 97 的二进制形式。(同学们这里就可以写一个简单的程序测试一下,实践是检验真理的唯一标准)。

    #include <stdio.h>
    int main(void)
    {
        char c1,c2;//定义两个字符型变量
        c1 = 'a';
        c2 = 'A';      
        printf("字符a=%d,字符A=%d",c1,c2);
        return 1;
    }
    
    • 运行结果:字符a=97,字符A=65
  • (2)转义字符

    • 以“\”开头的字符序列。如在 printf 打印函数中经常出现 ‘\n’ 代表一个换行符。‘\t’ 代表一个 Tab 制表位置(1个Tab占用8列)。

    • 它是一种无法显示的“控制字符”。

    • 转义字符表不用背,常用的几个用的多了也就记住了,不常用的用时再查阅即可。

在这里插入图片描述

1. 字符与字符代码

字符与字符代码不是任意写一个字符,程序都能识别的,例如圆周率 π 在程序中就不能识别。目前大多数系统采用的是 ASCII 字符集,一共是127(二进制 7 个全 1)个字符,因此,用一个字节(8位)存储即可。(ASCII 表也是不要大家背的,用时查表即可)。

在这里插入图片描述

2. 字符变量
  • 字符变量是用类型符 char 定义。

    #include <stdio.h>
    int main(void)
    {
        char c = '?'; //定义字符变量c,并赋初始值为字符'?' 
        printf("%d, %c",c,c);
        return 1;
    }
    
    • 运行结果:63, ?
    • 系统将字符 ‘?’ 的 ASCII 值 63 赋给了变量 c。
  • 字符型数据存储空间和值的范围

类型字节数取值范围
[signed] char(有符号字符型)1-128 ~ 127,即 -27 ~ (27-1)
unsigned char(无符号字符型)10 ~ 255,即 0 ~ (28-1)

本节完


http://www.niftyadmin.cn/n/5283805.html

相关文章

SpringSecurityoauth2.0自整理文档

被标记为资源的url不会走用户认证过滤器,所以通过createBefor>AuthFilter添加的过滤器无效 也就是在ResourceServerConfigurerAdapter实现类中配置的资源路径 记录一下手动加载用户和调用系统方法加载用户,以及他们的配置记录一下自动加载用户和自动密码校验的配置获取授权码…

如何在Laravel中屏蔽错误提示(两种方法)

前言 Laravel是一个非常流行的PHP框架&#xff0c;其提供的错误提示机制使得在开发过程中出现问题时可以迅速定位原因&#xff0c;从而提高了开发效率。然而&#xff0c;有时候我们在正式上线的时候&#xff0c;不希望用户看到任何错误提示&#xff0c;这时候我们可以通过屏蔽…

Java 第16章 坦克大战1 思路整理

文章目录 坦克画板Panel画框Frame 坦克 不同坦克有共同属性&#xff0c;可以先提取共同特征&#xff08;坐标位置&#xff09;作为父类&#xff0c;然后其他坦克从中继承。 画板Panel 有坦克在画板上显示&#xff0c;所以包含不同的坦克子类&#xff0c;并在构造器初始化时创…

正餐---二叉树的OJ题

目录​​​​​​​ 前言&#x1f36f; 1. 检查两颗树是否相同&#x1f947; 1.1 思路分析&#x1fa99; 1.2 代码实现&#x1f9f0; 2. 单值二叉树&#x1f332; 2.1 思路分析&#x1f52e; 2.2 代码实现&#x1f488; 3. 二叉树的前序遍历&#x1f39f;️ 3.1 思路分…

使用NoneBot和go-cqhttp搭建ChatGPT QQ机器人

#环境准备 1.Python3.9以上&#xff08;Python 3.12 Windows installer (64-bit)&#xff09; 其他版本参考 https://www.python.org/ 2.代码编辑器&#xff0c;例如 PyCharm、IDEA 等 3.Open-Ai官网使用API接口需要国外手机号 https://sms-activate.org/cn/freeNumbers 4.None…

PHP函数定义和分类

函数的含义和定义格式 在PHP中&#xff0c;允许程序员将常用的流程或者变量等组件组织成一个固定的格式实现特定功能&#xff0c;也就是说函数是具有特定功能特定格式的代码段。 函数的定义格式如下&#xff1a; function 函数名(参数1&#xff0c;参数2&#xff0c;参数n) {…

算法与数据结构--特殊有序集的线性时间排序算法

一.计数排序算法 基本思想&#xff1a;统计每个输入元素的个数&#xff0c;然后根据这些计数值重构原数组。 使用范围&#xff1a;需要知道元素大小范围&#xff0c;就是最大值是多少。 【排序算法】计数排序_哔哩哔哩_bilibili 二.基数排序 使用场景&#xff1a;只适用于…

设计模式(4)--对象行为(2)--命令

1. 意图 将一个请求封装为一个对象&#xff0c;从而使你可用不同的请求对客户进行参数化&#xff1b;对请求排队或记录请 求日志&#xff0c;以及支持可撤销的操作。 2. 四种角色 接收者(Receiver)、抽象命令(Command)、具体命令(Concrete Command)、请求者(Invoker) 3. 优点…