c语言-数据类型(下)

news/2024/2/25 13:25:31/文章来源:https://blog.csdn.net/m0_73885339/article/details/135603777

 

目录

 

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"));//系统会在字符串末尾自动加一个\0printf("%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个终端位宽,右对齐,不足补0printf("##%-05d##\n", 123); //不能这样写。结果没变化,因为假如结果为1,00加到左边没变化为001,00加到右边,数值就变了是100printf("##%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

 

 

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

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

相关文章

鸿蒙开发之blank组件

一、使用 使用blank可以在row/column/flex在容器主轴方向上填充剩余部分。 可以通过设置min最小宽度/高度来控制填充的大小&#xff0c; 也可以通过backgroundColor设置背景颜色来改变默认的透明色填充。 //设置最小宽度为200&#xff0c;填充颜色灰色 Blank(200).backgrou…

项目架构之Zabbix部署

1 项目架构 1.1 项目架构的组成 业务架构&#xff1a;客户端 → 防火墙 → 负载均衡&#xff08;四层、七层&#xff09; → web缓存/应用 → 业务逻辑&#xff08;动态应用&#xff09; → 数据缓存 → 数据持久层 运维架构&#xff1a;运维客户端 → 跳板机/堡垒机&#x…

AttributeError: module ‘openai‘ has no attribute ‘error‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

RIP【新华三与华为区别】

【介绍】 rip分为rip 1 与 rip 2 &#xff0c;rip 2 是对 rip 1 的一种升级&#xff0c;rip 2 可以进行认证等功能 【命令】 新华三&#xff1a; [HC3-R1] rip #启用rip [HC3-R1-rip] version 2 #告知rip 版本号 [HC3-R1-rip] network 192.168.1.0 #宣告其网段 [HC3-R1-rip] …

【NI-DAQmx入门】LabVIEW中DAQmx同步

1.同步解释 1.1 同步基础概念 触发器&#xff1a;触发器是控制采集的命令。您可以使用触发器来启动、停止或暂停采集。触发信号可以源自软件或硬件源。 时钟&#xff1a;时钟是用于对数据采集计时的周期性数字信号。根据具体情况&#xff0c;您可以使用时钟信号直接控制数据采…

深度学习记录--正则化(regularization)

什么是正则化&#xff1f; 正则化(regularization)是一种实用的减少方差(variance)的方法&#xff0c;也即避免过度拟合 几种正则化的方法 L2正则化 又被称为权重衰减(weight dacay) 在成本函数中加上正则项&#xff1a; 其中 由于在w的更新过程中会递减&#xff0c;即权…

鸿蒙HarmonyOS实战-工具安装和Helloworld案例

&#x1f680;前言 HarmonyOS是华为自主开发的操作系统&#xff0c;它在2020年9月正式发布。它最初被称为鸿蒙OS&#xff0c;后来更名为HarmonyOS。HarmonyOS旨在提供一种可在各种设备上无缝运行的统一操作系统&#xff0c;包括智能手机、平板电脑、智能穿戴设备、智能音箱、车…

代码随想录 Leetcode541. 反转字符串 II

题目&#xff1a; 代码(首刷自解 2024年1月16日&#xff09;&#xff1a; class Solution { public:void reverse(string& s,int left,int right) {char temp;while (left < right) {temp s[left];s[left] s[right];s[right] temp;left;--right;}return;}string rev…

分类预测 | Matlab实现CS-SVM布谷鸟算法优化支持向量机的数据分类预测

分类预测 | Matlab实现CS-SVM布谷鸟算法优化支持向量机的数据分类预测 目录 分类预测 | Matlab实现CS-SVM布谷鸟算法优化支持向量机的数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现CS-SVM布谷鸟算法优化支持向量机的数据分类预测。 2.自带数据…

Qt QRubberBand 如何实现鼠标框选控件

QRubberBand类提供了一个矩形或直线&#xff0c;可以指示选择或边界。常见的模式是结合鼠标事件来执行此操作。本文将使用框选QCheckBox控件&#xff0c;来演示QRubberBand是如何配合鼠标进行工作的。 一、RubberBand 框选效果图 二、RubberBand 代码 rubberband.h #ifndef …

