第2章 数据类型和输入输出
基本数据类型与输入输出.

(3)分隔符:空格或回车 (4)回车作用 ①通知 cin 已输入一行数据, cin 可从输入行提取输入数 据,依次赋给变量; ②用作输入数据间的分隔符。
当cin遇到回车键时,若仍有变量没有得到数据,则继续等待 用户输入新的一行数据。当cin遇到回车键时,输入行中的 数据没有提取完,则可给其它变量赋值。
第二章 基本数据类型与输入输出
•变量
1.定义
程序执行过程中,值可以改变的量称为变量 。
2. 变量命名规则
6book #abc s4.6 if //不能以数字开头 //不能使用符号# //不能使用小数点 //if为关键字,不能用作标识符
注意: (1)大、小写字母是不同的标识符。例如BOOK和book被认为是两个 不同的标识符; (2)有效标识符长度为1~247。当一个标识符的长度超过247个字符 时,其前面的247个字符有效,而其后的字符无效; (3)应用能表示标识符含义的英文单词(或其缩写)或汉语拼音来命 名标识符。例如,用Average表示平均值。
• 3.字符常量
用单引号括起来的单个字符称为字符型常量。 'a','x','D','?','$',' ','3' 注意: (1)字符常量只能为单个字符,用单引号括起来。 (2)字符常量在机内是用ASCII码表示。 (3)字符常量表示形式 ① 普通字符(显示字符):'a','A','#',' ','0' ② 转义字符: (a)以“\”开头后跟ASCII码(八进制或十六进制)表示一个 字符。表示形式为: \ddd:表示三位八进制数,如:'\101',表示字符' A'; \xhh:表示两位十六进制数。如:'\x41',表示字符' A'。 (b)以“\”开头后跟一个字符常用来表示一些控制字符。例 如:'\n'可以用来表示换行符。
数据类型与简单输入输出

数 据 类 型 与 简 单 输 入 输 出
6
C
语 2.1.3实数类型
言 程
实数类型的数据简称实型数据,有时又称为浮点型数
序 据,实型可分为单精度型和双精度型两种,其中:
设 计
(1)单精度型:用float表示;
(2)双精度型:用double表示。
第 在一般系统中,Turbo C所支持float型数据在内存中
编分译dp配ra程it指na序t定=f根((字dpa“据rda+节i变atbn的ta)量ta*内=f=1定((存%.a“义2单df+;为\a元bn其t)”a*,=d1a%.ct2af;)\;n”,data);
…...
}}
内存
2字节
随机17 数
C
语 4. 变量的赋值
言
程 可以用赋值运算符“=”将一个表达式的值赋给一个变量。
言 程
沃思(N. Wirth)公式:
序 设
数据结构 + 算法 = 程序
计
数据是程序处理的对象,程序的主要任务就是对数据
第 2
进行加工、处理,而计算机中的数据包括数值型数据和非
章 数值型数据,如我们知道在数学中的整数、实数就是数值
数 据
型的数据,计算机能够处理的文字、声音、图像等就是非
类 数值型数据。
➢ 八进制整型常量:以0为前缀,后跟数字0~7表示,如
第 0123,011。
2 章
➢ 十六进制整型常量:由0x或0X开头,后跟0~9,a~f,A~F表
数 示.如0x123,0Xff。
据
类 注意:
型 与
在程序中是根据前缀来区分各种进制数的,一定要前缀正确;
简 八进制与十六进制一般只表示正数;
《C语言程序设计》02 数据类型及输入输出函数

#include < stdio.h > 或
关键字 包含函数的头文件 #include ” stdio.h ”
区别
#include < stdio.h > 与 #include ” stdio.h ”
(1)#include<stdio.h>格式来引用标准库的头文件, 编译器将从标准库目录开始搜索。 (2)#include”stdio.h”格式来引用非标准库的头文 件,编译器将从用户的工作目录开始搜索。
{
short a , b ; //同时定义两个短整型变量a和b
a = 32767;
//为a变量赋值
b=a+1;
printf(" a = %d , b = %d \n" , a ,b );
}
我们倒水倒满了水就流出来了,那计算机呢?
实型
• 实型也称为浮点型,例如:3.14,-8.9等带有小数
部分的数值数据就称为浮点数
类型
说明
字节数
有效数字
float
单精度浮点型 取值范围:3.4E-38~3.4E+38
4
double
双精度浮点型 取值范围:1.7E-08~1.7E+308
8
long double
长双精度实型 取值范围:1.7E-08~1.7E+308
8
6~7 15~16 15~16
#include <stdio.h>
实型数据精度示例
void main()
{
float a;
double b;
a=55555.55555555F;
//float类型数值一般需要添加后缀”F”或”f”
第二章数据类型和输入输出

功能
响铃 换行 制表符(横向跳格) 竖向跳格 退格 回车 反斜杠字符“\” 双引号 单引号 1~3位八进制数 1~2位十六进制数
第二章数据类型和输入输出
24
[示例]
► 在内存中,字符数据以ASCII码存储,即以整数 表示,所以C++中字符数据和整型数据之间可以 相互赋值,只要注意其表示的范围合理。
26
2.3.5 布尔常量
►用关键字false和true来表示,它们与布尔 型含义相同。
■ ture → 1 ■ false → 0
第二章数据类型和输入输出
27
►2.1 计算机内的数据表示 ►2.2 基本数据类型 ►2.3 字面常量 ►2.4 变量 ►2.5 标识符常量 ►2.6 基本输入输出
第二章数据类型和输入输出
28
2.4 变量
► 变量是指在程序执行中其
值可以改变的量。
内存地址
► 变量的作用是存取程序中
需要处理的数据,它“对
应”于某个内存空间。 变量 a
► 变量有3个基本要素
的地址
■ 合法的变量名
■ 变量的数据类型
■ 变量的数值
……
存储单元 (1Byte)
变量 a 的数值
12
……
第二章数据类型和输入输出 内存空间
return 0; }
第二章数据类型和输入输出
20
2.3.2 实数常量
►实数即浮点数
►十进制数和指数两种表示形式
■ 十进制数形式由整数部分和小数部分组成(必 须有小数点),如0.123,.234,0.0。
■ 指数形式,科学计数法(E或e前必须有数字,
且指数必须是整数),如123e5或123E5都表 示123×105。
C语言系列教程——基本数据类型与输入输出

C语言系列教程——基本数据类型与输入输出第2章基本数据类型与输入输出程序中最基本的元素是数据类型。
确定了数据类型,才能确定变量的空间大小和其上的操作。
C++的数据类型检查与控制机制,奠定了C++今天的地位。
C++还提供了L/O流机制,完成对输入输出的操作管理。
在过程化程序设计中,prinff和scanf是对流的一个适当补充。
学习本章后,要求搞清数据类型与变量、常量的关系,掌握各种常量的性质和定义,学会I/O流的使用,了解pfinff和scanf输入输出的作用。
2.1 字符集与保留字每种语言都使用一组字符来构造有意义的语句。
C++程序是用下列字符所组成的字26个小写字母:abcdefghijklmnopqrstuvwxyz26个大写字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ10个数字:0 1 2 3 4 5 6 7 8 9其他符号 + - * / = , . _ : ; ? \ " ' ~ | ! # % & ( ) [ ] { } < > (空格)C++中,保留字也称关键字。
它是预先定义好的标识符,这些标识符对C++编译程序有着特殊的含义。
表2-1列出了C++的保留字。
ANSIC规定有32个保留字,表中用黑正体字表示;ANSIC++在此基础上补充了29个保留字,表中用黑斜体字表示。
本书不作介绍的表中用白体字表示。
为了使语言能更好地适应软件开发环境,BC或VC对保留字进行了扩充,在表中用白斜体字表示。
VC与BC对关键字的扩充内容是不同的,这里只是常用的和共同扩充的几个。
表2-1 C++保留字auto break case charconst continue default dodouble else enum externfloat for goto ifint long register returnshort signed sizeof staticstruct switch typedef unionunsigned void volatile whilebool catch class const_castdelete dynamic_cast explicit falsefriend inline mutable namespacenew operator private protectedpublic reinterpret_cast static_casttemplate thisthrow truetry typeid typename usingvirtual wchar_tasm cdecl far hugeinterrupt near pascal exportexcept fastcall saveregs stdcallseg syscall fortran thread在程序中用到的其他名字(标识符)不能与C/C++的关键字有相同的拼法和大小写。
第02章 基本数据类型与输入输出

