c语言-数据类型(上)

目录

一、数据类型

二、常量与变量

常量:

变量:

三、进制(八,十,十六)

十进制:

八进制:

十六进制:

四、基本类型

1.整型常量:

2.整型变量:

1)读写操作:

2)输出形式:

3.实型常量


一、数据类型

基本类型整型:int,short,long
字符型:char
实型(浮点型):float(单精度),double(双精度)
构造类型数组类型

数据

类型

结构类型:struct
联合类型:union
枚举类型:enum
指针类型char*,int*,int**

构造类型是由基本类型封装打包而成

二、常量与变量

常量:

1.运行过程中值不能被改变的量(但是不能反过来说,值不能改变的量是常量)

2.整型,字符型,字符串

3.一般出现在表达式或赋值语句的右边(赋值语句是右边的值赋值给左边)

a=100+b;
c=12.5;

变量:

1.系统根据变量类型分配内存空间,其值可以被改变

2.变量名称表示空间的内容(可以通过操作变量名操作空间)

3.命名规则:由字母,数字,下划线组成,不能以数字开头

4.c中全有小写字母组成,两个单词中间用_隔开(如num_value)

   c++中第一个单词小写第二个单词首字母大写(如numValue)

三、进制(八,十,十六)

整型常量用进制区分:

十进制:

0~9组成,输出可以使用(%d,%u,%ld,%lu)

八进制:

0~7组成,输出可以用%o    ->   可以使用%#o

十六进制:

0~9,a~f组成,输出可以使用%x  ->   可以使用%#x

不同进制只是数据的表现形式,不会修改数据本身

使用%#o和%#x的目的是可以加上具有该进制特点的前缀便于区分

#include<stdio.h>
int main(int argc,char *argv[]){
 int num = 10;
 printf("十进制:num = %d\n",num);
 printf("八进制:num = %#o\n",num);
 printf("十六进制:num = %#x\n",num);
while(1);
return 0;
}

运行结果:

四、基本类型

c语言不支持二进制输入输出

1.整型常量:

按照三中进制划分可以有十进制,八进制,十六进制三种输出形式

2.整型变量:

分为有符号整型和无符号整型,其中整型又可以分为短整型,整型和长整型

1)读写操作:

注意:局部变量不初始化,内容随机,尽量初始化为0

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(int argc, char* argv[]) {
    //int num;//局部变量若不初始化,内容随机,这样后面的printf输出的就是随机值了
	int data = 0;
	int num = 0;
	printf("num = %d\n",num);//读,取值
	
	num = 100;//写,赋值
	printf("num = %d\n",num);

	data = num;//对num是读,对data是写
	printf("data = %d\n",data);

	//获取键盘输入
	printf("请输入一个int型数据:");
	scanf("%d",&data);//&data表示data对应空间的起始地址
	printf("data = %d\n",data);

}

运行结果:

2)输出形式:

%d是有符号整型,%u是无符号整型

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

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

适用于输出,也适用于输入

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(int argc, char* argv[]) {
	int num1 = 0;
	printf("num1 = %d\n",num1);//%d是有符号整int型输出

	unsigned int num2 = 0;
	printf("num2 = %u\n",num2);//%u是无符号int型输出

	long num3 = 0;
	printf("num3 = %ld\n",num3);//%ld是有符号long型数据输出

	unsigned long num4 = 0;
	printf("num4 = =%lu\n",num4);//%lu是无符号long型数据输出

	short num5 = 0;
	printf("num5 = %hd\n",num5);//%hd是有符号short型数据输出

	unsigned short num6 = 0;
	printf("num6 = %hu\n",num6);//%hu是无符号short型数据的输出
}

3.实型常量

1)也被称为实数或者浮点数

2)有两种形式:十进制形式:数字加小数点

                        指数形式:123e3代表123*10的三次方

3)不以f结尾的默认是double型,以f结尾的是float型

4)%f是float型,%lf是double型

5)赋值语句等号两边类型尽量保持一致

如float a = 3.14就不太好,因为不加f是double型,等式左边是float右边是double

6)sizeof加变量不加(),加类型必须加(),但是为了统一,一般都加上

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(int argc, char* argv[]) {
	//赋值语句,=两边的类型尽量保持一致
	float a = 3.14f;//有f结尾的是float型
	double b = 3.14;//无f结尾的是double型

	printf("sizeof(3.14) = %d\n",sizeof(3.14));//double型,8
	printf("sizeof(3.14f) = %d\n",sizeof(3.14f));//float型,4

	printf("sizeof(b) = %d\n", sizeof(b));//同上
	printf("sizeof(a) = %d\n", sizeof(a));//同上

	printf("a = %f\n",a);//%f输出float型数据
	printf("b = %lf\n",b);//%lf输出double型数据

	scanf("%f",&a);
	scanf("%lf",&b);

}

运行结果:

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

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

相关文章

RocketMQ源码阅读-Message拉取与消费-Broker篇

RocketMQ源码阅读-Message拉取与消费-Broker篇 1. ConsumeQueue是什么2. Message重放2.1 从MappedFile文件读取Message到ConsumeQueue2.2 ConsumeQueue持久化 3. Broker提供的拉取接口3.1 请求Header3.2 拉取消息接口3.3 拉取失败处理 4. Broker提供的更新消费进度接口5. Broke…

【C++】零碎知识点汇总_1

abs() 函数&#xff1a; abs() 是 C 和 C 标准库中的函数&#xff0c;用于计算整数的绝对值。在 C 中&#xff0c;abs() 函数的原型位于 <stdlib.h> 头文件中&#xff0c;用于整数类型在 C 中&#xff0c;abs() 函数的原型位于 <cstdlib> 头文件中&#xff0c;并可…

LeetCode 160: 两个链表的相交节点 - 优雅解法

LeetCode 160: Intersection of Two Linked Lists 题目描述 给定两个单链表 headA 和 headB 的头节点&#xff0c;返回它们相交的节点。如果两个链表没有相交&#xff0c;返回 null。 示例: 输入&#xff1a;intersectVal 8, listA [4,1,8,4,5], listB [5,6,1,8,4,5], sk…

【RTOS】快速体验FreeRTOS所有常用API(1)工程创建

目录 一、工程创建1.1 新建工程1.2 配置RCC1.3 配置SYS1.4 配置外设1&#xff09;配置 LED PC132&#xff09;配置 串口 UART13&#xff09;配置 OLED I2C1 1.5 配置FreeRTOS1.6 工程设置1.7 生成代码1.8 keil设置下载&复位1.9 添加用户代码 本工程皆在快速体验FreeRTOS所有…

MPP架构和分布式架构的区别

前言&#xff1a;对大数据的数据处理需求&#xff0c;当前技术方向上存在两个不同的发展路线&#xff0c;MPP和分布式处理。两者数据处理的基本思路都是一样的&#xff0c;分布式并行处理再合并结果&#xff1b;但由于二者在处理架构上的差异&#xff0c;最终产品在应用需求性能…

【Python学习】Python学习19- 异常处理

目录 【Python学习】Python学习19- 异常处理 前言python标准异常异常处理带异常类型语法不带异常类型语法使用except而带多种异常类型try-finally 语句触发异常 参考 文章所属专区 Python学习 前言 本章节主要说明Python的异常处理。 python标准异常 BaseException 所有异常…

RabbitMQ详解(值得珍藏)

1. 基本概念 RabbitMQ是一款开源&#xff0c;使用Erlang编写的&#xff0c;基于AMQP协议的消息中间件&#xff1b; 提到RabbitMQ&#xff0c;就不得不提AMQP协议。AMQP协议是具有现代特征的二进制协议。是一个提供统一消息服务的应用层标准高级消息队列协议&#xff0c;是应用…

远程控制软件安全吗?一文看懂ToDesk、RayLink、TeamViewer、Splashtop相关安全机制_raylink todesk

目录 一、前言 二、远程控制中的安全威胁 三、国内外远控软件安全机制 【ToDesk】 【RayLink】 【Teamviewer】 【Splashtop】 四、安全远控预防 一、前言 近期&#xff0c;远程控制话题再一次引起关注。 据相关新闻报道&#xff0c;不少不法分子利用远程控制软件实施…

两周掌握Vue3(五):自定义指令、路由、ajax

文章目录 一、自定义指令1.创建和使用自定义指令2.钩子函数3.使用参数 二、路由1.创建一个router实例2.在components目录中创建组件3.将路由实例挂载到应用4.使用路由 三、Ajax 代码仓库&#xff1a;跳转 当前分支&#xff1a;05 一、自定义指令 自定义指令是Vue.js框架提供的…

Unity中URP下的SimpleLit顶点着色器

