c语言-数据类型(下)

 

目录

 

4.实型变量

5.字符常量

直接常量:

转义字符:

6.字符变量

7.字符串常量

五、输出格式总结

整型:

浮点型:

字符及字符串:

指针(地址):

六、typedef

七、sizeof一个问题


 

4.实型变量

单精度float型:4字节,7位有效数字

双精度double型:8字节,16位有效数字

5.字符常量

直接常量:

                  用''单引号括起来('a','b'等)

                  因为计算机识别二进制,所以字符在计算机中以ASC II的形式存

                  ‘a’表示取a的ASCII值

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(int argc, char* argv[]) {
	char ch = 'a';//字符变量ch存储的是‘a’的ASCII值
	printf("ch = %c\n",ch);//%c输出的是字符
	printf("ch = %d\n",ch);//%d输出的是字符的ASCII值

	ch = 97;//‘a’与97是完全等价的
	printf("ch = %c\n", ch);
	printf("ch = %d\n", ch);

	ch = ch + 1;
	printf("ch = %c\n", ch);
	printf("ch = %d\n", ch);
}

运行结果:

3900440dbd40464ea47a62c4e864b561.png

                    字符获取键盘输入:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(int argc, char* argv[]) {
	char ch;
	printf("请输入一个字符:");
	scanf("%c",&ch);
	//ch = getchar();//这两个都是只能提取一个字符,结果一样
	printf("ch = %c\n",ch);
	printf("ch = %d\n",ch);
}

运行结果:

60ecb3c3ba9c41c2bdffa6a651fa919c.png

案例:键盘输入abc,只取a和c

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(int argc, char* argv[]) {
	char ch1,ch2;
	printf("请输入abc:");

	ch1 = getchar();
	getchar();//取了字符但是没地方给,丢掉
	ch2 = getchar();

	printf("ch1 = %c\n",ch1);
	printf("ch2 = %c\n", ch2);
}

运行结果:

9ad53e74adf24008b420b256b5659289.png

转义字符:

                    以\形式开头后面跟一个或几个字符

                    \n换行,\t跳格(tab),\\一个反斜杠......

                    %%才能输出一个%

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(int argc, char* argv[]) {
	printf("##%c##\n",'\\');
	printf("##%%##\n");

	char ch = '\0';
	printf("A:%d\n",'0');//取ASCII值
	printf("B:%d\n", '\0');
	printf("C:%d\n", 0);
	printf("D:%d\n", "0");//字符‘0’的地址
}

使用##来夹住%c以及%%,这样在##中间的值就是输出的内容

char清零严格上就要如上书写:'\0'等价于0

运行结果:

1593e4fdb98940199eae48c8a08b5a36.png

6.字符变量

用char形式定义,分配一个字节的内存空间,以ASCII码的形式存储

字符变量存储的是这个字符的ASCII值

字符常量直接常量的例子中有相关演示

7.字符串常量

1)用双引号括起来的字符序列

2)'a'是字符常量,占1字节,用ASCII码形式存储

“a”是字符串常量,占2字节,以首地址存储

为什么占2个字节,因为每个字符串结尾都会自动加上一个\0结束标志

3)%s输出字符串类型,会从首元素开始输出字符直至遇到\0

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(int argc, char* argv[]) {
	printf("%s\n","hello");//%s输出字符串类型
	printf("%d\n",sizeof("hello"));//系统会在字符串末尾自动加一个\0
	printf("%s\n","hello world");
	printf("%s\n", "hello\0world");//%s从字符串首元素逐个输出,直至遇到'\0'
	printf("##%s##\n", "\0hello\0world");
}

运行结果:

e2b3dce63cf94688aa6967327318f8da.png

五、输出格式总结

整型:

    %d  十进制有符号整数      %u  十进制无符号整数

    %x 以十六进制表示的整数  %o  以八进制表示的整数 

    %ld是有符号long型,%lu是无符号longxing

    %hd是有符号short型,%hu是无符号short型

浮点型:

    %f  float型浮点数          %lf double型浮点数     %e  指数形式的浮点数 

字符及字符串:

    %c  单个字符                                     %s  字符串

指针(地址):

    %p指针的值

