C语言程序设计第二章-常用数据类型

合集下载

第2章_数据类型、运算符和表达式《C语言程序设计(第三版)》-电子教案

第2章_数据类型、运算符和表达式《C语言程序设计(第三版)》-电子教案

2.2 标识符、常量与变量

符号常量
【例2-1】输入圆的半径,计算周长和面积。 #define PI 3.14159 void main() { float r,c,s; scanf("%f",&r); c=2*PI*r; s=PI*r*r; printf("r=%f,c=%f,s=%f\n",r,c,s); }

以下是合法的整型常量:

2.2 标识符、常量与变量

实型常量

实型常量只能用十进制形式表示 表示形式:


小数形式。由数字序列和小数点组成,如 3.1415926、-0.15、.15、2.等都是合法的实型 常量。 指数形式。由十进制数加上阶码标志“e”或 “E”及阶码组成,如3.14e-4或3.14E-4表示 3.14×10-4。
2.2 标识符、常量与变量

2.2.3 变量


在程序运行过程中,其存储的值可以被改变的量称 为变量 变量必须通过标识符进行说明,称为变量名。 变量名和内存单元地址存在映射关系,程序可以通 过变量名寻址,从而访问其存储的数据。
2.2 标识符、常量与变量

变量的定义和说明

数据类型 变量名1[,变量名2,…,变量名n];
long型转换成float型时由原来可达10位整数变成只有7位有效数字精度丢失但由于数的范围扩大了数据类型从较低级提升到较高级随着竞争日益激烈酒店嘴中的肥肉被大肆抢夺各大酒店在这场竞争中几乎溃不成军
21世纪高等学校精品规划教材
第2章 数据类型、运算符 和表达式



掌握C语言的基本数据类型 掌握标识符、关键字、常量和变量的使用 掌握运算符、表达式以及数据类型之间的转换 等 掌握简单数据的输入输出

C语言教程课件第二章 数据类型、运算符和表达式

C语言教程课件第二章 数据类型、运算符和表达式

例 整型变量的定义与使用
#include <stdio.h> void main() { int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定u为无符号整型变量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf("a+u=%d,b+u=%d\n",c,d); }
例 向字符变量赋以整数。 • 运行结果: #include <stdio.h> a b void main() 97 98 { char c1,c2; c1=97; c2=98; printf("%c %c\n",c1,c2); printf("%d %d\n",c1,c2); }
• 说明:在第4和第5行中,将整数97和98分别赋给c1和c2,它 的作用相当于以下两个赋值语句: c1='a';c2='b'; 因为'a'和'b'的ASCII码为97和98
• 字符型变量用来存放字符常量,注意只能放一个字符。 • 字符变量的定义形式如下:char c1,c2; • 在本函数中可以用下面语句对c1,c2赋值: c1='a';c2='b'; • 一个字符变量在内存中占一个字节; • 将一个字符常量放到一个字符变量中,是将该字符的 相应的ASCII代码放到存储单元中,这样使字符型数据 和整型数据之间可以通用。一个字符数据既可以以字 符形式输出,也可以以整数形式输出。
运行结果: total=300 例2.1 符号常量的使用 #define PRICE 30 #include <stdio.h> void main ( ) 说明:如再用赋值语句给PRICE赋值是错的 { PRICE=40;/*错误,不能给符号常量赋值*/ int num, total; num=10; total=num * PRICE; printf(″total=%d\n ″,total); } 说明: 程序中用#define命令行定义PRICE代表常量30,此后凡在 本文件中出现的PRICE都代表30,可以和常量一样进行运算

《C语言程序设计》(软件技术11级)(第2章)

《C语言程序设计》(软件技术11级)(第2章)

2.1基本字符、标识符和关键字

2.1.3 关键字(保留字) 为系统预定义的标识符,在C语言中有特殊的 含义
void int return float double char long short unsigned if else switch case default break
do while continue for
2.3数据的格式化输出和输入

输入输出函数库: stdio.h printf() scanf() getchar() putchar() gets() puts()




2.3数据的格式化输出和输入
2.3.1数据的格式化输出
学一学
printf( 格式控制,【输出列表】) ;
格式控制是用双引号括起来的字符串,分两种情况: 1.字符串只含有普通字符或转义字符,则不包含输出 列表。(练一练:\*‟\n‟为转义字符,表示换行*\)
结构类型 联合类型 枚举类型
struct union enum
空类型(无值类型) void
2.2数据类型及常数、变量