用LED数码显示器伪静态显示数字1234

#include<reg51.h> // 包含51单片机寄存器定义的头文件 void delay(void) //延时函数&#xff0c;延时约0.6毫秒 { unsigned char i; for(i0;i<200;i) ; } void main(void) { while(1) //无限循环 { P20xfe; …

TS学习笔记四:函数及泛型枚举

本节介绍ts的函数及泛型的相关内容&#xff0c;包括函数的声明格式及泛型的相关知识。 视频讲解 TS学习笔记四&#xff1a;函数的定义使用 B站视频 TS学习笔记四&#xff1a;函数的定义使用 西瓜视频 https://www.ixigua.com/7321535978286514727 一、函数 函数是js程序的…

[oeasy]python005_退出游乐场_重启游乐场_系统态shell_应用态_quit

0005_ 退出游乐场_重启游乐场_系统态shell 退出终端_重启游乐场_shell_quit &#x1f94a; Python 回忆 上次 了解了 python进入了 python 游乐场 在游乐场 可以做 简单的计算还可以做 乘方运算 数字特别大之后 游乐场 会迟疑一下不过 最终 还是能算出来 可以让数字 更大一…

Vue学习笔记3--全局事件总线

Vue学习笔记3—全局事件总线 1.全局事件总线可以实现任意组件间通信 X需具备的条件&#xff1a; 所有的组件都要能看见X可以调用$on $off $emitVue.prototype.x {a:1, b:2} 可以被所有组件看见VueComponent.protoype.proto Vue.prototype组件实例对象(vc)可以访问到Vue原型上…

Java多线程并发篇----第十八篇

系列文章目录 文章目录 系列文章目录前言一、寄存器二、程序计数器三、PCB-“切换桢”四、上下文切换的活动五、引起线程上下文切换的原因前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了…

QT软件在线安装与维护

一.安装 安装QT开发环境分离线安装和在线安装两种方式&#xff0c;具体步骤如下&#xff1a; QT官网注册账号----下载安装包-----安装-----选择要安装的版本与开发包----版本维护 注意&#xff1a;Qt5.14.2是最后提供二进制安装包的版本&#xff0c;后面的版本都需要在线安装…

小程序系列--7.页面配置以及网络数据请求

一. 页面配置 1.页面配置文件的作用 小程序中&#xff0c;每个页面都有自己的 .json 配置文件&#xff0c;用来对当前页面的窗口外观、页面效果等进行配置。 2. 页面配置和全局配置的关系 3. 页面配置中常用的配置项 二、网络数据请求 1. 小程序中网络数据请求的限制 2. 配…

数据分析中常用的指标或方法

一、方差与标准差二、协方差三、皮尔逊系数四、斯皮尔曼系数 一、方差与标准差 总体方差 V a r ( x ) σ 2 ∑ i 1 n ( x i − x ˉ ) 2 n ∑ i 1 n x i 2 − n x ˉ 2 n E ( x 2 ) − [ E ( x ) ] 2 Var(x)\sigma^2\frac {\sum\limits_{i1}^{n} (x_i - \bar{x})^2} {n…

SQL性能分析手段

SQL执行频率 MySQL 客户端连接成功后&#xff0c;通过 show [session|global] status 命令可以提供整个服务器执行sql的状态信息。通过如下指令&#xff0c;可以查看当前数据库的INSERT、UPDATE、DELETE、SELECT的访问频次&#xff1a; -- session 是查看当前会话 ; -- globa…

数据结构排序二叉树(下)

哎,调了几天深度学习模型,今天来更新排序二叉树 文章目录 前言 一、排序二叉树的结构定义 二、在排序二叉树添加数据 三、定义创建排序二叉树函数 四、查找一棵二叉排序树中的结点x的所在层数 五、删除二叉排序树中T关键字x的节点 六、查找二叉排序树中的所有小于key的关…