第2讲 常量变量和数据类型

合集下载

C语言第2讲--数据的表示之基本数据类型

C语言第2讲--数据的表示之基本数据类型
29
5.字符输出举例
例3.7(P51) main() 运行结果:A,B { char a,b; 65,66 a='a'; b='b'; /*或 b=98;可向字符变量赋以整数 */ a=a-32; b=b-32; printf("%c,%c\n%d,%d\n",a,b,a,b); } 注:C语言允许字符变量参与数值运算,即用字符 的ASCII 码参与运算。 大小写字母的ASCII 码相差32,因此运算后把小写 字母换成大写字母
结果:total1=300 total2=600
6
二、变量
变量以标识符命名。 变量的定义: 类型名 标识符1,标识符2,......标识符n; int a,b,c; float x,y,z;
注意事项:
/* a,b,c 为整型变量 */ /* x,y,z 为单精度型变量 */
(1)
(2)
变量必须先定义后使用
double a1,a2; a1,a2为double型变量名,每个 变量占8个字节的空间
20
3.浮点型数据的格式输出
#include <stdio.h> /*可省 */ void main() { float a=123.456; double b=1234.5678; printf(“a=%f\n”,a); printf(“b=%f\n”,b); }
输出结果: a=123.456001 b=1234.567800
21
4.printf( )函数中浮点型数据的输 出格式符(自阅)
%f :按小数形式输出实数(包括双精度),默认保留6位
小数。
%e(=%E):按指数形式输出实数(包括双精度) ,尾数 部分默认保留6位有效数字。 %.3f:按小数形式输出实数,保留3位小数。 %8.3f :按小数形式输出实数,保留3位小数,数据总宽

数据类型-常量与变量

数据类型-常量与变量

数据类型-常量与变量前⾔ ⾸先,在正式介绍常量与变量之前,我们需要声明C语⾔中正确的命名⽅法。

正如我们在给⽂件命名时所遵循的命名规则,我们在给C语⾔变量和常量命名时也需要遵循⼀定的规则。

在变量中,我们称之为标识符(⽤来标识常量,变量,函数的字符序列)。

⼀般情况下,C语⾔命名有如下规则:1)名称由字母,数字,下划线组成。

2)第⼀个(即开头)不能是数字。

3)C语⾔中⼤⼩写敏感。

//e.g.:A与a表⽰不同的变量/常量4)不能使⽤关键字。

C语⾔中的关键字⼀部分如下:int float double char short long signed unsigned if else switch case default for while do break continue return void const sizeof struct typedef static extern auto register enum goto union volatile 另⼀部分为系统内置函数。

常量常量的定义:在程序执⾏过程中,其值不发⽣改变的量称为常量。

常量⼤致分为以下⼏类分类1)符号常量 概念:⽤标识符代替常量。

语法:define 符号常量常量 ⽬的:为了使程序具有可拓展性与可移植性。

样例:#define PI 3.1415926 //我们把圆周率⽤PI替换,在程序中需要使⽤圆周率时,我们不需要⼀个⼀个的键⼊3.1415926……⽽是⽤⼀个PI代替之2)直接常量 概念:⽤标识符存储常⽤数据类型常量。

语法:数据类型常量名常量值 分类: 整型常量: //注:C语⾔中,整型常量可⽤后缀字母'l'和'L'表⽰长整型,在32位机器中。

长整型与普通型没有区别,都占⽤4个字节。

⼗进制:由 0~9 与+/-组成,⼗进制常量没有前缀,数值为 0~9 ⼋进制:由0开头,后⾯为0~7组成,通常是⽆符号数。

021数据类型常量与变量PPT课件

021数据类型常量与变量PPT课件