1.不同类型的数据在内存中占据不同长度的存 储区(字节),且采用不同的表示方式。 2.一种数据类型对应着一个取值的范围 3.一种数据类型对应着一组允许的操作 4.构造类型数据是由基本类型按照一定的规律 构造出来的。 5.C语言的数据又可分为常量和变量,他们都 分别属于上述类型中得一种。
iSum=iPrize1+iPrize2;
printf("该同学的奖学金为:%d\n",iSum);
return 0;
}
2.3数据的格式化输出和输入

电大C语言程序设计 第2章 基本数据类型和表达式

电大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};

C语言程序设计二

C语言程序设计二

int x=10, y=10, z=10 ;
//不能写成int x=y=z=10;
2.2.3 标准函数

C编译系统提供的库函数
− 包括: 输入输出函数、数学函数、字符和字符串函数等。

数学函数 − sin(x) − cos(x) − exp(x)
− log(x)
− log10(x) − fabs(x)
空类型
一种无返回 值函数的数 据类型。 void
自定义
用新的类型 名替代已有 类型名使用。 用typedef 定义
C语言的基本数据类型 整型: 包括有、无符号的基本整型、短整型、长整型 实型: 包括单精度实型、双精度实型 float,double 字符型: 用于表示和存储ASCII字符。 char
2.2
−无符号整数: 用后缀 U/u 表示。
017u, 0xfdbU
−无符号长整数: 用后缀 UL/ul 表示。
15uL
2. 实型常量——浮点数

实型常量又称实数, 指带有小数部分的数。C语言中的实数 是以十进制表示的, 有两种表示形式:
−十进制小数形式:
由数字、数符和小数点组成。
例:
0.123, .123, 123. ,0.0 , -2.5,…
( 存放的是字符的ASCII码值) 字符数据与整型数据可相互赋值,直接运算。 可以把字符变量按整型量输出, 也允许把整型量按 字符量输出。


【例2.4】字符型变量的使用 #include <stdio.h> void main( ) { int a=„b‟; char c1=97; c1=c1-32;
第二章
数据类型、运算符和表达式
§2.1 数据与数据类型 §2.2 常量、变量和标准函数 §2.3 基本运算符及其表达式

C语言学习第二章数据类型

C语言学习第二章数据类型
基本整型:表示范围为0~0177777。 ③十六进制数:
基本整型:表示的范围为0X0~0XFFFF。
2.4.2 整型变量
1.整型变量在内存中的存放形式
以二进制补码的形式存放。
正数:最高位为0,其余各位是该数的二进制表示 负数:最高位为1,其余各位是该数绝对值的二进制
再按位取反加1
2. 整型变量的分类
放一个字符。
下面是对c1、c2赋值: c1=‘a’;c2=‘b’; (实际上其内存中存放的是该字符的ASCII码)
字符变量的初始化,如:char c1=‘a’,c2=‘b’;
2.5.3 字符数据在内存中的存储形式及其使用方法
将一个字符常量放到一个字符变量中,实际上是将该字 符的ASCII代码以二进制形式放到存储单元中。
无符号型:(只能存放0和正整数) ① 基本整型:类型说明符为unsigned int或unsigned
在内存中占2个字节 取值范围为0~2161,即0~65535。 ② 短整型:类型说明符为unsigned short (int) 所占字节和取值范围均同基本整型。 ③ 长整型:类型说明符为unsigned long (int) 在内存中占4个字节 其取值范围是0~2321 即0~4294967295
实型常量也称为实数或者浮点数。 实型常量不分单、双精度,都按双精度double型处理,其有 效位数为(15~)16位。
实型常量的表示方式有:
(1)十进制小数形式
小数形式由数字0~ 9和小数点组成。
当某浮点数整数部分或小数部分为0时,0可以省略,但小 数点不可省略。
例如:
0.0 , .25 ,5.789 ,0.13 ,5.0 , 300. 267.8230 , 123. 等均为合法的实数。

C语言程序设计 第2章 数据类型

C语言程序设计 第2章 数据类型

2.2常量和变量 变量名与变量值的关系:
2.2常量和变量
变量的使用:先定义后使用
变量定义的一般形式:
数据类型 变量名1,变量名2,…,变量名n;
2.2常量和变量
➢ 凡未被事先定义的,系统不把它认作变量名,这就 能保证程序中变量名使用的正确
例:varname,在使用的时候误写成vaname
➢ 在定义变量时要指定变量的类型,在编译时就能为 变量分配相应的存储单元
5
2.2常量和变量
甘草 三七 干姜 葛根
枸杞 人参 陈皮 地黄
山药 当归 谷芽 黄连
贴上标签 加以区分
用标识符给变量起名字
2.2常量和变量 变量命名规则
➢ 只能由字母(a~z,A~Z)、数字(0~9)和下划线(_)构 成
➢ 第一个字符不能为数字 ➢ 不能与关键字同名
例:a9,_a, A_num √ 9a, a*num,int ×
控制语句:控制语句用于控制程序的流程。 C语言提供三类控制语句: ➢ 选择语句 ➢ 循环语句 ➢ 转移语句。 控制语句会在第三章和第四章详细介绍。
2.7 表达式与语句
复合语句: 复合语句由一对大括号括起来的一 条或多条语句组成。 例:{
turnOn(0,3); turnOn(0,4); turnOn(0,5); turnOn(1,4); }
2.7 表达式与语句
表达式语句:表达式末尾加上“;”就构成一条 表达式语句。 例:
s = 3.14 * r * r; 就是一条赋值表达式语句。表达式语句最后的 分号是语句中必不可少的一部分。
2.7 表达式与语句
函数调用语句:函数调用语句由函数调用加分 号构成。 例:
turnOn(1,1);

C语言第02章 数据类型、运算符与表达式

C语言第02章 数据类型、运算符与表达式

回到 首页
运算符和结合性 P325,附录3
2.8 算术运算符和算术表达式
3、自增、自减运算符
自增运算符++和自减运算符--均是单目运算符, 功能是使变量的值增1或减1。其优先级高于所有 双目运算符,结合性为右结合性(自右至左)。
回到 首页
例如:++i或i++ 等价于i=i+1; --i或i-- 等价于i=i-1;
2.7数值型数据之间的混合运算
回到 首页
1、整型、实型、字符型数据之间可以混合运 算
整型(包括int,short,long)和实型(包括float,double)数据可 以混合运算,另外字符型数据和整型数据可以通用,因此,整 型、实型、字符型数据之间可以混合运算。 例如,表达式10+'a'+1.5-8765.1234*'b'是合法的。
2.9赋值运算符和赋值表达式
1、赋值运算符和赋值表达式
赋值运算符:“=”为双目运算符,右结合性。 赋值表达式:由赋值运算符组成的表达式称为赋值表达 式。 赋值表达式一般形式: 变量 赋值符 表达式 如 a=5 类型转换:将高精度的数据类型赋值给低精度的数据类 型,可能出错。
回到 首页
2.9赋值运算符和赋值表达式
2.8 算术运算符和算术表达式
3、自增、自减运算符
回到 首页
y=++x;等价于先计算x=x+1(结果x=6),再执行y=x,结果y=6。 y=x++;等价于先执行y=x,再计算x=x+1,结果y=5,x=6。 y=x++*x++;结果y=25,x=7。x++为后缀形式,先取x的值进行“*” 运算,再进行两次x++。 y=++x*++x;结果y=49,x=7。

2 C语言 第二章数据类型、表达式

2 C语言 第二章数据类型、表达式

说明
在整型常量尾部加上字母1或 时 在整型常量尾部加上字母 或L时,则 表示长整型常量.比如: 表示长整型常量.比如:18L或18l 或 整型(int)常量的值在 32768~32767之间 常量的值在 整型 之间 长整型(long int)常量的值在 长整型 常量的值在 2147483648 ~ 2147483647之间 之间
三位八进制 001 000 001 二进制 ( (用十进制表示为65) 65)
A' 如 \ 101 –– 表示字符'A' 又: \ x hh
用1到2位16进制数表示的 到 位 进制数表示的 进制数表示的ASCII码对应的字符 码对应的字符
如 \ x 41–– 表示字符'A'
0100 0001 二进制 (用十进制表示为65)
注意: 注意: 实型变量的有效数字的长度视机器而定 例如: 例如: pc机, 单精度一般为7位, 双精度15位 于是: float a; a=123456.789 则实际赋值a←123456.7 单精度表数范围: 单精度表数范围 10–38~1038 双精度表数范围: 双精度表数范围 10–308~10308 实数可以赋给float或double型变量.
对于较大或较小的数,可用指数形式 0.0000126 1260000 1.26E –5 1.26E+6 或1.26E6
' E ', 'e ' 均可, 表示以10为基数.E或e之前必须要 有数字,称为尾数部分或数码部分.规范化的尾数是将 小数点固定在第一位有效数字之后.ddd称为指数,指数 最多可达3位整数.
2.4.2 实型变量
分为单精度型 双精度型 单精度型与双精度型 单精度型 双精度型. 例如: 例如: float x, y, z ; 定义x, y, z为单精度变量. double a, b, c ; 定义a, b, c为双精度变量. 一般地: 单精度占4字节内存单元 字节内存单元; 一般地 单精度占 字节内存单元 双精度占8字节内存单元 双精度占 字节内存单元. 字节内存单元

