好文档 - 专业文书写作范文服务资料分享网站

C语言程序设计教案 第三章数据类型运算符与表达式

天下 分享 时间: 加入收藏 我要投稿 点赞

第三章 数据类型运算符与表达式

课题:

教学目的: 教学重点: 教学难点:

第三章 数据类型、运算符与表达式 1、掌握C的数据类型

2、掌握整型、实型、字符型数据的常量及变量 基本数类型的常量和变量

不同类型的数据在内存中的存储形式

步骤一 复习引导

上次课我们已经知道了程序的一个方面算法,现在来学习另一方面数据结构。

步骤二 讲授新课

? C语言提供的数据结构是以数据类型形式出现的; ? 数据在内存中存放的情况有数据类型决定;

? 数据的操作要依靠运算符实现,而数据和运算符共同组成了表达式。

C的基本数据类型

C语言的数据类型丰富,但在学习第11章之前,我们只遇到C的四种基本数据类型: 整型、字符型、单精度实型、双精度实型

常量与变量

? 常量:其值不能被改变的量。 两种:一般常量和符号常量 1. 直接常量(字面常量):

整型常量:如12、0、-3等 实型常量:如4.5、-1.234等

字符常量:如?a?、?1?等,用单引号表示,占一个字节; 字符串常量:如“a”、“abc”、“1”,用双引号表示。 2. 符号常量:

符号常量即是用一个标识符来代替一个常量;符号常借助于预处理命令define来实现; ? define命令格式是: #define 标识符 字符串 ? 如:#define PI 3.1415926535

#define STRING “ABCD” ① 习惯上,符号常量用大写字母表示; ② 定义符号常量时,不能以“;”结束;

③ 一个#define占一行,且要从第一列开始书写;

④ 一个源程序文件中可含有若干个define命令,不同的define命令中指定的“标识符”不能相同;

? 变量:在程序运行过程中,其值会发生变化。 1、每个变量必须有一个名字,变量名是标识符。

2、标识符是用来标识数据对象,是一个数据对象的名字。

3、命名规则:以字母或下划线开始,后跟字符、数字或下划线。 例:x1,_average,lotus_1_2_3,#abc,1fs,M.D.Jhon

1、 变量名不能是关键字(即保留字,是C编译程序中保留使用的标识符。 如:auto、break、

char、do、else、if、int等) 2、 怎样定义变量?

int i, z, h;

char c , ch=?c?;

float a=3.14 , b=2.71, x, y; 注意:变量要先定义后使用! 例: main()

{ int a , b , c ,sum; a=3; b=-4; c=9; sum=a+b+c;

printf(“\\nsum=%d”,sum); a=16; b=56; c=-98; sum=a+b+c;

printf(“\\nsum=%d”,sum); }

一、整型数据

1、整型常量的表示方法

1) 十进制

如:123,-456,0 2) 八进制数

如:0123,-011 (以0开头的数) 3) 十六进制数

如:0x123,-0x12,0xABC (以0x开头的)

2、整型变量

1) 整型数据在内存中以二进制形式存放,每一个整型变量在内存中占2个字节。

例:定义整型变量i=10 和j= -10的存放形式。

2) 整型变量的分类:基本型int、短整型short、长整型long、无符号型unsigned 3) 整型变量的定义

对变量的定义,一般放在函数体开头部分的声明部分(也可放在函数中某一分程序内) 例:#include main( )

{ int a, b, c, d; unsigned u;

a=12; b=-24; u=10; c=a+u; d=b+u;

printf(“a+u=%d, b+u=%d\\n”,c,d); }

4) 整型数据的溢出

一个int 型变量的最大允许值为32767,如果再加1,其结果不是32768,而是-32768。即“溢出”。

5) 整型常量的类型

①一个整数在-32768~32767内,则为int型,可以赋给int型和long int型变量。

②一个整数超过上述范围,在-2147483648~2147483647内,则为long int型,可赋给long int型变量。

③如果short int 和int型数据在内存中占据长度相同,则其范围与int相同。

④常量无unsigned型。但可将非负且在取值范围内的整数赋给unsigned型变量。 ⑤在一个整常量后面加一个字母l或L,则认为是long int型常量。

二、实型数据

1、实型常量的表示方法

(1)、十进制浮点数 ? 如:0.123,.456,0.0,123.,123.0 ? 整数部分和小数部分都可省,但不能同时省

(2)、指数形式 ? 如:123e3,123E3代表123×103 ? 指数部分为整常数; ? 尾数部分可以是整常数,也可以是实常数; 尾数部分和指数部分均不可省。E10, 100.e15.2, .e5均为不合法的浮点数。 2、实型变量

实型数据在内存中的存放形式

? 一个实型数据一般在内存中占4个字节(32位)。

?

实型数据是按照指数形式存储的。

实型变量的分类:单精度float、双精度double、长双精度long double

三、字符型数据 1、字符常量

1) 括在一对单引号中的一个字符(单引号仅作界限符),?a? 、?X?为字符常量; 2) 一个字符常量占1B,存放的是字符的ASCII码值。 3) 转义字符 ①以? \\ ?开头,后跟一个约定的字符或所要表示字符的十六进制(或者八进制)的编码; ②?\\0?表示编码值为0的字符,即NULL,它与数值常数0是等同的; ③书中P48列出了常用的转义字符: 2、字符变量 ? 字符变量用来存放字符常量,只能放一个字符。 ? 例:char c1=?a?, c2=?A?;

