C++数据类型和输入输出
十进制数有正负之分,八进制和十六进制只能表 示无符号整数 整数后面加L或l表示long int 整数
234L 234l
第四节 字面量
实型数(p17)
实型数
即实型字面量,2种表示形式: 小数形式:12.3;.345;0.56 指数形式:123e5,123E5,e或E前面必须有数字, 后面的指数必须是整数 e5,3.4e5.5,e,.e5 //非法 C++中如果没有任何说明,表示double 型,实数后 加f或F表示float型;实数后加L或l表示long double
第四节 字面量
字面量:各种数据在编程时的具体表示
第四节 字面量
整型数(p17)
整型数
即整型字面量,3种表示形式: 十进制数:123;-345,0 八进制数:以0开头的整数:0123表示八进制数 (123)8,等于十进制数83 十六进制数:以0X或0x开头的整数:0X123; 0x123,等于十进制数291
c/c++程序设计
上海大学通信与信息 工程学院
2013-10-9
第二章 数据类型和输入输出
第一节 标识符与关键字
第一节 标识符与关键字
标识符
标识符是由程序员定义的单词,用以命名程序中的变量 名、函数名、常量名、类名和对象名等等。
标识符由字母、数字和下划线组成,以字母或下划线开 头。 注意C/C++中大小写字母被认为是两个不同的字符,即 所谓的大小写敏感。
第二节 基本数据类型
整型数表示范围
2字节
0
整型 short int、signed short int、unsigned short int
15 8 7
短整型/有符号短整型:-215~215-1(-32768~32767)
无符号短整型:0~216-1(0~65535)
int、signed int、unsigned int long int、signed long int、unsigned long int
a b c n,i x,y s sz p lp h fn m_ C
第三节 变量
第三节 变量的定义(p16)
变量的定义
变量必须先定义后使用; 定义方式: 变量类型 变量名列表;
int a,b,c,numberOfStudent;
变量赋值与初始化 用运算符“=”给变量赋值
int numberOfStudent; numberOfStudent=80; 定义并初始化: int numberOfStudent=80,a=5; int numberOfStudent=80,a,b;
由于在C/C++系统库中使用的很多符号都是以下划线开 头的,因此程序员最好不要定义以下划线开头的标识符, 以免和系统库中的符号冲突。
第一节 标识符与关键字
关键字(p12)
关键字:也称保留字,是C++预先定义好的标识符 C定义了32个关键字: int float long short do for if while …… C++补充了29个关键字: friend inline new private public ……
第二节 基本数据类型
整型数的溢出
整型
#include <iostream.h> int main() { short a, b; //a和b都是有符号数,最高位为符号位 a=32767; b=a+1; //加1以后,不是等于36728,而是-36728 cout<<"a="<<a<<endl<<"b="<<b<<endl; return 0; }
-27 ~ 27-1 (-128 ~ 127)
A
65
a
97
第二节 基本数据类型
实型数
float(4字节) double(8字节) long double(10字节) 实型数据一般按照指数形式存储。系统把一个实型数 据分成小数部分和指数部分,分别存放。 float占用四个字节存储空间,7位有效位 -3.4×1038~3.4×1038
负数的二进制表示用补码,补码等于该数的反码加1
第二节 基本数据类型
字符型与布尔型
字符型(char、signed char、unsighed char): 总是占一个字节
布尔型(bool):即逻辑型,占用一个字节存储空间,0 表示false,1表示true (C无此类型)
7 0
字符型占用一个字节存储空间
第二节 基本数据类型
数据类型修饰符
数据类型修饰符:
short:只能修饰整型(int) 2字节 long:只能修饰int和double。 long int可简写为long: 4字节 long double: 10字节 Signed 和unsigned只能修饰char和int。默认char和int为有符号; 实型数总是有符号的,不能用unsigned修饰
第二节 基本数据类型
Sizeof运算符(2)
例:输出不同数据类型的字节数
第三节 变量
第三节 变量
变量的概念
什么是变量
定义:程序运行期间其值可以改变的量称为变量。
变量的理解
变量名实际上是一个符号地址,在对 程序编译连接时由系统给每一个变量 名分配一个内存地址。 在程序中从变量中取值,实际上是通 过变量名找到相应的内存地址,从其 存储单元中读取数据。 变量有一个名字,并在内存中占据一 定的存储单元。 变量名与变量值是两个不同的概念。
负数: -32768~-1 1000 0000 0000 0000~1111 1111 1111 1111 0和正数: 0~ 32767
0000 0000 0000 0000 ~0111 1111 1111 1111
16位无符号整数表示范围: 0~65535 0000 0000 0000 0000 ~1111 1111 1111 1111
7
8 9 10
BEL
BS HT LF
20
21 22 23
DC4
NAK SYN ETB
33
34 35 36
!
" # $
46
47 48 49
.
/ 0 1
59
60 61 62
;
< = >
11
12
VT
FF
24
25
CAN
EM
37
38
%
&
50
51
2
3
63
64
?
@
第四节 字面量
ASCII码字符集
ASCII 65 66 67 68 69 70 71 72 73 74 75 76 77 字符 A B C D E F G H I J K L M ASCII 78 79 80 81 82 83 84 85 86 87 88 89 90 字符 N O P Q R S T U V W X Y Z ASCII 91 92 93 94 95 96 97 98 99 100 101 102 103 字符 [ \ ] ^ _ ` a b c d e f g ASCII 104 105 106 107 108 109 110 111 112 113 114 115 116 字符 h i j k l m n o p q r s t ASCII 117 118 119 120 121 122 123 124 125 126 127 字符 u v w x y z { | } ~ DEL
第三节 变量
Typedef(p16)
typedef
为一个已有类型名提供一个同义词; 并不实际定义一个新的类型,并不单独分配内存 空间,只起到帮助理解的作用; 语法规则:
typedef 类型名 新类型名; typedef double profit; typedef int INT,integer; INT a; Profit d;
01 89 31
符 号 指数部分 位
尾数部分
浮点型存储格式
第二节 基本数据类型
sizeof运算符(1)
C++强类型语言—要求程序设计者在使用数据之前对数据的类型 进行声明。
用sizeof (数据类型)可以确定数据类型的字节长度
cout<<“size of int is “<< sizeof (int)<<endl; 在16位计算机上输出: size of int is 2 在32位计算机上输出: size of int is 4
输出:98 a
第四节 字面量
ASCII码字符集
American Standard Code for Information Interchange
ASCII 字符 0 1 2 3 4 5 6 NUL SOH STX ETX EOT ENQ ACK ASCII 13 14 15 16 17 18 19 字符 CR SO SI DLE DC1 DC2 DC3 ASCII 26 27 28 29 30 31 32 字符 SUB ESC FS GS RS US SPC ASCII 39 40 41 42 43 44 45 字符 ' ( ) * + , ASCII 52 53 54 55 56 57 58 字符 4 5 6 7 8 9 :
用户定义的标识符(名字)不能与c/c++关键字有相 同的拼法和大小写。关键字也不能重新定义!
第二节 基本数据类型
第二节 基本数据类型
程序是针对数据进行处理的,对各种数据进行处理之前都要对其 类型预先加以说明,其目的是: