C语言的数据、常量和变量
一、数据
图片文字等都是数据,在计算机中以0和1存储。
(一)分类
数据分为静态数据和动态数据。
①. 静态数据:一些永久性的的数据,一般存储在硬盘中,只要硬盘没坏数据都是存在的。一般以文件的形式存储在硬盘上,电脑关机重启后依然存在。
②. 动态数据:程序运行过程中,动态产生的的临时数据,一般存储在内存中,内存的存储空间一般较小,计算机关闭后这些数据就会被清除。软件或者电脑关闭则这些临时数据会被清除。
③. 静态数据和动态数据可以转换。
④. 注意:为什么不把动态数据存放到硬盘?因为直接访问内存的速度更快。软件安装在硬盘,运行在内存。程序员应该更加关心内存数据。
(二)数据大小
①. 所有的数据都是由0和1组成的。
②. 数据都有大小,静态数据占硬盘空间,动态数据占内存空间。
③. 数据越大,包含的0和1就越多,
④. 存储数据的单位是比特位和字节。一个1或者0就是一个比特位,即1bit。
⑤. 计算机中,以字节为单位存储数据。1字节=8比特位(1Byte=8bit)。
⑥. 1TB=1024GB,1GB=1024MB,1MB=1024KB,1KB=1024B。
(三)C语言中的数据类型
- 基本数据类型
1) 整型 (int %d)
2) 字符型 (char %c)
3) 浮点型 %d
①. 单精度浮点型(float)
②. 双精度浮点型(double)
- 2.指针类型 void *
3.空类型 void
4.构造类型
1) 数组 a[]
2) 结构体 struct
3) 枚举 enum
4) 共用体 union
注意:C语言中没有布尔类型,表示开始和暂停一般使用0和1表示。
二、常量
(一)定义
常量表示固定的数据。
(二)分类
①. 整型常量 如6,27,-299
②. 浮点型常量 如5.43,-2.3,5.67f
③. 字符常量 如‘6’,‘a’,‘F’(不能是中文如‘男’)
④. 字符串常量 如“6”,“男”,“nanabc”
三、变量
(一)定义
如果一个数据的值时不确定的,或者经常需要改变,则用变量来表示。
(二)定义变量
目的:变量使用前必须先进行定义。在内存中分配一块存储空间给变量,以便以后存储数据。如果定义了多个变量则为多个变量分别分配不同的存储空间。
格式:变量类型+变量名;
举例:int a;char c;
注意:变量名属于标识符,需要符合标识符的命名规范。
问题:为什么定义的变量有很多的类型?
答:不同类型的变量占用不同大小的存储空间,因为内存极其有限,分配适当的存储空间可以以最少的空间来存储它们,以节省空间。
记住:只要是不确定的数据就应该定义变量来进行保存。在64位编译器下,int类型占4个字节,共4X8=32bit,char类型占1个字节。
(三)变量的使用
初始化:有两种形式。1.int a;a=10;2.int a=10;
修改:可以修改变量的值,多次赋值以覆盖。
输出:使用占位符输出变量。各种类型的占位符如下:
Int %d或者%i
Float /double %f(默认情况下输出6位,可以使用.2f来控制)
Long %ld
Long long %lld
Char %c
字符串 %s
Unsigned long %zd
(四)变量使用注意
变量的作用域:从变量定义的哪一行开始,直到代码块结束。
Return;退出函数,清除内存中的数据。
建议:使用矩形方框和excel来分析内存。
代码块{}的作用:可以用来提高性能,即时回收不再使用的变量。
(五)练习
练习:使用两种方法来交换两个变量的值。
第一种:
#include<stdio.h>
//交换两个变量的值 int main() { int a=; int b=; printf("a=%d,b=%d\n",a,b);
//定义一个中间变量来完成两个变量之间的交换 int temp; temp=a; a=b; b=temp; printf("a=%d,b=%d\n",a,b); return ; } 第一种
第二种:
#include<stdio.h> int main() { int a=; int b=; printf("a=%d,b=%d\n",a,b); a=b-a; b=b-a; a=a+b; printf("a=%d,b=%d\n",a,b); return ; } 第二种
C语言的数据、常量和变量的更多相关文章
- Swift语言指南(一)--语言基础之常量和变量
原文:Swift语言指南(一)--语言基础之常量和变量 Swift 是开发 iOS 及 OS X 应用的一门新编程语言,然而,它的开发体验与 C 或 Objective-C 有很多相似之处. Swif ...
- 二、JavaSE语言基础之常量与变量
1.常量 所谓常量值的是数据处理过程中值不能更改的数据. 2.变量 所谓变量值的是运算过程中值可以改变的数据,类似于代数中的未知数. 在Java语言中,使用变量时必须遵循先定义,而后赋值, ...
- Rust语言中的常量,变量,运算符,数据类型
简单练练, 夏天太热. const MAX_POINTS: u32 = 100_100; fn main() { let mut x = 5; let y = 5; let y = y + 1; le ...
- C语言入门教程-(4)常量和变量
1.常量和变量的概念 程序执行过程中其值不能发生改变的量叫做常量,其值能发生改变的量叫做变量.常量可以直接使用,而变量则必须先定义后才能使用,否则编译器会报错. 2.常量和变量的命名规范 在介绍常量和 ...
- [Java入门笔记] Java语言基础(二):常量、变量与数据类型
常量与变量 什么是常量和变量 常量与变量都是程序在运行时用来存储数据一块内存空间 常量: 常量的值在程序运行时不能被改变,Java中声明常量必须使用final关键字.常量还可以分为两种意思: 第1种意 ...
- 【C语言入门教程】2.2 常量 与 变量
2.2 常量 与 变量 顾名思义,常量是运算中不能改变数值的数据类型,变量是可改变数值的数据类型.根据需要,可将一些在程序中不必改变数值的类型定义为常量,这样也可避免因修改数值造成程序错误.任何改变常 ...
- C语言回顾-常量和变量
1.C语言共32个关键字 1)数据类型关键字 a.基本数据类型 void char int float double b.类型修饰关键字 short long signed unsigned c.复杂 ...
- 不可或缺 Windows Native (2) - C 语言: 常量,变量,基本数据类型
[源码下载] 不可或缺 Windows Native (2) - C 语言: 常量,变量,基本数据类型 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 常量 变量 基本 ...
- Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)
Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...
- C语言第四节数据类型、常量、变量
数据 什么是数据 生活中时时刻刻都在跟数据打交道,比如体重数据.血压数据.股价数据等.在我们使用计算机的过程中,会接触到各种各样的数据,有文档数据.图片数据.视频数据,还有聊QQ时产生的文字数据.用迅 ...
随机推荐
- html_02之表单、其它
1.表单属性action:处理表单数据服务器端处理程序地址,默认提交本页: 2.表单属性method:①get:明文,数据显示地址栏,长度<2KB,向服务器请求数据时使用:②post:密文,提交 ...
- MySQL的用户和权限介绍
一.关于MySQL权限的几点常识: 1.MySQL的权限系统主要用来验证用户的操作权限. 2.在MySQL内部,权限信息存放在MySQL数据库的granttable里.当mysql启动后,grantt ...
- sql基础语句大杂烩
(坑Open Office,这排版...) 1.distinct列出不同值,过滤掉相同的值 例:company中有两个相同的值比如(apple和apple)时,则只取出一个值 SELECT DISTI ...
- 深入理解CSS背景
前面的话 背景和字体一样,是一个复合属性,而且它是一个使用频率很高的属性.在CSS3中,背景属性在保持以前用法的同时,增加了新的相关属性.本文将详细介绍关于背景的知识 背景颜色 背景色backgrou ...
- 了解HTML表单之input元素的30个元素属性
目录 传统属性 name type accept alt checked disabled readonly maxlength size src value 新增属性 autocomplete au ...
- hdu 2896 病毒侵袭 ac自动机
/* hdu 2896 病毒侵袭 ac自动机 从题意得知,模式串中没有重复的串出现,所以结构体中可以将last[](后缀链接)数组去掉 last[]数组主要是记录具有相同后缀模式串的末尾节点编号 .本 ...
- Testing - 测试基础 - 概念
测试是为了度量和提高被测试软件的质量,对测试软件进行工程设计.实施.维护的的整个生命周期过程. 仅仅发现Bug是测试的初步,而分析出根本原因推动问题的解决,却要有很深的功底. 不同的测试岗位从事不同的 ...
- $.when(deferreds)
作者:禅楼望月(http://www.cnblogs.com/yaoyinglong ) 1 引子 上一篇博文中介绍的Deferred,它表示一个延迟对象.但是很多时候,我们需要在多个延迟对象(异步代 ...
- No resource identifier found for attribute 'showAsAction' in package 'android'
运行一个项目时在一个menu.xml文件item属性android:showAsAction 报错 No resource identifier found for attribute 'showAs ...
- nodejs学习笔记三——nodejs使用富文本插件ueditor
在做自己的nodejs项目的时候遇到需要使用ueditor.原来下载的是ueditor的jsp版本.目录如下 在ueditor.config.js中有配置服务器home路径(这个home路径能找到u ...