【Tutorial C】03 数据类型、变量
在程序的世界中,可以让计算机按照指令做很多事情,
如进行数值计算、图像显示、语音对话、视频播放、天文计算、发送邮件、游戏绘图以及任何我们可以想象到的事情。
要完成这些任务,程序需要使用数据,即承载信息的数字与字符。
在计算机中,数据的性质和表示方式可能不同。
所以需要将相同性质的数据归类,并用一定数据类型描述。
任何数据对用户都呈现常量和变量两种形式。
常量是指程序在运行时其值不能改变的量。
常量不占内存,在程序运行时它作为操作对象直接出现在运算器的各种寄存器中。
变量是指在程序运行时其值可以改变的量。变量的功能就是存储数据。
例子:
#include<stdio.h>
int main()
{
int year;
year=2014;
printf("Welcome to www.dotcpp.com!\n");
return 0;
}
其中year是一个int类型的变量,而2014是常量,即一个数字。
变量的定义:
在程序中使用的变量名、函数名、标号等统称为标识符。
除库函数的函数名由系统定义外,其余都由用户自定义。
C规定,标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。
且不能与C语言的关键字重名(关键字见下一节)。
此外,在使用标识符时还必须注意以下几点:
- 标准C不限制标识符的长度,但它受各种版本的C 语言编译系统限制,同时也受到具体机器的限制。
例如在某版本C 中规定标识符前八位有效,当两个标识符前八位相同时,则被认为是同一个标识符。
- 在标识符中,大小写是有区别的。例如CLANG和Clang 是两个不同的标识符。
- 标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。
因此,命名应尽量有相应的意义,以便阅读理解,做到“顾名思义”。
在程序的世界中,承载一系列的信息的数字和字符都属于数据类型,但计算机需要一种方法来区别和使用这些不同的类型。
具体的,C通过识别一些基本的数据类型做到这些。
如果是常量数据,编译器一般通过其书写来辨认其类型,比如:123是整数,3.14浮点数(即小数)。
而变量则需要在声明语句中指定其类型,稍后会做详细介绍。
我们先了解C语言的基本数据类型。
基本数据类型
C语言的基本数据类型为:整型、字符型、实数型。
这些类型按其在计算机中的存储方式可被分为两个系列,即整数(integer)类型和浮点数(floating-point)类型。
这三种类型之下分别是:
short、int、long、char、float、double
这六个关键字再加上两个符号说明符signed和unsigned就基本表示了C语言的最常用的数据类型。
下面列出了在32位操作系统下 常见编译器下的数据类型大小及表示的数据范围:

在认识了这么多的数据类型之后,我们就可以根据不同的实际情况,在不同的问题中选择最符合的数据类型来使用。
举个例子,如要计算两个数的和,我可以采用int类型定义两个变量,然后输出
int a=24000,b=12345;//定义两个变量a,b并赋值
int c; //定义变量c用于计算a+b的和
c=a+b;
printf("a+b = %d",c);//输出结果
没错,可能您已经考虑到,如果a+b的和超出int类型的最大范围时的问题。
这个就需要您根据不同的作用选择不同的数据类型存储了。
关键字
在c语言中,为了定义变量、表达语句功能和对一些文件进行预处理,还必须用到一些具有特殊意义的字符,这就是关键字,
我们用户自己定义的变量函数名等要注意不可以与关键字同名。