一个字符变量在内存中占一个字节。 3、字符数据的存放形式及使用方法 ? 将字符常量放到字符变量中,实际上是将其ASCII代码放到变量所占的存储单元中。 ? 如:?a?在内存存放的是二进制数01100001;

?A?在内存存放的是二进制数01000001。 在0~255之间字符型数据和整型数据可以通用。即一个字符数据既可以以字符形式输出,也可以以整数形式输出,还可以互相赋值。

例:main()

{ char c1,c2; c1=97; c2=98;

printf(“%c %c ”, c1, c2); printf (“%d %d \\n”, c1, c2);

c1=c1-32; c2=c2-(?a?-?A?); printf(“%c %c\\n” , c1 , c2); } 运行结果 :a b 97 98

A B

四、字符串常量

1. 括在一对双引号中的0个或多个(除\\与“ ”自身之外)C语言字符集中的任何字符及

转义字符组成;双引号仅作界限符;

“C language programming”、“a\\\\n”、“#123”、“ ”等为字符串常量; “The dentist said: \\?open wide\\?” “The path is \\\\root\\\%user\\\\device” “\\077 pay to attention of this!”

2. “China”在存储器中实际占用6个字节:

3. “a”与?a?是不同的(表示形式不同、存储方式不同、后者可像整数那样参加运算,

前者不能);

4. 但应注意的是,在写字符串常量时没有必要写“China\\0 ”,而只需写“China”; 5. 虽然C字符串后末尾的NULL字符属字符串的内容,但是NULL字符并不被显示或输

出;

6. C语言的字符串常量是按数组处理的。

7. 书写一个很长的字符串常量时,如果在一个书写行内写不下,可跨行书写。如:“A

string is a sequence of characters\\ surrounded by double quotes.”

五、变量赋初值

在定义变量时对变量进行赋值称为变量的初始化; 格式:类型说明符 变量1=值1,变量2=值2,……; 如: int a=3, b=4, c=5;

float x=3.4, y=0.75; char ch1=?K?, ch2=?P?;

注意:① int a, b, c=5; 只对c初始化,值为5;

②对几个变量赋以同一个初值时,int a=b=c=5; 是非法的;

int a=5, b=5, c=5; 是合法的。(注:a=b=c=5;是合法的赋值语句)

说明:对变量赋初值,仅表示该变量在程序运行过程中执行本函数时的初值。

步骤三 课堂小结

1、 C的基本数据类型int、float、double、char

2、 基本数据类型的常量表示、变量定义,及不同类型的数据在内存中的存储形式

步骤四 布置作业

练习P65:3.2、3.5、3.8

课题: 运算符与表达式

教学目的: 1、掌握C语言中的各种运算符

2、掌握运算符的优先级与结合性

教学重点: C语言中各种运算符的使用

教学难点: 混合表达式中运算符的运算顺序

步骤一 复习引导

用运算符和括号将运算对象(数据)连接起来的、符合C语法规则的句子称为表达式。

步骤二 讲授新课

A. 优先级是指表达式中包含多个运算符时,先进行优先级高的运算符操作,然后在进行优

先级低的运算符操作;

B. 当表达式中包含的几个运算符的优先级全相同时,由运算符的结合性来决定他们的运算

顺序。

1) 从左至右的结合性,* / % 2) 从右至左的结合性,如 =、?:

一、赋值运算符和赋值表达式 1、 赋值运算符:= 2、 类型转换

规则:把赋值运算符右边表达式的数据类型转换成左边对象的类型。 (1)实型赋给整型变量时,舍去实数的小数部分。

(2)整型赋给实型变量时,数值不变,以浮点形式存储。

(3)一个较短的有符号的int型数据转换成一个较长的有符号int型数据总是进行符号扩展,以保证数据的正确性;

如:a、b分别为8位、16位整型数据,则执行b=a后: a: 11111110(-2)

转换后的结果:11111111 11111110(-2)

(4)一个较长的有符号int型数据转换成一个较短的有符号int型数据时把较长的有符号int型数据的高位部分截去;

如:设a为8位,b为16位,则执行a=b后,若

b: 00000000 00001111 转换后的结果 00001111

b: 11111111 11110001 (-15) 转换后的结果 11110001 (-15) b: 11111111 00000000 (-128)

转换后的结果 00000000 (0)

3、复合的赋值运算符

? 在“=”之前加上其他运算符,可构成复合运算符 ? x+=y 等价于 x=x+y ? a%=b+c/d 等价于 a=a%(b+c/d)

C中10种复合赋值运算符:+=、-=、*=、/=、 %=、<<=、>>=、&=、^=、|= 4、赋值表达式:

<变量><赋值运算符>< 表达式/值>

C语言程序设计教案 第三章数据类型运算符与表达式

第三章数据类型运算符与表达式课题:教学目的:教学重点:教学难点:第三章数据类型、运算符与表达式1、掌握C的数据类型2、掌握整型、实型、字符型数据的常量及变量基本数类型的常量和变量不同类型的数据在内存中的存储形式步骤一复习引导上次课我们已经知道了程序
推荐度:
点击下载文档文档为doc格式
6t63f7kr0l5gf8x599m7
领取福利

微信扫码领取福利

微信扫码分享