第2章 C语言,数据类型、运算符和表达式

第2章  C语言,数据类型、运算符和表达式
运算符功能 对运算量(操作数)要求 运算符优先级别 结合方向 运算结果的取值 操作数个数 操作数类型 操作数形式(常量 or 变量) ( )
(C语言运算符总表见教材P26或P325附录C) return 31
C语言程序设计
算术运算符
+ - * / % 功能: 操作数要求: 结合性: 优先级: 注意事项: 算术运算 两个操作数 (当-用作负号时除外) 自左至右(当-用作负号时除外) -(负号) —— * / % —— + - (由高→低) ① 两个整数相除,结果为整数! 例: 3/2=1 ② %要求两个操作数均为整型数据! 且余数与被除数同号!
说明: ① 字符变量中存放的是字符ASCII码值! ② char与int数据间可进行算术运算!
char choice = 'A';
return24
C语言程序设计
字符串常量
字符常量是用双引号括起来的字符序列. 例如: "hello!" , "0" (1) 字符串常量在内存中的存储 (2) 字符串常量.vs.字符常量
整型
浮点型 字符型 说明:
① 数据类型所占字节数随机器硬件不同而不同! ② 可用sizeof(数据类型说明)来计算某一数据类型占内存的字节数! return
C语言程序设计 next part
2. 常量与变量
标识符命名 常量 变量
go go go
6
C语言程序设计
标识符命名
例: 判断下列标识符号合法性
next
ห้องสมุดไป่ตู้
20
C语言程序设计
字符常量
转义字符是用反斜杠\后面跟一个字符或一个八进制或十 六进制数表示的ASCⅡ码值。例如: '\n', '\101' (1) C语言中常用的转义字符 (2) 转义字符使用实例

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

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″是字符串常量

C语言第2章 数据类型及运算符

C语言第2章 数据类型及运算符

C/C++程序设计第2 章数据类型及表达式计算机学院C/C++程序设计课程组C/C++程序设计第2章主要内容本章主要介绍:基本数据类型和存储类型的说明方法,以及基本运算符的运算规则和表达式的构成方法,为后续章节的学习奠定一个基础。

C/C++程序设计2.1 C 语言的数据类型使用高级语言编写程序,主要工作有两项:一是描述数据,二是描述数据加工的方法。

数据类型图 2.1C 语言的数据类型基本类型整型实型字符型带符号长整型(简称长整型)带符号整型无符号整型无符号整型无符号短整型无符号长整型单精度型双精度型空类型构造类型指针类型枚举类型数组类型结构体类型共用体类型C/C++程序设计2.2 常量常量是程序运行过程中其值不发生变化的数据。

2.2.1 整型常量表2.1 整型数据的表示方式2.2.2 实型常量3.14、.9999、-3.14159、834.、–0.666 、6.89E-52.2.3 字符常量’x’,’a’,’A’,’b’,’$’,’#’ ,printf("\tab\rcd\n\’ef\\g");2.2.4 符号常量#define 符号常量字符串#define PI 3.14159C/C++程序设计【例2.1】求一个圆柱体体积,用符号常量代替π。

#include <stdio.h>#define PI 3.14159 /*定义PI为符号常量*/void main(){float r,h,v;scanf("%f,%f",&r,&h);v=PI*r*r*h; /* PI相当于3.14159,参与运算*/printf("Volume=%f",v);}运行时输入:3,2↙运行结果为: Volume=56.548618C/C++程序设计2.2.5 字符串常量"\tab\rcd\n\’ef\\g“"I am a student" 、"x"、""注意:’\0’和’0’不同,’\0’是编码为0的字符,而’0’则是数字0,其编码为48。

c语言