2.4 变量(续) 变量(
(3)typedef 用typedef为一个已有的类型名提供一个别名。 typedef为一个已有的类型名提供一个别名 为一个已有的类型名提供一个别名。 语法形式: typedef 已有类型名 新类型名; 新类型名; 语法形式: 例:typedef double profit; INT a; // 等价int a; 等价int 注意: 注意: typedef没有实际定义一个新的数据类型, typedef没有实际定义一个新的数据类型,而为一个已 没有实际定义一个新的数据类型 有的类型名提供一个别名。 有的类型名提供一个别名。 //定义 //定义double 的别名 定义double typedef int INT,integer; //定义int的两个别名 //定义 的两个别名 定义int
2.5 I/O流控制 I/O流控制
1、I/O书写格式 I/O书写格式 cin格式 格式: ☆ 标准输入流 cin格式: cin >> variable < >> variable...> ; variable...> 其中,符号“>>”叫做抽取运算符 叫做抽取运算符, 其中,符号“>>”叫做抽取运算符,它的作用是从输入流 cin (缺省为控制台)中获取一个与变量 variable 之类型相 缺省为控制台) 匹配的值, variable。 匹配的值,并将该值赋给变量 variable。 例: cin >> i; cin >> x >> y >> z; 注意后一种用法:在响应串联方式的输入时, 注意后一种用法:在响应串联方式的输入时,所输入 的各数值必须用空白字符(空格键、 键或回车键) 的各数值必须用空白字符(空格键、Tab 键或回车键)分隔 开来。 开来。
第2章 数据类型和输入输出

28
29 30 31
FS
GS RS US
41
42 43 44
)
* + ,
54
55 56 57
6
7 8 9
6
7 8 9 10 11 12
ACK
BEL BS HT LF VT FF
19
20 21 22 23 24 25
DC3
DC4 NAK SYN ETB CAN EM
32
33 34 35 36 37 38
visualc的前缀说明匈牙利命名法abcnixyssszplph句柄fnmc数组变量布尔变量字符变量整型变量无符号整型变量xy坐标xstartypos字符串变量不常用smyname字符串变量不常用smyname0结束的字符串变量指针变量pszstringpmydlg长指针变量lpszmynamehwndhpenhdlg函数fncallback类的成员变量mzstart类和结构cdialogcviewcmysdiappascore50bflagbisendcsexnwidthinumszmyname变量的定义p16?变量必须先定义后使用
第二章 基本数据类型与输入输出
授课教师:***
第二章 数据类型和输入输出
2.1 字符集与保留字 2.2 基本数据类型 2.3 变量定义 2.4 字面量 2.5 常量 2.6 I/O流控制 2.7 printf与scanf
注:红色重点必讲,蓝色一般讲授,黑色可不提
2013-8-8
2
学习目标
熟悉基本数据类型 理解变量、常量的概念 掌握各种常量的性质和定义 学会I/O流的使用 了解printf和scanf输入输出的作用
十进制数有正负之分,八进制和十六进制只能表示无符号整 整数后面加L或l表示long int 整数
基本数据类型与输入输出

2.2 基本数据类型—sizeof操作符
01
03
05
02
04
06
变量名的命名原则:
2.3 变量定义—命名变量名
2.3 变量定义—命名变量名
请判断下列变量名是否合法: way_cool RightOn NumberOfStudent case 9iOralce A lot Sin
√
√
√
x
x
x
x
常量,是常数或代表固定不变值的名字,常量定义,使用“const”修饰符: const 数据类型 变量1=初始化值1,[变量2=初始化值2,…];
定义成常量后,程序只能读取该常量的值,不能修改该常量,不能放在赋值语句的左边;
常量在程序运行前就应该知道其值,常量定义中的初始化值可以是一个常量表达式,如: const int size = 300*sizeof(int);//正确
定点数形式,由数字和小数点组成(注意必须有小数点),如0.123,.3415,0.0;
指数形式,如123e5表示123*105;
在C++中,一个实型常数如果没有任何说明,表示double型,要表示float型,必须在实数后面加上f或F,如34.5f、34.5、34.5l分别代表float型、double型、double型数;
练习
给出下面程序输出的结果: #include <iostream.h> void main( ) { int a; char ch; ch='a' ; ch++; a=ch; cout<<a; }
第二章 基本数据类型与输入输出
单击此处添加副标题
202X/XX/XX
第2章基本数据类型及输入输出

