变量的概念

             C语言中的变量是指在程序运行时其值可以改变的量,变量的功能就是存储数据。(x或者y)变量是一段实际连续存储空间的别名,程序中通过变量来申请并命名存储空间,通过变量的名字可以使用存储空间(变量名就是内存单元的地址)。

变量的命名

1.变量名只能是字母(A-Z,a-z)、数字(0-9)或下划线。

2.第一个字母不能是数字。

3.不能是c++关键字,要见名知义比如sum是求和

变量的定义

             定义变量的格式:类型 变量名 。比如int  x:int  y这是把x和y定义成整型变量

整型变量

             整型变量是一种计算机语言。在c语言中,整型变量的值可以是十进制,八进制,十六进制,但在内存中存储着是二进制数。变量顾名思义是数值可以变的量,整型变量表示的是整数类型的数据。

           整型变量的分类

             整型变量分为基本整形(用int定义),短整型(short或short  int定义),长整型(long或long  int定义),无符号型。

无符号类型就是与其他类型连用,不写默认有符号类型,写了可以扩大数的范围(下面取值范围有讲),有符号的申请时前面加上signed(可以省略比如signed  int  x),无符号的加上unsigned。

(1)无符号基本型 类型说明符为unsigned int或unsigned。

(2)无符号短整型 类型说明符为unsigned short

(3)无符号长整型 类型说明符为unsigned long 

【例1】整型变量的定义与使用

#include<stdio.h>
int main(){int x,y,z;unsigned int u;x=1;y=2;u=3;z=x+y+u;printf("z=%d",z);return 0;
} 

不同类型的可以运算

            整型变量的取值范围   

在32位操作系统中,int如果占4个字节的话,算上首部的正负号他的取值范围2^-31~2^31-1(变量的那篇关于整形数据的存储有讲到),如果要扩大数值,要把存放正负号的位置也存放数字这样的范围是0~2^32-1。

           整形数据的溢出 

当前编译器为int类型数据分配了4个字节(对应32比特位),所以有符号int类型变量a和b的取值范围是-2147483648到2147483647,所以当a取值2147483647,再加1时,就会出现“溢出”的情况,其结果b发生了反转,变成了-2147483648。

a: 0111 1111 1111 1111 1111 1111 1111 1111 (共32位)

b: 1000 0000 0000 0000 0000 0000 0000 0000 (共32位)

a和b最前面的1表示的是正负号。

#include<stdio.h>
int main(){int x,y;x=2147483647;y=x+1;printf("y=%d",y);return 0;
} 

         实型变量 

在程序运行过程中可以改变其值的实型量被称为实型变量,

           实型变量的分类   

            在程序运行过程中可以改变其值的实型量被称为实型变量,实型变量根据数值的范围可分为单精度(float)(小数点后可以保留6位),双精度(double)(小数点后可以保留15位)

          实型变量的定义和使用

【例2】实型变量的定义与使用

#include<stdio.h>
int main(){float x,y;double a,b;x=1.23;a=-2.36;y=x+a;b=x+a;printf("y=%f,b=%f",y,b);return 0;
} 

可以看出单精度和双精度可以一起运算,结果是六位小数与%f有关,后边的章节我们会学到。

           实型数据的精度与舍入误差

float和double的范围都是有限的float是1.2*10^-38~3.4*10^38,double是2.3*10^-308~1.7*10^308,当数据超出这个值,超出的部分就会丢失,会产生一定的误差。

【例3】

#include<stdio.h>
int main(){float x;double a;x=123456789.123;a=123456789123456729.123;printf("x=%f,a=%f",x,a);return 0;
} 

由例题知float前七位是精确的,后两位是随机的,超出的小数部分丢失。double前16位是精确的,后边的是随机的,小数部分丢失。

字符型变量

             字符变量及其使用

字符变量是用来存放字符常量的,一个字符变量中只能存放一个字符。 字符变量的定义形式如右:char x1,x2; 定义了两个字符型变量。可以使用赋值语句对变量x1和x2赋值,如:x1='x’;x2='y'; 字符型数据(常量和变量)在内存中占一个字节的空间。

#include<stdio.h>
int main(){char x,y;x='a';y='b';printf("%c,%c",x,y);return 0;
} 

%c后边会学她是输出字符的

            字符变量在内存中的存储形式

字符在内存中是以ascII来存的,利用ASCII表把字符转换成数字,再把数字转换成补码存储在内存中