c语言
计算机程序设计基础 第二章 数据类型、运算符与表达式
9
例 2.3: #include "stdio.h" void main( ) { printf(“abc\b\bd\ne\r\n\\”); }
adc abc abc_
e e_ _
计算机程序设计基础
\_ _
第二章 数据类型、运算符与表达式
10
4、字符串常量
输入三个不同的数,
求其中最小数.
Y
开始 输入 a,b,c N
a<b
a→min N
b→min
c<min
Y c→min 输出 min
计算机程序设计基础 第二章 数据类型、运算符与表达式
结 束
1
第二章
C语言的数据类型、 运算符与表达式
计算机程序设计基础
第二章 数据类型、运算符与表达式
2
2.1 C语言的数据类型
2) 实型变量的分类
类 型 float double 长度 (bit) 有效数字 绝对值范围
32
64
6~7
15~16
10-37~1038
10-307~10308
long double
128
18~19
10-4931~104932
3) 实型变量的舍入误差
单精度数:7位有效位
计算机程序设计基础
双精度数:16位有效位
说明:
#include一般写在模块的开头,被包含的文件常常被称为“头文件” 。头 文件常常以“.h”为扩展名。 一条#include只能包含一个头文件。
" " 和 <>的区别:
< >先在C系统目录中查找头文件, " " 先在用户当前目录查找头文件。 习惯上,用户头文件一般在用户目录下,所以常常用 " " ;系统库函数的 头文件一般在系统指定目录下,所以常常用 <>。

第二章 C语言的基本数据类型

第二章 C语言的基本数据类型

标识符的有关规定:只能由字母、数字和下划线 组成,且第一个字符必须是字母或下划线;字母区分 大小写;不同的C编译系统规定标识符长度不同(如 IBM PC的MS C取8个字符,而Turbo C则允许32个字 符),考虑到程序的可移植性及阅读程序的方便,标 识符的长度一般不要超过8个字符,且应注意做到“见 名知意”
2、十六进制整常数:十六进制整常数的前缀为0X或0x。 其数码取值为0~9,A~F或a~f。 以下各数是合法的十六进制整常数: 0X2A(十进制为42)、 0XA0 (十进制为160)、 0XFFFF (十进制为65535) 以下各数是不合法的十六进制整常数: 5A (无前缀0X)、 0X3H (含有非十六进制数码) 3、十进制整常数: 十进制整常数没有前缀。其数码为0~9。 以下各数是合法的十进制整常数: 237、 -568、 65535、 1627 以下各数是不合法的十进制整常数: 023 (不能有前导0)、23D (含有非十进制数码)
各种无符号类型量所占的内存空间字节数与相应的有符号 类型量相同。但由于省去了符号位, 故不能表示负数
Turbo C中各类整型量所分配的内存字节数及数的表示范围。 类型名称 (中文) 类型名称 (英文) 占用的 字节数 2 2 2 2 4 4 取值范围 -32768~32767 0~65535 -32768~32767 0~65535 -2147483648 ~2147483647 0~4294967295
第二章 C语言的基本数据类型
教学内容: 1 C语言的数据类型 C语言的数据类型 2 常量与变量 3 整型数据 4 实型数据 5 字符型数据 6 变量赋初值 7 变量数据类型转换 基本要求: (1) 掌握基本数据类型及其常量的表示方法; (2) 掌握变量的定义及初始化方法; (3) 掌握变量数据类型的转换法 重点: C的数据类型、常量与变量、变量定义、变量赋初 始化、变量数据类型的转换 难点: 难点: 变量数据类型的转换

C语言程序设计第二章

C语言程序设计第二章

2.2 理论知识
运行结果:
2.2 理论知识
常量和变量 直接常量
字符串常量 字符串常量是用一对双引号括起来的零个或多个字符
如"","Hello,world!","123"等
双引号仅起定界作用,本身并不是字符串中的内容
2.2 理论知识
常量和变量 直接常量
字符串常量 字符串的长度 指一个字符串中所包含的字符个数 C语言规定在存储字符串常量时,由系统在字符串的末 尾自动加一个'\0'作为结8.539815
2.2 理论知识
符号常量的两个好处
1. 修改程序方便 2. 见名知意,便于理解程序
符号常量的使用
1. 其值在它的作用域内不能改变,也不能再被赋值 2. 符号常量名用大写,变量名用小写,以示区别
2.2 理论知识
举例:
#define PI 3.1415
void main() { int PI; PI=3.1415; PI=3.14159; }
指针类型 构造类型 空类型
数组类型
结构体类型
共用体类型
2.2 理论知识
C语言的基本数据类型 整数类型
数据类型 有符号整型
短整型 长整型
int a,b,sum; a=32768;
数据类型符 int
short long [int] [int]
占用字节数 2
2 4




-215~(215-1) 即-32768~32767
2.2 理论知识
常量和变量 变量的赋值
在定义变量时赋值 float data1=1.5,data2=2.6;
“先定义后赋值

2 C语言的基本数据类型与表达式

2 C语言的基本数据类型与表达式

