C语言程序设计教案 C语言基础知识(一) 内容 说明 主要1.c语言出现的历史背景 内容2.c语言的特点 3.c语言的语法规则 4tc运行环境 重点 1.c语言的语法规则 2.tc运行环境 难点1.c语言的语法规则 2.tc运行环境 问题什么是C语言?为什么会出现C语言? 提出 语言概述 1.介绍C语言出现的历史背景 通过对c语 2.介绍C语言的特点 言的介绍, 3.C语言的基本结构及程序设计风格 自然引入各 举例:分析以下程序的结构 部分内容 #include /*头文件*/ 以实例分析 maino /*主函数*/ ←程序入口 lint a, b, sum /*声明部分,定义变量* a=10;b=20; 函数体 sumat printf(“ sUm ls%dn”,sum) /*输出c的值*/ 总结:C程序的主要结构特点如下: ◆所有的c程序都是由一个或多个数组成的。 结合实例讲解 ◇在程序中,可以包含任意多个不同名的函数,但必须有且仅有一个 main()主函数。c程序总是从主函数main()开始执行的 ◆c语言程序是由语句组成,使用“;”作为语句的中止符或分隔符。 行中可以有多个语句,一条语句也可以占用任意多行 c语言程序中用仆}将函数体括起来 ◆c语言中注释的格式:/*注释内容*/。 二、TC运行环境 启动 Turbo C程序 假设 Turbo C软件已经安装在C:\TC目录下,则可以通过以下方 法启动 Turbo C程序。 (1)在DS操作系统下启动 在D0S提示符C:下,键入命令TC\TC (2)在 WINDOWS操作系统下启动 进入C盘TC文件夹,用鼠标双击TC.EXE程序的图标 界面如下图
C 语言程序设计教案 通过对 c 语 言的介绍, 自然引入各 部分内容 程序入口 函数体 部分 结合实例讲解 C 语言基础知识(一) 内容 说明 主要 1.c 语言出现的历史背景 内容 2.c 语言的特点 3.c 语言的语法规则 4.tc 运行环境 重点 1.c 语言的语法规则 2.tc 运行环境 难点 1.c 语言的语法规则 2.tc 运行环境 问题 什么是 C 语言?为什么会出现 C 语言? 提出 一.C 语言概述 1. 介绍 C 语言出现的历史背景 2. 介绍 C 语言的特点 3. C 语言的基本结构及程序设计风格 举例:分析以下程序的结构 #include /*头文件*/ 以实例分析 main() /*主函数*/ {int a,b,sum; /*声明部分,定义变量*/ a=10;b=20; sum=a+b; printf(“sum is %d\n”,sum); /* 输出 c 的值*/ } 总结: C 程序的主要结构特点如下: 所有的 c 程序都是由一个或多个函数组成的。 在程序中,可以包含任意多个不同名的函数,但必须有且仅有一个 main()主函数。c 程序总是从主函数 main()开始执行的。 c 语言程序是由语句组成,使用“;”作为语句的中止符或分隔符。一 行中可以有多个语句,一条语句也可以占用任意多行 c 语言程序中用{}将函数体括起来。 c 语言中注释的格式:/*注释内容*/。 二、TC 运行环境 1.启动 Turbo C 程序 假设 Turbo C 软件已经安装在 C:\TC 目录下,则可以通过以下方 法启动 Turbo C 程序。 ⑴ 在 DOS 操作系统下启动 在 DOS 提示符 C:\>下,键入命令 TC\TC; ⑵ 在 WINDOWS 操作系统下启动 进入 C 盘 TC 文件夹,用鼠标双击 TC.EXE 程序的图标。 界面如下图:
C语言程序设计教案 en TO F主1 e Edit Compile Project Options Debug Break/watch race Menu NUM 2.C程序窗口的介绍: 主菜单:File(文件操作)Edit(编辑) 介绍 Run(运行) Compile(编译连接) Project(项目文件) 0 ptions(选项) Debug(调试) Break/ wack(中断或观察)。 (激活各菜单用f10或用at+菜单首字母)如:ALT+F打开文 件菜单,用光标键选择其他菜单。 说明 文件菜单 打开一个已有的源程序 打开最近打开过的源程序 新建一个C程序 保存(扩展名为.c) Write to另存为 Directory打开当前目录下所有C程序列表 Change dir改变当前盘当前目录 0 s shell切换到DOS界面 Quit从系统中退出
C 语言程序设计教案 2.C 程序窗口的介绍: 主菜单:File(文件操作) Edit(编辑) 介绍 Run(运行) Compile(编译连接) Project(项目文件) Options(选项) Debug(调试) Break/watck (中断或观察)。 (激活各菜单用 f10 或用 alt+菜单首字母)如:ALT+F 打开文 件菜单, 用光标键选择其他菜单。 说明 文件菜单: Load 打开一个已有的源程序。 Pick 打开最近打开过的源程序。 New 新建一个 C 程序。 Seav 保存(扩展名为.c) Write to 另存为 Direetory 打开当前目录下所有 C 程序列表 Change dir 改变当前盘当前目录 Os shell 切换到 DOS 界面 Quit 从系统中退出
C语言程序设计教案 C语言基础知识(二) 内容 说明 主要1.标识符 内容2.常量、变量 3.整型数据类型 4.数据类型的基本知识 5.字符型数据类型的基本知识 6.各数值型数据间的混合运算简介 重点1.标识符 2.常量、变量 3.C语言的数据类型 4.实型数据类型的基本知识 5.字符型数据类型的基本知识 难点 1.字符型数据与整型数据的相互转化 2.变量定义时赋初值 标识符 概念 用来作变量、符号、函数和数组、文件等的名字 标识符的命名原则:由字母、数字和下划线组成,并且第一个字符必 为字母或下划线。 分类 关键字参考附录 标识符预定义标识符 用户标识符法意做到见名知义 in、a23b 【注意】卜标识符区分大小写 ◇标识符的长度为32个字符,长于32个的字符不被识别 二、常量、变量 1.常量 如整型常量: 概念 在程序运行过程中,其偵不能被改变的量 12,0,-34 ①直接常量 实型常量 ②符号常量一用一个标识符代表一个常量,如 4.6,-145 #define pi 3. 1415926 /*命令行定义* 字符常量 I float r, c,s r=2: C=2*PI*r: s=PI*r*r: printf(“c=%f,s=%f 如上题中加 入赋值语句 【注意】令符号常量的值在其作用域内不能改变,也不能再被赋值。 PRICE=40 习惯上,符号常量名用大写,变量名用小写 是不对的
C 语言程序设计教案 如整型常量: 12,0,-34 实型常量: 4.6,-1.45 字符常量: ‘a’,‘d’ 如上题中加 入赋值语句 PRICE=40; 是不对的。 C 语言基础知识(二) 内容 说明 主要 1.标识符 内容 2.常量、变量 3.整型数据类型 4.数据类型的基本知识 5.字符型数据类型的基本知识 6.各数值型数据间的混合运算简介 重点 1.标识符 2.常量、变量 3.C 语言的数据类型 4.实型数据类型的基本知识 5.字符型数据类型的基本知识 难点 1.字符型数据与整型数据的相互转化 2.变量定义时赋初值 一、 标识符 概念 用来作变量、符号、函数和数组、文件等的名字。 规定 标识符的命名原则:由字母、数字和下划线组成,并且第一个字符必须 为字母或下划线。 分类 int、if… 关键字 参考附录一 标识符 预定义标识符 printf… 用户标识符 注意做到见名知义 _in、a23b… 【注意】 标识符区分大小写。 标识符的长度为 32 个字符,长于 32 个的字符不被识别。 二、常量、变量 1. 常量 概念 在程序运行过程中,其值不能被改变的量。 ① 直接常量 ② 符号常量--用一个标识符代表一个常量,如: #define PI 3.1415926 /*命令行定义*/ main() { float r,c,s; r=2; c=2*PI*r;s=PI*r*r; printf(“c=%f, s=%f”, c,s); } 【注意】 符号常量的值在其作用域内不能改变,也不能再被赋值。 习惯上,符号常量名用大写,变量名用小写
C语言程序设计教案 ◆改变符号常量值须在命令行中修改,“一改全改”。 变量 概念 基偵可以改变的量称为变量。遵守标识符的命多规则 深化 变量的实质是内存存储单元 例如:a=3:其存储为 变量名 介绍变量存 储单元的关 变量值 系。注意区 分变量名与 存储单元 变量值概念 【总结】「常量与变量的区别:常量是或代表具体的数值,变量代表内存存储单元 常量可以放到变量当中。 讲述三.整型数据 l.整型常量的表示 ①十进制整数 2八进制整数。以0开头 ③十六进制整数。以0x开头。 0x123 2.整型变量 介绍8进制 ①整型数据在内存中的存放形式 和16进制与 数据在内存中以二进制形式存放,占用2个字节,数值以补码表示。10进制的转 如定义整型变量i的值为10,在内存中存放形式为: 化 00o ooooo ooolo1ol1lo 如不加限制,最高位为符号位,最大正整数为32767 四举例介负 数求补方法 求负数的补码方法如下:将该数的绝对值的二进制形式,按位取反再加 ②整型变量的分类。见下表: 字节数 数的范围 使用表格对 2 215~(215-1 比的说明 Unsigned int Signed short [ int Unsigned int 0~(2-1 Long int 231-1) Unsigned long int] 【注意】无符号整数,因其最高位不再用来存放整数符号,因此无符号
C 语言程序设计教案 123,0,-32 0123 0x123 介绍 8 进制 和16 进制与 10 进制的转 化 举例介绍负 数求补方法 使用表格对 比的说明 介绍变量存 储单元的关 系。注意区 分变量名与 变量值概念 改变符号常量值须在命令行中修改,“一改全改”。 2. 变量 概念 其值可以改变的量称为变量。遵守标识符的命名规则。 深化 变量的实质是内存存储单元 例如:a=3;其存储为: 变量名 a 变量值 存储单元 【总结】 常量与变量的区别:常量是或代表具体的数值,变量代表内存存储单元。 常量可以放到变量当中。 讲述 三. 整型数据 1. 整型常量的表示 ① 十进制整数。 ② 八进制整数。以 0 开头。 ③ 十六进制整数。以 0x 开头。 2. 整型变量 ① 整型数据在内存中的存放形式 数据在内存中以二进制形式存放,占用 2 个字节,数值以补码表示。 如定义整型变量 i 的值为 10,在内存中存放形式为: 如不加限制,最高位为符号位,最大正整数为 32767。 求负数的补码方法如下:将该数的绝对值的二进制形式,按位取反再加一。 ② 整型变量的分类。见下表: 【注意】 无符号整数,因其最高位不再用来存放整数符号,因此无符号 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 类型 字节数 数的范围 [signed] int 2 -2 15 ~(2 15 -1) Unsigned int 2 0~(2 16 -1) [signed] short [int] 2 -2 15 ~(2 15 -1) Unsigned int 2 0~(2 16 -1) Long [int] 4 -2 31 ~(2 31 -1) Unsigned long [int] 4 0~(2 32 -1) 3
C语言程序设计教案 整数不可能是负数。 ③整型变量的定义 格式 整型类型标识符变量名 如: int a, b; 定义两整型 【说明】卜数据类型的选择要注意避免数据的溢出 变量ab 长整型常量与长整型无符号整数常量用后缀1或L和 或LU标识 介绍四.实型数据 1.实型数据在内存中的存放形式 实型数据在内存中占个宝范(32)位。按照指数形式存贮。如实数 3.6547的存放形式如图所示: 36547 数符小数部分指数 36547*101→→3.6547 2.实型变量的分类。见下表 类型 字节数「有效数字数值范围 floa(单精度) 10-37~10 15~16 float x, y; double(双精度) 8-1910-931-104932 double z, long double(长双精度 80 3.定义实型数据:类型标识符变量名 例:如下程序 【注意】避免将一个很大的数和一个很小的数直接相加或相减 出现舍入误差 main( 4.实型常量的类型 i float a, b 【说明】卜在常量的后面加f或F,编译系统会按单精度常量进行计算 b=a+20 在实型常量符值时,要注意常量类型与有效数字的关系 printf("%f”b);} 五.字符型数据 1.字符常量 注意:‘a’和 概念用单引号括起来的一个字符。有如下形式 a',D',“?’,“#’等 A’是不同 ②转义字符—以“\”开头的字符序列,常见的有: n--换行 t-水平制表 b-—退 r-回车 f-换页 \-反斜杠字符“\” 例如:101 单引号字符 双引号字符 代表ASCI ddd---1到3位8进制数所代表的字符 码为65的字 \xhh---1到2位16进制数所代表的字符 符A,W12 【注意】0·或“(0代表ACI码为0的“空操作”。 代表换行
C 语言程序设计教案 如:int a,b; 定义两整型 变量 a,b 例如: float x,y; double z; 例:如下程序 出现舍入误差 main() {float a,b; a=123456.78e5; b=a+20; printf(“%f”,b);} 注意:‘a’和 ‘A’是不同 的。 例如: \101 代 表 ASCII 码为 65的字 符 A,\012 代表换行 整数不可能是负数。 ③ 整型变量的定义 格式 整型类型标识符 变量名 【说明】 数据类型的选择要注意避免数据的溢出。 长整型常量与长整型无符号整数常量用后缀 l 或 L 和 lu 或 LU 标识 介绍 四. 实型数据 1. 实型数据在内存中的存放形式 实型数据在内存中占 4 个字节(32)位。按照指数形式存贮。如实数 3.6547 的存放形式如图所示: + .36547 1 数符 小数部分 指数 + .36547 * 10 1 3.6547 2. 实型变量的分类。见下表: 类型 字节数 有效数字 数值范围 float(单精度) 32 6~7 10 −37 ~10 38 double(双精度) 64 15~16 10 −307 ~10 308 long double(长双精度) 80 18~19 10 −4931 ~10 4932 3. 定义实型数据:类型标识符 变量名 【注意】 避免将一个很大的数和一个很小的数直接相加或相减。 4. 实型常量的类型 【说明】 在常量的后面加 f 或 F,编译系统会按单精度常量进行计算。 在实型常量符值时,要注意常量类型与有效数字的关系。 五. 字符型数据 1. 字符常量 概念 用单引号括起来的一个字符。有如下形式: ①‘a’,‘D’,‘?’,‘#’等。 ② 转义字符----以“\”开头的字符序列,常见的有: \n----换行 \t----水平制表 \b----退 \r----回车 \f----换页 \\----反斜杠字符“\” \’---- 单引号字符 \”---- 双引号字符 \ddd----1 到 3 位 8 进制数所代表的字符 \xhh----1 到 2 位 16 进制数所代表的字符 【注意】 ‘\0’ 或 ‘\000’代表 ASCII 码为 0 的 “空操作
C语言程序设计教案 举例转义字符的使用 main printf(“abc\ t de\rf\tgln”) printf(“hti\b\bjk”) 结果为:f 字符变量 概念 用来存放字符常量,注意只能放一个字符 ①字符变量的定义形式如下: cnat ②字符变量的赋值形式如下: ③字符数据在内存中的存储形式及其使用方法 注意字符变 讲解 个字符变量在内存中占一众宝,字符型数据与整型数据可以通用。量与整型变 也可以互相赋值。如下例: 量的相互转 化。常用这 i char cl 个特点解决 cl=97 大小写字母 printf(“%c%cⅦn”,cl,c2) /*以字符形式输出* 转换问题。 printf(“%d%n”,c1,c2);}/*转换为整数形式输出*/ 行结果如下 9798 ④字符串常量 字符串常量 概念 字符串常量是一对双引景括起来的字符序列 可以输出 如:“ how do you do.”,“ CHINA”,“$23.34”等。 区分⑤字符常量与字符串常量的区别: a-字符常量,在内存中占一个字节,存储形式为 a”-字符串常量,在字符串结尾加字符串结束 标志’10 10 因此存储形式为 C=CHINA 【注意】下能把一个字符串赋给一个字符变量 是不对的 六.变量定义时赋初值 1.单独赋初值 int a=3 2.定义变量的一部分赋初值 nt a, b.c. 【注意】定义变量赋初值时注意书写格式。 如下语句错误:
C 语言程序设计教案 注意字符变 量与整型变 量的相互转 化。常用这 个特点解决 大小写字母 转换问题。 字符串常量 可以输出: printf(“how do you do.”); 如:char c; c=”CHINA”; 是不对的 举例 转义字符的使用 main() { printf(“ ab c\t de\rf\tg\n”); printf(“h\ti\b\bj k”);} 结果为:f gde h j k 2. 字符变量 概念 用来存放字符常量,注意只能放一个字符 ① 字符变量的定义形式如下: char c1,c2; ② 字符变量的赋值形式如下: c1=’a’; c2=’b’; ③ 字符数据在内存中的存储形式及其使用方法 讲解 一个字符变量在内存中占一个字节,字符型数据与整型数据可以通用。 也可以互相赋值。如下例: main() { char c1; int c2; c1=97; c2=’b’; prntf(“%c %c\n”,c1,c2); /*以字符形式输出*/ printf(“%d %d\n”,c1,c2);} /*转换为整数形式输出*/ 运行结果如下: a b 97 98 ④ 字符串常量 概念 字符串常量是一对双引号括起来的字符序列。 如:“how do you do.”,“CHINA”,“$23.34”等。 区分 ⑤ 字符常量与字符串常量的区别: ‘a’----字符常量,在内存中占一个字节,存储形式为: “a”----字符串常量,在字符串结尾加字符串结束 标志’\0’。 因此存储形式为: 【注意】 不能把一个字符串赋给一个字符变量 六. 变量定义时赋初值 1.单独赋初值 int a=3; int a; a=3; 2.定义变量的一部分赋初值 int a,b,c=5; int a,b,c; c=5; 【注意】 在定义变量赋初值时注意书写格式。 如下语句错误: a a \0
C语言程序设计教案 int a=b=c=3 七.各类数值型数据间的混合运算 整型、实型、字符型数据间可以混合运算,进行运算时,不同类型数据 要先转换成同一类型,然后进行运算。转化规则 如图所示: double← float lo unsigne 低int char short 【规律】字符型数据向整型数据转换,短字节类型向长字节类型转换
C 语言程序设计教案 int a=b=c=3; 七. 各类数值型数据间的混合运算 整型、实型、字符型数据间可以混合运算,进行运算时,不同类型数据 要先转换成同一类型,然后进行运算。转化规则 如图所示: double float 高 long unsigned 低 int char,short 【规律】 字符型数据向整型数据转换,短字节类型向长字节类型转换
C语言程序设计教案 C语言基础知识(三) 说明 主要1.运算符和表达式 内容2.数据类型的转换 重点算术运算中的取余和整除 难点1.自增、自减运算符 2.复合赋值运算符 引入 C语言包括多种运算,这里重点讲授算术运算符,强制类型转换运算 符、赋值运算符、复合的赋值运算符、逗号运算符。其他运算符如:关系 运算符,逻辑运算符,条件运算符等,在以后各章中结合有关内容将陆续个绍。 算术运算符 介绍双目单 类型 运算符 说明 目运算概念 +(加)参加运算的两个数中有一个数为实数,则结果为 double 双目或单目 (减) 型 如5/3的结 对于除法运算符“/”,如果两个运算对象有一个为实型数 果为 *(乘) 值时,其意义为实数除,结果为 double型数值。如果两个 17%3的结 运算对象都为整型数值时,其意义为整除,结果为整型数 果为2 /(除) 19%4的结 双目 两整数相除时,如果除数或被除数中有一个是负值,多数 果为-3 系统(包括 Turbo C)采取“向零取整”的方法 %(取余) 运算量必须为整数。当运算量为负数时,符号与 被除数相同 【说明】双目运算符运算数的类型必须一致,否则先进行类型转换 1今所有实型数的运算均以双精度方式进行。 算术运算符的优先级、结合性 1.优先级 双目 同级 同级 晑 结合性 单目运算符“-”和“+”的结合性是从右到左,其余运算符的结合性都 是从左到右 三.算术表达式 【注意】下在算术表达式中使用多层圆括号时,圆括号要成对出现 运算时从内往外依次计算。 运算对象可 以是常量 不同优先级按优先级由高到低顺序进行,同级按运算符的结合方向进行。变量和函数
C 语言程序设计教案 如 5/3 的结 果 为 1 , 17%-3 的结 果 为 2 , -19%4 的结 果为-3。 运算对象可 以是常量、 变量和函数 等 介绍双目单 目运算概念 C 语言基础知识(三) 内容 说明 主要 1. 运算符和表达式 内容 2. 数据类型的转换 重点 算术运算中的取余和整除 难点 1. 自增、自减运算符 2. 复合赋值运算符 引入 : C 语言包括多种运算,这里重点讲授算术运算符 ,强制类型转换运算 符、赋值运算符、复合的赋值运算符、逗号运算符。其他运算符如:关系 运算符,逻辑运算符,条件运算符等,在以后各章中结合有关内容将陆续介绍。 一.算术运算符 类型 运算符 说明 双目或单目 +(加) 参加运算的两个数中有一个数为实数,则结果为 double 型。 对于除法运算符“/”,如果两个运算对象有一个为实型数 值时,其意义为实数除,结果为 double 型数值。如果两个 运算对象都为整型数值时,其意义为整除,结果为整型数 值。 两整数相除时,如果除数或被除数中有一个是负值,多数 系统(包括 Turbo C)采取“向零取整”的方法 -(减) 双目 *(乘) /(除) %(取余) 运算量必须为整数。当运算量为负数时,符号与 被除数相同 【说明】 双目运算符运算数的类型必须一致,否则先进行类型转换。 所有实型数的运算均以双精度方式进行。 二. 算术运算符的优先级、结合性 1. 优先级 ( )、 +、 -、 *、 /、 %、 +、 - 单目 双目 高 低 2. 结合性 单目运算符“-”和“+”的结合性是从右到左,其余运算符的结合性都 是从左到右。 三. 算术表达式 【注意】 在算术表达式中使用多层圆括号时,圆括号要成对出现。 运算时从内往外依次计算。 不同优先级按优先级由高到低顺序进行,同级按运算符的结合方向进行。 同级 同级 同级
C语言程序设计教案 四.强制类型转换运算符 强制类型转换 形式(类型名)(表达式) 得到一个所需 如:(int)x%3 类型的中间变 (float )(5%3 量,原来变量 【注意】俵达式应用括号括起来。 的类型不发生 五.自增、自减运算符 变化 i(在使用i之前,先使i的值加1或减1) i—(在使用i之后,使i的值加1或减1) 举例说明 说明不宜使用 区分以下两条语句:i的初值为3 自增自减运算 j=++i;(i的值先变成4,再赋给j,j的值为4) 情况:输出语 j=i艹+;(先将i的值3赋给j,j的值为3,然后i变为4) 句,一个表达 【注意】对于形如i++的表达式,应理解为(i++)+j的形式 式同一个变量 ◇自增、自减运算符只适用于变量,不能用于常量和表达式 多次自增自减 ◆+和一的结合方向是“自右至左”i+相当于-(i+)。 运算 六赋值运算符和威值表达式 1.赋值运算符“ 2.赋值表达式的一般形式:变量名=表达式 比如: 赋值运算符的左边必须是一个代表某一存储单元的变量名,赋值运算符 a=b=c+2 的右边可以是任意合法的C表达式。赋值运算的功能是先求出右边表达“=b=10c2) 式的值,然后把此值赋给赋值运算符左边的变量 赋值表达式的值就是经赋值运算后被赋值的变量的值 【说明】卜赋值运算符的优先级别只高于逗号运算符。具有自右向左的结合性。 赋值号右边的表达式也可以是一个赋值表达式,按照自右向左的结合顺 七.复合的赋值运算符 在赋值运算符前加上其它运算符构成的运算符,叫做复合赋值运算符 C语言规定可以使用10种复合赋值运算符,它们是: 复合赋值运算符是两种运算符的结合,所以它包含了两种运算,一种 是赋值运算,另一种是和赋值运算符复合的其它运算符的运算。例如 等价于a=a+3 x%=3 等价于x=x%3 注意:如果复合赋值运算符的右边是一个表达式,则相当于它有一个x=y+8 括号。 等价于 八.逗号运算符和逗号表达式 X=x*(y+8) 概念用逗号将表达式连接起来的式子称为逗号表达式 1.其一般形式为:表达式1,表达式2 2.逗号表达式的求解过程:先求解表达式1,再求解表达式 整个逗号表达式的值是表达式2的值 说明个逗号表达式可以与另一个表达式组成一个新的逗号表达式。 如:(a=3*5,a*4),a+5 例如:输出 3.逗号表达式一般形式的扩展 语句中多个 形式表达式1,表达式2,……表达式n 变量之间用 【注意】并不是出现的任何逗号都是作为逗号运算符。 逗号分隔 在所有运算符中,逗号运算符的优先级别最低
C 语言程序设计教案 强制类型转换 得到一个所需 类型的中间变 量,原来变量 的类型不发生 变化。 比如: a=b=c+2; a=(b=10)/(c=2) 例如:输出 语句中多个 变量之间用 逗号分隔 举例说明 说明不宜使用 自增自减运算 情况:输出语 句,一个表达 式同一个变量 多次自增自减 运算。 四. 强制类型转换运算符 形式 (类型名)(表达式) 如: (int)x%3 (float)(5%3) 【注意】 表达式应用括号括起来。 五. 自增、自减运算符 ++i , --i (在使用 i 之前,先使 i 的值加 1 或减 1) i++ , i-- (在使用 i 之后,使 i 的值加 1 或减 1) 区分以下两条语句:i 的初值为 3 j=++i; (i 的值先变成 4,再赋给 j,j 的值为 4) j=i++; (先将 i 的值 3 赋给 j,j 的值为 3,然后 i 变为 4) 【注意】 对于形如 i+++j 的表达式,应理解为(i++)+j 的形式。 自增、自减运算符只适用于变量,不能用于常量和表达式。 ++和—的结合方向是“自右至左”。 i++相当于-(i++)。 六. 赋值运算符和赋值表达式 1. 赋值运算符“=” 2. 赋值表达式的一般形式:变量名=表达式 赋值运算符的左边必须是一个代表某一存储单元的变量名,赋值运算符 的右边可以是任意合法的 C 表达式。赋值运算的功能是先求出右边表达 式的值,然后把此值赋给赋值运算符左边的变量。 3. 赋值表达式的值就是经赋值运算后被赋值的变量的值。 【说明】 赋值运算符的优先级别只高于逗号运算符。具有自右向左的结合性。 赋值号右边的表达式也可以是一个赋值表达式,按照自右向左的结合顺 序。 七. 复合的赋值运算符 在赋值运算符前加上其它运算符构成的运算符,叫做复合赋值运算符。 C 语言规定可以使用 10 种复合赋值运算符,它们是: += -= *= /= %= >>= <<= &= ∧= |= 复合赋值运算符是两种运算符的结合,所以它包含了两种运算,一种 是赋值运算,另一种是和赋值运算符复合的其它运算符的运算。例如: a +=3 等价于 a = a + 3 x %=3 等价于 x = x % 3 注意:如果复合赋值运算符的右边是一个表达式,则相当于它有一个 括号。 八. 逗号运算符和逗号表达式 概念 用逗号将表达式连接起来的式子称为逗号表达式。 1. 其一般形式为:表达式 1,表达式 2 2. 逗号表达式的求解过程:先求解表达式 1,再求解表达式 2。 整个逗号表达式的值是表达式 2 的值。 说明 一个逗号表达式可以与另一个表达式组成一个新的逗号表达式。 如:(a=3*5,a*4),a+5 3. 逗号表达式一般形式的扩展: 形式 表达式 1,表达式 2,……表达式 n 【注意】 并不是出现的任何逗号都是作为逗号运算符。 在所有运算符中,逗号运算符的优先级别最低。 x*= y + 8 等价于 x = x*(y + 8)
C语言程序设计教案
C 语言程序设计教案