【Tutorial C】03 数据类型、变量的更多相关文章
- JAVA数据类型,变量,转换,常量,运算符
java数据类型: Java基本类型共有八种,基本类型可以分为三类: 1.字符类型char,用单引号赋值 2.布尔类型boolean 3.数值类型byte.short.int.long.float.d ...
- Python 输入输出 数据类型 变量
python输入输出 数据类型 变量 输入输出 print()在Python3中是函数 >>>print('hello world') #print注意print前面不要有任何空格 ...
- Java 数据类型 & 变量与常量 & 注释
一.数据类型 1.数据类型分类 Java 的数据类型分为两大类: 基本数据类型:整数.浮点数.字符型.布尔型 引用数据类型(对象类型):类.数组,字符串.接口等. 2.基本数据类型 四类八种基本数据类 ...
- Java ——关键字 数据类型 变量 常量
本节重点思维导图 Java程序结构 public class 类名 { public static void main(String[] args){ //……语句 } } 一门语言是由以下各种元素组 ...
- 深入理解PHP内核(五)变量及数据类型-变量的结构和类型
原文链接:http://www.orlion.ga/238/ 编程语言的类型可以分为强类型和弱类型两种,PHP是弱类型语言,但是C语言是强类型语言.在官网PHP实现内部,所有变量使用同一种数据结构(z ...
- 【C】 03 - 数据类型
程序说到底就是对数据的处理,所以首先要弄清楚需要处理哪些数据,计算机如何存储这些数据.C语言根据需要,抽象出了一些基本数据类型和衍生数据类型.这些可以满足大部分需求,更复杂的抽象数据类型亦可通过它们来 ...
- javascript 数据类型 变量 类型转换运算符
数据类型: 1.字符串(被双引号所包含的内容),小数,整数,日期时间,布尔型等. 2.变量: 都是通用类型的var, 定义一个变量格式:var a: 3.类型转换: 分为自动转换和强制转换,一般 ...
- [Hive - Tutorial] Type System 数据类型
数据类型Type System Hive supports primitive and complex data types, as described below. See Hive Data Ty ...
- C语言基础学习基本数据类型-变量的输出与输入
变量的输出 变量如何输入输出呢?实际上,在这之前你已经使用过输出语句(printf语句)了,我们可以使用printf来执行输出. printf语句的使用方法如下: printf(格式控制字符串, 数据 ...
- C语言基础学习基本数据类型-变量和常量
变量和常量 什么是变量和常量?有些数据在程序运行前就预先设定,并在运行过程中不发生变化,称之为常量:有些数据在程序运行中可能发生变化或被赋值,称之为变量. 使用变量前必须先声明一个变量.变量定义的语法 ...
随机推荐
- minos 0 前(废)言(话)
- 首发公号:Rand_cs minos 0 前(废)言(话) 从今天开始开启一个新的系列,讲述虚拟化的那些事儿.时隔上次发文又隔了好几个月了,主要是平时工作比较忙,没太多时间精力维护博客之类的. 前 ...
- tomcat部署Jenkins
安装环境 jdk 1.8 tomcat 9.0 jenkins 2.290 准备工作 安装好Tomcat,8080端口启动 安装好jdk,配置好环境变量 ECS服务器安全组放开8080端口 关闭防火墙 ...
- 填IP那个就算是接口式开发,这回随便填
///////////////////////////////////////////////////////////using namespace std; #include<stdlib.h ...
- js jquery input radio点击事件
HTML: <input type="radio" name="myname" value="1" />1 <input ...
- Android Studio 编译报错:download fastutil-7.2.0.jar
引用:https://www.cnblogs.com/caoxinyu/p/10568462.html build.gradle 可能有多个,一般在app 节点,默认里面不包含buildscript, ...
- 夜莺官方文档优化第一弹:手把手教你部署和架构讲解,消灭所有部署失败的 case!干!
前置说明 各种环境的选型建议 Docker compose 方式:仅仅用于简单测试,不推荐在生产环境使用 Docker compose,升级起来挺麻烦的,除非你对 Docker compose 真的很 ...
- llm-universe - 1
Smiling & Weeping ---- 难怪春迟迟不来,原来是我把雪一读再读 一.大型语言模型(LLM)理论简介 1 大型语言模型(LLM)的概念 大语言模型(LLM,Large Lan ...
- C#开发的NoteNet桌面小贴士 - 开源研究系列文章 - 个人小作品
十多年前编写过这个NoteNet小应用,不过当时用的是文本的保存方式,而且功能上也相对较多.这次重新编写这个小应用,用上新的技术和功能.现在先把源码发布出来,在另个系列的博文中( C#基于.net f ...
- Jmeter自动录制脚本
1.Jmeter配置 1.1新增一个线程组 1.2Jmeter中添加HTTP代理 1.3配置HTTP代理服务器 修改端口 修改Target Cintroller(目标控制器) 修改Grouping(分 ...
- Android 编译系统 defconfig文件的确定
Android 编译系统 defconfig文件的确定 背景 经常在驱动改动的时候,同时改动2个文件,才知道他们分别对应不同的编译结果. 路径 对应版本 kernel/msm-4.4/arch/arm ...