float:单精度浮点型,近似表示实数,在MS DOS 上,每个浮点型变量分配 32 bit 存储空间。浮点型 都是有符号的,可表示数值范围分为三段:-1038 至 -10-38, 0, 10-38 至 1038。数值都先化成指数,再用 二进制存储。6 - 7 位有效数字。 例如:float x, y; 等。 double:双精度型,近似表示更大实数,在MS DOS 上,每个浮点型变量分配 64 bit 存储空间。双精度 型都是有符号的,可表示数值范围分为三段:-10308 至 -10-308, 0, 10-308 至 10308。数值都先化成指数, 再用二进制存储。15 - 16 位有效数字。 例如:double x, y; 等。
设a=10,b=4,c=5 x+=5 x=x+5 90 求:a*=b+c x*=y+8 x=x*(y+8) x%=3 a*=b x=x%3 a=a*b
(2009.3) 14.设有定义:int x=2;,以下表达式中, 值不为6的是 D A)x*=x+1 B)x++,2*x C)x*=(1+x) D)2*x,x+=2
例2.4 整型变量定义及赋初值
void main() { int x,y,z,w; unsigned int k; x=10; y=-20; k=30; z=x+k; w=y+k; printf("x+k=%d,y+k=%d\n",z,w); }
例2.5 字符型变量定义及赋初值
void main() { char c1,c2; c1='a'; c2='b'; c1=c1-32; c2=c2-32; printf("%c %c",c1,c2); }

C语言程序设计实训教程第2章 数据类型、常量、变量、运算符与表达式

C语言程序设计实训教程第2章   数据类型、常量、变量、运算符与表达式

22
23
【例 2.8】 两个 char型数相加,结果为 char 型。( )[判断题,重庆市 2005年第 1次等级考 试] 答案:错 分析:结果是 int型。char型数据在运算前,先 无条件转换成 int型,再参与运算。
24
4)强制类型转换 【例 2.9】 若有 int k =5;float x=1.2;则表达 式( int)( x+ k)的值是( )。[单选题,重庆 市 2001年第 1次等级考试] A.5 B.6.2 C.7 D.6 答案:D
8
返回给定类型或表达式(运算结果)的字节数 (以 unsigned int的形式)。 强制转换运算符 把表达式的结果转变为所需的 类型。 (类型)表达式 运算过程中类型的转换 如图 2.1所示,横向表示无条件的转换,比如 在计算前,char型要先转换成 int再参与计算。 竖向表示操作符两边的操作数属于不同类型时, 精度低的向精度高的方向转换,然后再参与运算, 运算结果为转换后的类型。
9
赋值时类型转换 在赋值时,赋值号右边表达式 的值的类型自动转换为其左边变量的类型。 位运算符 位运算的操作数为整型或字符型。位 运算就是把整数的内部二进制形式按位进行运算。
图 2.1 C 语言类型转换示意图
10
①按位取反∽ 运算规则:
11
②位与(&) 运算规则:
12
③位或( |) 运算规则:
6ห้องสมุดไป่ตู้
运算符 分算术运算符、赋值运算符、关系运算 符、逻辑运算符、逗号运算符、自增和自减运算符、 条件运算符、位运算符等。 表达式 由运算符连接运算对象构成的式子。可 根据运算符的不同分类为算术表达式、赋值表达式、 关系表达式、逻辑表达式、逗号表达式、条件表达 式等。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章常用数据类型【学习目标】本章将学习一些基本的程序概念,如程序结构、标识符、关键字和注释等。

本章的学习要点包括如下几点:(1)了解C语言的基本结构。

(2)分号、块和空白的使用。

(3)标识符的约束规则。

(4)C关键字。

(5)直接量的认识。

(6)注释的使用。

【学习导航】本章的在整个课程中的位置如图2-1所示。

图2-1 本章学习导航2.1 C语言基本程序结构任何一种程序设计语言都具有特定的语法规则和规定的表达方法。

一个程序只有严格按照语言规定的语法和表达方式编写,才能保证编写的程序在计算机中能正确地执行,同时也便于阅读和理解。

为了了解C语言的基本程序结构,请看【课堂案例2-1】。

【课堂案例2-1】在控制台输出“你好”。

【案例目标】会使用Xcode编辑器实现字符串输出【案例知识要点】C语言的程序结构、基本输出语句【案例程序代码】hello.c【案例代码说明】●第1行的作用是进行相关的预处理操作。

include成为文件包含命令,<>里的内容称为头文件。

头文件一般的扩展名为.h。

stdio 就是指“standard input & output"(标准输入输出),所以,源代码中如用到标准输入输出函数时,就要包含这个头文件。

●第2行是一个空行。

空行不会影响程序的功能。

