版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1天道酬勤!天道酬勤!高级语言程序设计高级语言程序设计主讲教师:丁丁主讲教师:丁丁计算机与信息技术学院计算机与信息技术学院3回顾回顾n字符输入、输出函数?字符输入、输出函数?n格式输入、输出函数是?其一般形式为?这些格式输入、输出函数是?其一般形式为?这些输入输出函数的库函数的头文件是?输入输出函数的库函数的头文件是?n算术运算符及表达式算术运算符及表达式q - * / %q整数除整数仍为整数整数除整数仍为整数q%的操作对象只能为整数的操作对象只能为整数n混合类型算术表达式的转换规则是?混合类型算术表达式的转换规则是?n数学函数库的头文件名?如何调用?数学函数库的头文件名?如何调用?4前面:前
2、面:只能描述由基本数据出发的简单计算只能描述由基本数据出发的简单计算实现简单的顺序结构程序实现简单的顺序结构程序场景场景1:程序中有许多相同的计算:程序中有许多相同的计算场景场景2:解决的问题大而且比较复杂解决的问题大而且比较复杂场景场景3:解决复杂问题所需的其它基本控制结构如何实现:解决复杂问题所需的其它基本控制结构如何实现 选择结构循环结构选择结构循环结构5第三章第三章变量、函数和控制结构变量、函数和控制结构2022-7-4高级高级语言程序设计语言程序设计6主要内容:主要内容:程序设计的基本知识程序设计的基本知识n3.1 语句、复合语句语句、复合语句 n3.2 变量变量概念、定义和使用概念
3、、定义和使用n3.3 定义函数(初步,第五章深入)定义函数(初步,第五章深入) n3.4 关系表达式、逻辑表达式、条件表达式关系表达式、逻辑表达式、条件表达式n3.5 语句和控制结构语句和控制结构n3.6 常见结构和问题常见结构和问题7n语句语句是程序的基本单位,语句的结束标志是是程序的基本单位,语句的结束标志是;printf();/*输出语句输出语句*/a = b + c;/*赋值语句赋值语句*/ n语法语法:语句的形式必须符合语言要求。:语句的形式必须符合语言要求。n语义语义:形式合法的语句表达了某种含义(程序执行时:形式合法的语句表达了某种含义(程序执行时的效果),称为语句的语义。的效果
4、),称为语句的语义。C语言描述执行流程的一种最基本的结构是语言描述执行流程的一种最基本的结构是复合复合结构结构。语句语句8语法:一对花括号语法:一对花括号.,后无分号后无分号,其中可有,其中可有0个或多个个或多个语句语句。语义:顺序执行其中的各个语句。语义:顺序执行其中的各个语句。空复合结构中没有语句,执行时立即结束。空复合结构中没有语句,执行时立即结束。 int main () printf(Good morning!n); printf(“PI=%fn”,3.1415); return 0; 这些语句顺序执这些语句顺序执行:顺序结构行:顺序结构复合结构(复合语句)复合结构(复合语句)复合语
5、句复合语句int main () int n,m;double a,b; scanf(“”); if mn a=a+b;b=a-b; else a=a*b;b=a/b; printf(“”); return 0;9C语言是自由书写格式,但语言是自由书写格式,但应养成良好规范:应养成良好规范: 使用使用TAB缩进缩进 对齐对齐 有足够的注释有足够的注释 有合适的空行有合适的空行 锯齿形书写锯齿形书写int main () int n,m;double a,b; scanf(“”); if mn a=a+b;b=a-b; else a=a*b;b=a/b; printf(“”); return 0
6、;复合语句可以嵌套复合语句可以嵌套 10 C语言的语句语言的语句n空语句空语句 : ;n复合语句复合语句: 之间的部分之间的部分n表达式语句表达式语句: a=b+c; n声明语句声明语句: int a,b,c; n控制语句控制语句: if for while do-while switch2022-7-4高级高级语言程序设计语言程序设计11主要内容:主要内容:程序设计的基本知识程序设计的基本知识n3.1 语句、复合语句语句、复合语句 n3.2 变量变量概念、定义和使用概念、定义和使用n3.3 定义函数(初步,第五章深入)定义函数(初步,第五章深入) n3.4 关系表达式、逻辑表达式、条件表达式
7、关系表达式、逻辑表达式、条件表达式n3.5 语句和控制结构语句和控制结构n3.6 常见结构和问题常见结构和问题1 变量的基本概念变量的基本概念n变量变量q程序运行过程中可以发生变化的量程序运行过程中可以发生变化的量q存储数据的命名对象(变量名)存储数据的命名对象(变量名)q变量名是标识符变量名是标识符q使我们可能通过一个名字来使用存储单元使我们可能通过一个名字来使用存储单元n变量的特点变量的特点q变量能保存值,不会丢失。变量能保存值,不会丢失。q变量的值可以变化变量的值可以变化q变量赋一个值之后,每次使用它总得到这个值,直到变量赋一个值之后,每次使用它总得到这个值,直到下次赋值。下次赋值。n对
8、变量基本操作对变量基本操作q赋值(写)赋值(写)q取值(读)取值(读)注意:要遵循命名规范2 变量的定义变量的定义13变量定义形式:变量定义形式:类型名类型名 变量名变量名1, , 变量名变量名n;int k, n, sum, count;long double y, z;int m; double x; 声明语句声明语句说明说明:n变量必须先定义后使用!变量必须先定义后使用!n变量有固定的类型,变量有固定的类型,只能保存这个类型的值只能保存这个类型的值。q整型变量(保存整型变量(保存 int值的变量)值的变量)q双精度变量(保存双精度变量(保存 double 值)值)q字符变量等,但字符变量
9、是按整数形式存储的。字符变量等,但字符变量是按整数形式存储的。14注意注意:n变量的命名变量的命名q关键字不能用做变量名关键字不能用做变量名q提倡采用有意义名字:提倡采用有意义名字:area,number15变量命名的一般原则变量命名的一般原则n应当直观且可以拼读,可望文知意,不必进行应当直观且可以拼读,可望文知意,不必进行“解码解码” q例如不要把例如不要把CurrentValue写成写成NowValue n长度应当符合长度应当符合“min-length & max-information”原则原则q如变量名如变量名maxVal比比maxValueUntilOverflow好用。好用。q单字
10、符的名字也是有用的,如单字符的名字也是有用的,如i,j,k,m,n,x,y,z等,函数内的局部变量。等,函数内的局部变量。n尽量与所采用的操作系统或开发工具的风格保持一致尽量与所采用的操作系统或开发工具的风格保持一致 q如如Windows应用程序的标识符通常采用应用程序的标识符通常采用“大小写大小写”混排的方式,如混排的方式,如AddChild。q而而Unix应用程序的标识符通常采用应用程序的标识符通常采用“小写加下划线小写加下划线”的方式,如的方式,如add_child。n程序中不要出现仅靠大小写区分的相似的标识符程序中不要出现仅靠大小写区分的相似的标识符 qint x, X; / 变量变量
11、x 与与 X 容易混淆容易混淆 n变量的名字应当使用变量的名字应当使用“名词名词”或者或者“形容词名词形容词名词” q例如:例如:float value; float oldValue; float newValue;n尽量避免名字中出现数字编号,如尽量避免名字中出现数字编号,如Value1,Value2等等16变量命名普通规范变量命名普通规范n变量名一般需要反映变量的用途变量名一般需要反映变量的用途q如:如:int sum;n如果变量名由多个单词构成,每个单词的首字如果变量名由多个单词构成,每个单词的首字符要大写符要大写q如:如:int CurrentValue17注意注意:n复合结构中可以
12、定义变量(局部变量)复合结构中可以定义变量(局部变量)。q只能在该复合语句内部使用只能在该复合语句内部使用q变量定义应出现在所有语句之前变量定义应出现在所有语句之前变量定义序列变量定义序列语句序列语句序列n一个复合结构里一个复合结构里不能定义多个同名的变量不能定义多个同名的变量。n复合结构的执行:复合结构的执行: 先定义变量,而后顺序执先定义变量,而后顺序执行各语句行各语句顺序结构顺序结构。18#includeint main() int a,b,c; a=1;b=5;c=8; c=a+b; int d; d=a+c; printf(d=%dn,d); printf(d=%dn, d); re
13、turn 0;#includeint main() int a,b,c,d; a=1;b=5;c=8;d=9; c=a+b; int d; d=a+c; printf(d=%dn,d); printf(c=%d d=%dn,c,d); return 0;例例 运行以下两个程序,分析结果运行以下两个程序,分析结果19n取值取值:计算中遇到变量,取其值参与计算:计算中遇到变量,取其值参与计算qx + sin(3.2 * y) - pow(x, 2); qprintf(“%dn”, n * 2);n赋值赋值:用:用赋值运算符赋值运算符(=,赋值号赋值号)表示)表示qx = 5.0; x = y; x
14、 = y + sin(a)q左边是赋值目标,右边是提供值的表达式左边是赋值目标,右边是提供值的表达式q赋值运算是把右边表达式的值赋给左边变量赋值运算是把右边表达式的值赋给左边变量n赋值语句赋值语句:赋值表达式后加分号(语法):赋值表达式后加分号(语法)3 变量的取值和赋值变量的取值和赋值qx = 5.0; x = y; x = y + sin(a);20说明说明:n赋值运算符优先级很低赋值运算符优先级很低q例:例:x = 2 + 3 * y /*先计算后赋值先计算后赋值*/n赋值运算符的值与结合性赋值运算符的值与结合性q赋值表达式本身也有值,就是赋给左边变量的那个值赋值表达式本身也有值,就是赋
15、给左边变量的那个值q赋值表达式的值可以作为更大表达式的一部分赋值表达式的值可以作为更大表达式的一部分,但不提倡但不提倡n y = (x = 5) + 8; y = (z = (x = 1.0); q赋值运算符赋值运算符从右向左从右向左结合结合ny = z = x = 1.0;赋值与类型赋值与类型n被赋值变量有类型(由变量定义确定)被赋值变量有类型(由变量定义确定)n赋值号右边表达式的值有类型赋值号右边表达式的值有类型21不一致将发不一致将发生类型转换生类型转换规定:规定:若表达式值与被赋值变量类型不同,该值先转换到变若表达式值与被赋值变量类型不同,该值先转换到变量类型的值,然后赋值量类型的值,
16、然后赋值。#includeint main() int n;double s; n=6;s=n; printf(s=%fn,s); return 0;#includeint main() int n;double s; s=6.2;n=s; printf(n=%dn,n); return 0;比较运行结果比较运行结果?22例例(第二章第二章):三角形三边长为:三角形三边长为3、5、7厘米,求其面积厘米,求其面积。/程序功能:已知三角形三边长求面积程序功能:已知三角形三边长求面积#include #include int main () printf(%fn, sqrt(3+5+7)/2.0)
17、* (3+5+7)/2.0 - 3) * (3+5+7)/2.0 - 5) * (3+5+7)/2.0 - 7); return 0;23/程序功能:已知三角形三边长求面积程序功能:已知三角形三边长求面积#include #include int main () double s; s = (3. + 5. + 7.) / 2.; printf(Area: %fn, sqrt(s*(s-3.)*(s-5.)*(s-7.); return 0;*变量的最主要用途:变量的最主要用途:保存计算的中间结果保存计算的中间结果表达式表达式例:重写由三边例:重写由三边3、5、7求三角形面积的程序。求三角形面
18、积的程序。24/程序功能:输入三角形三边长,求面积程序功能:输入三角形三边长,求面积#include#includeint main( ) double a, b, c, s, area; printf(Please input a,b and c: n); scanf(%lf,%lf,%lf, &a, &b, &c); s = (a + b + c) / 2.0; area=sqrt(s * (s - a) * (s - b) *( s - c); printf(a=%7.2f, b=%7.2f, c=%7.2f , s=%7.2f n,a,b,c,s); printf(area=%7.2f
19、n,area);return 0;例:从键盘输入三角形三边边长,求三角形的面积并输出例:从键盘输入三角形三边边长,求三角形的面积并输出程序更具有通用性程序更具有通用性25double s = (3 + 5 + 7)/2.0;long double x = 4.5L, y = 3.24L;n变量初始化变量初始化q在定义变量时,用类似赋值的写法给被定义变量指定初在定义变量时,用类似赋值的写法给被定义变量指定初值,称为变量的初始化。值,称为变量的初始化。q可用可用数值或者数值表达式数值或者数值表达式为类型合适的变量做初始化为类型合适的变量做初始化q只能一个变量一个变量的做初始化,即使这些变量需要只能
20、一个变量一个变量的做初始化,即使这些变量需要完全相同的初值完全相同的初值4 几个问题几个问题26#include #include int main() double s; s = (3.+ 5.+7.)/2.; printf(Area: %fn, sqrt(s*(s-3.)*(s-5.)*(s-7.); return 0;#include #include int main() double s=(3.+5.+7.)/2.; printf(Area: %fn, sqrt(s*(s-3.)*(s-5.)*(s-7.); return 0;比较两个程序比较两个程序?27 变变量量的的名名字字 变
21、变量量类类型型 35.70 变变量量的的值值 double x1 变变量量存存储储位位置置 地地址址:0 x00002f30 变量的名字:变量的名字:访问变量访问变量变量的类型:变量的类型:可参与的运算形式可参与的运算形式变量的值:变量的值:参与计算参与计算变量的地址:变量的地址:计算机内的具体实现计算机内的具体实现变量的属性变量的属性例例 double x1 = 35.70;28#includeint main() int x = 5, y; x=x+1; y = (y = 8) + x; printf(x=%d,y=%dn, x, y); return 0;执行后执行后x,y 的值是什么?
22、的值是什么?赋值与赋值与 “等于等于”:在:在C中中“ = ”不是不是“等于等于”x = x+1; C中合法中合法,数学里为矛盾数学里为矛盾;x=6 ,y=1429简单计算程序简单计算程序 基本结构(顺序结构)基本结构(顺序结构)#include /* 如用数学函数,要写如用数学函数,要写#include */ int main () /* 若干变量定义(及可能的初始化)若干变量定义(及可能的初始化) */ /* 若干计算和赋值语句若干计算和赋值语句 */ /* 若干输出语句若干输出语句 */ return 0;这是这是 C 程序的基本形式,后面逐步扩充程序的基本形式,后面逐步扩充可能会用到函
23、数,可能会用到函数,复合结构等复合结构等2022-7-4高级高级语言程序设计语言程序设计30主要内容:主要内容:程序设计的基本知识程序设计的基本知识n3.1 语句、复合语句语句、复合语句 n3.2 变量变量概念、定义和使用概念、定义和使用n3.3 定义函数(初步,第五章深入)定义函数(初步,第五章深入) n3.4 关系表达式、逻辑表达式、条件表达式关系表达式、逻辑表达式、条件表达式n3.5 语句和控制结构语句和控制结构n3.6 常见结构和问题常见结构和问题1 问题的提出问题的提出-为什么要定义函数为什么要定义函数31p 函数是特定计算过程的抽象,体现结构化程序设计函数是特定计算过程的抽象,体现
24、结构化程序设计p 复杂问题模块化复杂问题模块化p 有参数有参数( (有类型有类型),),有返回值有返回值( (有类型有类型) )或无返回值或无返回值p C中函数分中函数分: 标准函数和用户自定义函数标准函数和用户自定义函数函数解决什么问题函数解决什么问题?如何定义函数如何定义函数?如何使用函数如何使用函数?32例:求一些圆盘的面积,圆盘半径分别为:例:求一些圆盘的面积,圆盘半径分别为:3.24、2.13、0.865、3.746、12.3364、8.421要求输出各圆盘的面积。设圆周率用要求输出各圆盘的面积。设圆周率用 3.1416。#includeint main() printf(radiu
25、s:%f, area:%fn, 3.24, 3.24 * 3.24 * 3.1416); printf(radius:%f, area:%fn, 2.13, 2.13 * 2.12 * 3.1415); /* 实际程序里不能有省略号实际程序里不能有省略号 */ return 0;繁琐繁琐?有解决问题的办法有解决问题的办法?33办法办法1:有以半径为参数计算圆盘面积的函数:有以半径为参数计算圆盘面积的函数:double c_area(double) 函数的类型特征函数的类型特征办法办法2:如有计算并输出圆盘面积的函数如有计算并输出圆盘面积的函数:void pc_area(double) 函数的类
26、型特征函数的类型特征函数能使程序变短,变得易写函数能使程序变短,变得易写/易理解易理解/易修改易修改程序简化为:程序简化为:printf(radius:%f,area:%fn,3.24,c_area(3.24);printf(“radius:%f,area:%fn”,3.24,c_area(2.13);程序进一步简化为:程序进一步简化为:pc_area(3.24); pc_area(2.13);如何定义函数如何定义函数n把一段计算定义成函数并给以命名把一段计算定义成函数并给以命名n定义后就可以通过名字调用,用在任何需要的地定义后就可以通过名字调用,用在任何需要的地方。方。34定义函数定义函数
27、c_areadouble c_area (double r) return r * r * 3.1416;或定义函数或定义函数 c_areadouble c_area (double r) double area area= r * r * 3.1416 ; return area;如何使用函数如何使用函数n有返回值的函数可作为有返回值的函数可作为表达式表达式使用使用35外半径外半径5.3,内半径,内半径3.07,高,高4.2的空心圆柱:的空心圆柱: (c_area(5.3) - c_area(3.07)*4.2半径半径3.24高高2.4的圆锥体积:的圆锥体积:2.4 * c_area(3.2
28、4) / 3.036/* 定义定义c_area函数,重写程序函数,重写程序 */#include double c_area (double r) return r * r * 3.1416; /* 很容易很容易修改圆周率近似值修改圆周率近似值*/int main () printf(Radius:%f, area:%fn, 3.24, c_area(3.24); printf (Radius:%f, area:%fn, 2.13, c_area(2.13); printf (Radius:%f, area:%fn, 0.865, c_area(0.865); printf (Radius:%
29、f, area:%fn, 3.746, c_area(3.746); p r i n t f ( R a d i u s : % f , a r e a : % f n , 1 2 . 3 3 6 4 , c_area(12.3364); printf (Radius:%f, area:%fn, 8.421, c_area(8.421); return 0; 任意给出半径求出圆的任意给出半径求出圆的面积,如何改写程序?面积,如何改写程序?37/* 定义定义pc_area函数,重写程序函数,重写程序 */#include double c_area (double r) return r * r
30、 * 3.1416; void pc_area (double r) printf(Radius:%f, area:%fn, r, c_area(r);int main () pc_area(3.24); pc_area(2.13); pc_area(0.865); pc_area(3.746); pc_area(12.3364); pc_area(8.421); return 0; void表示无返表示无返回值的函数回值的函数无返回值的函数的调无返回值的函数的调用相当于语句用相当于语句2 函数定义函数定义38函数返回值类型函数返回值类型 函数名(类型函数名(类型1 参数名参数名1,类型,类型
31、2 参数名参数名2,)参数(形式参数)表参数(形式参数)表 变量定义部分变量定义部分 语句部分语句部分 return (表达式表达式 );函数头部函数头部函数体函数体函数定义函数定义int add(int x,int y) int z; /*局部变量局部变量*/ z = x + y; return (z);函数调用函数调用(使用使用)m = add(78, 89);返回函数值返回函数值p函数头部函数头部: 说明函数的类型特征。说明函数的类型特征。 形式:形式:函数返回值类型函数返回值类型 函数名函数名(形式参数表形式参数表) p函数体:函数体:是复合结构是复合结构,其中定义的变量是本函数的,其
32、中定义的变量是本函数的局部变量局部变量 只在该函数内有效。只在该函数内有效。 形式形式参数也看作局部变量参数也看作局部变量. 形式:形式:函数头部函数头部 函数体函数体形式参数表:形式参数表: 声明形式参数(形参)的名字和类型(声明形式参数(形参)的名字和类型(一一对应一一对应) 接收函数调用时实在参数的值,在函数体内完成计算等接收函数调用时实在参数的值,在函数体内完成计算等40函数体中的特殊语句:函数体中的特殊语句:return语句语句/返回语句返回语句p有返回值的函数必须有有返回值的函数必须有return语句语句return 表达式表达式; return;p遇遇return函数执行结束函数
33、执行结束p先算先算表达式表达式 ,以其值作为函数返回值,以其值作为函数返回值p表达式类型函数返回值类型应与一致。不一致转换表达式类型函数返回值类型应与一致。不一致转换函数的调用函数的调用41函数名函数名(实际参数表实际参数表)函数名函数名(实参实参1,实参,实参2, ,实参实参n)m=add(x,y);实参可以是实参可以是常量,变量或表达式常量,变量或表达式;实在参数的类型、个数与形参一一对应实在参数的类型、个数与形参一一对应有返回值的函数调用有返回值的函数调用看作表达式;看作表达式;无返回值的函数调用无返回值的函数调用相当于语句;相当于语句;函数的执行函数的执行n 函数的形参接收到实参传递的
34、数据,带入函数的形参接收到实参传递的数据,带入函数体复合语句开始执行,遇到函数体复合语句开始执行,遇到return语语句返回到调用语句后。句返回到调用语句后。42函数特征函数特征(函数原型函数原型)描述形式描述形式43 double sin(double) /标准函数标准函数sin double c_area (double) void pc_area (double) 函数返回值类型函数返回值类型 函数名函数名(参数类型参数类型,参数类型参数类型)与函数定义比较一下与函数定义比较一下,区别是什么区别是什么?注意:注意:nC语言中语言中函数内部不允许再定义函数函数内部不允许再定义函数,即不,即
35、不能嵌套定义能嵌套定义;函数内部可以调用函数,甚;函数内部可以调用函数,甚至是调用自己(递归函数)第四章讲至是调用自己(递归函数)第四章讲.4445#includeint add(int,int);void main( ) int x, y, m; scanf(%d,%d, &x, &y); m = add(x, y); printf(%d+%d=%dn,x,y,m); int add(int x, int y) int z;z = x + y;return(z);完整的程序完整的程序4,64+6=1046例例:定义已知三角形三边长度求面积的函数。:定义已知三角形三边长度求面积的函数。t_ar
36、ea,3个个double参数返回参数返回double。类型特征:。类型特征:double t_area (double, double, double)函数定义:函数定义:double t_area(double a, double b, double c) double s = (a + b + c)/2.0; return(sqrt(s*(s-a)*(s-b)*(s-c); /*还可以怎么写还可以怎么写?*/函数调用函数调用area=t_area (x, y, z) 注意形参和实参的对应!注意形参和实参的对应!定义无返回值的函数定义无返回值的函数n若函数不需要返回值,可定义无返回值的函数若
37、函数不需要返回值,可定义无返回值的函数n形式:返回值类型处写形式:返回值类型处写 voidn无无return语句,或语句,或 return;n无返回值的函数不能用在表达式中无返回值的函数不能用在表达式中例:根据半径计算并输出圆盘面积的函数:例:根据半径计算并输出圆盘面积的函数:void pc_area (double r) printf (Radius:%f, area:%fn, r, 3.1416 * r * r);调用函数:调用函数:pc_area (3.4);/*相当于语句相当于语句*/48#include void pc_area (double r) printf (Radius:%
38、f, area:%fn, r, 3.1416 * r * r); int main () pc_area(3.24); pc_area(2.13); pc_area(0.865); pc_area(3.746); pc_area(12.3364); pc_area(8.421); return 0; return 0,将将0返回给调用返回给调用主函数的系统,表示主主函数的系统,表示主函数正常结束。函数正常结束。49n主函数主函数main: 完整完整C程序必须有一个名为程序必须有一个名为main的函数(主函数)的函数(主函数)int main () nmain在程序启动时被自动调用(由运行系统调
39、用)在程序启动时被自动调用(由运行系统调用)n程序从程序从main的函数体开始执行,直到该复合结构结束的函数体开始执行,直到该复合结构结束n其他函数不经调用就不会执行其他函数不经调用就不会执行n整个程序里不允许调用整个程序里不允许调用main。3 函数和程序函数和程序50定义时的类型问题定义时的类型问题n函数返回值类型与返回语句中表达式类型可能不一致函数返回值类型与返回语句中表达式类型可能不一致n返回语句中返回语句中表达式表达式的值转换成函数返回值类型返回的值转换成函数返回值类型返回 例:例:int fun(int m) return 3.2 * m + 5; /会丢失信息会丢失信息 调用时的
40、类型问题调用时的类型问题n实参个数应符合函数定义的要求,各实参应能转换到对应形参实参个数应符合函数定义的要求,各实参应能转换到对应形参的类型的类型n当实参类型与形参类型不同时,将当实参类型与形参类型不同时,将实参类型实参类型的值转换成的值转换成形参类形参类型型的值后再传给形参的值后再传给形参4 函数与类型函数与类型51例:例:int fun (int m) return 3.2 * m + 5; 语句:语句:x = fun(2.5 + 6);设设x是双精度变量,语句是双精度变量,语句执行时有几次转换?执行时有几次转换?类型转换的各种情况:类型转换的各种情况:n计算中可能出现类型转换计算中可能出
41、现类型转换n赋值时可能出现类型转换赋值时可能出现类型转换n参数传递时可能出现类型转换参数传递时可能出现类型转换n产生函数返回值时可能出现类型转换产生函数返回值时可能出现类型转换5次次525 函数调用与程序执行函数调用与程序执行53#include /*函数原型函数原型*/ /* 函数定义写在这里函数定义写在这里 */int main () /* 主程序体,包含函数调用主程序体,包含函数调用 */ /* 函数定义也可写在这里函数定义也可写在这里,但在但在main之前给出函数原之前给出函数原型型 */包含一个包含一个/多个函数定义的程序模式:多个函数定义的程序模式:54/*完成加法计算完成加法计算
42、*/#includeint add(int,int);void main( ) int x,y,m; scanf(%d,%d,&x,&y); m=add(x,y); printf(%d+%d=%dn,x,y,m); int add(int x,int y) int z;z=x+y;return(z);/*完成加法计算完成加法计算*/#includeint add(int x,int y) int z;z=x+y;return(z);void main( ) int x,y,m; scanf(%d,%d,&x,&y); m=add(x,y); printf(%d+%d=%dn,x,y,m); 55n函数中定义的形参,为局部变量,在未出现函数调用函数中定义的形参,为局部变量,在未出现函数调用时,并不占用内存单元,只有调用该函数时才分配内时,并不占用内存单元,只有调用该函数时才分配内存单元,调用结束
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 厂房转让合同
- 2026年物流地产定制开发合同
- 2026年医院品牌建设咨询服务合同
- 2026年个人锦鲤养殖承包合同
- 2025年北京林业大学自聘劳动合同制人员招聘备考题库及1套完整答案详解
- 2025年凉山彝族自治州普格县公安局公开招聘警务辅助人员的备考题库完整参考答案详解
- 2025年自贡市自流井区飞龙峡镇人民政府招聘编外聘用人员的备考题库及一套参考答案详解
- 黑龙江公安警官职业学院《计算机基础B》2024-2025学年期末试卷(A卷)
- 阿莫西林的课程设计
- 2025山东日照五莲县教体系统招聘博士研究生2人模拟笔试试题及答案解析
- 可行性报告商业计划书
- 甲流防控知识培训课件
- DB32 T538-2002 江苏省住宅物业管理服务标准
- 湖南师范大学课程毛概题库
- 借住合同范本(2篇)
- 2025年民航华北空管局招聘笔试参考题库含答案解析
- 公司反腐败反贿赂培训
- 江西省2024年“三新”协同教研共同体高三联考 地理试卷(含答案解析)
- 高新区七年级上学期语文期末试卷
- 部编高教版2023·职业模块 中职语文 2.《宁夏闽宁镇:昔日干沙滩今日金沙滩》 课件
- 【MOOC】生命的教育-浙江大学 中国大学慕课MOOC答案
评论
0/150
提交评论