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

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语言程序设计 第2章 基本数据类型和表达式

第2章 基本数据类型和表达式 章 2.2.3 枚举常量
枚举常量是枚举类型中的值,即枚举值。 枚举常量是枚举类型中的值,即枚举值。 枚举类型定义: 枚举类型定义: enum <枚举类型名 枚举类型名>{<枚举表 ; 枚举表>}; 枚举类型名 枚举表 (1)enum color{red,yellow,blue}; (2)enum day{Sun,Mon,Tues,Wed,Thur,Fri,Sat};
第2章 基本数据类型和表达式 章 2.2.5 地址常量 指针类型的值域范围: 指针类型的值域范围:0~(232-1),每一个整数 , 代表内存空间中一个对应单元的存储地址。 代表内存空间中一个对应单元的存储地址。 用户可以直接使用整数0作为地址常量 作为地址常量, 用户可以直接使用整数 作为地址常量,称为 空地址常量,对应的符号号常量在stdio.h中定义,其值为整数 。 中定义, 号常量在 中定义 其值为整数0。
第2章 基本数据类型和表达式 章 2.3 变量 变量是用标识符表示的、 变量是用标识符表示的、其值可以被改变的 量。 1.变量定义语句 变量定义语句 <类型关键字 <变量名 [=<初值表达式 类型关键字> 变量名> 初值表达式>],…; 类型关键字 变量名 初值表达式
第2章 基本数据类型和表达式 章 2.3 变量 2.语句格式举例 语句格式举例 (1)int a,b; (2)char ch1=‘a’,ch2=‘A’; (3)int x=a+2*b; (4)double d1,d2=0.0,d3=3.14159; 3.语句应用举例 见circle.c 语句应用举例
第2章 基本数据类型和表达式 章 2.2.3 枚举常量
(1)enum color c1,c2,c3; (2)enum day today,workday; (3)c1=red; (4)workday=Wed; enum day {Sun=7,Mon=1,Tues,Wed,Thur,Fri,Sat};
第2章 基本数据类型和表达式 (2)

第2章 基本数据类型和表达式
2.1 基本数据类型 2.2 常量与变量 2.3 运算符与表达式 2.4 数据类型转换
19-Mar-20
2
2.1 基本数据类型
什么是数据类型?
所谓数据类型就是一组性质相同的值的集合,以及定义 于这个值集合上的一组操作的总称。
数据类型决定:数据占内存的字节数、数据的取值范围 和其上可进行的操作。
19-Mar-20
7
2.1 基本数据类型
2.1.2 实型数据(浮点型数据)
1、实型数据的分类及取值范围
数据类型
类型说明 占用 关键字 字节
取值范围
精度 (位)
单精度 浮点型
float
4
-3.4×10-38 ~3.4×1038
7
双精度 浮点型
double
8 -1.7×10-308 ~1.7×10308 15
说明:
– “-”可为单目运算符时,右结合性
– /除数不能为0
– 两整数相除,结果为整数
– %要求两侧均为整型数据,结果符合与左侧运算量一致
– –
两两运运算算量量类有型一相个同是时实,型运时算,结结果果例类类型型与为5运双%算精2量度相实=同型
1
-5%2 = -1
例 5/2 = 2 -5/2.0 = -2.5
故可组合出六种类型:
有符号短整型: [signed] short [int]
无符号短整型: unsigned short [int]
有符号基本类型:[signed] int
无符号基本类型:unsigned [int]
有符号长整型: [signed] long [int]
第二章基本数据类型运算符和表达式-

注意: e前面不能没有数字,e后面的数字必须为整数,也不能加园
括号。如1E(-3)、E-5、1e2.1都是错误的。
安徽理工大学计算机软件教研室
2020/2/23
Chapter 2
③“*”:既是双目乘法运算,在指针运算 中表示指针指向的变量;
④“&”:表示双目逻辑的“与”运算,在 指针运算中表示取地址和运算。
安徽理工大学计算机软件教研室
2020/2/23
Chapter 2
21
优先级
运算符
目数 结合性
1 :: ( ) [ ] -> .
2 左结合
2 ! ~ ++ -- - + (类型) * & sizeof new delete 1 右结合
2020/2/23
Chapter 2
4
数据在计算机中的存放
数据在计算机中采用二进制存放;一个字节8个二进制位, 示意图如下:
7
0
数的表示范围:-2^7~2^7-1(-128~127)
显然,一个字节表示数的范围是有限的。要表示 更大范围内的数,就要使用多个字节。
安徽理工大学计算机软件教研室
2020/2/23
• 一旦一个引用被初始化,就不能改为指向其他对象。
即一个引用从它诞生之时起,就必须确定是哪个变 量的别名,而且始终只能作为这个变量的别名,不能另 作他用。
• 引用可以作为形参,称为引用调用。
安徽理工大学计算机软件教研室
2020/2/23
Chapter 2
11
C语言的基本数据类型与表达式

