C语言第二周课

news/2024/9/16 22:40:17/ 标签: c语言, 开发语言

目录

引言:

一、数据类型大小及分类

(1)计算机中常用存储单位

(2)整体介绍一下C语言的数据类型分类。

(3)下面是我们本节课要学的基本内容----常用的数据类型

二、 数据类型的数值范围

三、打印输出类型

数据类型打印示例:


引言:

我们常常在写C语言程序时,总离不开去定义变量。也许需要定义一个整形的,又或是定义一个浮点型的.....那么这时候就需要数据类型啦!又或许你常常因为没有使用合适正确的数据类型造成运行结果溢出等等一些问题。关于常见的一些数据类型(int,char...)大家可能都知道,那么他们的大小、数值范围是多少呢,我们该怎么去具体选择呢,一起来了解一下吧!

一、数据类型大小及分类

(1)计算机中常用存储单位

(2)整体介绍一下C语言的数据类型分类。

1.基本类型:
(1)整型类型。整型类型包含:基本整型(int)、短整型(short int)、长整型(long int)、双长整型(long long int)、字符型(char)和布尔型(bool)。
注:整型数据可在类型符号前面加修饰符:signed(有符号整数类型)和unsigned(无符号整数类型),若不指定则默认为“有符号类型”。
(2)浮点类型。浮点类型包含:单精度浮点型(float)、双精度浮点型(double)和复数浮点型(单精度复数浮点型(float_complex)、双精度复数浮点型(double_complex)和长精度复数浮点型(long long_complex))。
2.枚举类型:
(1)枚举类型。枚举类型就只有枚举类型(enum)。
3.空类型:
(1)空类型。空类型就只有空类型(void)。
4.派生类型:
(1)派生类型。派生类型包含:指针类型(*)、数组类型([])、结构体类型(struct)、共用体类型(union)和函数类型。

(3)下面是我们本节课要学的基本内容----常用的数据类型

​这里只介绍了除了enum(枚举类型)之外的基本数据类型,
//其实数据类型还包括构造类型,指针类型...
其中基本类型也分为数值类型(整型,浮点型),字符类型和枚举类型
数据类型主要决定了数据所占内存空间的大小以及数据的范围
char          //字符数据类型
short         //短整型
int           //整型
long          //长整型
float         //单精度浮点型
double        //双精度浮点型​

数据类型主要决定了数据所占内存空间的大小。那么,请问你还记得上述基本数据类型所占的字节数吗?(你知道sizeof的用法吗,sizeof(被测数据),返回一个整数,单位是字节)

#include <stdio.h>
int main()
{printf("short:%d\n",sizeof(short));printf("unsgned short:%d\n", sizeof(unsigned short));printf("int:%d\n", sizeof(int));printf("unsigned int:%d\n", sizeof(unsigned int));printf("long:%d\n", sizeof(long));printf("unsigned long:%d\n", sizeof(unsigned long));printf("float:%d\n", sizeof(float));printf("double:%d\n", sizeof(double));printf("char:%d\n", sizeof(char));return 0;
}

注:unsigned是一个类型修饰符,用于声明无符号的整型变量。无符号整型变量只能存储非负值(即零和正数),因为它们的位模式被解释为仅表示正值。通俗来讲就是绝对值

由运行结果可知:

char类型的数据类型大小为1字节即8位。

short类型的数据类型大小为2字节即16位。

int类型、long类型、float类型的数据类型大小为4字节即32位。

long long类型、double类型的数据类型大小为8字节即64位。

注意,若整数数据类型前面加unsigned即为无符号整数数据类型,数据类型大小不变。

二、 数据类型的数值范围

三、打印输出类型

数据类型打印示例:

#include <stdio.h> 
int main()
{char ch='a';//字符用单引号,字符串用双引号printf("ch为 %c\n",ch);//"\n"是换行的意思printf("ch为 %d\n",ch);//打印'a'的ASCII码int a=15,b=16;printf("a为 %d\n",a);printf("a为 %d\n",b);long k=124323;printf("k为 %ld\n",k);double c=12.22;printf("c为 %lf\n",c);float c1=12.22;printf("c1为 %f\n",c1);//%f和%lf输出的数都是小数点后保留6位小数return 0;
}

输出结果:

问题来了,怎么让double类型和float类型保留后面两位小数呢?

//在%后面加上'.3'即保留小数点后3为
double c=12.22;
printf("c为 %.3f\n",c);float c1=12.22;
printf("c1为 %.2f\n",c1);

 结果为:


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

相关文章

滚雪球学MyBatis-Plus(13):测试与部署

前言 在上期内容中&#xff0c;我们深入探讨了 MyBatis Plus 的高级功能&#xff0c;包括自定义 SQL 注解、批量操作以及数据加密与解密。这些功能极大地提高了开发效率&#xff0c;并增强了数据操作的灵活性和安全性。 本期内容将重点介绍 MyBatis Plus 的测试与部署。我们将…

win2003_prepatched_v6b有效期到2021年4月2日,所以编译win2k3会有错误

openssl 查看证书pfx过期时间win2003_prepatched_v6b有效期到2021年4月2日&#xff0c;所以编译win2k3会有错误 要使用OpenSSL查看PFX&#xff08;也称为PKCS#12&#xff09;证书的过期时间&#xff0c;你可以使用以下命令&#xff1a; openssl pkcs12 -in your_certificate.p…

设计模式 19 观察者模式

设计模式 19 创建型模式&#xff08;5&#xff09;&#xff1a;工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式结构型模式&#xff08;7&#xff09;&#xff1a;适配器模式、桥接模式、组合模式、装饰者模式、外观模式、享元模式、代理模式行为型模式&#xff…

自动化抢票 12306

自动化抢票 12306 1. 明确需求 明确采集的网站以及数据内容 网址: https://kyfw.12306.cn/otn/leftTicket/init数据: 车次相关信息 2. 抓包分析 通过浏览器开发者工具分析对应的数据位置 打开开发者工具 F12 或鼠标右键点击检查 刷新网页 点击下一页/下滑网页页面/点击搜…

stm32之外部flash下载算法

文章目录 下载算法下载到芯片的核心思想算法程序中擦除操作执行流程擦除操作大致流程&#xff1a;算法程序中编程操作执行流程算法程序中校验操作执行流程 创建MDK下载算法通用流程第1步&#xff0c;使用MDK提供好的程序模板第2步&#xff0c;修改工程名第3步&#xff0c;修改使…

LiveKit的agent介绍

概念 LiveKit核心概念&#xff1a; Room&#xff08;房间&#xff09;Participant&#xff08;参会人&#xff09;Track&#xff08;信息流追踪&#xff09; Agent 架构图 ​ 订阅信息流 ​ agent交互流程 客户端操作 加入房间 房间创建方式 手动 赋予用户创建房间的…

STM32(十二):DMA直接存储器存取

DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输&#xff0c;无须CPU干预&#xff0c;节省了CPU的资源。&#xff08;运行内存SRAM、程序存储器Flash、寄存器&#xff09; 12个独立可配置的通道&…

SAP自动化操作

业务场景 1、主数据维护&#xff08;物料、成本中心、科目、资产、供应商、客户等等&#xff09; 2、业务单据创建&#xff08;包括内部订单、销售订单&#xff0c;采购订单&#xff0c;生产订单&#xff0c;交货单等等&#xff09; 3、业务单据处理&#xff08;订单评审&…

HTTP 二、进阶

四、安全 1、TLS是什么 &#xff08;1&#xff09;为什么要有HTTPS ​ 简单的回答是“因为 HTTP 不安全”。由于 HTTP 天生“明文”的特点&#xff0c;整个传输过程完全透明&#xff0c;任何人都能够在链路中截获、修改或者伪造请求 / 响应报文&#xff0c;数据不具有可…