初学c语言数据类型——变量相关推荐

  1. C语言数据类型 / 变量类型 - C语言零基础入门教程

    目录 一.C 语言数据类型分类 二.C 语言整形 1.无符号整形(16 位系统) 2.有符号整形(16 位系统) 3.int 和 long 区别 4.超出取值范围的整形 三.C 语言浮点型 float ...

  2. 嵌入式c语言为什么变量定义在前面,嵌入式C语言数据类型和变量详解

    原标题:嵌入式C语言数据类型和变量详解 一般来讲,标准的C语言类型在嵌入式编译器中是合法的.但由于嵌入式控制器的受限环境.嵌入式c语言的变量和数据类型具有新的特征,这些特征体现在如下方面. 嵌入式C语 ...

  3. c语言基本数据类型常量,C语言基础学习基本数据类型-变量和常量

    变量和常量 什么是变量和常量?有些数据在程序运行前就预先设定,并在运行过程中不发生变化,称之为常量:有些数据在程序运行中可能发生变化或被赋值,称之为变量. 使用变量前必须先声明一个变量.变量定义的语法 ...

  4. OpenGL ES着色器语言之变量和数据类型(二)(官方文档第四章)

    OpenGL ES着色器语言之变量和数据类型(二)(官方文档第四章) 4.5精度和精度修饰符 4.5.1范围和精度 用于存储和展示浮点数.整数变量的范围和精度依赖于数值的源(varying,unifo ...

  5. 2020-10-14Go语言数据类型和变量常量

    Go语言数据类型 在Go编程语言中,数据类型用于声明函数和变量 数据类型的出现就是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用有限的的计算机内存 ...

  6. c语言取变量数据类型,C语言数据类型和变量

    <C语言数据类型和变量>由会员分享,可在线阅读,更多相关<C语言数据类型和变量(75页珍藏版)>请在人人文库网上搜索. 1.第3章C数据类型和变量,学习目的和要求: 掌握数据类 ...

  7. C语言之变量和数据类型

    变量和数据类型 变量(Variable) 数据类型 1.整型(printf输出) 2.sizeof 获取占用字节数 二.八.十六进制 printf格式化输出(包括无符号输出格式) C语言中的符号位(正 ...

  8. c语言中将32位值赋给16位变量,C语言数据类型和变量-参考.ppt

    C语言数据类型和变量-参考 第3章C数据类型和变量 学习目的和要求: 掌握数据类型和变量的基本概念.特点和使用方法 . 熟练掌握算术.赋值.逗号和sizeof运算符与表达式的使用 . 理解并能应用强制 ...

  9. 2.从零开始学习C语言--C语言数据类型、变量以及进制转换

    基本类型 含义 类型 储存空间 整数 整型 int 4byte 短整型 short int 2byte 长整型 long int 8byte 浮点数 单精度浮点数 float 4byte 精确到6位小 ...

最新文章

  1. linux系统中find怎么用,linux系统中‘find’的详细用法
  2. window下Nodejs的部署
  3. OCR算法:CNN+BLSTM+CTC架构(VS15)
  4. AS(Android studio)常见问题
  5. 【算法刷题3】二叉树的最大深度
  6. python 语言的基础规范
  7. LeetCode--41.缺失的第一个正数(C)
  8. iOS网络开发(5)请求的缓存
  9. Zookeeper及客户端的基本操作
  10. Excel VBA数组使用方法
  11. 【TDA4系列】芯片资源:处理器Processor Subsystems 与 加速器和协处理器Accelerators and Coprocessors
  12. 1000+ 电力系统,电力电子,电机一些仿真程序
  13. 【非参数统计】概念及方法归纳比较(超适合期末复习)
  14. Windows密码查看器实现原理
  15. robo 3t 查询
  16. PostgreSQL下载、安装和配置使用
  17. 教程(二)安装Java JDK
  18. 分布式的十个大坑,我们都别再踩了
  19. 叮咚智能音箱使用体验:好看的皮囊千篇一律,有趣的灵魂万里挑一
  20. DMOZ网站选择标准(转)

热门文章

  1. java语言:创建一个二维数组,将古诗《春晓》的内容赋值于二维数组,然后分别用横版和竖版两种方式输出。
  2. 计算机信息安全有哪些SCI期刊推荐? - 易智编译EaseEditing
  3. 华为服务器安装Windows 2012 R2/Windows 2016操作系统指导书(Purley平台)
  4. 一半的寿司店标错标签 揭秘寿司的真实成本
  5. Office WORD如何去掉目录的背景灰色
  6. 【Python Django Web项目】利用 Python+Django+Pycharm+MySQL 搭建一个自己的Web网站项目的步骤(详细图文)上集
  7. vue循环生成echarts图表
  8. Pandas Style 为数据表格美颜
  9. 对LSTM层的参数units 的理解
  10. Java知识体系总结