2.整型变量的分类 除了使用基本类型符为int定义整型变量之外,在int前 还可以加上各种修饰符,根据数值的范围将变量定义为以下 3类整型变量: (1)基本整型,用int定义。 (2)短整型,用short int定义或short定义。 (3)长整型,用long int定义或long定义。 其中,每一类又分为无符号(unsigned)和有符号(signed) 两种情况。一般定义变量时不加unsigned和signed,C语言 默认类型是signed。因此,有以下6类整型变量: (1)有符号基本整型 [signed] int (2)无符号基本整型 unsigned int (3)有符号短整型 [signed] short [int] (4)无符号短整型 unsigned short [int] (5)有符号长整型 [signed] long [int] (6)无符号长整型 unsigned long [int]
【例题2.3】 以十进制形式输出八进制整数和十六进制整数 /* file2_3.c */ #include <stdio.h> void main ( ) { printf("\n %d %d %d %d %d",-021,0x134,0xADE,056,0x23); }
2.3.2整型变量 1.整型数据在内存中的存放形式 虽然编写程序时可以使用十进制、八进制和十六进 制的数据,但是,所有数据在内存中都是以二进 制形式存放的。如果定义了一个整型变量num: int num=12; 则十进制数12的二进制形式为1100,在IBM PC系 列机上使用的C编译系统,每一个整型变量在内 存中占2个字节(16bit)。
3、一般标识符(用户标识符) 用户自己定义的变量名、常量名和函数名等。 一般标识符由字母、数字和下划线组成,且第一个位置只 能取字母或下划线。 在C语言中构成自定义的标识符必须符合下列语法规则: (1) 标识符必须以字母(a~z或A~Z)或下划线( _ )开头。 (2) 在第一个字符之后,可以是字母、数字(0~9)和下 划线组成的字符序列,这个序列可以是空串。 (3) C语言中大小写字母是具有不同含义的,即代表不同 的标识符。 (4) 在不同的系统中标识符字符的有效位数不同。 (5) 标识符不能使用系统的保留字。
02第02章 基本数据类型及输入输出

§2.3基本数据类型(Fundamental data type)
程序中数据分为变量或常量,每个变量或常量都有确 定的数据类型。 数据类型
基本数据类型 非基本数据类型 数 组 指 针 空类型 结 构 联 合 枚 举 类 type[ ] type * void struct union enum class
功能 置基数为10 置基数为16 置基数为8 设置填充字符为c 设显示小数精度为n位 设域宽为n个字符 左对齐 十六进制数大写输出
……………………………………………………….
例1、设置输出宽度
cout << setw(8) << 10 << 20 << endl; 输出结果是: _ _ _ _ _ _1020 若数值10和20均按照宽度8输出,则 cout << setw(8) << 10 << setw(8) << 20 << endl; 输出结果是: _ _ _ _ _ _ 10_ _ _ _ _ _20 如果一个值的位数大于setw(n)确定的宽度位 数,则按原宽度输出 。 float amount = 4.53671; count << setw(4) <<amount <<endl; 输出结果是: 4.53671
整
型
int char wchar_t float double
单字符型 字符型 宽字符型
实 型
单精度型 双精度型
bool
逻辑型
类型修饰符 Short long
signed
unsigned
§2.4变量定义(Variable declaration)
第2章 数据类型和输入输出

整型类型标识符:int
类型修饰符:long, short, signed , unsigned c++规定: char <= short int <= int <= long int
13
2.2 基本数据类型
1、整型int
第二章 数据类型和输入输出
徐素锦
本章主要内容
2.1 字符集与保留字 2.2 基本数据类型 2.3 变量定义 2.4 常量 2.5 常量定义 2.6 I/O控制流 2.7 printf与scanf 作业
2
学习目标:
熟悉C++的关键字 理解定义数据类型的意义,逐步掌握基本 数据类型 弄清数据类型与变量、常量的关系 掌握变量的定义和使用方法 掌握各种字面量的性质和定义 掌握C++的输入输出方法 了解printf和scanf输出输入的使用方法
在32位编译器中: short int、signed short int、unsigned short int
15 8 7 0
有符号短整型占用两个字节存储空间 -215~215-1(-32768~32767)
int、signed int、unsigned int long int、signed long int、unsigned long int
系统默认为signed int ,在数字后加u, U或l, L可以表 示unsigned int和long int。 123,123L,658u
30
2.4 字面量
[示例]
在16位计算机上输出: size of int is 2 在32位计算机上输出: size of int is 4
C语言第2章数据类型与简单输入输出

