初学c语言数据类型——变量
变量的概念
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语言数据类型——变量相关推荐
- C语言数据类型 / 变量类型 - C语言零基础入门教程
目录 一.C 语言数据类型分类 二.C 语言整形 1.无符号整形(16 位系统) 2.有符号整形(16 位系统) 3.int 和 long 区别 4.超出取值范围的整形 三.C 语言浮点型 float ...
- 嵌入式c语言为什么变量定义在前面,嵌入式C语言数据类型和变量详解
原标题:嵌入式C语言数据类型和变量详解 一般来讲,标准的C语言类型在嵌入式编译器中是合法的.但由于嵌入式控制器的受限环境.嵌入式c语言的变量和数据类型具有新的特征,这些特征体现在如下方面. 嵌入式C语 ...
- c语言基本数据类型常量,C语言基础学习基本数据类型-变量和常量
变量和常量 什么是变量和常量?有些数据在程序运行前就预先设定,并在运行过程中不发生变化,称之为常量:有些数据在程序运行中可能发生变化或被赋值,称之为变量. 使用变量前必须先声明一个变量.变量定义的语法 ...
- OpenGL ES着色器语言之变量和数据类型(二)(官方文档第四章)
OpenGL ES着色器语言之变量和数据类型(二)(官方文档第四章) 4.5精度和精度修饰符 4.5.1范围和精度 用于存储和展示浮点数.整数变量的范围和精度依赖于数值的源(varying,unifo ...
- 2020-10-14Go语言数据类型和变量常量
Go语言数据类型 在Go编程语言中,数据类型用于声明函数和变量 数据类型的出现就是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用有限的的计算机内存 ...
- c语言取变量数据类型,C语言数据类型和变量
<C语言数据类型和变量>由会员分享,可在线阅读,更多相关<C语言数据类型和变量(75页珍藏版)>请在人人文库网上搜索. 1.第3章C数据类型和变量,学习目的和要求: 掌握数据类 ...
- C语言之变量和数据类型
变量和数据类型 变量(Variable) 数据类型 1.整型(printf输出) 2.sizeof 获取占用字节数 二.八.十六进制 printf格式化输出(包括无符号输出格式) C语言中的符号位(正 ...
- c语言中将32位值赋给16位变量,C语言数据类型和变量-参考.ppt
C语言数据类型和变量-参考 第3章C数据类型和变量 学习目的和要求: 掌握数据类型和变量的基本概念.特点和使用方法 . 熟练掌握算术.赋值.逗号和sizeof运算符与表达式的使用 . 理解并能应用强制 ...
- 2.从零开始学习C语言--C语言数据类型、变量以及进制转换
基本类型 含义 类型 储存空间 整数 整型 int 4byte 短整型 short int 2byte 长整型 long int 8byte 浮点数 单精度浮点数 float 4byte 精确到6位小 ...
最新文章
- linux系统中find怎么用,linux系统中‘find’的详细用法
- window下Nodejs的部署
- OCR算法:CNN+BLSTM+CTC架构(VS15)
- AS(Android studio)常见问题
- 【算法刷题3】二叉树的最大深度
- python 语言的基础规范
- LeetCode--41.缺失的第一个正数(C)
- iOS网络开发(5)请求的缓存
- Zookeeper及客户端的基本操作
- Excel VBA数组使用方法
- 【TDA4系列】芯片资源:处理器Processor Subsystems 与 加速器和协处理器Accelerators and Coprocessors
- 1000+ 电力系统,电力电子,电机一些仿真程序
- 【非参数统计】概念及方法归纳比较(超适合期末复习)
- Windows密码查看器实现原理
- robo 3t 查询
- PostgreSQL下载、安装和配置使用
- 教程(二)安装Java JDK
- 分布式的十个大坑,我们都别再踩了
- 叮咚智能音箱使用体验:好看的皮囊千篇一律,有趣的灵魂万里挑一
- DMOZ网站选择标准(转)
热门文章
- java语言:创建一个二维数组,将古诗《春晓》的内容赋值于二维数组,然后分别用横版和竖版两种方式输出。
- 计算机信息安全有哪些SCI期刊推荐? - 易智编译EaseEditing
- 华为服务器安装Windows 2012 R2/Windows 2016操作系统指导书(Purley平台)
- 一半的寿司店标错标签 揭秘寿司的真实成本
- Office WORD如何去掉目录的背景灰色
- 【Python Django Web项目】利用 Python+Django+Pycharm+MySQL 搭建一个自己的Web网站项目的步骤(详细图文)上集
- vue循环生成echarts图表
- Pandas Style 为数据表格美颜
- 对LSTM层的参数units 的理解
- Java知识体系总结