指针类型(*)
空类型(void)
2019/5/18
C语言程序设计教程
第2章 C语言的基本数据类型与表达式
类型名
Char Signed char
Unsigned char Short [int] Signed short [int] Unsigned short[int] int Signed [int] Unsigned [int] Long [int] Signed long [int] Unsigned long [int] Float Double Long double
求解: a*b/c-1.5+’a’+fabs(-5)=?
2019/5/18
C语言程序设计教程
第2章 C语言的基本数据类型与表达式
18
float a=2.0; int b =6,c =3;
a*b/c -1.5 +’a’ +fabs(-5)
12.0/3
5 double float
4.0 - 1.5 2.5 + 97(int)
2019/5/18
C语言程序设计教程
第2章 C语言的基本数据类型与表达式
8
例如:字符A的ASCII码为: 65D(十进制)=41H(十六进制)=101Q(八进制)
∴字符A可以表示为‘A’、’\x41’、’\101’。 2、分类:
char 和 unsigned char; 3、值域:
每个字符型数据在内存中占一个字节;包括ASCII字符 表中的所有字符(可显示字符和非显示字符)。 4、字符串: 是用一对双引号括起来的字符序列。 如:“SHANGHAI”,“AbcdeFGHijk”,“How are you”。
第2节基本数据类型和表达式