2.1 C语言的数据类型
一个程序应包括数据结构和算法。 数据结构是在程序中要指定数据的类型和数据的组织形式。 算法是如何对数据结构进行处理达到编程者的目的的想法, 由于每个人的想法不一样,所以程序代码有可能不相同, 但最后都能达到自己的目的。根据不同的编程语言,程 序的概念可以这样表示: 程序=算法+数据结构+程序设计方法+语言环境
“\\123\101”共有5个字符占6个字节, 其中\\、\101分别代表一个Βιβλιοθήκη 符,输出为\123A2.2常量
例2.1 字符型常量与整型常量混合使用实例。 要求编程输出字符“#”以及其ASCII码值,求'a'+1的值和输出其 ASCII字符,输出整数65以及该数字所对应的ASCII字符。
main() { printf("%c , %d \n" , '#' , '#' ) ; printf("%c , %d \n", 'a'+1, 'a'+1 ) ; printf("%c , %d \n" , 65 , 65 ) ; } 运行结果如下:
2.2常量
例2.2宏定义的使用 #define PI 3.14159 /*宏定义命令定义PI 为3.14159*/ main() { float s,r; /*s,r定义为实型变量用来存放实型数据*/ r=5; /*5赋值给r*/ s=PI*r*r; printf("s=%f\n",s); } 运行结果为:
不同类型的数据代表不同的 数据表示形式 合法的取值范围 占用内存空间大小 可参与的运算种类
第二讲 基本数据类型与输入输出

