数据和C

程序离不开数据。C语言提供两大系列的多种基本类型。两大数据类型:整数类型和浮点类型,这些数据类型是什么,常量和变量的区别。

1.1示列程序

在这里插入图片描述
提示 错误与警告
如果输入程序时打错(如,漏了一个分号),编译器会报告语法错误信息,然而,即使输入正确无误,编译器也可能给出一些警告,如"警告’,从double类型转换float类型可能会失去数据,错误信息表明程序有错,不能编译。
程序调整:
我们可以在程序中添加下面一行代码:
getchar();
程序的输出是否依然旧在屏幕上一闪而过? 本列, 需要调用两次getchar()函数:
getchar();
getcahr();
getcahr函数读取下一个输入字符,因此程序会等待用户输入。

1.2 变量与常量数据

在程序引导下.计算机可以做许多事情,如数值计算,名字排序,执行语言,计算彗星轨道,准本邮件,画画,要完成这些任务,程序需要使用数据,即承载信息的数字和字符。有些数据类型在程序使用之前已经预先设定好了,在整个程序的运行过程中没有变化,这些称为变量,其他数据类型在程序运行期间可能会改变或者被赋值,称为常量。

1.3 数据: 数据类型关键字

不仅变量和常量不同,不同的数据类型之间也有差异。一些数据类型表示数字,一些数据类型表示字母。

最初K&R给出的关键词C90标准添加关键词
intsigned
longvoid
short
unsigned
cahr
float
double

在C语言中,用int关键词表示基本的整数类型
位,字节和字
位,字节和字是描述计算机数据单元或存储单元的术语,这里主要指存储单元。
字节是常用计算机存储单位。
字是设计计算机时给定的自然存储单位。

1.4 整数

和数学概念是一样的,在C语言中,整数是没有小数部分的数。列如,2,-23和2341都是整数。而3.14,0.11和2.00都不是整数。在这里插入图片描述

1.5 浮点点

浮点数与数学中概念差不多。2.15, 316E4, 7.00 都是浮点数。要注意一点是,在一个值后面加上一个小数点,该值就成为一个浮点数
这里关键要理解浮点数和整数的存储方式不同。计算机把浮点数分成小数部分和指数部分来表示,而且分开 存储这两部分。在这里插入图片描述
我们一起看下这两种类型的实际区别。
1. 整数没有小部分,浮点数有小数部分。
2. 浮点数可以表示的范围比整数大。
3. 对于一些算术运算,浮点数损失的精度更多。
4.因为在任何区间内都存在无穷多个实数,所以计算机的浮点不能表示区间所有的值。
5.过去,浮点运算比整数运算慢。

1.6 C语言基本数据类型

1.6.1 int类型
int类型是有符号整型,即int类型的值必须是整数,可以是正整数,负整数或零。
1,声明int变量
先写上int,然后写变量名,最后加上一个分号。要声明多个变量,可以单独声明每个变量,也可以列出多个变量名,变量名之间用逗号隔离。如:
int ernsl;
int hogs, cows,gotes;
可以分别在4条声明各变量,也可以在一条声明4个变量。
变量如何得值呢? 有两种途径可以获值
cows = 112;
第2中途径是,通过函数(如,scanf())获得值。
2, 初始化变量
初始化变量就是为变量赋一个初始值。
在这里插入图片描述
3, int 类型变量
出现整数都是整型常量或者整型宇面量。
4, 打印 int值
可以使用printf()函数打印int类型的值。
5, 八进制和十六进制
通常,C语言都是假定整常量是十进制数。

1.7 其他整数类型

  1. short int类型占用的存储空间可能比int类型少,常用于较小数值 场合以节约空间。
  2. long int或long占用的存储空间可能比int多,适用于较大数值的场合。
  3. long long int或long long占用的存储空间可能比long多,适用于更大数值场合。
  4. unsigned int 或unsigned只用于非负值的场合。
  5. 在C90标准中,添加了unsigned long int或usigned long和usiged short int或unsigned short类型。
  6. 在任何有符号类型前面添加关键词signed,可强调使用符号类型的意图。
    1, 声明其他整数类型:
    long int estine;
    long johns;
    short int erns;
    short ribs;
    unsigned int s_count;
    unsigned players;
    unsigned long headcount;
    unsigned short yesvotes;
    long long ago;
    2,使用多种整数类型原因
    为什么说short类型"可能"比类型占用的空间少,long类型"可能"比int类型占用的空间多呢?因为C语言只规定了short占用存储空间不能的多余int,long占用的存储空间不能少于int。
    3. long常量和long long常量
    一般来说,程序代码中使用的数字(如,2415)都被存储为int类型
    4, 打印short, long,long, long和unsigned类型
    打印unsigned int类型的值,使用&u转换说明:打印long类型的值,使用%ld转换说明。

