第2章C++语言基本数据类型与表达式1

更新时间:2023-07-21 20:40:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第二章 数据描述C语法基础 数据类型 常量与变量 不同类型数据间的转换 运算符和表达式

2.0 C语言的语法基础2.0.1、语言字符集C语言的基本符号可分4个类,归纳如下: (1)英文字母:大小写各26个,共计52个; (2)阿拉伯数:0、1、2、3、4、5、6、7、8、9 共10个数字;

(3)下划线: _

;

(4)特殊符号:通常由1~2个符号组成,主要用 来表示运算符。第二章 2.1 C语言数据类型

例如:算术运算符:+ - * / % 关系运算符: <> >= ! ~ ^ >> <<

++<=

-== !=

逻辑运算符: && || 位运算符: 条件运算符: 其他分隔符:& ?: () |

和赋值运算符:= [] {} . , ;

第二章 2.2 C语言简介

2.0.2 关键字具有特定含义的标识符,用户不能用来作自 定义标识符。 C语言中的关键字较少

(1)与数据类型有关的(14): char int float double signed unsigned short long void struct union typedef enum sizeof第二章 2.2 C语言简介

(2)与存储类别有关的: auto extern register

static

(3) 与程序控制结构有关的(12): do while for if else switch case default goto continue break return

第二章 2.2 C语言简介

2.0.3 标识符(*)用来标识变量名、符号常量名、函数名、类 型名、文件名等的有效字符序列。定义规则: (1)标识符只能由字母、数字和下划线三种字符组成,且第一个字符 必须为字母或下划线。 (2)在C++语言中,大小写字母不等效。

优秀程序员的素质: (3)用户自定义的标识符不能与保留字(关键字)同名。 (4)长度:最长32个字符 标识符定义做到:见名知意例:判断下列标识符号合法性 sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char a>b _above $123 a>b第二章 2.2 C语言简介

布尔 bool

§2.1 数据类型 数据类型总表基本类型

字符类型 char 短整型short 整 型 整型int 长整型long

实型

单精度型float 双精度型double

数组C 数 据 类 型 结构体struct

构造类型

共用体union 枚举类型enum

数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作

指针类型

空类型void

<

>

定义类型typedef

Example: 基本数据类型类型 符号 关键字 数的表示范围 所占位数 main( ) (signed)int 16 -32768~32767 { 有 (signed)short 16 -32768~32767 printf(“char:%d字节\n”,sizeof(char)); 32 (signed)long -2147483648~2147483647 整 printf(“float:%d字节\n”,sizeof(float)); 型 unsigned int 16 0~65535 } 16 无 unsigned short 0~65535 结果显示: char:1字节 32 unsigned long 0~4294967295实 型 有 有 float double

float:4字节

32 64

字 有 8 char 符 8 unsigned char 型 无 求某一类型数据所占存储字节数,可用运算符: 说明:数据类型所占字节数随机器硬件不同而不同,上表以IBM PC机为例:

3.4e-38~3.4e38 1.7e-308~1.7e308 -128~127 0~255

sizeof(类型关键字)< >

C 语 言 程 序 设 计

int型: 01 11 11 10 00 00

11 11 11 11 00 00 00 00

11 00

最大:32767 最小:-32768

unsigned int型: 11 11 1100 00 00第 二 章 数 据 描 述

11 11 11 11 00 00 00 00

11

最大:65535

00 最小:0

常量 定义:程序运行时其值不能改变的量(即常数) 分类: 符号常量:用标识符代表常量 定义格式: #define 符号常量 常量 一般用大写字母 例 符号常量举例(ch2_1.c) 如 #define PRICE 30 是宏定义预处理命令,不是C语句 直接常量: #define PRICE 30 整型常量 > main() 运行结果:total=300 实型常量 > { 字符常量 > int num,total; 字符串常量 > num=10;

total=num*PRICE; printf("total=%d",total); }

C 语 言 程 序 设 计

整型常量(整常数) 三种形式: 十进制整数:由数字0~9和正负号表示.如 123,-456,0 八进制整数:由数字0开头,后跟数字0~7表示.如0123,011 十六进制整数:由0x开头,后跟0~9,a~f,A~F表示. 如0x123,0Xff

第 二 章 数 据 描 述