文章目录 前言顶点着色器1、GPU Instance 相关2、顶点输入数据相关3、雾效混合因子4、对 uv 进行 Tilling 和 Offset 的应用 及 把顶点的坐标信息传给输出结构体5、把法线相关的结果&#xff0c;传给输出结构体6、光照贴图相关7、额外灯相关计算8、阴影相关 前言 在上一篇文章…

Ubuntu下,Flutter安装及在VScode中的配置

1、安装flutter 在自己指定的目录下&#xff0c;新建文件夹&#xff0c;并将源码git clone到本地 $ mkdir flutter $ cd flutter$ git clone -b master https://github.com/flutter/flutter.git2、给flutter添加环境变量 #编辑配置文件 $ vi ~/.bashrc #在末尾加入以下内容&…

指针及其应用

1.定义 指针&#xff1a;也是一个变量&#xff0c;存放所指变量的地址&#xff0c;根据变量定义的不同&#xff0c;指针指向的类型也不同 注意&#xff1a;*是与前面类型一体的 int main(void) {int* p; //等价于int *p;//为了区分变量&#xff0c;C语言中一般将*放置于变量…

Flink(十三)【Flink SQL(上)】

前言 最近在假期实训&#xff0c;但是实在水的不行&#xff0c;三天要学完SSM&#xff0c;实在一言难尽&#xff0c;浪费那时间干什么呢。SSM 之前学了一半&#xff0c;等后面忙完了&#xff0c;再去好好重学一遍&#xff0c;毕竟这玩意真是面试必会的东西。 今天开始学习 Flin…

数据结构学习 jz30 包含 min 函数的栈

关键词&#xff1a;排序 题目&#xff1a;最小栈 方法一&#xff1a;在记录这个数的同时&#xff0c;记录目前的最小值。看了提示才写出来的。 方法二&#xff1a;辅助栈。辅助栈保持非严格递减。看了k神的答案。 方法一&#xff1a; 一开始没想到怎么存最小&#xff0c;看…

从零实现一套低代码(保姆级教程)【后端服务】 --- 【16】初始化后端项目

摘要 在前面的实现过程中&#xff0c;我们的低代码平台&#xff0c;在前端已经有一定的构建页面的能力了。 但是对于我们实现一个平台&#xff0c;肯定要支持用户对页面进行保存等功能&#xff0c;包括后面我们运行时的设计&#xff0c;都要依赖于后端的能力 所以&#xff0c…

运维必存的20个常见的故障排查、修复大全

你们好&#xff0c;我的网工朋友。 “稳定是偶然&#xff0c;异常才是常态”。这句话用来形容运维的工作再合适不过了 对于运维来说&#xff0c;工作最常遇到的就是不稳定性带来的各种故障&#xff0c;经常围绕发现故障、响应故障、定位故障、恢复故障这四大步骤打转。 为此…

一篇文章带你搞懂多线程面试相关的一些问题

目录 1.Callable接口 1.1使用Callable接口来创建线程 1.1相关面试题&#xff1a; 介绍下 Callable 是什么 2.JUC常见的类&#xff08;java.util,concurrent) 2.1ReentrantLock ReentrantLock和sychronized的区别 3.信号量 4.CountDownLatch 5.线程安全的集合类 5.1多线…

Flink-容错机制

Flink中的容错机制 流式数据连续不断地到来&#xff0c;无休无止&#xff1b;所以流处理程序也是持续运行的&#xff0c;并没有一个明确的结束退出时间。机器运行程序&#xff0c;996 起来当然比人要容易得多&#xff0c;不过希望“永远运行”也是不切实际的。因为各种硬件软件…

ioDraw在线图表工具 - 轻松制作专业图表,只需3步!

还在花大量时间手动画图表&#xff1f;还在为图表样式而烦恼&#xff1f;ioDraw为你提供一站式解决方案&#xff01;ioDraw在线图表工具实现了AI自动生成图表&#xff0c;让你轻松制作专业图表&#xff0c;只需3步&#xff01; 1. 录入数据 只需将你的数据告诉ioDraw AI助手&…

alibaba.item_get API:电商行业中的数据驱动决策支持

alibaba.item_get API 是阿里巴巴提供的一个用于获取商品详情的接口。在电商行业中&#xff0c;数据驱动的决策支持是非常重要的&#xff0c;而这个 API 可以帮助你获取到商品的各种详细信息&#xff0c;从而为你的决策提供支持。 具体来说&#xff0c;通过使用 alibaba.item_…