3.1  数据类型关键字

  

位:计算机内部数据存储的最小存储单位(bit)。

字节:计算机中数据处理的基本单位(Byte)),1B=8bit。

字:计算机进行数据处理时,一次存取,加工和传送的数据长度。(word)。

3.1.1  不同数据类型的表示方法

在printf()中显示

  十进制 二进制 八进制
显示数字 %d %o %ox
显示前缀   %#o %#x()改成X就显示X
数据类型 转换说明
char %c
short %hd
unsigned short %hu
int %d
unsigned int %u
long %l
unsigned long %lu
long long %ll
unsigned long long %llu

关于printf(),该语句先将输出发送到一个叫缓冲区的中间储存区域,当储存区满,或遇到换行字符或需要输入时发送输出到屏幕(从缓冲区把数据发送到屏幕或文件的被称为刷新缓冲区)

3.2  char类型

ASCLL码

转义序列

3.3  可移植类型:stdio.h和inttypes.h

int32_t:表示有符号的整数类型。为精确宽度整数类型示例。

int_least8_t:表示可容纳8位有符号整数值的类型中宽度最小的类型的一个别名。

最小宽度类型:保证所表示的类型一定是至少有指定宽度的最小整数类型。

int_fast8_t:系统中对8位有符号值而言最快的整数类型别名。

最快最小宽度类型:使计算达到最快的类型集合。

intmax_t:最大有符号整数类型。

3.3  浮点数

float:必须至少能表示6位有效数字,且取值范围至少是10-37~10+37

double:必须至少能表示10位有效数字,编译器假定浮点型常量为double。

打印方法:

%f表示打印10进制计数法的folat类型。(一定要用%lf表示double类型)

%e表示打印指数计数法的falat和double

打印long float或long double要用%lf转换说明。

3.4  复数和虚数类型

虚数是可选类型。复数的实部和虚部都是基于浮点类型来构成。

float _complex

double _complex

long double _complex

float  _Imaginary

double _Imaginary

long double _Imaginary

3.5  类型大小

利用sizeof()来查询各数据类型的大小,一定要避免数据出现上溢和下溢。

C99和C11利用%zd来转换说明sizeof的返回类型。

不支持C99和C11的可用%u或%lu。

利用float.h头文件

DBL_MAX  double最大值

DBL_MIN   double最小值

FLT_MAX   float  最大值

FLT_MIN    float  最小值

3.6  编程练习

1.整数上溢即由最大值变为最小值,下溢即由最小值变为最大值。

浮点数上溢下溢如下图。

#include <stdio.h>
#include <float.h>
int main(void)
{
double max=DBL_MAX;
double min=DBL_MIN;
printf("最大值为%e\n",max);
printf("最大值上溢%e\n",max*);
printf("最小值为%e\n",min);
printf("最小值下溢%e\n",min/);
return ;
}

2.输入ASCLL码对应的数值,打印出对应的字符。

#include <stdio.h>
#include <float.h>
int main(void)
{
char num=;
printf("Plese enter the value of ASCLL___");
scanf("%d",&num);
printf("The value you input corresponds to ASCLL of %c",num);
return ;
}

4.键入一个浮点数,分别以小数点形式,指数形式,p计数法形式显示。

#include <stdio.h>
#include <float.h>
int main(void)
{
float num=;
printf("Plese enter a float___");
scanf("%f",&num);
printf("小数点形式%f,指数形式%e,p计数法式%a",num,num,num);
return ;
}

5.年龄换算为秒

#include <stdio.h>
int main(void)
{
long double age=;
long double second=;
printf("Plese enter your age___");
scanf("%lf",&age);
second=age*3.156e7;
printf("second is %e",second);
return ;
}

6.将输入的夸脱数转化为相应的水分子数量。

#include <stdio.h>
int main(void)
{
double quart1=;
double num1=;
printf("Plese enter quart___");
scanf("%lf",&quart1);
printf("%e\n",quart1);
num1=(quart1*)/(3.0*1e-);
printf("number of water molecules is %e\n",num1); }

8.

因为以杯作为基准,则会出现整数不够用的情况。