2021/3/9
33
变量的初始化
指在定义变量的同时赋予其相同类型的 初值。如:
int a=1,b=2,c=3; char c1='a',c2='b',c3='c';
2021/3/9
34
2021/3/9
35பைடு நூலகம்
放映结束 感谢各位的批评指导!
谢 谢!
让我们共同进步
2021/3/9
36
如果一个字符串常量包含有N个字符,那 么其所占用的存储空间为N+1个字节。
2021/3/9
20
例如:字符串常量
"I am a student"
共有14个字符(包括3个空格),在存储时要占 用15个字节,其中各字符及其所对应的ASCII 码值(十六进制)如下所示:
2021/3/9
21
(五)符号常量
开头,为字符的ASCII代码值)
如:换行符(\n、\012、\xa)、大写字 母A(\101、\x41)。
2021/3/9
16
常用字符及其ASCII码值
2021/3/9
17
注意:
在C语言中,字符常量也可视为整数,并参加数值 运算。如:'A'、'a'的十进制值是65、97,'A'+5的值 为70,'a'-'A'的值为32。
普通字符(可显示):用单引号将其括住。 如:'a'、'!'、'3'、'+'、'?'。
控制和特殊字符(不可显示):用转义序列 表示 。如: \0、\n、\\、\'、\"。

数据类型、常量与变量.pdf

数据类型、常量与变量.pdf

My_var1
PI
_X2
下面是一些非法的变量名:
12ab
_
ab.cd
$MyVar Call
x[1] a+b
:
当变量名不符合规则时,Visual Basic 编辑器会显示错误信息。 与对象名同理,给变量命名时也应该注意它的描述性。每一种数据类型都有一个约定 前缀(见附录 D),使用前缀与英文单词或汉语拼音形成有意义的变量名。例如,可以使 用 strUserName 作变量名来保存用户姓名。
数据类型、常量与变量
第 3 章 数据类型、常量与变量
这里的数据指的是可以被计算机处理的信息。为了快速地对数据进行运算并有效地利 用存储空间,Visual Basic 把各种不同的数据归纳为多种数据类型。每种数据类型都有类型 名称,每种类型的数据占用一定数量的存储空间,可以表示的值也有一定的范围限制。
除了上述这些类型之外,Visual Basic 的基本数据类型还包括通用类型:Object。另外 结构体、枚举、类等自定义数据类型将在第 7 和第 8 章中介绍。
72
3.2 直 接 常 量
常量(Constant)是指在程序运行过程中其值始终保持不变的量。常量有两种:直接 常量与符号常量。下面是各种数据类型直接常量的表示法。
Boolean 类型的数据只可能有两个值:True(逻辑“真”)和 False(逻辑“假”),用来 表示“是”与“否”、“开”与“关”、“对”与“错”这类只有两种取值的情况。一般情况 下,逻辑型数据占 2B 的存储空间。
3.1.4 Date(日期时间型)
Date 类型(又名 DateTime 类型)称为日期时间型,这种数据类型可以表示日期与 时间信息。Date 类型数据用 8 字节来表示日期(公元 100 年 1 月 1 日~9999 年 12 月 31 日)和时间(12:00:00AM~11:59:59.9999999 PM,即 0:00:00~23:59:59.9999999), 精度为 100ns。

数据类型常量和变量

数据类型常量和变量

04 变量
变量的定义
变量是计算机内存中用于存储数据的标识符,可以存储不同类型的数据,如整数、浮点数、字符等。
变量名是用于标识变量的名称,通过变量名可以访问和修改变量的值。
变量的作用
存储数据
01
变量用于存储程序运行过程中需要使用的数据,以便在程序中
重复使用。
传递数据
02
变量可以作为参数传递给函数或方法,以便在函数或方法内部
按生命周期分类
根据变量的生命周期,变量可以 分为静态变量和动态变量。静态 变量在程序运行期间一直存在, 而动态变量只在需要时创建和销 毁。
05 数据类型转换
隐式转换
自动转换
隐式转换是指在编程中,当一个变量或表达式的类型与另一个类型不兼容时,编译器会自 动将其转换为合适的类型。例如,在C语言中,当一个整数被赋值给一个浮点数变量时, 编译器会自动将整数转换为浮点数。
使用。
控制程序流程
03
通过修改变量的值,可以控制程序的流程和逻辑。
变量的分类
按数据类型分类
根据存储的数据类型,变量可以 分为整数型、浮点型、字符型、 布尔型等。
按作用域分类
根据变量的作用域,变量可以分 为全局变量和局部变量。全局变 量在整个程序中都有效,而局部 变量只在定义它的代码块或函数 中有效。
目的和目标
目的
了解数据类型常量和变量的概念、分类、使用方法和注意事项,以便在程序设计中正确使用它们。
目标
掌握数据类型常量和变量的基本知识,能够在实际编程中灵活运用,提高程序的可读性和可维护性。
02 数据类型基础知识
数据类型的定义
数据类型是计算机编程中用于定义变 量和常量的一种方式,它决定了变量 或常量可以存储的数据的种类和范围 。