【多线程服务器】多线程下网络编程

目录 多线程模型-非阻塞IOone loop per thread one loop per thread 线程池 one loop per thread与线程池结合 目前主流多线程模型 Reactor模式线程池 Proactor模式 Master-Worker模型 多线程编程的实现 线程抢占问题 Happens-Before关系 Linux下多线程编程常用函数 …

keepalived和lvs高可用集群

keepavlied和lvs高可用集群搭建 主备模式&#xff1a; 关闭防火墙和selinux systemctl stop firewalld setenforce 0部署master负载调度服务器 zyj86 安装ipvsadm keepalived yum install -y keepalived ipvsadm修改主节点配置 vim /etc/keepalived/keepalived.conf! Conf…

C语言小游戏--贪吃蛇实现

C语言小游戏--贪吃蛇实现 1.游戏实现背景2.Win32 API介绍2.1什么是Win32 API2.2控制台程序(Console)2.3控制台屏幕的坐标COORD2.4GetStdHandle2.4.1函数语法2.4.2函数的使用 2.5GetConsoleCursorInfo2.5.1函数语法2.5.2函数的使用 2.6CONSOLE_CURSOR_INFO2.6.1结构体结构2.6.2结…

【RabbitMQ】核心概念

界⾯上的导航栏共分6部分, 这6部分分别是什么意思呢, 我们先看看RabbitMQ的工作流程 1. Producer和Consumer Producer:生产者,是RabbitMQ Server的客户端,向RabbitMQ发送消息 Consumer: 消费者,也是RabbitMQ Server的客户端,从RabbitMQ接收消息 Broker:其实就是RabbitMQSer…

UE4_地形_悬崖拉伸的解决

参考教程 【虚幻5】UE5_UE4_解决悬崖地形贴图拉伸_哔哩哔哩_bilibili 纹理处理 | 虚幻引擎 4.27 文档 | Epic Developer Community (epicgames.com) 主要通过蓝图节点解决&#xff1a;WorldAlignedTexture WorldAlignedTexture&#xff08;全局一致纹理&#xff09;函数用于…

js(vue)如何实现页面截图,向后端传递,生成PDF

利用 htmm12canvas 首先引入 npm install express multer # 或者 yarn add express multer 代码如下&#xff1a; <template><!-- <div style"width:100%;height:100%;overflow-y: scroll"><img :src"svg" style"width: 100%;&…

【H2O2|全栈】关于HTML(3)HTML基础(二)

HTML相关知识 目录 HTML相关知识 前言 准备工作 标签的具体分类&#xff08;二&#xff09; 本文中的标签在什么位置使用&#xff1f; 本期前置知识点 超文本 超文本引用和源属性 图片标签 锚链接 iframe 锚点 预告和回顾 后话 前言 本系列博客将分享HTML相关…

SprinBoot+Vue应急信息管理系统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍&#xff1a;CSDN认证博客专家&#xff0c;CSDN平台Java领域优质…

docker ps -a及docker exec -it ubuntu-01 /bin/bash

docker ps -a 命令 在 Docker 中用于列出 Docker 宿主机上所有的容器&#xff0c;包括正在运行的容器和已经停止的容器。这个命令是 Docker 用户常用的命令之一&#xff0c;用于查看和管理容器。 命令解析&#xff1a; docker&#xff1a;这是 Docker 的命令行接口&#xff…

Pytest-@pytest.fixture夹具篇(一)

一、定义 在Python的pytest测试框架中&#xff0c;pytest.fixture是一个&#xff08;不是唯一&#xff09;装饰器&#xff0c;用于定义一个测试夹具。 二、简单实例 使用参数autouserTrue pytest.fixture(autouseTrue) def my_fixture():print("Setup: 准备测试环境&q…

html导航栏logo

设置顶部logo <link rel"shortcut icon" href"图片路径" type"image/x-icon"> 显示效果&#xff1a; 这样设置可以是本地的&#xff0c;也可以是在线的。