第2节基本数据类型和表达式综述:计算机的主要功能是对各种类型的数据进行处理,类型不同,所执行的操作也不同。
类型告诉我们数据的存储布局、取值范围以及可以对数据执行哪些操作。
C++中的数据类型分为两类:基本类型和自定义类型,基本类型是C++编译系统内置的,比如:字符型、整型、双精度型。
C++还提供了可用于自定义数据类型的机制,标准库正是利用这些机制定义了许多更复杂实用的类型,比如可变长字符串string、vector等。
1基本数据类型C++的基本数据类型有bool(布尔型)、char(字符型)、int(整型)、float(浮点型)和double(双精度型),以及由关键字signed、unsigned、short和long修饰的基本数据类型的变异。
C++标准规定了基本数据类型的最小存储空间(表1),但它并不阻止编译器使用更大的存储空间。
类型含义最小存储空间bool 布尔型—char 字符型8位wchar_t 宽字符型16位short 短整型16位int 整型16位long 长整型32位float 单精度浮点型6位有效数字double 双精度浮点型10位有效数字long double 扩展精度浮点型10位有效数字C++还定义了一种称为void的特殊类型。
void类型没有对应的值,通常用作无返回值函数的返回类型。
注意:不同编译器实际分配空间不同。
exa1:使用sizeof操作符测试自己所用编译器对C++基本类型存储空间分配情况。
sizeof操作符的作用是返回一个对象或类型名的长度(单位为字节),语法格式:sizeof(类型名或变量名);sizeof 变量名#include<iostream>using namespace std;int main(){using std::cout;using std::endl; //使用名字空间的另一种方式int m=12;cout<<"the size of an int is:"<<sizeof(int)<<endl;cout<<"the size of an short is:"<<sizeof(short)<<endl;cout<<"the size of an long is:"<<sizeof(long)<<endl;cout<<"the size of an char is:"<<sizeof(char)<<endl;cout<<"the size of an float is:"<<sizeof(float)<<endl;cout<<"the size of an double is:"<<sizeof(double)<<endl;cout<<"the size of an bool is:"<<sizeof(bool)<<endl;cout<<sizeof m<<endl; //测试变量m所分配存储空间,只与变量的类型有关,与变量m的值无关cout<<sizeof(m)<<endl;system("pause");return 0;}exa2:基本数据类型取值范围。
C语言第2章基本数据类型与表达式
2.1.3 关键字
关键字(又称保留字)是一种语言中规定具有特定含义的标识符。 C语言可使用以下32个关键字:
auto
double int struct
break
else long switch
case
enum
char
extern
const
float short
continue default
for signed goto sizeof
例: main() { int x,y,z,w; /*定义x,y,z,w为整型变量*/ unsigned int k; /*定义k为无符号整型变量*/ x=10; y=-20; k=30; z=x+k;w=y+k; /*不同类型的整型变量x、y、k可运算*/ printf(″x+k=%d,y+k=%d\n″,z,w); } 程序运行结果为: x+k=40,y+k=10
3. 字符常量
C语言的字符常量是用单撇号括起来的一个字符。如 ′x′,′+′,′\n′,′\101′都是合法的字符常量。 字符数据在内存中是以ASCII码存储,它的存储形式与整数的存储 形式类似。因此可以通用。例如: #include <stdio.h> main() { char c1,c2; c1=97; c2=98; printf(″%c ,%c\n″c1,c2); printf(″%d, %d\n″c1,c2); } 在程序中我们将整数97和98分别赋给c1和c2,它的作用相当于以 下两个赋值语句: c1=′a′; c2=′b′; 运行时输出结果如下: a,b
4. 字符串常量
• C语言没有专门的字符串类型变量,但有字符串 常量。字符串常量是由一对双撇号括起来的字符 序列。 如:″changsha″, ″central south university″,″+++ \\?ab″都是合法的字符串常量。 • 不要将字符常量与字符串常量混淆。如: ′a′是字符常量, ″a″是字符串常量
第2章 基本数据类型与表达式优秀课件
C++的基本数据类型
数据类型标识符
字节数
数值范围
char
1
-128~127
signed char
1
-128~127
unsigned char
1
0~255
short [int]
2
-32768~32767
signed short [int]
2
-32768~32767
unsigned short [int]
例如:数学中有自然数、整数、实数
基本数据类型
整型:int 字符型:char 、wchar_t 实型:float、double 逻辑型:bool
自定义数据类型
数组:type[] 指针:type* 引用:type& 空类型:void 结构:struct 联合:union 枚举:enum 类:class
数据类型 变量名1,变量名2,…变量名n;
例如:定义各种类型的变量
int num; float f; char ch; short s; double area, length;
说明:在创建或定义变量时,需要指明该变 量的数据类型和名称。
( ) { } ,:; 这些分隔符不表示实际的操作,仅用于构造程序。 比如“;”,用来作为一句完整语句的结束。
2.1.5 空白
在C++语句中经常出现空白(制表符、空格、空 行)等,通常都忽略不计。
2.2 基本数据类型
什么是数据类型?
数据是程序处理的对象,数据根据其本身的 特点进行分类,从而形成不同的数据类型。
第2章 基本数据类 型与表达式
2.1 C++的词法记号和标识符
基本数据类型与表达式
数据的存储格式
字符型数据:
使用一个字节,存放一个ASCII字符,示意图如下:
7
0
01 0 0 0 0 0 1
‘A’字符ASCII 为65
ASCII的范围:0 – 127 一个字符数据可以当作一个整数使用
5
#include <iostream> using namespace std; int main()
显示ASCII字符集的 程序
{
char ch;
for(int i=0;i<128;i++)
{
ch=char(i);
cout<<ch<<"\t"<<i<<"\t";
}
return 0;
}
6
7
整型数据的存储格式
短整型 short 15
87
0
短整数表示范围为:-215~215-1 (-32768~32767)
int i, j, k; // 说明了3个整型变量
long len; // 说明了1个长整型变量
float average, sum;
// 说明了两个浮点类型的变量
double distance, weight; // 说明了两个双精度类型的变量
•变量名命名规则与标识符相同。
13
二.变量的初始化
定义变量时赋初值:
实型数据分为:浮点型(float)和双精度型(double)
31
24 23
16 15
87
0
尾数部分
指数部分
一般浮点数的可以达到7位有效数字。例如1234.567。 双精度浮点数的有效位数可以达到15~16位。
第2讲 pascal基本数据类型介绍及表达式运算(pascal程序语言基础)
2、构造类型
包括数组类型,集合类型,记录类型和文件类型 3、指针类型 指针类型属于动态数据类型
二、整型
用来表示整数数据的数据类型
Turbo pascal中五种预定义的整型
类型 Shorint Integer Longint 取值范围 -128...127 -32768...32767 -2147483648... 2147483647 占字节数 1 2 4 格式 带符号8位 带符号16位 带符号32位
作业:
1、将下列的数学表达式改写成PASCAL表达式: b2-4ac
2、求下列表达式的值: 20 mod 19 15 mod 9 7 div 8 19 div 3 (4>5) and (7<8) (8>9) or ( 9<10) 2 and ((3=3) or (3<7))
3、给一个数,利用ROUND()或TRUNC() 函数,在屏幕上输出该实数本身、整数部分、小 数部分(保留小数点后3位)。
4、输入一个四位整数,把它的各位数字倒序 输出。(提示:用MOD和DIV运算完成)
例:
11 div 2=5 -4 div 3= -1 11 mod 2=1 -4 mod 3= -1
4 div -3= -1
4 mod -3=1
A mod B=A - (A div B) * B mod运算的符号总是和被除数相同。
整型的运算 思考: 怎样判断一个数A是否能被数B整除?
比较运算:
( > , >= , < , <= , = , <> )
比较运算: (> , >= , < , <= , = , <> )
相关函数(如:abs(x),sqr(x),int(x)……)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[程序分析]
本题在类ConstExample中定义了两个常量A和B,它们之间 不存在相互依赖的关系,常量是静态的,可以直接访 问.所以最后输出的结果是1和12.
[运行结果]
2.变量
(1)变量的含义及其定义 变量是指在程序运行过程中其值可以发生变化的量. 定义变量的一般格式如下. [格式]:[变量修饰符] 类型说明符 变量名1=初值1,变量名 2=初值2,…; 例如,有以下变量定义语句: private static int gz=65; public double jj=76.8;
【例2-2】 分析下列程序的运行结果. [程序代码] using System;//引入命名空间 class StaticTest //定义类 { public static int sta1=10; //定义静态变量,该变量只创建 一次,由类名访问 public int a2=10;//定义实例变量,每创建一个实例时, 均创建一个变量 } class StaticExample { public static void Main() { StaticTest A,B; //定义类的变量
3.布尔类型
布尔类型(bool)只含有两个数值:true和false.
4.实数类型
实数类型又称浮点型,C#中的浮点型包含单精度浮点型 (float)和双精度浮点型(double)两种. (1)单精度型:取值范围为 ~ 之间,精 度为7位数. (2)双精度型:取值范围为 精度可达15到16位. ~ 之间,
5.小数类型
又称十进制类型,其类型说明符为decimal,主要 用于金融领域,又称金融类型,其表示的值的范围大 约是 到 ,比float类型小,但是其精确 度却可以达到28到29位. 在十进制类型的数据的后面加上"m",表示该数 据是小数类型,如0.1m,123.9m等.
类型转换
隐式转换:从类型A到类型B的转换可以在 任意情况下进行,执行转换的规则非常简 单,可以让编译器进行. 显式转换:又叫强制类型转换,从类型A到 类型B的转换只能在某些特定情况下进行, 转换的规则比较复杂,应该进行某种类型 的处理.
简单类型(Simple types ) 枚举类型(Enumeration types) 结构类型(struct types)
引用类型
– 和值类型相比,引用类型不存储它们所代表的 实际数据,但它们存储实际数据的引用.在C# 中引用类型主要包括object类型,类,接口, string类型,数组,以及委托.这里先介绍一下 object,其他内容在后续的章节中介绍.
2.1.3 简单数据类型
1.整数数据类型
2.字符数据类型
C#的字符类型有以下特点: (1)每个字符占2个字节. (2)C#中的字符型与整型之间不能再像C/C++中自动转换. 以下语句在C#中不合法:char c=13; 不过用户依旧可以将一个整型数显式地转换为一个字符数据 类型,然后赋值给字符变量.如下: char c=(char)13;
例如: public const int A=1,B=3; 与C/C++类似,在C#中,一个常量可以依赖于另 一个符号常量,但不e {public const int A=1; public const int B=A+2; } 注意:常量是静态的,能够在类中访问.
A=new StaticTest();//创建类的实例A B=new StaticTest();//创建类的实例B StaticTest.sta1=StaticTest.sta1+10;//通过类名给静态变量赋值 A.a2=A.a2+10;//给实例A的成员a2赋值 StaticTest.sta1=StaticTest.sta1+10;//通过类名给静态变量赋值 B.a2=B.a2+20;//给实例B的成员a2赋值 //输出静态变量和实例A的成员a2的值 Console.WriteLine("StaticTest.sta1={0},A.a2={1}",StaticTest.sta1,A.a2); //输出静态变量和实例B的成员a2的值 Console.WriteLine("StaticTest.sta1={0},B.a2={1}",StaticTest.sta1,B.a2); } }
使用实数类型,需注意以下几个问题:
(1)存在正0和负0 . (2)存在正无穷大和负无穷大,一般产生在除数为0的情况 下,例如,1.2/0.0的结果是正无空大,-1.2/0.0的结果为负 无空大. (3)存在非数字值(Not-a-Number,简称NaN).当出现 0.0/0.0这种非法运算的时候就会出现非数字值. (4)对于浮点运算,如果运算结果的绝对值在精度范围内 小到一定程度,系统就会当做0值处理(+0 或-0).
显式转换
类 型 sbyte byte short ushort int uint long ulong char float double decimal sbyte, char sbyte, byte, ushort, uint, ulong, char sbyte, byte, short, char sbyte, byte, short, ushort, uint, ulong, char sbyte, byte, short, ushort, int, char sbyte, byte, short, ushort, int, uint, ulong, char sbyte, byte, short, ushort, int, uint, long, char sbyte, byte, short sbyte, byte, short, ushort, int, uint, long, ulong, char, decimal sbyte, byte, short, ushort, int, uint, long, ulong, char, float, decimal sbyte, byte, shortushort, int, uint, lon, ulong, char, float, double 可以安全地转换为 byte, ushort, uint, ulong, char
Visual C# .NET程序设计
第二讲 Visual C#.NET编程基础
沈志忠 zzshen78@ 北京科技大学信息工程学院
第2章 基本数据类型与表达式 章
本章要点: Visual C# .NET数据类型概述 Visual C# .NET简单数据类型的使用 Visual C# .NET .NET的常量和变量 Visual C# .NET的运算符与表达式 Visual C# .NET的常用方法
隐式转换
类 型 byte sbyte short ushort int uint long ulong float char 可以安全地转换为 short, ushort, int, uint, long, ulong, float, double, decimal short, int, long, float, double, decimal int, long, float, double, decimal int, uint, long, ulong, float, double, decimal long, float, double, decimal long, ulong, float, double, decimal float, double, decimal float, double, decimal double ushort, int, uint, long, ulong, float, double, decimal
(2)静态变量和实例变量
声明变量时,使用static关键字声明的变量为静态变量. 静态变量只需创建一次,在后面的程序中就可以多次引用. 静态变量的初始值就是该变量类型的默认值.不能通过实 不能通过实 例访问,只能通过类型名称访问. 例访问,只能通过类型名称访问. 实例变量是指在声明变量时没有使用static变量说明 符的变量,也称普通变量.实例对象在指定的对象中被声 明并分配空间,如果实例变量所在的对象被撤消了,该变 量也就从内存中被清除了.
2.1.4 常量与变量
1.常量
常量又叫常数,是在程序运行过程中其值不改变的量. 常量也有数据类型,在C#语言中,常量的数据类型有多种, 分别是:sbyte,byte,short,ushort,int,uint,long, ulong,char,float,double,decimal,bool,string等. 符号常量声明的格式如下. [格式]:[常量修饰符] const 类型说明符 常量名=常量表达式;
【例2-1】 分析下列程序的执行结果. [程序代码] class ConstExample { public const int A=1; public const int B=(A+2)*(A+3); { public static void Main() { System.Console.WriteLine("A={0},B={1}",ConstExample. A,ConstExample.B); }} class ConstTest }
C#语言数据类型体系图
整数类型 (byte,sbyte,long,ulong, short,ushort,int,uint) 简单类型 结构类型 数值类型 浮点数类型(float,double) 十进制数类型(decimal) 字符类型(char) 布尔型(bool) 用户自定义结构类型(struct) 枚举类型 (enum) class 类 数据类型 object string 引用类型 接口(interface) 数组(array) 代理(delegate) 指针类型(仅用于非安全代码中)