在程序的世界中,可以让计算机按照指令做很多事情,

如进行数值计算、图像显示、语音对话、视频播放、天文计算、发送邮件、游戏绘图以及任何我们可以想象到的事情。

要完成这些任务,程序需要使用数据,即承载信息的数字与字符。

在计算机中,数据的性质和表示方式可能不同。

所以需要将相同性质的数据归类,并用一定数据类型描述。

任何数据对用户都呈现常量和变量两种形式。

常量是指程序在运行时其值不能改变的量。

常量不占内存,在程序运行时它作为操作对象直接出现在运算器的各种寄存器中。

变量是指在程序运行时其值可以改变的量。变量的功能就是存储数据。

例子:

#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 数据类型、变量的更多相关文章

  1. JAVA数据类型,变量,转换,常量,运算符

    java数据类型: Java基本类型共有八种,基本类型可以分为三类: 1.字符类型char,用单引号赋值 2.布尔类型boolean 3.数值类型byte.short.int.long.float.d ...

  2. Python 输入输出 数据类型 变量

    python输入输出 数据类型 变量 输入输出 print()在Python3中是函数 >>>print('hello world') #print注意print前面不要有任何空格 ...

  3. Java 数据类型 & 变量与常量 & 注释

    一.数据类型 1.数据类型分类 Java 的数据类型分为两大类: 基本数据类型:整数.浮点数.字符型.布尔型 引用数据类型(对象类型):类.数组,字符串.接口等. 2.基本数据类型 四类八种基本数据类 ...

  4. Java ——关键字 数据类型 变量 常量

    本节重点思维导图 Java程序结构 public class 类名 { public static void main(String[] args){ //……语句 } } 一门语言是由以下各种元素组 ...

  5. 深入理解PHP内核(五)变量及数据类型-变量的结构和类型

    原文链接:http://www.orlion.ga/238/ 编程语言的类型可以分为强类型和弱类型两种,PHP是弱类型语言,但是C语言是强类型语言.在官网PHP实现内部,所有变量使用同一种数据结构(z ...

  6. 【C】 03 - 数据类型

    程序说到底就是对数据的处理,所以首先要弄清楚需要处理哪些数据,计算机如何存储这些数据.C语言根据需要,抽象出了一些基本数据类型和衍生数据类型.这些可以满足大部分需求,更复杂的抽象数据类型亦可通过它们来 ...

  7. javascript 数据类型 变量 类型转换运算符

    数据类型: 1.字符串(被双引号所包含的内容),小数,整数,日期时间,布尔型等. 2.变量: 都是通用类型的var,    定义一个变量格式:var a: 3.类型转换: 分为自动转换和强制转换,一般 ...

  8. [Hive - Tutorial] Type System 数据类型

    数据类型Type System Hive supports primitive and complex data types, as described below. See Hive Data Ty ...

  9. C语言基础学习基本数据类型-变量的输出与输入

    变量的输出 变量如何输入输出呢?实际上,在这之前你已经使用过输出语句(printf语句)了,我们可以使用printf来执行输出. printf语句的使用方法如下: printf(格式控制字符串, 数据 ...

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

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

随机推荐

  1. c# Redis缓存的使用和helper类;

    使用背景: 项目中用户频繁访问数据库会导致程序的卡顿,甚至堵塞.使用缓存可以有效的降低用户访问数据库的频次,有效的减少并发的压力.保护后端真实的服务器. 对于开发人员需要方便调用,所以本文提供了hel ...

  2. Ubuntu 上使能 SELinux

    首发公号:Rand_cs 此文档说明如何在 ubuntu 上启用 SELinux,测试环境为虚拟机,开始前一定一定一定先来个快照,不要问我为什么有三个一定. 卸载 apparmor(可选) ubunt ...

  3. 解读surging 的内存过高的原因

    前言 对于.NET开发人员来讲,一个程序占用内存过高,是极其糟糕,是一款不合格的程序软件,.NET开发人员也不会去使用服务器垃圾收集器(ServerGarbageCollection),而是选用工作站 ...

  4. 3个月搞定计算机二级C语言!高效刷题系列进行中

    前言 大家好,我是梁国庆. 计算机二级应该是每一位大学生的必修课,相信很多同学的大学flag中都会有它的身影. 我在大学里也不止一次的想要考计算机二级office,但由于种种原因,备考了几次都不了了之 ...

  5. restTemplate.getForEntity restTemplate.getForObject GET请求

    //带参数 @Test public void testGet1(){ String url = "http://IP:PORT/query?token={token}&memNo= ...

  6. 准入控制器(Admission Controller):ResourceQuota,ImagePolicyWebhook

    目录 一.系统环境 二.前言 三.准入控制器简介 四.为什么需要准入控制器 五.启用/禁用ResourceQuota资源配额 5.1 查看默认启用/禁用的准入控制器插件 5.2 ResourceQuo ...

  7. 08-Linux计划任务

    什么是计划任务 周期性或者定时执行某个命令或者脚本. crontab 安装 yum install crontabs #安装crontabs systemctl enable crond #开机启动 ...

  8. git 有用配置汇总

    背景 git config的不同级别,每一个级别覆盖上一级别的配置,所以.git/config的配置变量会覆盖/etc/gitconfig中的配置变量 git config --system #为整个 ...

  9. 嵌入式工程师进阶,基于AM64x开发板的IPC多核开发案例分享

    前 言 本文档主要说明AM64x基于IPC的多核开发方法.默认使用AM6442进行测试演示,AM6412测试步骤与之类似. 适用开发环境如下: Windows开发环境:Windows 7 64bit. ...

  10. P9210 题解

    学长给我们讲了就顺便来写一篇题解. 首先最优解一定包括根,不然一定可以从当前根连接一条到根的链. 然后考虑假若最大导出子树深度为 \(n\) 则显然可以把深度为 \(n\) 的节点全部选上,然后每个节 ...