chap1 引言 - 浙江大学计算机辅助设计与图形学国家重点实 …(ppt-53)

上传人:繁星 文档编号:88247977 上传时间:2019-04-22 格式:PPT 页数:53 大小:781.50KB
返回 下载 相关 举报
chap1 引言 - 浙江大学计算机辅助设计与图形学国家重点实 …(ppt-53)_第1页
第1页 / 共53页
chap1 引言 - 浙江大学计算机辅助设计与图形学国家重点实 …(ppt-53)_第2页
第2页 / 共53页
chap1 引言 - 浙江大学计算机辅助设计与图形学国家重点实 …(ppt-53)_第3页
第3页 / 共53页
chap1 引言 - 浙江大学计算机辅助设计与图形学国家重点实 …(ppt-53)_第4页
第4页 / 共53页
chap1 引言 - 浙江大学计算机辅助设计与图形学国家重点实 …(ppt-53)_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《chap1 引言 - 浙江大学计算机辅助设计与图形学国家重点实 …(ppt-53)》由会员分享,可在线阅读,更多相关《chap1 引言 - 浙江大学计算机辅助设计与图形学国家重点实 …(ppt-53)(53页珍藏版)》请在金锄头文库上搜索。

1、C语言 程序设计基础与试验,刘新国、2012年秋,1,程序设计语言的语法,C语言的主要“单词” (1)标识符: C语言的标识符规定由字母、数字以及下划线组成,且第一个字符必须是字母或下划线。 (2)保留字(关键字): 它们是C语言规定的、赋予它们以特定含义、有专门用途的标识符。 (3)自定义标识符: 包括在程序中定义的变量名、数据类型名、函数名以及符号常量名。有意义的英文单词 (4)常量: 常量是有数据类型的,如,123、12.34 (5)运算符。代表对各种数据类型实际数据对象的运算。如,+(加)、-(减)、*(乘)、/(除)、%(求余)、(大于),2,程序设计语言的语法,C语言的主要语法单位

2、 (1)表达式: 运算符与运算对象组合就形成了表达试。如,2 + 3 * 4 (2)变量定义: 变量也有数据类型,所以在定义变量时要说明相应变量的类型。如: int i; (3)语句: 语句是程序最基本的执行单位,程序的功能就是通过对一系列语句的执行来实现的。 (4)函数定义与调用,3,程序设计语言的语法,语句: 表达式语句:表达式加分号“;” 分支语句:实现分支控制过程 if (a b) x = a; else x = b; 循环语句:实现循环控制的过程 sum = 0; /* 初始化sum和i */ i = 1; while (i = 100) /* while循环语句 */ sum =

