数据类型

1.基本数据类型:

基本数据类型最主要的特点是,其值不可以分解为其他类型。也就是说,基本数据类型是自我说明的

2.构造数据类型:

构造数据类型是根据已定于的一个或多个数据类型用构造的方法来定义的。也就是说,一个构造类型的值可以分解为若干个“成员”或“元素”。每个“成员”都是一个基本数据类型或又是一个构造类型。在c语言中构造类型有以下几种:·数据类型·结构体类型·共同体(联合)类型

3.指针类型:

指针是一种特殊的,同时又是具有重要作用的数据类型。其值用来表示某个变量在内存储器中的地址。虽然指针变量的取值类似与整型量, 但这是两个类型完全全不同的量, 因此不能混为一谈。

4.空类型:

在调用函数值时, 通常应向调用者返回一个函数值。这个返回的函数值是具有一定数据类型的,应在函数定义和函数说明中给予说明, 例如在例题中给出的max函数定义中, 函数头为int max(int a, int b);其中“int”类型说明符即表示该函数的返回值为整型量。但是, 也有一类函数,调用后并不需要向调用者返回函数值,这种函数可以定义为“空类型”。其类型说明符为“void”, 在后面继续介绍

常量

整型, 浮点, 字符, 枚举等

在执行过程中,其值不发生改变的量称为常量。

符号常量:用标识符代表一个常量。在c语言中, 可以用一个标识符表示一个常量, 称之为符号常量。

符号常量在使用之前必须先定义, 其一般形式为:

#define 标识符 常量

其中#define 也是一条预处理命令(预处理命令都以#开头), 称为宏定义命令(在后面预处理程序中将进一步介绍), 其功能是把标识符定义为其后的常量值。一经定义, 以后在程序中所有出现该标识符的地方均代之以该常量值。

注意:习惯上符号常量的标识符用大写字符, 变量标识符用小写字母, 以示区别。

#include <stdio.h>
#include <stdlib.h>
#define AAA 20void main()
{printf("%d", AAA);
}

View Code

变量

整型, 浮点, 字符, 枚举等

其值可以改变的量称之为变量。一个变量应该有一个名字, 在内存中占据一定的存储单元

变量定义必须放在变量使用之前。一般放在函数体的开头部分。要区分变量名和变量值是两个不同的概念

整型

八进制整常数:

八进制整常数必须以0开头, 即以0作为八禁进制数的前缀。数码取值为0~7.八进制数通常为无符号数。以下各数是合法的八进制:015(十进制13)、0101(十进制为65)、0177777(十进制为65535)

十六进制整常数:

十六进制整常数的前缀为0x或0X.其数码取值为0~9, A~F或a~f.以下各数是合法的十六进制整常数:0X2A(十进制为42), 0XA0(十进制为160), 0XFFFF(十进制为65535);

整型常数的后缀:

在16位字长的机器上,基本整型的长度也为16位, 因此表示的数的范围也是限定的。十进制无符号整常熟的范围为0~65535。八进制无符号数的表示范围为0~0177777.十六进制无符号数的表示范围为0X0~0XFFFFF或0x0~0xFFFFF。如果使用的数超过了上述范围, 就必须用长整型数来表示。长整型数是用后缀"L"或‘l’来表示的

整型变量的分类, 默认int是有符号

整型变量的分类

格式:

int a, b, c;注意别忘了分号和英文的逗号放在函数的开头

(注意:这里占多少个字节跟系统和编译器规定有关!可以在编译器上自己试试查看)

1. 基本型:类型说明符为int, 在内存中占4个字节。

2. 短整量:类型说明符为short int 或short。所占字节和取值范围均与基本型相同。

3. 长整型:类型说明符为long int 或long。

4.无符号型:类型说明符为unsigned。(包括unsigned int, unsigned short int , unsigned log)

标注:下图的wchar_t 表示的是 

char是8位字符类型,最多只能包含256种字符,许多外文字符集所含的字符数目超过256个,char型无法表示。
wchar_t数据类型一般为16位或32位,但不同的C或C++库有不同的规定,如GNU Libc规定wchar_t为32位,总之,wchar_t所能表示的字符数远超char型。

wchar_t

欠:后期补充,因为没有搞懂unsigned

注意:整型的每一种都有无符号(unsigned)和有符号(signed)两种类型(float和double总是带符号的),在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。

#include <stdio.h>
//查看编译器的字节数void main()
{printf("%d", sizeof(int));
}

整型数据的溢出

负数十进制的补码

浮点型(实型)4字节(32位)

浮点数常量的表示方法:

浮点型也成为实型。也可以称为世数或者浮点数。在c语言中, 浮点数只采用十进制。

他有两种形式:十进制小数形式, 指数形式。

1)。 十进制形式:例如:0.00, 25.00, 2323.2324, 1423.23232332, -232342342.02323等

2)。指数形式:由十进制数, 加阶码标志"e"或“E”以及阶码(只能为整数,可以带符号)组成。形式:aEn(a为十进制数, n为十进制整数)4.576064086519205e-47   #0.00002323**102.2E5   意思就是2.2 * 10的5次方   == 2.2 * 10^5(或者10**5)-2.5E-2 意思就是-2.5 * 10^-2 (10^-2 就是0.01) 结果是0.025

浮点数分类

单精度: float

双精度: double

长双精度: long double

