C语言程序的设计电子教学课件源代码参考的答案02单元1-程序的设计基础

上传人:29 文档编号:240603995 上传时间:2024-04-24 格式:PPT 页数:58 大小:1.58MB
返回 下载 相关 举报
C语言程序的设计电子教学课件源代码参考的答案02单元1-程序的设计基础_第1页
第1页 / 共58页
C语言程序的设计电子教学课件源代码参考的答案02单元1-程序的设计基础_第2页
第2页 / 共58页
C语言程序的设计电子教学课件源代码参考的答案02单元1-程序的设计基础_第3页
第3页 / 共58页
点击查看更多>>
资源描述
国家教学资源库建设项目国家教学资源库建设项目C语言程序设计主讲人:杨丹、刘斌、张静常州信息职业技术学院常州信息职业技术学院2C语言程序设计语言程序设计 C语言程序设计语言程序设计 单元一单元一 程序设计基程序设计基础础 教学目教学目标【知识目标知识目标】1了解C语言的特点,初步熟悉C语言程序开发过程和VC+上机步骤;2理解语句的概念,了解C语言的可执行语句和return语句;3领会标识符的命名规则、C函数的定义和结构;4掌握C语言程序的结构、主函数的结构和程序执行的过程;5理解函数的定义、调用、声明及三者之间的关系和区别,理解参数传递的过程;常州信息职业技术学院3C语言程序设计语言程序设计 C语言程序设计语言程序设计 单元一单元一 程序设计基程序设计基础础【知识目标知识目标】6理解和掌握整型常量、实型常量、字符常量、字符串常量及其表示方法和符号常量的定义及使用;7掌握变量的定义、赋值和初始化;8了解整型变量、实型变量、字符型变量在内存中的存储形式、存储长度和取值范围;9弄清自动变量、静态变量和外部变量的生存周期和作用域;10熟练掌握算术运算、赋值类运算等各种运算的运算规则、运算符的优先级别和结合方向;11领会算术表达式、赋值表达式和逗号表达式的值及计算过程。常州信息职业技术学院4C语言程序设计语言程序设计 C语言程序设计语言程序设计 单元一单元一 程序设计基程序设计基础础 教学目教学目标【能力目标能力目标】1初步熟悉VC+程序开发环境;2能够在所编写的程序中正确的定义和使用变量;3能够用C语言表达式表达实际问题,模仿编写简单应用问题的程序代码;4能够初步对C语言程序进行调试。常州信息职业技术学院5C语言程序设计语言程序设计 C语言程序设计语言程序设计 引例描述引例描述 单元一单元一 程序设计基程序设计基础础 求给定三位整数的各位数码。对给定的一个三位整数,求出这个三位数的各位上的数码,如:386,求得的结果是:百位数码是3,十位数码是8,个位数码是6。引例演示引例演示 常州信息职业技术学院6C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.1 C语言程序开发过程语言程序开发过程 一、一、C语言的特点语言的特点1使用简洁、灵活、方便使用简洁、灵活、方便2运算符丰富、表达能力强运算符丰富、表达能力强3数据类型丰富数据类型丰富4以函数作为模块单位以函数作为模块单位5允许直接访问物理地址允许直接访问物理地址6生成目标代码质量高生成目标代码质量高7可移植性好可移植性好 常州信息职业技术学院7C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.1 C语言程序开发过程语言程序开发过程 二、程序开发过程二、程序开发过程 1编辑编辑2编译编译3连接连接4执行执行 编辑编译连接执行编写输入源程序 .cpp .obj .exe结果常州信息职业技术学院8C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.1 C语言程序开发过程语言程序开发过程 三、三、Visual C+上机步骤上机步骤 第一步:进入第一步:进入visual C+6.0用户界面。用户界面。第二步:建立项目文件。第二步:建立项目文件。第三步:建立源程序文件。第三步:建立源程序文件。第四步:编译源程序。第四步:编译源程序。第五步:生成可执行文件。第五步:生成可执行文件。第六步:执行程序。第六步:执行程序。常州信息职业技术学院9C语言程序设计语言程序设计 C语言程序设计语言程序设计【例例1-1】求两个整数的和的c语言程序如下,对其进行编辑、编译、连接、执行。1.1 C语言程序开发过程语言程序开发过程#include int Sum(int x,int y);int main()int a,b,s;printf(请输入两个整数:);scanf(%d%d,&a,&b);s=Sum(a,b);printf(两个整数和是:%dn,s);return 0;int Sum(int x,int y)int z;z=x+y;return z;常州信息职业技术学院10C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.2 函数及其结构函数及其结构 一、函数的定义一、函数的定义(一)语句(一)语句1说明语句说明语句2可执行语句可执行语句表达式语句函数调用语句空语句复合语句流程控制语句 常州信息职业技术学院11C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.2 函数及其结构函数及其结构 一、函数的定义一、函数的定义(二)函数的定义(二)函数的定义函数定义的一般格式:函数定义的一般格式:返回值类型返回值类型 函数名函数名(参数类型参数类型1 形式参数形式参数1,参数类型参数类型N 形式参数形式参数N)数据定义部分数据定义部分数据操作部分数据操作部分 标识符的命名规则:标识符的命名规则:以字母或下划线开头,由字母、数字、下划线组成。常州信息职业技术学院12C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.2 函数及其结构函数及其结构 二、函数调用二、函数调用1函数调用的一般格式函数调用的一般格式被调函数名(实际参数表)被调函数名(实际参数表)其中,实际参数简称为实参,实参表可由一个或多个实参组成,但必须与形参的个数和类型一致,两个实参之间用逗号分隔。2参数传递参数传递 在进行函数调用时,把实参的值传递给对应的形参,所以,每个实参在函数调用之前都必须有确定的值。3函数调用的作用函数调用的作用 常州信息职业技术学院13C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.2 函数及其结构函数及其结构 三、函数声明三、函数声明1函数声明的格式函数声明的格式类型标识符类型标识符 函数名(形参表);函数名(形参表);其中函数声明是一个说明语句必须在结尾加分号,其它与函数定义中的函数头完全相同。如果被调用函数写在主调函数之前,函数声明可省略不写,但应该养成书写函数声明的良好习惯。2函数声明的作用函数声明的作用常州信息职业技术学院14C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.2 函数及其结构函数及其结构 四、四、return语句语句 1return语句的一般格式语句的一般格式return(表达式表达式);其中一对圆括号可省略不写。当函数没有返回值时,表达式甚至整个返回语句可省略不写。2return语句的作用语句的作用 使程序流程从被调函数返回到主调函数的函数调用处,并将被调函数的返回值带回到函数调用处。常州信息职业技术学院15C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.2 函数及其结构函数及其结构 五、主函数的结构五、主函数的结构C语言的主函数的一般格式:语言的主函数的一般格式:int main()数据定义数据定义数据输入数据输入函数调用函数调用数据输出数据输出return 0;常州信息职业技术学院16C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.2 函数及其结构函数及其结构 六、程序的执行过程六、程序的执行过程 C语言程序总是从主函数main()开始执行,依次执行主函数函数体内的每一个可执行语句,直到最后一个右花括号程序才执行完毕。常州信息职业技术学院17C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.2 函数及其结构函数及其结构 七、注释七、注释在VC+环境中,注释有两种:1以/*开头,以*/结束,中间写待注释的内容。2以/开头,在其后写待注释的内容。注释的作用:注释的作用:增强程序的可读性和用于对程序进行调试。常州信息职业技术学院18C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.2 函数及其结构函数及其结构【例例1-2】以下C语言程序的功能是:对用户输入的矩形边长求矩形的周长。体会函数定义、调用、声明和注释的使用,理解程序执行和参数传递过程。常州信息职业技术学院19C语言程序设计语言程序设计 C语言程序设计语言程序设计 程序执行和参数传递过程:程序执行和参数传递过程:#include int Perimeter(int x,int y);/函数Perimeter的声明int main()int length,wide,pmt;printf(请输入矩形的长和宽:);scanf(%d%d,&length,&wide);/假设用户输入5 3pmt=;printf(矩形的周长是:%dn,pmt);return 0;/*以下是函数Perimeter的定义*/int Perimeter(int x,int y)int z;z=;return z;lengthwide*pmt*5 3Perimeter(length,wide)x*y*z*532*x+2*y1616/函数调用16常州信息职业技术学院20C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.3 数据描述数据描述 一、常量一、常量(一)整型常量及表示法(一)整型常量及表示法1十进制整型常量:2十进制长整型常量:3八进制整型常量:4八进制长整型常量:5十六进制整型常量:6十六进制长整型常量:用数码09表示的十进制整数在十进制整型常量后加小写字母l或大写字母L表示的数以数字0开头用数码07表示的整数,开头的数字0代表所表示的数为八进制数在八进制整型常量后加小写字母l或大写字母L表示的数以数字0和小写字母x或大写字母X开头,用数码09或小写字母af或大写字母AF表示的十六进制整数,0 x代表所表示的数为十六进制数在十六进制整型常量后加小写字母l或大写字母L表示的数【示例】32,-7等都是十进制整型常量。【示例】64L,65783 l 等都是十进制长整型常量。【示例】027,036,-015等都是合法的八进制整型常量,而049是不合法的八进制整型常量,因为,049中有数码9。【示例】032 l,057L等都是八进制长整型常量。【示例】0 xa8,0X59,-0X39等都是十六进制整型常量,而0 xag,2f等都不是合法的十六进制整型常量,因为0 xag中有符号g;2f前没有0 x。【示例】0XFFl,0 x64L等都是十六进制长整型常量。常州信息职业技术学院21C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.3 数据描述数据描述 一、常量一、常量(二)实型常量及表示法(二)实型常量及表示法1十进制小数形式:十进制小数形式:由数码09、正负号和小数点(必须有小数点)组成的十进制小数表示的实数。2指数形式:指数形式:由尾数、字母e或E、阶码三部分组成,其中尾数为十进制小数或整数,阶码为1位或2位的十进制(有符号)整数。【示例】3.14,-0.271,0.0,0.,.6 等都是十进制小数形式的实型常量。【示例】3.14159e2表示十进制数3.14159102,31415.9E-2表示十进制数31415.910-2,它们都表示十进制小数314.159;1e03表示十进制数1103,这里的尾数1不能省,而E03,-2e314都是不合法的实型常量,因为E03中缺少尾数;-2e314中阶码是3位整数,超过了阶码的范围。常州信息职业技术学院22C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.3 数据描述数据描述 一、常量一、常量(三)字符型常量及表示法(三)字符型常量及表示法 1字符型常量:字符型常量:用单引号括起来的单一字符(包括转义字符)称为字符型常量。【示例】a,A,2,n,101等都是字符型常量,其中n,101都是转义字符,而,都是不合法的字符型常量,对于单撇号和反斜杠必须用转义字符来表示。常州信息职业技术学院23C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.3 数据描述数据描述 一、常量一、常量(三)字符型常量及表示法(三)字符型常量及表示法 2转义字符:转义字符:以反斜杠“”开头后跟一个规定的字母代表一个控制字符;代表反斜杠字符“”,代表单撇号字符“”;以反斜杠开头后跟13位八进制数代表ASCII码值为该八进制数的字符(此方法可表示ASCII字符集中的任一字符);以反斜杠和小写字母x开头,即以x开头,后跟12位十六进制数代表ASCII码值为该十六进制数的字符(也可表示ASCII字符集中的任一字符)。字符字符形式形式含含 义义ASCII值值(十进制十进制)n回车换行,将当前光标位置移到下一行的开头10t 水平跳格(跳到下一个制表区的起始位置)9b退格,光标前移一列,光标经过位置不变8r回车(不换行)13f换页12反斜杠字符92单引号(撇号)字符39双引号字符34ddd1到3位8进制数代表的字符xhh以x开头的1到2位16进制数代表的字符常州信息职业技术学院24C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.3 数据描述数据描述 一、常量一、常量(四)字符串常量及表示法(四)字符串常量及表示法 字符串常量:字符串常量:用双撇号括起来的字符序列称为字符串常量,简称字符串。字符串中含字符的个数称为该字符串的长度。【示例】How do you do,A,He154lo.n都是字符串常量,它们的长度分别是13,1,7,应注意:154和n都是转义字符,都只代表一个字符。常州信息职业技术学院25C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.3 数据描述数据描述 一、常量一、常量(五)符号常量(五)符号常量 符号常量的定义方法:在程序的开头,使用如下的编译预处理命令:#define 符号常量符号常量 常量常量常州信息职业技术学院26C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.3 数据描述数据描述【例例1-3】符号常量的使用求圆的面积。#include#define PI 3.14159double Area(double r);int main()double Radii,s;printf(请输入圆的半径:);scanf(%lf,&Radii);s=Area(Radii);printf(半径为%lf的圆的面积是%lfn,Radii,s);return 0;double Area(double r)double s;s=PI*r*r;return s;常州信息职业技术学院27C语言程序设计语言程序设计 C语言程序设计语言程序设计 二、变量二、变量变量:变量:在程序运行过程中,其值可以改变的量。(一)变量的定义(一)变量的定义1变量的定义变量的定义变量定义的一般形式类别标识符类别标识符 类型标识符类型标识符 变量名表;变量名表;1.3 数据描述数据描述 常州信息职业技术学院28C语言程序设计语言程序设计 C语言程序设计语言程序设计 二、变量二、变量存储类别标识符包括:存储类别标识符包括:auto(自动)、register(寄存器)、static(静态);类型标识符包括:类型标识符包括:short(短整型)、int(基本整型)、long(长整型)、float(单精度实型)、double(双精度实型)、char(字符型)等。1.3 数据描述数据描述【示例1】int i,j,k;缺省存储类别标识符系统默认是auto,通过此说明语句定义了3个变量i,j,k都是基本整型变量、都是自动变量。【示例2】static float a,b;通过该说明语句定义了2个变量a,b都为单精度实型变量、都是静态变量。常州信息职业技术学院29C语言程序设计语言程序设计 C语言程序设计语言程序设计 二、变量二、变量2变量的赋值变量的赋值 变量赋值的一般形式变量变量=表达式;表达式;作用:作用:把赋值号右端表达式的值赋给赋值号左端的变量,即把赋值号右端表达式的值写到赋值号左端变量的存储空间中。1.3 数据描述数据描述【示例】a=b+2;把b+2的值赋给变量a,此时,b必须已有确定的值。常州信息职业技术学院30C语言程序设计语言程序设计 C语言程序设计语言程序设计 二、变量二、变量3变量的初始化变量的初始化 变量赋值的一般形式变量变量=表达式;表达式;作用:作用:把赋值号右端表达式的值赋给赋值号左端的变量,即把赋值号右端表达式的值写到赋值号左端变量的存储空间中。1.3 数据描述数据描述【示例1】int a=5,b;在定义变量a,b的同时给变量a赋值为5,是对变量a进行初始化。【示例2】int a,b;a=5;先定义两个整型变量a,b,然后给变量a赋值为5,不是初始化。常州信息职业技术学院31C语言程序设计语言程序设计 C语言程序设计语言程序设计 二、变量二、变量(二)整型变量(二)整型变量1整型变量的类型标识符整型变量的类型标识符有符号基本整型:signed int无符号基本整型:unsigned int有符号短整型:signed short int无符号短整型:unsigned short int有符号长整型:signed long int无符号长整型:unsigned long int注:方括号的内容表示是可选的。1.3 数据描述数据描述【示例1】int a,b;定义变量a,b都是整型变量、都是自动变量。【示例2】unsigned long c,d;定义变量c,d都是无符号长整型变量、都是自动变量。常州信息职业技术学院32C语言程序设计语言程序设计 C语言程序设计语言程序设计 二、变量二、变量(二)整型变量(二)整型变量2整型数据在内存中的存储形式整型数据在内存中的存储形式 数据在内存中所占的字节数叫做数据的存储长度。VC+系统规定:short型数据在内存中占2个字节(16位),以16位二进制数的补码形式存放;int型和long型数据在内存中占4个字节(32位),以32位二进制数的补码形式存放。1.3 数据描述数据描述 常州信息职业技术学院33C语言程序设计语言程序设计 C语言程序设计语言程序设计 二、变量二、变量(二)整型变量(二)整型变量3整型数据的取值范围整型数据的取值范围 1.3 数据描述数据描述 类型类型存储长度存储长度取值范围取值范围signed short int2字节(16位)-3276832767(-215215-1)unsigned short int2字节(16位)065535(0216-1)signed int4字节(32位)-21474836482147483647(-231231-1)unsigned int4字节(32位)04294967295(0232-1)signed long int4字节(32位)-21474836482147483647(-231231-1)unsigned long int4字节(32位)04294967295(0232-1)常州信息职业技术学院34C语言程序设计语言程序设计 C语言程序设计语言程序设计 二、变量二、变量(三)实型变量(三)实型变量1实型变量的类型标识符实型变量的类型标识符 类型标识符分别是:float(单精度实型)和double(双精度实型)。2实型数据的存储长度、取值范围和精度实型数据的存储长度、取值范围和精度 1.3 数据描述数据描述 类型类型存储长度存储长度取值范围取值范围有效数字有效数字精度精度float4字节(3.410-38 3.41038)67位6位double8字节(1.710-308 1.710308)1516位6位常州信息职业技术学院35C语言程序设计语言程序设计 C语言程序设计语言程序设计 二、变量二、变量(四)字符型变量(四)字符型变量1字符型变量的类型标识符字符型变量的类型标识符(有符号)字符型:signed char无符号字符型:unsigned char2字符型数据的存储形式及取值范围字符型数据的存储形式及取值范围 字符型数据在内存中占1个字节,以其相应的ASCII码值的8位二进制数(补码)形式存储,char型数据的取值范围是-128127,unsigned char型数据的取值范围是0255,每一个数值对应一个字符。1.3 数据描述数据描述 常州信息职业技术学院36C语言程序设计语言程序设计 C语言程序设计语言程序设计 1.3 数据描述数据描述【例例1-4】将大写字母转换为小写字母。#include char ToLower(char ch);int main()char ch,low;printf(请输入一个大写字母:);scanf(%c,&ch);low=ToLower(ch);printf(大写字母%c转换为小写字母是%cn,ch,low);return 0;char ToLower(char ch)char tlow;tlow=ch+32;return tlow;常州信息职业技术学院37C语言程序设计语言程序设计 C语言程序设计语言程序设计 二、变量二、变量(五)动态变量(五)动态变量 1自动变量自动变量 用存储类别标识符auto定义的变量是自动变量,自动变量的存储空间是在程序运行时分配的,分配和释放由系统自动完成。使用时,应注意以下几点:在定义变量时,缺省存储类别标识符系统默认是自动变量;自动变量的存储空间在程序运行期间分配和释放,称为动态存储;1.3 数据描述数据描述 常州信息职业技术学院38C语言程序设计语言程序设计 C语言程序设计语言程序设计 二、变量二、变量(五)动态变量(五)动态变量 1自动变量自动变量自动变量只在定义它的那个局部范围内才起作用,称为局部变量;自动变量在赋值之前,它的值是不确定的;对同一个函数的两次调用之间,自动变量的值不保留。这是因为,调用一次之后存储空间被释放,再调用时,又另分配了存储空间。2寄存器变量寄存器变量 1.3 数据描述数据描述【示例】int main()int x=1;void prt(void);int x=3;prt();printf(2nd x=%dn,x);printf(1nd x=%dn,x);return 0;void prt(void)int x=5;printf(3nd x=%dn,x);【示例】int main()int x;printf(x=%dn,x);return 0;【示例】void count(int n);int main()count(1);count(2);return 0;void count(int n)int x=1;printf(%d:x=%d,n,x);x=x+2;printf(%dn,x);常州信息职业技术学院39C语言程序设计语言程序设计 C语言程序设计语言程序设计 二、变量二、变量(六)静态变量(六)静态变量 用标识符static定义的变量是静态变量。1静态变量是在编译时分配存储空间,程序运行结束存储空间才被释放,称为永久存储,即,存在于程序执行的全过程,直到程序执行结束;2静态变量的初始化是在编译时进行的,如果不显式为静态变量初始化,系统自动置静态变量的初值为0(整型)或0.0(实型);1.3 数据描述数据描述 常州信息职业技术学院40C语言程序设计语言程序设计 C语言程序设计语言程序设计 二、变量二、变量(六)静态变量(六)静态变量3在函数多次被调用的过程中,静态变量的值具有继承性,即本次调用的初值是上次调用结束时变量的值;4静态局部变量的作用域具有局部性,静态局部变量的值只能在本函数中使用,但生存周期是永久存储。1.3 数据描述数据描述【示例】void increment(void);int main()increment();increment();increment();return 0;void increment(void)static int x=1;x=x+2;printf(%dn,x);【示例】void increment(void);int main()int x=5;increment();printf(1:x=%dn,x);return 0;void increment(void)static int x=1;x=x+2;printf(2:x=%dn,x);常州信息职业技术学院41C语言程序设计语言程序设计 C语言程序设计语言程序设计 二、变量二、变量(七)外部变量(七)外部变量 定义在所有函数体之外的变量称为外部变量。1外部变量是在编译时为其分配存储空间的,在静态存储区中存储,生存周期是永久存储,作用域是从定义点到本文件结束;2外部变量的初始化也是在编译时进行的,如果不显式为外部变量初始化,系统自动置外部变量的初值为0(整型)或0.0(实型)。1.3 数据描述数据描述 常州信息职业技术学院42C语言程序设计语言程序设计 C语言程序设计语言程序设计 一、运算符与表达式一、运算符与表达式1运算量:运算量:参加运算的对象称为运算量,运算量包括:常量、变量、函数等。2运算符:运算符:用来表示运算的符号称为运算符或操作符。3表达式:表达式:用运算符把运算量连接起来的符合C语言语法规则的式子称为表达式。1.4 数据操作数据操作 常州信息职业技术学院43C语言程序设计语言程序设计 C语言程序设计语言程序设计 二、算术运算二、算术运算1单目算术运算(正、负号运算)单目算术运算(正、负号运算)运算符:+正(取原值),负(取相反数)。优先级别:+,同级别,是第2级。结合方向:右结合。1.4 数据操作数据操作 常州信息职业技术学院44C语言程序设计语言程序设计 C语言程序设计语言程序设计 二、算术运算二、算术运算2双目算术运算双目算术运算运算符及运算规则:+(加),(减),*(乘),/(除),%(求余或模)。%的运算规则是:对于a%b,求a被b除所得的余数,结果的符号与被除数a的符号相同。优先级别:+,第4级;*,/,%第3级。结合方向:均为左结合。1.4 数据操作数据操作 常州信息职业技术学院45C语言程序设计语言程序设计 C语言程序设计语言程序设计 二、算术运算二、算术运算2双目算术运算双目算术运算运算量的类型与结果类型:对于+,*,/这四种运算,参加运算的两个运算量可以是整型数据,也可以是实型数据;如果两个运算量都是整型数据,则结果也是整型数据,如果两个运算量中至少有一个是实型数据,则结果也是实型数据。对于模运算%,要求参加运算的两个运算量必须都是整型数据,运算所得的结果也是整型数据。1.4 数据操作数据操作【示例】int a=5,b=2;则 a+b 的结果为7,a/b的结果为2,而不是2.5。float a=5.0,b=2.0;则 a+b的结果为7.0,a/b的结果为2.5。所以,C语言中的除法运算“/”,有两方面的含义:当运算符两侧的运算量都是整型数据时,结果也是整型数据,此时称为整除;当运算符两侧的运算量至少有一个是实型数据时,结果是double类型数据,此时称为除法。【示例】int a=5,b=-5,c=3,d=-3;则 a%c的结果为2,b%c的结果为-2,a%d的结果为2,b%d的结果为2,a%b的结果为0,b%a的结果为0,0%a的结果为0,0%b的结果也为0。因此,对一个正整数求模运算,不论除数是正数还是负数,所得的结果都是非负数;对一个负整数求模运算,不论除数是正数还是负数,所得的结果都是非正数,对0求模运算的结果还是0,即结果的符号与被除数的符号相同。常州信息职业技术学院46C语言程序设计语言程序设计 C语言程序设计语言程序设计【例1-5】设n是一个两位整数,用C语言的表达式分别表示n的个位和十位数码。1.4 数据操作数据操作 解答:解答:n的个位数码可表示为n%10;n的十位数码可表示为n/10。常州信息职业技术学院47C语言程序设计语言程序设计 C语言程序设计语言程序设计 三、赋值类运算三、赋值类运算1赋值运算赋值运算给变量赋值的一般形式:变量给变量赋值的一般形式:变量=表达式表达式优先级别:优先级别:赋值运算的优先级别是第14级的,仅高于逗号运算符。结合方向:结合方向:右结合。赋值表达式:赋值表达式:根据运算符的优先级别和结合方向,通过加括号最终化为用赋值号把变量和表达式连接起来的式子称为赋值表达式。赋值表达式的值为赋值后赋值号左边变量的值。1.4 数据操作数据操作【示例1】int a;a=2;a=a+3;【示例2】int a=3,b;b=a=a+5;常州信息职业技术学院48C语言程序设计语言程序设计 C语言程序设计语言程序设计 三、赋值类运算三、赋值类运算2自反算术赋值运算自反算术赋值运算自反算术赋值运算符包括:自反加赋值:+=;自反减赋值:=;自反乘赋值:*=;自反除赋值:/=;自反模赋值:%=。优先级别:与赋值运算符同级,都是第14级。结合方向:右结合注意:注意:与赋值运算符一样,自反算术赋值运算符的左边通常也必须是变量。1.4 数据操作数据操作【示例】int a=5,b=3,c;c=b*=a+2;常州信息职业技术学院49C语言程序设计语言程序设计 C语言程序设计语言程序设计 三、赋值类运算三、赋值类运算3自加和自减运算自加和自减运算前缀形式:前缀形式:+变量,变量,-变量变量后缀形式:后缀形式:变量变量+,变量变量-对于前缀形式+i或-i,运算规则是:把i+1或i-1赋给变量i,而表达式(+i或i)取变量i被赋值后的值,即+i与i=i+1等价或i与i=i-1等价。对于后缀形式i+或i-,运算规则是:把i+1或i-1赋给变量i,而表达式(i+或i)取变量i被赋值前的值。优先级别:优先级别:自加、自减运算符的优先级别是第2级。结合方向:结合方向:右结合。1.4 数据操作数据操作【示例】int a=2,b=2,c=2,d=2;a+;b-;+c;-d;表达式表达式表达式执行前表达式执行前变量值变量值表达式执行后表达式执行后变量值变量值表达式表达式的值的值a+232b-212+c233-d211常州信息职业技术学院50C语言程序设计语言程序设计 C语言程序设计语言程序设计【例1-5】设有定义int a=3,b,c=5;请将以下两条语句a-;b=a+c;写成一条语句。1.4 数据操作数据操作 解答:解答:因为语句b=a+c;中的a使用的是语句a-;执行后a的值,所以,两条语句可写成一条语句b=-a+c;。常州信息职业技术学院51C语言程序设计语言程序设计 C语言程序设计语言程序设计 四、逗号运算四、逗号运算逗号运算符:逗号运算符:,(逗号)优先级别:优先级别:第15级,优先级别最低,低于一切其它运算符。结合方向:结合方向:左结合逗号表达式:逗号表达式:用逗号运算符把两个表达式连接起来的式子,称为逗号表达式。逗号表达式的一般形式:逗号表达式的一般形式:表达式1,表达式2逗号表达式运算过程及表达式的值:逗号表达式运算过程及表达式的值:先求解表达式1,再计算表达式2,表达式2的值为整个逗号表达式的值。1.4 数据操作数据操作【示例】a=3*5,a*4,a+5 常州信息职业技术学院52C语言程序设计语言程序设计 C语言程序设计语言程序设计 五、强制类型转换五、强制类型转换运算符:运算符:(类型标识符)(类型标识符)强制类型转换一般形式:强制类型转换一般形式:(类型标识符)(表达式)(类型标识符)(表达式)作用:作用:把表达式值的类型转化为类型标识符说明的类型。优先级别:优先级别:第2级,属单目运算,与正、负号运算和自增、自减运算等同级。结合方向:结合方向:右结合。1.4 数据操作数据操作【示例】要将3.2*4.8转换为整型数据,应写成(int)(3.2*4.8),而不能写成(int)3.2*4.8,这是因为强制类型转换运算符的优先级别高于算术运算。常州信息职业技术学院53C语言程序设计语言程序设计 C语言程序设计语言程序设计 六、长度运算六、长度运算长度运算的运算符:长度运算的运算符:sizeof长度运算的一般形式:长度运算的一般形式:sizeof(类型标识符或表达式)(类型标识符或表达式)优先级别:优先级别:第2级,是单目运算,与所有单目运算同级。结合方向:结合方向:右结合。1.4 数据操作数据操作【示例】int i;sizeof(i)的结果为4,sizeof(double)的结果为8,sizeof(hello)的结果为6。常州信息职业技术学院54C语言程序设计语言程序设计 C语言程序设计语言程序设计 引例分析与引例分析与实现 一、引例分析一、引例分析 对于给定的一个三位整数n,由前面的学习知道,n%10是这个三位数的个位,n/10%10是这个三位数的十位,n/10/10是这个三位数的百位。只要编写三个函数分别用来求这个三位数的个位、十位、百位,并由主函数来调用即可。常州信息职业技术学院55C语言程序设计语言程序设计 C语言程序设计语言程序设计 引例分析与引例分析与实现 二、引例实现二、引例实现 int main()int ThreeDN,ones,tens,hundreds;int Ones(int n),Tens(int n),Hundreds(int n);printf(请输入一个三位整数:);scanf(%d,&ThreeDN);ones=Ones(ThreeDN);tens=Tens(ThreeDN);hundreds=Hundreds(ThreeDN);printf(三位整数%d的n个位是%d,n十位是%d,n百位是%d。n,ThreeDN,ones,tens,hundreds);return 0;int Ones(int n)/求n的个位函数return n%10;int Tens(int n)/求n的十位函数return n/10%10;int Hundreds(int n)/求n的百位函数return n/10/10;国家教学资源库建设项目国家教学资源库建设项目再再 见见谢谢你的阅读v知识就是财富v丰富你的人生END
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!