C语言 字符类型

news/2024/9/23 11:18:38/

下面 我们来说字符类型

我们来看这个 保险单
在这里插入图片描述
金额 和 总额 都可以用数字类型 而性别则需要字符型

字符数据的存储 – ASCI码
在这里插入图片描述
字符类型 char 就是专为存储字符(如字母,标点和数字)而设计的类型。
使用单引号包含单个字符或转义字符去表示一个 char 类型的常量。

例如:‘a’、‘A’、‘5’、‘$’、"\n’,这些字符常量实际对应它们的 ASCI 码值。
例如,在数值上,字符常量’い 与数值 76 相等。
数字使用单引号括起来就成为字符常量,从而也就失去作为数字时的属性

字符型变量的声明: 格式大概为 char 变量名
例如

char ch;

这样 我们就 声明了一个名称叫做ch 的字符变量

字符型变量赋值
可以将一个字符型常量存入字符型变量,如:

ch2 ='6';

为ch2 赋值为字符’6’
写有单引号的’6’并不表示数字6,而表示字符’6’,或字符’6’所对应的ASCI 码值,即数值 54。

然后 字符类型 输入的方式有两种

方法1: 使用格式化输入函数scanf
我们 编写代码如下

#define _CRT_SECURE_NO_WARNINGS//禁用安全函数警告
#pragma warning(disable:6031)//禁用 6031 的安全警告
#include <stdio.h>int main() {char ch;scanf("%c", &ch);printf("您输入的字符是: %c\n", ch);return 0;
}

这里 我们用 scanf 控制获取用户键盘输入
然后 赋值给ch
然后用printf 输出ch

运行代码

这里 先回 要求我们输入内容
在这里插入图片描述
这里 我们输入Z
在这里插入图片描述
内容 就输出出来了 但是 scanf(“%c”, &变量); 只会读取其中一个字节 如果输入很多 就有问题了

方法2: 使用字符输入函数 getchar()

#define _CRT_SECURE_NO_WARNINGS//禁用安全函数警告
#pragma warning(disable:6031)//禁用 6031 的安全警告
#include <stdio.h>int main() {char ch;ch = getchar();printf("您输入的字符是: %c\n", ch);return 0;
}

getchar和 scanf(“%c”, &变量); 效果是基本一样的
在这里插入图片描述
我们输入 S
在这里插入图片描述
他们都是 捕获键盘输入一个字符 这里 它只捕获一个 而且用中文会乱码

输出的方法 也是两种
方法1:使用格式化输出函数printf
上面 我们也演示过了

printf("%c\n", 变量);

方法2:使用字符输出函数putchar()
参考代码如下

#define _CRT_SECURE_NO_WARNINGS//禁用安全函数警告
#pragma warning(disable:6031)//禁用 6031 的安全警告
#include <stdio.h>int main() {char ch;ch = getchar();putchar(ch);return 0;
}

putchar 括号中 放要输出的变量即可
我们输入 C
在这里插入图片描述
这里 输出就没什么问题


http://www.ppmy.cn/news/1433148.html

相关文章

TPS54560BQDDARQ1功能和参数介绍及如何进行热管理

制造商:Texas Instruments 产品品种:开关稳压器 RoHS:是 安装风格:SMD/SMT 封装 :SO-PowerPad-8 输出电压:0.8 V to 58.8 V 输出电流:5 A 输出端数量:1 Output 最大输入电压:60 V 拓扑结构:Buck 最小输入电压:4.5 V 开关频率:100 kHz to 2.5 MHz 最小作业温度:- 40 C 最大作业温…

django忽略migrate

django migrate迁移时会依次执行四件事&#xff1a; 1、迁移判定&#xff0c;将你的项目中所有未迁移的变动文件进行迁移&#xff08;django会去查询django_migrations表判断你是否有新的迁移文件变动&#xff0c;若有新的迁移文件&#xff0c;则将变动加到django_migrations表…

spring boot项目怎么预防CSRF攻击

在Spring Boot项目中预防CSRF攻击通常涉及利用Spring Security框架提供的内置支持。Spring Security已经为CSRF提供了默认的防护措施&#xff0c;但根据应用的特定需求&#xff0c;可能需要进行一些配置调整或扩展。下面是一系列步骤和建议&#xff0c;用于在Spring Boot项目中…

【webrtc】m98 RoundRobinPacketQueue的优先级处理

m98 代码 PacedSender::EnqueuePackets 的调用者可能是多个地方,所以这个要加锁保护。RoundRobinPacketQueue 本身是没有锁的发现m98和新版本不同,参考:【webrtc】m114自己实现的PrioritizedPacketQueuepush和pop都是RtpPacketToSend 但是实际上,内部是封装为QueuedPacket 处…

【C++】优先队列

优先队结构的不同物理结构与常用操作算法 优先队列是一种特殊的队列,队列中的元素具有优先级,每次弹出操作会弹出优先级最高的元素。 优先队列常用的物理结构有: 1. 数组:简单但不高效,插入和删除操作需要移动大量元素,时间复杂度高。 2. 二叉堆:是一种完全二叉树,通常用数…

tomcat 配置支持 ssl 附效果图

1、修改tomcat配置文件server.xml: vim ./conf/server.xml 把配置文件&#xff1a; <Connector port"8088" Server" " protocol"HTTP/1.1"connectionTimeout"20000"redirectPort"8443" URIEncoding"UTF-8" …

常见面试算法题-打麻将

■ 题目描述 【打麻将】 给定一个列表&#xff0c;里面含所有14个元素&#xff0c;问这14个元素&#xff0c;能不能组成33332的组合&#xff0c;3格式可以表示顺子&#xff0c;或者3张相同的牌&#xff0c;2表示对子&#xff08;两张相同的牌&#xff09;类似麻将胡牌一样&am…

ORACLE 中varchar2类型的日期数字,例如20230814,转为2023-08-14

ORACLE 中varchar2类型的日期数字&#xff0c;例如20230814&#xff0c;转为2023-08-14 引言场景一&#xff1a;简单格式转换场景二&#xff1a;更新字段为日期类型场景三&#xff1a;在WHERE子句中处理varchar日期场景四&#xff1a;联合其他日期操作总结 引言 在Oracle数据库…