3、sum + i; i = i + 1; 复合语句:用一对“ ”,将若干语句顺序组合在一起就形成了一个程序段。,4,程序设计语言的语法,函数定义与调用: 函数是完成特定任务的独立模块,函数的使用最主要涉及到函数的定义与调用。,5,函数申明与调用,int main(void) /* 主函数 */ int n; int factorial(int n); /* 函数声明 */ scanf(“%d“, ,6,输入输出语句,printf(格式控制字符串, 输出参数1, , 输出参数n); scanf(格式控制字符串, 输入参数1, , 输入参数n); %c 一个字符 % 打印一个百分号 %d 有符号十进

4、制整数 %i 有符号十进制数(与d相同) %f 浮点数、十进制记数法 %s 字符串 %p 指针,7,输入输出语句,%o 无符号八进制整数 %u 无符号十进制整数 %x 使用十六进制数字f的无符号 十六进制整数 %X 使用十六进制数字f的无符号 十六进制整数,8,输入输出语句,%e 浮点数、e-记数法 %E 浮点数、-记数法 %g 根据数值不同自动选择f或e %G 根据数值不同自动选择f或e.,9,scanf格式控制字符串,格式控制字符串: 格式控制说明: 按指定的格式输入数据, % 与数据类型有关 int型 :%d float型:%f double型:%lf 普通字符:原样输入 例如: sca

5、nf(“%lf“, ,输入: 9.5,scanf(“x=%lf“, ,输入: x=9.5,尽量不要出现普通字符,10,else if 语句,if (表达式1) 语句1 else if (表达式2) 语句2 else if (表达式n-1) 语句n-1 else 语句n,if(ch = a ,11,3.2.2 switch语句,处理多分支选择问题,3种情况 1、在switch语句的每个语句段中都使用break语句 switch(表达式) case 常量表达式1:语句段1; break; case 常量表达式2:语句段2 ; break; case 常量表达式n:语句段n ; break; def

6、ault : 语句段n+1 ; break; ,12,2、在switch中不使用break,switch(表达式) case 常量表达式1:语句段1; case 常量表达式2:语句段2; case 常量表达式n:语句段n; default : 语句段n+1; ,13,for(表达式1;表达式2;表达式3) 循环体语句 实现C语句的重复执行,2.4.2 for语句循环语句,3个表达式、循环体语句 !书写顺序和执行顺序不同 !表达式1只执行一次,14,4.1.2 while 语句,while (条件表达式) 循环体语句;,循环条件,循环体, 13858115132,15,while 语句和for语

7、句 都是在循环前先判断条件,while 语句说明,表达式1; while (表达式2) 循环体语句; 表达式3; , 13858115132,16,for(表达式1; 表达式2; 表达式3) 循环体语句,改写for语句为while 语句,4.2.2 do - while 语句,do 循环体语句 while (表达式),先循环,后判断,真,假,表达式,循环体语句,do-while的下一条语句, 13858115132,17,break 语句,while(exp) 语句1 if (expb) break; 语句2 ,for (i = 2; i m/2 ) printf(“Yes“); else p

8、rintf(“No!n“);,当循环有多个出口时: 区分与处理结束条件,for(i = 2; i = m/2; i+) if(m%i = 0) printf(“No!n“); break; printf(“Yes“);, 13858115132,18,continue 语句,while(exp) 语句1 if (expb) continue; 语句2 ,跳过continue后面的语句,继续下一次循环, 13858115132,19,复合语句 + 嵌套,do 循环体语句 while (表达式) while() 循环体语句 for() 循环体语句 ,5.1.2 函数的定义,函数是指完成一个特定工作

9、的独立程序模块。 库函数:由C语言系统提供定义 如scanf()、printf()等函数 自定义函数:需要用户自己定义 如计算圆柱体体积函数cylinder() main()也是一个函数,C程序由一个main()或多个函数构成。 程序中一旦调用了某个函数,该函数就会完成一些特定的工作,然后返回到调用它的地方。 函数经过运算,得到一个明确的运算结果,并需要回送该结果。例如,函数cylinder()返回圆柱的体积。 函数完成一系列操作步骤,不需要回送任何运算结果。,1返回运算结果的函数定义,函数类型 函数名(形参表) /* 函数首部 */ /* 函数体 */ 函数实现过程 return 表达式;

10、,把函数运算的结果回送给主函数,只能返回一个值,函数返回值的类型,没有分号,double cylinder (double r, double h) double result; result = 3.1415926 * r * r * h; return result; ,形参,类型1 参数1 ,类型2 参数2 ,类型n 参数n 参数之间用逗号分隔,每个参数前面的类型都必须分别写明,函数类型 函数名(形参表) 函数实现过程 return 表达式; ,不能写成 double r, h,double cylinder (double r, double h) double result; res

11、ult =3.1415926 * r * r * h; return result; ,1函数调用的形式和过程,使用返回值: volume = cylinder (radius, height ); printf(“%f n” , cylinder (radius, height ); 完成操作: pyramid(5);,常用于void类型函数的调用,常用于返回结果的函数的调用,常量、变量、表达式,函数名(实参表),可以出现在计算/判断表达式中: (ch=getchar()!=n getchar()!=n,2参数传递,函数定义时的参数被称为形式参数(简称形参) double cylinder

12、(double r, double h); 函数调用时的参数被称为实际参数(简称实参) volume = cylinder (radius, height); 实参形参 在参数传递过程中,实参把值复制给形参。 形参和实参一一对应:数量一致,类型一致,顺序一致 形参:变量,用于接受实参传递过来的值 实参:常量、变量或表达式,单向传递,3函数结果返回,函数返回的两种情况 完成确定的运算,有一个运算结果返回给主调函数。 完成指定工作,没有确定的运算结果需返回给主调函数(函数类型void)。 函数结果返回的形式: return 表达式; return (表达式);,5.3 变量与函数,5.3.1 局部

13、变量和全局变量 5.3.2 变量生命周期和静态局部变量,5.3.1 局部变量和全局变量,局部变量 在函数内定义的变量(包括形参) 作用范围:本函数内部 定义在复合语句内的变量 作用范围:复合语句内部 全局变量 在函数以外定义的变量,不从属于任一函数。 作用范围:从定义处到源文件结束(包括各函数),例5-6 在复合语句中定义局部变量。,#include int main (void) int a; a = 1; /* 复合语句开始 */ int b = 2; b = a + b; a = a + b; /* 复合语句结束 */ printf (“%d “ , a ); return 0; ,b:

14、小范围内的临时变量,4,例5-7 全局变量定义,#include “stdio.h“ int x; /* 定义全局变量x */ int f( ) int x = 4; /* x为局部变量 */ return x; int main(void) int a = 1; x = a; /* 对全局变量 x 赋值 */ a = f( ); /* a的值为4 */ int b = 2; b = a + b; /* b的值为4 */ x = x + b; /* 全局变量运算 */ printf(“%d %d“ , a, x); return 0; ,4, 7,若局部变量与全局变量同名,局部变量优先,变量作

15、用范围示例,int x=1; void main( ) int a=2; int b=3; f( ); int t=4 ; void f( ) int x=5, b=6; . int a=7;,x=? a=? b=?,b=?,x=5 b=6 t=4 a没定义,x=? b=? t=? a=?,自动变量(auto): 普通的局部变量 int x, y; auto int x, y; char c1; auto char c1; 函数调用时,定义变量,分配存储单元。 函数调用结束,收回存储单元。 全局变量:从程序执行开始,到程序的结束,存储单元始终保持。 变量生命周期 变量从定义开始分配存储单元,到运行结束存储单元被回收的整个过程。,5.3.2 变量生命周期和静态局部变量,存储类型: 动态存储:自动变量 静

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号