第二讲 常量与变量,C51数据的存储类型与8051存储器结构

第二讲  常量与变量,C51数据的存储类型与8051存储器结构

1 8 8 16 16 32 32 32 64 24
—— 1 1 2 2 4 4 4 8 3
存储空间0~65535
表2-1 C51数据类型的取值范围 数据类型的取值范围
2011-3-13 6
第二讲 常量与变量,C51数据的存储类型与8051 存储器结构
数据类型 char int long int short int unsigned int float double 常量举例 \n为转 义字符 21、123 、2100 、-234 a、\n、9 35000、-34 10、-12、90 10000、987、40000 123.23、4.34e-3 123.23、12312333、-0.9876234 表2-2 常量的数据类型举例

8
第二讲 常量与变量,C51数据的存储类型与8051 存储器结构
存储类型 data idata pdata xdata code 长度( ) 长度(bit) 8 8 8 16 16 长度( 长度(byte) ) 1 1 1 2 2 值域范围 0~255 0~255 0~255 0~65535 0~65535
2011-3-13

3
第二讲 常量与变量,C51数据的存储类型与8051 存储器结构 二、C51数据的存储类型(见P54):
图2-1 8051单片机存储器结构 单片机存储器结构
2011-3-13 4
第二讲 常量与变量,C51数据的存储类型与8051 存储器结构
双精度浮点型double位型bit字符型char整型int长整型long浮点型float数组类型array结构体类型struct共用体union枚举enum基本类型构造类型指针类型空类型nop数据类型2012913wwwscetcnet第二讲常量与变量c51数据的存储类型与8051存储器结构数据类型长度bit长度byte值域范围bit01unsignedchar0255signedchar128127unsignedint16065535signed3276832767unsignedfloat3204294967295signedfloat3221474836482147483647float321176e38340e386位数字double641176e38340e3810位数字一般指针24存储空间065535表21c51数据类型的取值范围2012913wwwscetcnet第二讲常量与变量c51数据的存储类型与8051存储器结构数据类型常量举例charint211232100234longint3500034shortint101290unsignedint1000098740000float12323434e3double123231231233309876234义字符表22常量的数据类型举例2012913wwwscetcnet第二讲常量与变量c51数据的存储类型与8051存储器结构存储类型与存储空间的对应关系data直接寻址片内数据存储区访问速度快128字节bdata可位寻址片内数据存储区允许位与字节混合访问16字节idata间接寻址片内数据存储区可访问片内全部ram地址空间256字节pdata分页寻址片外数据存储区256字节由movxri访问xdata寻址片外数据存储区64k字节有movxdptr访问code寻址代码存储区64k字节有movcdptr访问表23c51存储类型与mcs51单片机存储空间的对应关2

第2章 基本数据类型、常量和变量

第2章 基本数据类型、常量和变量

第2章 基本数据类型、常量和变量2.1 C 数据类型简介一个程序应该包括对数据的描述和对数据的处理。

但是程序要面临处理的数据有各种各样的类型,例如有一个用来处理学生基本信息的程序,所要处理的数据包括:学生的学号和姓名都是字符串,学生的年龄是整数,学生的成绩用浮点数表示等等。