空行起着分隔程序段落的作用,适当使用空行将使程序的布局更加清晰,提高程序的可读性。

空行不会浪费内存,所以不要舍不得用空行。

一般建议在头文件后插入一个空行。

●第3行声明了一个main函数,main是函数名。

关于函数的详细介绍在第七章。

main 函数具有特殊意义,它是程序执行的入口,也就是说,程序都是从main函数开始执行的。

●第4—6行定义了main函数的内容,称为函数体。

以“{”开始,以“}”结束。

●第5行调用了在stdio.h中的格式化输出函数printf,其作用是向终端(显示器、控制台)输出字符。

在这一行结束时,需要加上(;)。

在C语言中,一行代码由分号(;)终止。

图2-2是程序hello.c的执行结果:图2-2 Simple.c程序输出结果知识链接—编程规范在hello.c程序中,要注意以下的编程规范:【规则1-1】用#include <filename.h> 格式来引用标准库的头文件。

【规则1-2】包含头文件时一般不使用绝对路径名。

【规则1-3】在头文件和main函数之间使用空行隔开。

【规则1-4】函数体里面的内容(即{ }里面的内容),需要水平缩进四个空格。

如hello.c第5行所示。

试一试(一):创建triangle.c,输出一个三角形,运行效果如图2-3所示。

2.2 标识符标识符是指程序中函数、变量、参数的名称。

C语言要求标识符必须符合如下命名规则:●标识符的首字母必须是字母、下划线(_)●除首字母外,标识符的其他位置可以是数字(0-9)、大写字母(A-Z),小写字母(a-z),下划线(_)。

●标识符是大小写区别对待的,也就是说test、Test、TEST是三个不同的标识符。

●标识符未规定最大长度。

●关键字和保留字(参见2.3关键字)不能作为标识符。

表2-1将正确和错误的标识符进行了对比,并说明了错误的原因:标识符命名的编程规范如下:【规则1-5】标识符的命名需具有相关的含义,这样做的好处是以后进行回顾或他人阅读时,容易理解程序的含义。

比如要定义一个人的年龄,可以使用age这个标识符,而不要使用a。

2.3关键字C语言中的关键字是程序代码中的一些特殊字符。

每个关键字都有特殊的用途。

C语言一共有32个关键字。

表2-3列出了使用在C编程语言中的关键字。

2.4注释你如果想让你的程序很容易让人读懂,或者为了方便以后的维护,那么你可以通过为程序添加注释来做到这一点。

注释的作用是:用来解释程序代码的含义。

C语言的注释分为多行注释和单行注释两种:多行注释:/*注释内容*/单行注释://注释内容C语言注释通常用于3处:●版本、版权的声明●函数接口说明●重要代码行提示2.5变量和常量的基本概念2.5.1 变量1.变量的声明在学生管理系统中,系统中的一个最重要的角色是学生,对学生来说,应该有姓名,年龄等这些属性。

如何来表示这些属性呢?这就要用到变量。

变量是一块取了名字的、用来存储C 程序信息的内存区域;它是一些有意义的数据。

比如我们可以用变量名(也是一种标识符)name 来表示姓名,age 来表示年龄。

在C 语言中要使用变量必须要先定义(也叫做声明变量)。

定义变量是指设定变量的数据类型(参看2.5节)和变量的名称。

基本语法为:数据类型 变量名;上面的代码声明了一个变量age ,它的数据类型是int 类型。

变量名需遵守【规则1-6】。

【规则1-6】变量名首字母小写,其后每个英文单词的第一个字母大写,其它小写。

例如studentName 。

2.变量的赋值我们在程序中可以改变20这个值: age = 40 ;这时age 的值就变成了40(如图3-3所示),这也是为什么age被称为变量的原因,因为它的值是“可变的”。

ageage2.5.2常量常量是指在程序运行时其值不能改变的量。

常量可为任意数据类型(目前我们只使用过int 类型,其他的类型参加本章的2.6节),比如:100 是一个整型常量。

’a ’是一个字符型常量。

C 语言还支持另一种预定义数据类型的常量,这就是串。

所有串常量括在双撇号之间,例如"This is a test"。

切记,不要把字符和串相混淆,单个字符常量是由单撇号括起来的,如 ' a '。

整体上,C 语言的常量可分为3大类:● 数值型常量:又可以分为整型常量和实型常量 ● 字符常量 ● 符号常量图2-4 age 变量初始赋值后的内存图图2-5 age 变量修改值的内存图2.6 数据类型在定义变量时涉及到了数据类型,为什么会要用到数据类型呢?因为计算机里面保存一个数字或者一个字母,都是需要分配一定的空间,内存空间的最小单位是比特(bit),也可以称为“位”。