1.8 使用字符: char类型

char类型用于存储字符,但是从技术层面看,char是整数类型。
1,声明char类型变量
char类型变量的声明方式与其他类型变量方式相同:
char resopen;
char itnle,lej
创3个char类型变量:resopen, itnle,lej
2, 字符常量和初始化
如果要把一个字符量初始化为字母A,不必背下ASCII吗,用计算机语言很容易做到。通过一下初始化把字母A赋给grade:
char grade=“A”;
3, 非打印字符
在这里插入图片描述

1.9 _Bool类型

C99标准添加了_Bool类型,用于表示布尔值,即逻辑值true和false。

2.0 float double和long double

C语言中的浮点类型有float double和long double类型,它们与FORTRAN和Pascal中的real类型一致。

2.1 复数和虚数类型

许多科学家和工程计算机都要用到复数和虚数。

2.2 其他类型

小结:基本数据类型
关键词:
基本数据类型由11个关键词组成:int long short unsigned char float double signed _Bool _Complex和_Imaginary。
有符号整型:
有符号整数可用于表达正整数和负整数
1. int-----系统给定的基本整数类型。
2. short或short int-----最大的short类型整数小于或等于最大的int整数。C语言规定short类型至少占16位。
3. long或long int----- 该类型可表达的整数大于或等于最大的int类型整数。C语言规定long类型至少占32位
4. long long或long longint-- 该类型可表达的整数大于或等于最大long整数。long long 类型至少占64位。
一般而言,long类型占用的内存比short类型大,int类型的宽度要么和long类型相同,要么和short类型相同,列如,旧DOS系统的PC提供16位的short和int,以及32位的long;Widows 95系统提供16位的short以及32位的int和long
无符号整型:
无符号整数只能用于表示零和正整数,因此无符号整型可表达的正整数比有符号型的大。在整类型前加上关键词unsigned表明该类型是无符号整型: usignend int, usigned long, unsigned long, unsigned short。单独的unsigned相当于usigned int。
**字符类型:
可打印出来的符号(如A,&和+)都是字符。根据定义,char类型表示一个字符要占用1字节内存。出于历史原因,1字节通常是8位,但是如果要表示基本字符集,也可以是16位或更大
char-----字符类型的关键字。有些编译器使用有符号的char,而有些则使用无符号的char。
在需要时,可在char前面加上关键词signed或unsigned来指明具体使用哪一种类型
布尔类型:
布尔值表示true和false。C语言用1表示true,0表示false。
_Bool 布尔类型的关键字。布尔类型是无符号int类型,所占用的空间只能存储0或1即可
实浮点类型:
实浮点类型可表示正浮点数和负浮点数
float 系统的基本浮点类型,可精确表示至少6位有效数字
double 存储浮点数范围更大,能表示比floatl类型更多的有效数字和更大的指数。
long double 存储浮点数的范围比double更大,能表示比double更多的有效数字和更大的值数。
复数和虚数浮点数:
虚数类型是可选的类型。复数的实部和虚部类型都基本实浮点类型来构成:
float _Complex
double _Complex
long double _Complex
float _Imaginary
double _Imaginary
long double _Imaginary

小结: 如何声明简单变量

  1. 选择需要的类型
  2. 使用有效的字符给变量起一个变量名
  3. 按以下格式进行声明:
    类型说明符 变量名;
    类型说明符由一个或多个关键词组成。下面是一些示列:
    int erest;
    unsigned short cash;
    4.可以同时声明相同类型的多个变量,用逗号分隔各变量名,如图所示:
    char ch,init,ans;
    5.在声明的同时还可以初始化变量:
    float mass =6.0E24;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZikL♡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值