而不同类型的数据不仅在机内的存储格式不同(例如整数用补码存放,而字符串是按串中每个字符的ASCII 码存放的),而且可以实现的运算也不同。

为了更好地对数据进行描述和处理,C 语言被设计成强类型语言(strongly typed language ),即C 语言程序中的每个数据必须具有明确的类型。

C 语言的数据类型可分为基本数据类型(整型、字符型和浮点型)、基于基本数据类型的构造数据类型(数组、struct 、union 、enum)、指针类型、空类型(void),见图2-1。

C 语言中数据分为常量和变量。

简单理解,在程序运行过程中其值不能改变的数据就是常量,而其值可以改变的数据称为变量。

下面分别介绍各种基本数据类型的常量和变量。

图2-1 C 语言中的数据类型数据类型2.2 基本数据类型——整数类型一、整型常量整数类型常量用于表示没有小数部分的数值,在C程序中整型常量可以表示成十进制、八进制或者十六进制形式,用不同的前缀来区分:(1) 十进制整型常量以非0(零)数字开头,例如237、-2009;(2) 八进制整型常量带有前缀0(零),例如027(等价的十进制数为23),-012(等价的十进制数为-10);(3) 十六进制整型常量带有前缀0x(X),例如0x2A(等价的十进制数为42),-0XA5b(等价的十进制数为-2651)。

【例2.1】下列哪些整型常量是合法的?012,oX7A,00,078,0x5Ac,-0xFFFF,0034,7B【例2.2】下面四个选项中,均是合法整型常量的选项是。

A) 160、-0xffff、011 B) –0xcdf、01a、0xeC) -01、986,012、0668 D) –0x48a、2e5、0x【例2.3】下面四个选项中,均是正确的八进制数或十六进制数的选项是。

第2章基本数据类型常量和变量精品PPT课件

第2章基本数据类型常量和变量精品PPT课件