整型常量的类型 问题: 问题: 根据其值所在范围确定其数据类型 0123 = (( 83 ))10 0123 = 10 在整常量后加字母l或L,认为它是long int 型常量 0x123 = (( 291 ))10 0x123 = 10 例 30000= 为int型 ))10 0Xff = (( 255 10 0Xff 12 与 12L 例65536 为long int 型

<

C 语 言 程 序 设 计

数制 数码 基 权

十进制数 0~9 10

二进制数 0~1 2

八进制数 0~7 88º ,8² ,8¹ ,…

十六进制数

0~9,A~F,a~f1616º ,16¹ ,16² ,…

10º ,10¹ ,10² ,… 2º ,2² ,2¹ ,…

表示第 二 章 数 据 描 述

十六进制:81AE=8 16³ +1 2¹ 八进制:4275=4 8³ +2 8² +5 8º 二进制:1011=1 2³ +9 10²+5 10¹ +14 16º 十进制:4956= 4 10³ +1 16²+10 16¹ +0 2²+7 8¹ +6 10º +1 2º 逢十进一 逢二进一 逢八进一 逢十六进一

特点

C 语 言 程 序 设 计

实型常量(实数或浮点数) 表示形式: 十进制数形式:(必须有小数点) 如0.123, .123, 123.0, 0.0, 123. 指数形式:(e或E之前必须有数字;指数必须为整数) 如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5表示12.3×103

实型常量的类型第 二 章 数 据 描 述

默认double型 在实型常量后加字母f或F,认为它是float 型

<

字符常量 定义:用单引号括起来的单个普通字符或转义字符. 如 ‘a A ? \n \101 字符常量的值 等于 该字符的ASCII码值

转义字符:反斜线后面跟一个字符或一个代码值表示 如 ‘A ——65, ‘a ——97, 转义字符及其含义: , \n ——10 例 转义字符举例(ch2_001.c,ch2_004.c) ‘0 ——48main() 例: 含义 转义字符 ‘\101 ----------- A 转义字符 如 \012 含义 ----------- \n 运行结果:(屏幕显示) A

------- \101 ------- \x41 --------65 { \376 换行 ----------- \t \x61 ----------- a \n A B C 水平制表 printf("\101 ----------- 0 \60 \x42 C\n"); \483 ----------( )are you?” \b 垂直制表 退格 \v printf("I say:\"How are you?\"\n"); Isay:”How \C Program\ \r printf("\\C Program\\\n"); \f 回车 Turbo C 换页 < \a printf("Turbo \'C\'"); \\ 响铃 反斜线 \ } \“ 单引号 双引号

\ddd

例 main() 3位8进制数代表的字符 <

{ printf(“Y\b=\n”); }

\xhh

2位16进制数代表的字符 运行结果: 屏幕显示:= 打印机输出:¥

C 语 言 程 序 设 计

字符串常量 定义:用双引号(“”)括起来的字符序列 存储:每个字符串尾自动加一个 ‘\0’ 作为字 符串结束标志例 字符串“hello”在内存中 例 空串 “”

h e

l

l

o

\0

\0

字符常量与字符串常量不同例 ‘a 第 二 章 数 据 描 述

a

“a”

a \0

例: 例:<

char ch; char ch; ch= A ; ch=“A”;

C 语 言 程 序 设 计

变量 概念:其值可以改变的量 变量名与变量值 变量定义的一般格式: 数据类型 变量1[,变量2,…,变量n]; 变量初始化:定义时赋初值 例: int a=1, b=-3,c; 变量的使用:先定义,后使用 int a,b,c; 决定分配字节数 合法标识符 变量定义位置:一般放在函数开头 和数的表示范围 float data; 地址Ch2_005.c

a地址第 二 章 数 据 描 述

1 -3 …...

…...

2字节 2字节

b地址

编译程序根据变量定义为其 分配指定字节的内存单元

c

2字节

<

>

内存

随机数

2.整型变量(1)整型变量的分类 基本型,以int表示。 短整型,以short int表示,或以short表示。 长整型,以long int表示,或以long表示。

无符号型,其中无符号型又分为无符号整型,无 符号短整型和无符号长整型,分别以unsigned int unsigned short unsigned long表示。第二章 2.2 常量和变量

在将一个整型常量赋给一个整型变量时如何进行类 型匹配?

.短整型常量: 其值在-32768 - +32767范围内,认为它是 int型, 它可以赋值给 int 型和 long int 型变量。 .长整型常量:

其值在-2147483648 - +2147483647范围内,则认 为它是long int型,可以将它赋值给一个long int 型变量。第二章 2.2 常量和变量

例,看看下面程序的输出是什么?main()

{int x;x =10*9*8*7*6*5*4*3*2*1; printf("%d",x); } %Ld

long int x;

运行结果:-3036

第二章 2.2 常量和变量

3、实型变量的分类实型变量的分类 单精度(float)型 双精度(double)型例 float a; a=111111.111; double b; b=111111.111; /* a=111111.1*/ /* b=111111.111*/

占内存 float 4个字节 double 8个字节

有效数字位数 7 15-16

范围 10-37-1038 10-307-10308

第二章 2.2 常量和变量

Example: 4.字符变量

结果:

main() { 97,

98 字符变量用来存放字符常量,注意一个字符变 char c1= a ,c2; 量只能存放一个字符。 c2=98; printf(“%d,%d\n”,c1,c2); } 字符变量存放字符ASCII码 随机值 char与int数据间可进行算术运算 Example: 结果:

例 a= D ; /* a=68; */ -108,98 main() { x= A +5; /* x=65+5; 若让c1分别等于“U”、 */ char c1=“a” ,c2; s= ! + G /* */ c2=98; printf(“%d,%d\n”,c1,c2); s=33+71; “ABC”、“A”…结果 } 不变

没有字符串变量,用字符数组存放>第二章 2.2 常量和变量

本文来源:https://www.bwwdw.com/article/j4cm.html

Top