还可以控制输出的位数和格式

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(int argc, char* argv[]) {
	printf("##############\n");
	printf("##%5d##\n",123);//占5个终端位宽,右对齐
	printf("##%-5d##\n", 123);//占5个终端位宽,左对齐
	printf("##%05d##\n", 123); //占5个终端位宽,右对齐,不足补0
	printf("##%-05d##\n", 123); 
	//不能这样写。结果没变化,因为假如结果为1,00加到左边没变化为001,00加到右边,数值就变了是100
	printf("##%5.2f##\n", 3.14159f);//5表示总位宽为5,.2表示小数位保留两位
}

运行结果:

849c5ac33b8d48b58afa59e7f2c16271.png

六、typedef

1.为已有类型取个别名

2.一定要按照以下步骤进行,不然容易写错

1)用已有类型定义一个变量

2)用别名替换变量名

3)在整个表达式的前方加上typedef

1.

1)int a

2)  int INT32

3)  typedef int INT32

2.

1)  int arr[5]

2)  int ARR[5]

3)  typedef int ARR[5]

七、sizeof一个问题

sizeof测类型,跟变量就是测变量类型,跟常量就是系统认为的这个常量的类型

sizeof('a')是4个字节

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(int argc, char* argv[]) {
	char ch = 'a';
	printf("%d\n", sizeof('a'));
	printf("%d\n", sizeof(char));
}

运行结果:

33fac01c2b9b48299dbd78447b6b05e8.png

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/327127.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Lazada测评,掌控自养测评号补单技巧,实现销量提升

稳定的Lazada测评除了需要搭建稳定的国外网络环境外&#xff0c;对于养号下单技巧也非常重要。 1.Lazada店铺的listing优化需精心打磨。商品主图、标题、详情页等核心要素&#xff0c;均需细心雕琢&#xff0c;以吸引买家的目光。站在消费者的角度&#xff0c;洞察需求&#x…

LabVIEW编码器自动校准系统

简介 在工作中&#xff0c;精确的角度测量和校准对于保持设备精度至关重要。开发了一套自动化角度编码器校准系统&#xff0c;利用了LabVIEW的强大功能。该系统以全圆连续角度标准装置为基础&#xff0c;配合二维导轨装夹系统&#xff0c;实现了空心轴角度编码器的高效自动校…

数据库往年试卷

实体完整性规则是指关系中的元组在组成主码的属性上是不能为空值的 参照完整性规则指外码不允许参照不存在的相应的主码值,或外码为空值 用户自定义完整性规则是用户根据具体应用定义的 关系数据库有三种基本关系运算&#xff1a;1、选择&#xff1b;2、投影&#xff1b;3、连…

Robotframework自动化测试环境搭建

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 前言 1、在2019年之前&#xff0c;robotframework-ride的版本一…

【HTML5】 canvas 绘制图形

文章目录 一、基本用法二、用法详见2.0、方法属性2.1、绘制线条2.2、绘制矩形2.3、绘制圆形2.4、绘制文本2.5、填充图像 一、基本用法 canvas 标签&#xff1a;可用于在网页上绘制图形&#xff08;使用 JavaScript 在网页上绘制图像&#xff09;画布是一个矩形区域&#xff0c…

用 YAML 文件配置 CI/CD 管道

MSBuild 参数: 在使用 MSBuild 命令行生成打包项目(就像在 Visual Studio 中使用向导生成项目一样)之前,生成过程可以通过编辑 Package.appxmanifest 文件中 Package 元素的 Version 属性,来对生成的 MSIX 包进行版本控制。 在 Azure Pipelines 中,可以使用某个表达式来…

B端产品经理学习-B端产品的项目管理

项目管理的作用 指导Roadmap落地 每个节点的项目时间需要按照时间点落地&#xff0c;才不会影响后面的项目事件 为了明确需求&#xff0c;明确研发的工作 避免产研部门因为需求扯皮、研发部门抱怨需求文档不够清晰、在开发过程中增加很多细节需求、增加了研发的工作量、初次…

散列函数,哈希表hash table

附上一句话&#xff1a;我知道大家可能曾经了解过这个散列表了&#xff0c;我发现&#xff0c;如果多看几个相关的视频&#xff0c;从不同的表述方式和不同的理解角度来理解这个问题&#xff0c;我会明白的更透彻&#xff0c;也有更多新的收获&#xff0c;尤其是对这个算法的应…

软考和 PMP 哪个含金量更高点?

两个证都有用&#xff0c;不同的环境含金量也侧重不用&#xff0c;软考高项比较适用于计算机 IT 行业&#xff0c;而 PMP 不受行业限制&#xff0c;各行各业都适用&#xff0c;没有哪个含金量更高的说法 至于哪个更合适&#xff0c;看你想去国企还是民企&#xff0c;国企软考吃…

MiniTab的拟合回归模型的系列参数设置

为拟合回归模型指定模型项 统计 > 回归 > 回归 > 拟合回归模型 > 模型 可以向模型添加交互作用项和多项式项。默认情况下&#xff0c;模型仅包含在主对话框中输入的预测变量的主效应。添加项的方法有很多。假设预测变量列表具有 3 个连续变量 X、Y、Z 和 2 个类别…

Python自动化我选DrissionPage,弃用Selenium

DrissionPage 是一个基于 python 的网页自动化工具。 它既能控制浏览器&#xff0c;也能收发数据包&#xff0c;还能把两者合而为一。 可兼顾浏览器自动化的便利性和 requests 的高效率。 它功能强大&#xff0c;内置无数人性化设计和便捷功能。 它的语法简洁而优雅&#x…

如何隐藏服务器真实IP地址,隐藏服务器IP有什么好处

首先我们介绍了隐藏服务器IP的概念及工作模式&#xff0c;接着阐述了其对于DDoS攻击的防护作用。然后介绍了如何利用隐藏服务器IP增加系统性能和稳定性。接着我们讲述了如何隐藏服务器IP防止黑客攻击&#xff0c;最后总结了隐藏服务器IP在保护服务器和用户数据方面发挥的作用。…

UE4使用技巧

打开蓝图编辑器时不是打开一个新窗口&#xff0c;而是作为主窗口 适用于全部的打开新窗口的操作 蓝图编译时自动保存 开始游戏后立即捕获鼠标

系统性学习vue-vue中的ajax

vue中的ajax 配置代理常用发送Ajax请求方式跨域方式一方式二 vue-resource插槽默认插槽具名插槽作用域插槽 配置代理 常用发送Ajax请求方式 xhr new XMLHttpRequest() 在真正开发中不常用&#xff0c;比较麻烦jQuery 封装了xhraxios 封装了xhr 与jQuery相比优势是&#xff1a…

C# 导出EXCEL 和 导入

1.导出 使用winfrom简单做个界面 选择导出路径 XLSX起名字 打开导出是XLSX文件 代码部分 // 创建Excel应用程序对象Excel.Application excelApp new Excel.Application();excelApp.Visible false;// 创建工作簿Excel.Workbook workbook excelApp.Workbooks.Add(Type.Miss…

C++学习笔记——用C++实现树(区别于C)

树是一种非常重要的数据结构&#xff0c;它在计算机科学中的应用非常广泛。在本篇博客中&#xff0c;我们将介绍树的基本概念和C中如何实现树。 目录 一、树的基本概念 2.C中实现树 2.1创建一个树的实例&#xff0c;并向其添加节点 2.2三种遍历方式的实现代码 3.与C语言相…

(2024,强化学习,提示扩展,原始提示中心引导)Parrot:用于文本到图像生成的帕累托最优多奖励强化学习框架

Parrot: Pareto-optimal Multi-Reward Reinforcement Learning Framework for Text-to-Image Generation 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 3. 基础 4. 方法 4…

MR-GCN

∘ Φ \circ_Φ ∘Φ​ denotes a convolution Let b l o c k d i a g blockdiag blockdiag(A) be a n1n3-by-n2n3 block diagonal matrix&#xff0c; f o l d fold fold indicate its inverse operator diagonal degree tensor D \mathcal{D} D 作者未提供代码

【漏洞复现】Sentinel Dashboard默认弱口令漏洞

Nx01 产品简介 Sentinel Dashboard是一个轻量级的开源控制台&#xff0c;提供机器发现以及健康情况管理、监控、规则管理和推送的功能。它还提供了详细的被保护资源的实际访问统计情况&#xff0c;以及为不同服务配置的限流规则。 Nx02 漏洞描述 Sentinel Dashboard存在默认弱…

AI智能剪辑,快速剪辑出需要的视频

AI智能剪辑技术&#xff0c;是一种基于人工智能的技术&#xff0c;它能够通过机器学习和深度学习算法&#xff0c;自动识别视频中的内容&#xff0c;并根据用户的需求和喜好&#xff0c;快速地剪辑出需要的视频。 所需工具 &#xff1a; 一个【媒体梦工厂】软件 视频素材 …