double
无值类型
void(一般用于定义函数,暂 时不需掌握)
2. 基本类型数据的存储方式和取值范围(PC机)
详见P16 表2-1
类型
内存字节数
取值范围
char
1 ( 8位) -128 ~ 127
unsigned char 1 ( 8位) 0 ~ 255
int
2 (16位) -2147483648~2147483647
转义序列 \0 \b \n \t \\ \' \" \ddd \xhh
功能 空字符 退格符 回车符 水平制表符(Tab) 反斜杠字符(\) 单引号(撇号) 双引号(撇号) 1到3位八进制数代表的字符 例 '\141' 1到2位十六进制数代表的字符 例 '\x61'
4. 字符串常量
(1)字符串 用西文双引号(")括起来的0个或多个字符序列。
unsigned int 2 (16位) 0~4294967295
long int
4 (32位) -2147483648~2147483647
unsigned long 4 (32位) int
0~4294967295
float
4 (32位) -3.4*1038~3.4*1038
double
8 (64位) -1.7*10308~1.7*10308
4. 存取修饰符(用于修饰各种数据类型)
const 符号常量修饰符
volatile 变量修饰符(不需要掌握)
const和volatile可限定变量的存取。 例如:
/* 说明eps为单精度常量,但不同于符号常数*/ const float eps=1.0e-5; /* 说明双精度常量e */ const double e=2.705; 定义了常量eps和e,说明其值是不可改变的。而 volatile的说明与之相反。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.7.2 格式化输出函数printf 转换说明: 转换说明以%开头,用来表示打印过程中填充了值的占位符,跟在%后 面的信息指定了把数值从内部(二进制)形式转换成打印(字符)形式的 方法,这也是转换说明这一术语的由来。
2.7.2 格式化输出函数printf 使用举例: 例题5: 数值的格式化输出 程序代码如下: #include <stdio.h> void main() { int i=40; double a=839.21; printf("%d%5d%-5d%5.3d\n", i, i, i, i); printf("%f%10.3f%10.3e%-10g\n", a, a, a, a); } 程序运行结果如下: 40 4040 040 839.210000 839.2108.392e+002839.21
const关键字是为提高C程序的健壮性而存在的。使用const定义的常 型变量,从底层的角度来看,更像是变量;但从程序员的角度来看,由于 通常无法修改常型变量的值,因此又可将其看作常量。
2.5.3 直接常量的表示及其数据类型 • 整型常量 整型常量的表示遵循以下的语法结构图:
其中: 八进制整数以0开头,十六进制整数以0x或0X开头,以区别十进制 整数。无后缀表示该常量的数据类型为整型(int) ; 后缀为l或L表示该常 量的数据类型为长整型(long) ; 后缀为u或U表示该常量的数据类型为 无符号整型(unsigned) ; 后缀为ul或UL表示该常量的数据类型为无符 号长整型(unsigned long) 。 例如: 125,-300L ,0125U ,0XFUL 都是合法的整型常量。
3
double x, y, z; char a = 'A', b= 66, c='\0'; int i, j = 1, k;
C语言中输入输出功能的实现是通过调用库函数中的标准输入输出函 数来实现的。
2.7.1 字符的输入和输出 使用getchar和putchar函数可以实现字符的输入和输出。
例题3: 字符的输入和输出 程序代码如下: #include <stdio.h> void main() { char ch1, ch2; ch1=getchar(); ch2=getchar(); putchar(ch1); putchar(ch2); } 程序运行结果如下: abcdefg <Enter> abPress any key to continue a <Enter> a Press any key to continue 例题4: 字符的输入和输出(修改版) 程序代码如下: #include <stdio.h> void main() { char ch1, ch2; ch1=getchar(); ch2=getchar(); printf("ch1=%c,%d\n",ch1,ch1); printf("ch2=%c,%d\n",ch2,ch2); } 程序运行结果如下: a <Enter> ch1=a,97 ch2= ,10 Press any key to continue
'A', 'b', ,'*', '%' 为字符型常量 "CHINA", "Qingdao University" 为字符串型常量
2.5.2 常量的类型 • 符号常量 在C语言中,可以定义一个标识符作为直接常量的名字,然后在代码 中用该标识符体现常量的值和数据类型,这个标识符被称为符号常量。由 于符号常量需用#define定义,因此也被称为宏常量。

2.5.3 直接常量的表示及其数据类型 • 字符型常量 用一对单引号括起来的单个字符称为字符型常量。例如: 'A' ,'b' , '*' ,'+' 都是合法的字符型常量。 字符型常量的值就是该字符的ASCII值,因此是一个整数,例如'A'的 值就是65。虽然在程序中,字符型常量主要用来与其他字符进行比较运 算,但也可以像其他整数一样参与数值运算。 在C语言中,一些特殊字符需用转义字符序列进行表示。转移字符序 列以\开头,虽然看起来像两个或多个字符,但其实表示一个字符。C语言 中全部的转移字符序列如下:
2.7.3 格式化输入函数scanf 语法格式: scanf是格式输入函数,可以按照格式字符串指定的格式读入若干数据, 并将其存入参数地址列表中指定的地址单元。
2.6.1 变量的概念 程序运行中需要有一种能够暂时存储数据的方法,人们将数据及其存 储空间抽象为变量。相对于常量而言,其值在程序运行过程中可以被改变。 变量支持两个基本操作,一是向变量存入数据,即“赋值”;二是取得变 量的当前值,即“取值”。 main() { int a; a = 10; }
2.6.2 变量的属性 变量有七个基本属性: ①名字:用以标识变量,变量名的命名规则同标识符; ②地址:变量实质上是一个符号地址,用以指示存储空间的位置; ③数据类型:数据类型用以指示存储空间的大小以及如何解释其中的数 据。变量所拥有的数据类型,要通过变量声明语句进行定义;
• •
数据类型是数据对象的一种属性; 数据类型定义了数据对象的存储表示,规范了数据对象的取值范围,定义 了数据对象能够进行的操作; C语言的数据类型非常丰富; 不同程序设计语言中的数据类型或多或少有所不同。

以上数据类型的字节长度和值的范围采用VC6.0的标准
例题2: 计算半径为10的圆的周长和面积
2.6.3 变量的声明和初始化 变量声明的语法规则如右图所示: 1
char a; unsigned char b; short c; unsigned short d; int e; unsigned int f; long g; unsigned long h; float i; double j; long double k;
程序代码如下: /* ex2-2.c 计算圆的周长和面积 */ #include <stdio.h> #define PI 3.14 main() { const int R = 10; double l, s; l = 2 * PI * R; s = PI * R * R; printf("L=%f,S=%f\n", l, s); } 程序运行结果如下: L=62.800000,S=314.000000
2.7.2 格式化输出函数printf 使用举例: 例题6: 字符和字符串的格式化输出 程序代码如下: #include <stdio.h> void main() { char ch1='A', ch2='a'; printf("ch1=%c,ch2=%c\n",ch1,ch2); printf("ch1=%d,ch2=%d\n",ch1,ch2); printf("This is a string:%s\n","CHINA"); } 程序运行结果如下: ch1=A,ch2=a ch1=65,ch2=97 This is a string:CHINA
2.5.3 直接常量的表示及其数据类型 • 实型常量 实型常量的表示遵循以下的语法结构图:
其中: 实型常量包含一个小数点或指数部分。整数部分和小数部分用十进制 表示。无后缀表示该常量的数据类型为双精度实型(double) ; 后缀为f 或F表示该常量的数据类型为单精度实型(float) ; 后缀为l或L表示该常量 的数据类型为长双精度实型(long double) 。 例如: 125.,.125,3.14E-3 ,3.75F ,4.8L 都是合法的实型常量。
词法元素 程序代码中的标记(token)是 翻译阶段中语言的最小词法 元素。 标记的种类有: • 关键字 • 标识符 • 常量 • 字符串常量 • 运算符 • 分隔符(标点符号)
• • •
关键字是被C语言保留使用的单词,在代码中具有特定的含义,必须使用 小写字母表示,不能用作其他用途; ANSI 标准规定C语言共有32个关键字,不同的C编译器会做适当增减; 关键字分为四大类: (1)数据类型关键字12个; (2)控制语句关键字12个; (3)存储类型关键字4个 ; (4)其他关键字4个。
④值:在使用变量进行计算或输出之前,必须确保其有确定的值。程序
运行时,某些变量会被初始化为0,但大多数变量的初始值无法预计,可 采用赋值语句对变量赋一个初始值,也可以声明变量的同时进行初始化; ⑤作用域:变量起作用的程序范围; ⑥存储时期:变量的存在时限。 ⑦链接:确定组成程序的多个文件可以共享此变量的范围。
2.7.2 格式化输出函数printf 语法格式: printf函数用来显示格式字符串的内容,并且在字符串指定位置插入 可能的值,这些值的显示格式由格式字符串中的转换说明确定。调用 printf函数必须提供格式字符串,其语法格式如下图所示。
• C语言编译器不检测转换说明的数量和输出项的数量是否匹配; • C语言编译器也不检测转换说明和输出项的数据类型是否匹配; • 转换说明提供了大量的输出格式控制,这里将介绍主要的转换说明
2.5.1 常量的概念
在程序运行过程中,其值不 可以被改变的量称为常量 (Constant)。
在赋值语句: l = 2 * PI * R; 中包含了三种形式的常量: • 直接常量——2 • 符号常量——PI • 常型变量——R
2.5.2 常量的类型 • 直接常量 直接常量也称字面常量(literal constant),在代码中直接以自身 的存在形式体现值和数据类型,其表现形式与日常书写习惯类似。 例如: 10,-123 为整型常量 -1.5,3.14, 1.7E-3, -2.5E8 为实型常量
相关文档
最新文档