8个比特为一个字节(byte)。

现在常见的PC,用两个字节空间来保存一个字母,用四个字节保存一个整数。

为了保存不同的数字或者字母,我们在申请空间的时候就要告诉计算机,是要保存什么样的变量。

而计算机会根据这个类型,分配一定尺寸的内存给用户。

也就是说你声明的数据类型是计算机给后面的变量分配内存空间的依据。

C语言把数据类型分为基本类型、构造类型、指针类型和空类型。

如图2-6所示。

本节只介绍基本类型。

图2-6 数据类型图2.7 整型数据2.7.1 整型常量整型常量及通常理解的整数值。

在C语言中可以用3种进制来表示整型常量,分别如下:(1)十进制:基数为10。

最常用的一种。

当需要使用十进制表示整数时,无需任何前缀。

例如:(2)八进制:基数为8。

即满8进1。

当需要使用八进制表示整数时,需要在该数的前面加上前缀0。

例如:下面的语句会输出什么呢?输出结果为:8。

【说明】由于八进制表示数时容易引起混淆,如int v = 010表示的是8而不是我们第一感觉的10,所以尽可能少使用八进制来表示数。

(3)十六进制:由0~9、a、b、c、d、e、f 十六个符号构成。

其中a表示10,b表示11,以此类推。

当用十六进制表示整数,要在该数前面加上前缀0x。

例如:2.7.2 整型变量整型变量是用来存储整型数值的变量。

共有6种类型。

signed short int 有符号短整型简写为short或int, 字长为2字节共16位二进制数, 数的范围是-32768~32767。

取值计算原理是一共有216=65536个数,其中负整数有215=32768 个,正整数215-1=32767个,再加上一个0,一共65536个。

signed long int 有符号长整型简写为long, 字长为4字节共32位二进制数, 数的范围是-2147483648~2147483647。

unsigned short int 无符号短整型简写为unsigned int, 字长为2字节共16位二进制数, 数的范围是0~65535。

unsigned long int 无符号长整型简写为unsigned long, 字长为4字节共32位二进制数, 数的范围是0~4294967295。

使用有符号基本整型变量的例子:也可以在定义变量的同时给它赋值:如果一个整型变量赋值超过它的取值范围,就会发生溢出的问题。

请看【课堂案例2-2】【课堂案例2-2】测试数据溢出【案例学习目标】理解整型变量的取值范围【案例知识要点】数据取值范围、数据溢出【程序输出】如图2-7所示。

【程序说明】●第4行给无符号短整型变量x赋值32767,这是无符号短整型变量的最大值。

●第5行定义了无符号短整型变量y,并赋值x+1。

注意x已经是无符号短整型变量的最大值。

●第6行输出x的值为32767。

●第7行输出y的值为-32768。

214知识链接—数据溢出2.8 实型数据2.8.1 实型常量实型常量也称为浮点型常量。

实型常量的值包括整数部分、尾数部分和指数部分。

在不加说明的情况下,实型常量为正值。

如果表示负值,需要在常量前使用负号。

C语言浮点类型常量有两种表示方式:(1)十进制数形式:如1.23。

要注意必须含有小数点,否则会被当作int型常量处理。

(2)科学计数法形式:如3.14E2。

只有浮点类型才采用科学计数法表示。

字母E或e 之前必须有数字,且E或e后面指数必须为整数,如e3、2.1e3.5、.e3等都是不合法的指数形式。

浮点类型有两种:float和double。

double类型正如它的名字所揭示的(double是双倍的意思),它表示精度是float的两倍,因此也将double成为双精度类型。

表示float类型的数据要在数字后面加上f(或F),默认的浮点类型为double型。

2.8.2 实型变量实型变量分为单精度(float型)和双精度(double型)。

对每一个实型变量都应再使用前加以定义。

如:float x,y; / *指定x , y为单精度实数* /double z; / *指定z为双精度实数* /在一般系统中,一个 float型数据在内存中占4个字节(3 2位)一个double型数据占8个字节(6 4位)。

单精度实数提供7位有效数字,双精度提供1 5 ~ 1 6位有效数字,数值的范围随机器系统而异。

值得注意的是,实型常量是double型,当把一个实型常量赋给一个float型变量时,系统会截取相应的有效位数。

例如float a;a = 111111.111 ;由于float型变量只能接收7位有效数字,因此最后两位小数不起作用。

如果将 a改为double型,则能全部接收上述9位数字并存储在变量a中。

相关文档
最新文档