转载于:https://www.cnblogs.com/renfanzi/p/6481250.html

c语言数据类型、运算符和表达式相关推荐

  1. c语言程序计算p q真值表,C语言程序设计第2章数据类型﹒运算符和表达式.ppt

    C语言程序设计第2章数据类型﹒运算符和表达式 教学目标 掌握C语言标识符的组成 理解C语言的基本数据类型 掌握变量定义的方法 掌握常用的运算符的使用 掌握混合运算的数据转换方法 2.1 C语言的数据类 ...

  2. 二进制补码求值用c语言,C语言程序设计第2章数据类型.运算符与表达式.ppt

    C语言程序设计第2章数据类型.运算符与表达式 教学目标 掌握C语言标识符的组成 理解C语言的基本数据类型 掌握变量定义的方法 掌握常用的运算符的使用 掌握混合运算的数据转换方法 2.1 C语言的数据类 ...

  3. 数据类型,运算符和表达式02 - 零基础入门学习C语言03

    第二章:数据类型,运算符和表达式02 让编程改变世界 Change the world by program 整型变量 整型变量的分类(注意:这里占多少个字节跟系统和编译器规定有关!可以在编译器上自己 ...

  4. c语言程序设计课件第二章,c语言程序设计课件张元国 ISBN9787566300386 PPT第二章数据类型 运算符与表达式...

    1.第2章 数据类型.运算符与表达式,语言的数据类型 常量与变量 运算符与表达式 不同类型数据间的转换,2.1语言的数据类型,数据是计算机程序处理的所有信息的总称,数值.字符.文本等都是数据,在各种程 ...

  5. c语言常数-ox6a是什么意思,C语言第2讲-数据类型运算符和表达式.pdf

    C语言第2讲-数据类型运算符和表达式 高级语言程序设计 (C Programming) 丁嵘 第二讲:数据类型.运算符和表达式 本章目录  2.1 基本符号  2.2 C语言的数据类型  2.3 ...

  6. 数据类型,运算符和表达式03 - 零基础入门学习C语言04

    第二章:数据类型,运算符和表达式03 让编程改变世界 Change the world by program 字符型数据 字符型数据包括字符常量和字符变量 字符常量: 是用单引号括起来的一个字符. 例 ...

  7. C语言基本运算符和表达式

    C语言基本运算符和表达式 运算符的种类.优先级和结合性 运算符的种类 1.算术运算符 2.关系运算符 3.逻辑运算符 4.位操作运算符 5.赋值运算符 6.条件运算符 7.逗号运算符 8.指针运算符 ...

  8. c语言 4则运算符,C语言学习之路之四-----------C语言的运算符与表达式

    C语言的运算符与表达式 运算符与表达式 C语言的运算符又称为操作符,是数据间进行运算的符号.C语言的运算符按运算类型可分为赋值运算符.算术运算符.逻辑运算符.关系运算符.位运算符.指针运算符和取成员运 ...

  9. c语言共有几种运算符_C语言的运算符和表达式有哪些

    C语言的运算符和表达式有哪些 C语言的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统 ...

  10. C语言的运算符和表达式

    C语言的运算符和表达式 一.分类 C语言一共有34种运算符,10种运算类型,本节我们要掌握的有 算术运算符(+.-../.%). 关系运算符(>.>=.==.!=.<.<=). ...

最新文章

  1. python excel数据框_使用python pandas使用新数据框附加现有excel表
  2. 关于成为一名优秀的软件测试工程师
  3. automaticallyAdjustsScrollViewInsets的作用
  4. java调用js查询mongo_mongodb操作之使用javaScript实现多表关联查询
  5. 【python命名规范】谷歌风格命名
  6. In fact, at this stage, neither the 65W
  7. Codeforces Round #222 (Div. 2): C. Maze(BFS)
  8. Qt之音频播放升级(七)
  9. Meta Learning | 加了元学习之后,少样本学习竟然可以变得这么简单!
  10. 未能加载文件或程序集“Newtonsoft.Json”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)...
  11. 基于STM32的小说阅读器
  12. idea 设置类的注释模板
  13. Windows错误、问题汇总
  14. win10如何安装多个jdk并实时进行切换【建议收藏】
  15. (七)继续对话库检索的闲聊系统
  16. DNS故障分析【转】
  17. wait和notify基本原理以及应用场景
  18. linux环境下conda更改pkg和env缓存路径
  19. 无线群控服务器转让,群控系统无限开接手的项目
  20. Linux程序设计—多进程编程

热门文章

  1. web前端新手最容易出现的4个错误,你有出错过吗?
  2. 零基础小白如何入门前端?以下这几点一定是你需要的
  3. oracle 定时器时间分区_Oracle数据库之oracle按时间分区以及自动分区
  4. 分段函数怎么用神经网络进行拟合_Tensoflow简单神经网络实现非线性拟合
  5. linux 驱动器发送信号,Linux设备驱动并发控制详解(自旋锁,信号量)
  6. java程序实验报告_实验报告一
  7. python 输出文件中返回码为200的接口的平均响应时间_Django查看响应时间问题
  8. latch.await java有什么作用,Android系统。 Countdownlatch.await不起作用
  9. 通信服务器系统安装,pxe网络安装操作系统
  10. android 搜索文件代码怎么写,android学习笔记(5)-一个搜索文件的APP(2)-搜索功能的实现...