第三章,数据和C的更多相关文章

  1. Laxcus大数据管理系统2.0(5)- 第三章 数据存取

    第三章 数据存取 当前的很多大数据处理工作,一次计算产生几十个GB.或者几十个TB的数据已是正常现象,驱动数百.数千.甚至上万个计算机节点并行运行也已经不足为奇.但是在数据处理的后面,对于这种在网络间 ...

  2. 《驾驭Core Data》 第三章 数据建模

    本文由海水的味道编译整理,请勿转载,请勿用于商业用途.    当前版本号:0.1.2 第三章数据建模 Core Data栈配置好之后,接下来的工作就是设计对象图,在Core Data框架中,对象图被表 ...

  3. C和指针 (pointers on C)——第三章——数据

    第三章 数据 本章是非常重要的,在特定范围内使用.链接属性.存储类型.const.extern和statickeyword使用.几乎所有的公司是C++在采访的第一个问题. 总结: 具有external ...

  4. C和指针 第三章--数据

    简要概述: <C和指针>第三章对数据进行了描述. 其中主要讲解了---变量的三个属性:作用域.链接属性和存储类型. 这三个属性决定了该变量在“什么地方可以使用”以及“该变量的值能够保持多久 ...

  5. Java 螺纹第三版 第三章数据同步 读书笔记

    多线程间共享数据问题 一.Synchronizedkeyword      atomic一词与"原子"无关,它以前被觉得是物质的最小的单元,不能再被拆解成更小的部分.      当 ...

  6. c语言学习笔记第三章———数据和C

    B站有视频演示 本章将会讲解c语言的数据定义和使用,您将会了解int.float.double.char的含义,了解命名的规则,对c语言会有更加深刻的认识. 变量命名: 我们先讲上次视频没讲的变量命名 ...

  7. 【数据分析 R语言实战】学习笔记 第三章 数据预处理 (下)

    3.3缺失值处理 R中缺失值以NA表示,判断数据是否存在缺失值的函数有两个,最基本的函数是is.na()它可以应用于向量.数据框等多种对象,返回逻辑值. > attach(data) The f ...

  8. 《C和指针》读书笔记——第三章 数据

    1.typedef:为各种数据类型定义新名字 typedef char  *ptr_to_char; ptr_to_char a;//声明a是一个指向字符的指针. 2.链接属性:extern;stat ...

  9. 《Pointers On C》读书笔记(第三章 数据)

    1.在C语言中,仅有4种基本数据类型:整型.浮点型.指针和聚合类型(如数组和结构等). 整型家族包括字符.短整型.整型和长整型,它们都分为有符号和无符号两种. 标准规定整型值相互之间大小的规则:长整型 ...

  10. MVC5+EF6 简易版CMS(非接口) 第三章:数据存储和业务处理

    目录 简易版CMS后台管理系统开发流程 MVC5+EF6 简易版CMS(非接口) 第一章:新建项目 MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型 MVC5+EF6 简易版CMS(非接口 ...

随机推荐

  1. Problem A: Assembly Required K路归并

    Problem A: Assembly Required Princess Lucy broke her old reading lamp, and needs a new one. The cast ...

  2. Wpa_supplicant 调试故障原因分析

    背景 在使用Wpa_supplicant 工具调试Linux的wifi的时候,发现有一些问题.特此记录一下.有些问题是遇到的并已经有了解决方法,一些问题比较发杂,只能作为思路. 问题以及解决办法 1. ...

  3. OS、浏览器排名:Win10狂飙、Chrome逆天

    根据 Netmarketshare公布的最新数据,2019年7月,Windows 10系统市场份额获得显著增长,市场份额创下新高:Windows 7则进一步衰退,份额下滑高达3.6%,这也是其历史上最 ...

  4. linux7 安装Docker

    Docker:用白话文简单介绍就是一个集装箱,可以将其运行环境及依赖打包,方便各种场合使用.Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机 ...

  5. 基于vue-router的移动端网页的路由管理

    本篇代码示例:github 前提:不关注移动端浏览器的前进事件 涵盖功能: 1,管理路由的历史记录 2,切页动画的实现 3,处理流程类页面的回退事件 描述:    流程类页面的回退事件的解释: 以注册 ...

  6. tp3.2 自带的文件上传及生成缩略图功能

    public function upload_file($file_name,$width,$height) { //检查图片尺寸是否合法 $image_size = getimagesize($_F ...

  7. 01.swoole学习笔记--TCP服务器

    1.安装swoole扩展 2.网络调试助手进行调试 <?php //创建服务器 $host='192.168.10.31'; $port=; //$model='SWOOLE_PROCESS'; ...

  8. java.lang.IllegalStateException: Active Spring transaction synchronization or active JTA transaction with specified [javax.transaction.TransactionManager] required

    错误信息: java.lang.IllegalStateException: Active Spring transaction synchronization or active JTA trans ...

  9. C++ 语言程序设计(清华大学)2

    面向对象 1.面向对象程序基本特点:抽象.封装.继承.多态 2.类分为:公有类型成员public(接口),私有类型成员private(本类函数访问,类外要用友元函数访问),保护类型成员protect( ...

  10. DevOps - 不适用

    章节 DevOps – 为什么 DevOps – 与传统方式区别 DevOps – 优势 DevOps – 不适用 DevOps – 生命周期 DevOps – 与敏捷方法区别 DevOps – 实施 ...