printf()
printf(格式控制字符串,输出项1,输出项2, );
%d用来输出10进制整数,可以有长度修饰。 %o和%x分别用来以8进制和16进制输出,此时均为 unsigned。 %u用来以无符号10进制整数方式输出。 %c用来以字符方式输出。 %s用来以字符串格式输出。 %f用来以小数方式输出。 %e用来以指数方式输出。
变量
变量是指程序在运行时其值可改变的量。每个变量由 一个变量名惟一标识,同时,每个变量又具有一个特定的 数据类型。不同类型的变量在内存中占有存储单元的个数 不同。
[修饰符]
数据类型
变量名; [//注释]
注意: 变量名的命名规则; 定义变量时必须指明它的数据类型,否则会导致编译错误。 数据类型决定了变量占用存储空间的大小、数值范围,以 及作用于其上的操作。 变量的初始化 int buffer (1024);(显式和隐式赋值) 变量使用之前一定要定义或说明 。
字符串常量
1. 字符串常量是由一对双引号括起来的零个或多个字 符序列。 2. 字符串可以写在多行上,不过在这种情况下必须用 反斜线‘\’表示下一行字符是这一行字符的延续。 3. 字符串常量实际上是一个字符数组,组成数组的 字符除显示给出的外,还包括字符结尾处标识字 符串结束的符号‘\0’,所以字符串“abc”实际上 包含4个字符:‘a’、‘b’、‘c’和‘\0’。 4. 需要注意的是‘a’和“a”的区别,‘a’是一个字符 常量,在内存中占一个字节的存储单元,而“a” 是一个字符串常量,在内存中占两个字节,除了 存储‘a’以外,还要存储字符串结尾符‘\0’。
常量
常量是指在程序运行过程中其值不能改变的量。 字符型常量通常用一对单引号括起一个字符来表 示,例如:‘f ’,‘8’,‘ ’ (空格符)和‘*’ 等。 字符串常量是由一对双引号括起来的零个或多个 字符序列。 “abc”实际上包含4个字符:‘a’、 ‘b’、‘c’和‘\0’。 ‘a’和“a”的区别 符号常量 #define pi 3.14
第二章基本数据类型与输入输出

• bool类型仅适用于C++,C语言中没有该 类型
浮点型 3-1
• 在十进制数中,通常一个浮点数可以用 科学计数法表示,如-306.5写成 0.3065103 其中指数3为阶或阶码,之所以称之为浮 点数,因为它也可以表示成 或 3.065102 0.300651,04 小数点可以左右“浮动”。
型又可细分为: 无符号整型: unsigned int 无符号短整型: unsigned short 无符号长整型: unsigned long
整型 ( int Types ) 5-4
• 整型数表示范围
– 编译器的机器字长总是与整型的位长有关.如: 32位编译器的整型数一定为32位长
整型字面值分八进制,十进制和十六进制不同表示 .如:
• C++数据类型分为两大类:
– 基本数据类型:整型、字符型、浮点型 – 非基本数据类型: 数组
结构 联合 枚举 指针 类 (Class) 空类型(Void)
数制
• 十进制数
十进制由0~9十个数字组成,运算规则是逢十进一。
• 二进制数 二进制的基数是2,所使用的数字只有:0和1。运算规 则是逢 二进一。
• 不能将单个字符的字符串常量赋给字符 变量。
– 如 char c;
c = “a” //error
• 枚举常量— 是一种用于表示各个枚举值 的符号常量。
• 枚举常量通过建立枚举类型来定义。
– 如 enum COLOR{RED,BLUE,GREEN}
• 在内存中,枚举常量对应表示为一个整 型数,第一个枚举值的默认值是0。但不 能将整数赋给枚举型变量。
第二章数据类型及其输入输出

① 定义方法: char 变量名列表 char c1,c2,c3; ② 取值范围-- ASCII码字符集中的字符。 char c1,c2; c1=‘e’; c2=‘3’
注意:字符串常量不能被赋值到字符变量中,因为字符变量只 能容纳一个字符。 区别:‘a’ “a”
数据的输入和输出
C语言中,在stdio.h头文件中定义了标准输入输出函数。
最高位
最高位是符号位,其为0时是正数,为1时是负数。
加1
⑵分类 根据数值的范围可以把变量定义成基本类型、短整型和长整型。 ①基本类型:用int 标识 ②短整型 : 用short int 标识( short )
③长整型 : 用标识( long )
进一步修饰,修饰符 (无符号数) signed (有符号数)
2
2 2 3
左 右
左 右 左 右 右 左
14
15
= *= /= += …… <<=
,
>>=
2
2
右 左
左 右
表达式
一、C表达式:由C运算符和运算对象构成的式子。 运算对象可以是常量、变量、函数或表达式。
二、 表达式的书写原则
(1)C语言的表达式只能采用线性的形式书写。 例如:
1 3 i j ① 应写成1/3+i+j*j*j。 3 ab ② e f 应写成(a+b)/(c+d)*e+f。 cd
2、自增操作符和自减操作符 格式: ++i,i++ --i, i-作用:是使自变量i的值加1或减1,相当于i=i+1或i=i-1。
前置自增或前置自减操作:表示先修改操作数使之增1或减1, 然后取修改后的操作数的值作为表达式的值。 后置自增或后置自减操作:表示在表达式中先取操作数的值, 然后再将操作数值增1或减1。 例如: j=i++; j的值为3(首先将i的原值赋给j,然后i自身再加1) j=++i; j的值为4(i自身先加1,然后再将加1后的值赋给j)
第2章内置数据类型与基本输入输出

float accountBalance, taxRate;
//用户相应(Y or N) char response; //是否找到相应的账号
bool found = false;
22 22
现在你正浏览到当前第二十二页,共五十五页。
空格符(blank) 制表符(tab) 回车换行符(enter)
注意:
空白符不是基本符号,在程序编译时,将被忽略。 主要作用是:
使程序的层次分明、可读性更强。
8现在你Biblioteka 浏览到当前第八页,共五十五页。int mgAge; float myWeight; myAge=10;myWeight=30.1;
例2-6说明掌握这些性质的重要性
27 现在你正浏览到当前第二十七页,2共7五十五页。
字符常量和变量
ASCII码
字符常量:
括在单引号中的字符被称为字符常量,如
‘A’,’a’,’3’,’@’,’_’等. 特殊字符的表示:转移字符‘\’ 字符的整数表示 八进制表示: \ddd,1到3位八进制数ddd为ASCII码所代
//申明两个短整型变量row,colomn
31 31
现在你正浏览到当前第三十一页,共五十五页。
实数类型常量和变量
实数常量 两种表示法:
带小数点的表示法:.5 .025 2. 625. 3.88 +7.56
科学计数法
以实数10的幂表示的数 2.5E-28 -27E18 18e10 1e-10
15声明是一个将标识符与一个数据对象常量和变量的统称一个函数或一种数据类型相联系的语句可以理解为起名的一个过程以后程序员就可以使用标识符来指代数据对象函数或数据类型16constdoublepi314159
第2章数据类型、运算符、输入输出和控制结构

第2章数据类型、运算符、输入输出和控制结构第2章数据类型、运算符、输入输出和控制结构2.1简述标识符定义。
指出下列用户自己定义的标识符中哪些是合法的?哪些是非法的?如果是非法的,为什么?答:xy √Book√3ab×(“3”) x_2 √switch×(保留字)integer√page-1×(“-”) _name√MyDesk√#NO×(“#”)y.5×(“.”) char×(保留字)2.2. C++语言中有哪些数据类型?2.3 什么是常量?什么是变量?答:程序执行过程中,值不能被改变的量称为常量。
程序执行过程中,值可以改变的量称为变量2.4下列常量的表示在C++中是否合法?若合法,指出常量的数据类型;若非法,指出原因。
答:-123 √0321√.567√ 1.25e2.4 ×(指数部分有“.”)32L√'\t'√"Computer"√'x'√"x"√'\85'×(85不是八进数)2.5 字符常量与字符串常量有什么区别?答:C++中字符常量为用单引号括起来的单个字符,而字符串常量为用双引号括起来的多个字符,且字符串最后加入结束标志'\0'。
2.6 求出下列算术表达式的值:(1)x+a%3*(int)(x+y)%2/4 设x=2.5,y=4.7,a=7答:按优先级先计算强制类型转换:(int)(2.5+4.7)=7再按左结合性计算:a%3*7%2/4=7%3*7%2/4=1 *7 % 2/ 4=7%2/4=1/4=0最后计算x+0=2.5+0=2.5(2)(float)(a+b)/2-(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5答:按优先级先计算强制类型转换:(float)(a+b)/2=5.0 /2=2.5(int)x%(int)y=(int)3.5%(int)2.5=3%2=1最后计算(float)(a+b)/2-(int)x%(int)y=2.5-1=1.5(3)'a'+x%3+5/2-'\24' 设x=8答:'a'+x%3+5/2-'\24'=97+8%3+5/2-20=97+2+2-20=81 ‘\24'=024=2*8+4=202.7 写出以下程序的运行结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013-8-8
2.3 变量定义
变量的命名规则 不能是C++关键字; 只能由字母、数字或下划线组成; 第一个字符必须是字母或下划线; 中间不能有空格; 变量名长度不能超过编译器规定的长度,一般以 不超过31个字符为宜 不要与C++的库库函数名、类名、对象名相同 合法变量名: a、 b1、 _area、m_nCount 不合法变量名: 1-name、 student one、 float
2013-8-8
18
2.4 字面量
字面量:各种数据在编程时的具体表示
整型数(即整型字面量,3种表示形式): 十进制数:123;-345,0 八进制数:以0开头的整数:0123表示八进制数(123)8,等 于十进制数83 十六进制数:以0X或0x开头的整数:0X123;0x123,等于 十进制数291
7.65f 7.65 7.65L 7.65l
2013-8-8
//float型 //double型 //long double型 //long double型
3.5e21f 3.5e21 3.5e21L 3.5e400
//float型 //double型 //long double型 //long double型
SPC
! " # $ % &
45
46 47 48 49 50 51
. / 0 1 2 3
58
59 60 61 62 63 64
:
; < = > ? @
2013-8-8
23
字符的ASCII码(了解)
ASCII 65 66 67 68 69 70 字符 A B C D E F ASCII 78 79 80 81 82 83 字符 N O P Q R S ASCII 91 92 93 94 95 96 字符 [ \ ] ^ _ ` ASCII 104 105 106 107 108 109 字符 h i j k l m ASCII 117 118 119 120 121 122 字符 u v w x y z
计算机只能存放二进制数据。
不同类型的数据占据不同长度的存储单元。 不同类型的数据对应不同的值域范围。 不同类型的数据对应不同的操作(运算)及规则。 如整型:int 4字节 范围-2147483648~2147483647(32位处理器)
2013-8-8
5
C++数据类型如下
基本数据类型:C++内部定义的数据类型 非基本数据类型:由基本数据类型组合而成或用户自定 义的数据类型。
2013-8-8
17
2.3变量的定义
typedef 为一个已有类型名提供一个同义词; 并不实际定义一个新的类型,并不单独分配内存空 间,只起到帮助理解的作用;
语法规则:typedef 类型名 新类型名;
typedef double profit; typedef int INT,integer; INT a; Profit d;
long int ( 简写 long, -231~231-1 ) signed long int ( -231~231-1) unsigned long int(0~232-1)
基本整型(四字节)
长整型(四字节)
例:32位 vc++6.0
2013-8-8 8
例:整型数据的溢出
#include <iostream.h> int main() { short a, b; a=32767; b=a+1; cout<<"a="<<a<<endl<<"b="<<b<<endl; return 0; }
2013-8-8 9
基本数据类型----字符型、布尔型
字符型(占一个字节)
71
72 73 74 75 76 77
G
H I J K L M
84
85 86 87 88 89 90
T
U V W X Y Z
97
98 99 100 101 102 103
a
b c d e f g
110
111 112 113 114 115 116
n
o p q r s t
123
124 125 126 127
第二章 基本数据类型与输入输出
授课教师:***
第二章 数据类型和输入输出
2.1 字符集与保留字 2.2 基本数据类型 2.3 变量定义 2.4 字面量 2.5 常量 2.6 I/O流控制 2.7 printf与scanf
注:红色重点必讲,蓝色一般讲授,黑色可不提
2013-8-8
2
学习目标
熟悉基本数据类型 理解变量、常量的概念 掌握各种常量的性质和定义 学会I/O流的使用 了解printf和scanf输入输出的作用
单精度实型变量只能保证7、8位有效数字,后面数字是无 意义的,并不能准确地表示该数
因此应避免将一个很大的数和一个很小的数直接相加或相 减,否则就会“丢失”小的数 2013-8-8
12
补充:
C++强类型语言—要求程序设计者在使用数据之前对数 据的类型进行声明。 用sizeof (数据类型)可以确定数据类型的字节长度
2013-8-8
22
字符的ASCII码(了解)
ASCII
0 1
字符
NUL SOH
ASCII
13 14
字符
CR SO
ASCII
26 27
字符
SUB ESC
ASCII
39 40
字符
' (
ASCII
52 53
字符
4 5
2
3 4 5
STX
ETX EOT ENQ
15
16 17 18
SI
DLE DC1 DC2
Signed 和unsigned只能修饰char和int。默认(缺省) char和int为有符号;实型数总是有符号的,不能用 unsigned修饰
2013-8-8
7
基本数据类型----整型
注:各数据类型所占的字节数与计算机、编译器等相关
短整型(两字节)
short int( 简写 short ,-32768 ~ 32767即-215~215-1 ) signed short int (-215~215-1 ) unsigned short int( 0~65535即0~216-1 ) int( -231~231-1) signed int ( -231~231-1) unsigned int (0~232-1)
整型int 字符型char 基本数据类型 实型 数据类型 (图2.1) 单精度型float 双精度型double
逻辑型bool
数组type [] 非基本数据类型
指针type *
空类型void 结构struct 联合union 枚举enum
6
类class
2013-8-8
数据类型修饰符:
short:只能修饰整型(int) long:只能修饰int和double。long int可简写为long Signed:有符号 Unsigned:无符号
char( -27~27-1 )
signed char( -27~27-1 )
unsighed char( 0~28-1)
布尔型(bool):即逻辑型,占用一个字节
0表示false,1表示true (C无此类型)
2013-8-8
10
基本数据类型----实型
实型:实型数据一般按照指数形式存储。系统把实型数据分 成小数部分和指数部分,分别存放。 float(浮点型,4字节,有效数字7位) double(双精度,8字节,有效数字15位) long double(长双精度,10字节,有效数字19位)
十进制数有正负之分,八进制和十六进制只能表示无符号整 整数后面加L或l表示long int 整数
2013-8-8 19
2.4 字面量
实型数(即实型字面量,2种表示形式|):
小数形式:12.3;.345;0.56 指数形式:以0开头的整数123e5,123E5,e或E前面必须 有数字,后面的指数必须是整数 如 :e5 3.4e5.5 e .e5 //非法 C++中如果没有任何说明,表示double 型,实数后加f或F表 示float型;实数后加L或l表示long double
2013-8-8 16
2.3变量的定义
变量必须先定义后使用 定义方式:
变量类型 变量名列表;
int a, b, c, numberOfStudent;
变量赋值与初始化
用运算符‚=”给变量赋值 int numberOfStudent; numberOfStudent=80; 定义并初始化: int numberOfStudent=80, a=5; int numberOfStudent=80, a, b;
注意:用户定义的标识符(名字)不能与c/c++关键字有相 同的拼法和大小写。关键字也不能重新定义!
2013-8-8 4
2.2基本数据类型
程序是针对数据进行处理的,对各种数据进行处理之前都 要对其类型预先加以说明,其目的是:
便于为这些数据分配相应的存储空间 说明了程序处理数据时应采用何种具体运算方法
20
2.4 字面量