c语言程序设计上机课件

上传人:无*** 文档编号:168731053 上传时间:2022-11-11 格式:DOCX 页数:86 大小:180.79KB
收藏 版权申诉 举报 下载
c语言程序设计上机课件_第1页
第1页 / 共86页
c语言程序设计上机课件_第2页
第2页 / 共86页
c语言程序设计上机课件_第3页
第3页 / 共86页
资源描述:

《c语言程序设计上机课件》由会员分享,可在线阅读,更多相关《c语言程序设计上机课件(86页珍藏版)》请在装配图网上搜索。

1、目 求1实验 C语言程序设计初步2实验数据类型、常量和变量8实验三 运算符与表达式数据类型的转换13实验四顺序程序设计16实验五选择结构程序设计19实验六循环型程序设计22实验七维数组,二维数组26实验维数组应用字符数组及应用30实验九函数的定义与调用34实验十函数的嵌套调用与递归调用37实验十数组作函数参数42实验十二内部函数和外部函数编译预处理45实验十三指针概述,指针与数组50实验十四字符串的指针指针与函数、多级指针57实验十五结构体66实验十六共用体、枚举、TYPEDEF定义类型、位运算72实验十七文件81实验 C语言程序设计初步、 目的,要求了解c程序的特点与构成;掌握上机步骤。二、

2、重点、难点C语言的构成:在TurboC环境下,C程序的编辑、编译、连接与执行过 程。三、讲解思路1、Turbo C运行程序的步骤。2、从几个c程序例子,说明c程序的构成;(1) TC上机步骤启动:DOS 下:C:TOTC Windows下:双击图标“我的电脑” 一打开“C盘”一打开“TC”文件夹打开“TC”文件打开:F3或F10-File-Load输入要打开的文件名新建:-File-New编辑:保存:或F10-File-Save编译:F9或 Compile/MakeEXEfileCR,修改错误运行:或 Run-Run结果:Alt-F5或 Run-User Screen退出:sR-File-Qu

3、it(2) TC窗的介绍进入TC后,首先进入以下窗口:rojectpt ionsebugreak/watchInsert Indent Tab Fill Unindent C:NONAME.C媳哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪Message哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪崛然哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪num oon-Switc-Trace现对以上窗口做以介绍:Tc2.0主屏幕由四部分组成: 主菜单、编辑窗、信息窗、快速参考行a、主菜单Turbo2. 0的集成开发环境的主菜单共有八个选择,其功能介绍如 下:File装入或保存文件,管理目录,转入D

4、OS和退出Tc。Edit建立和编辑文件。Run编译、连接和运行装入环境下的当前程序。Compile编译在环境下的当前程序。Project管理多个文件工程。Options设置编译程序和连接程序的各种选择项。Debug设置各种调试选择项。Break/Watch允许用户增加、删除和编辑监视表达式,可设置和清除断点。 b、编辑窗口给出正在编辑文件的有关信息:Line !指出当前光标所在的行号。Col 1指出当前光标所在的列号。Insert指出编辑程序目前正处于“插入状态”。Indent指明自动缩进开关为开,城市换行光标自动与上一行指明制表开关。当TAB开关开时,编辑程序在每一行的开始自动填以行首对齐。

5、 Tab Fill适当的制表符和空格。 Unindent当光标处于某行的第一个非空格字符或空格时,退格键将使光标回退级。 当文件以修改,但未保存时号将出现在文件名的前面。C: NONAME. C 表明编辑文件所在的驱动器是C盘,文件名是NONAME,扩展 名是.C。 编辑窗口用于编辑源程序文件。 c.信息窗口 编译操作发现源程序有错误时,系统将自动激活信息窗口,信息窗口中将列出被 编译文件的每个警告或出错信息,同时用髙亮度光条在编辑窗口中标出该程序 的相应出错位置 d.快速参考行 F1-HELP打开HELP窗,提供有关的编辑命令信息。F5ZOOM将信息窗口扩展为全屏幕或恢复原状。F6SWITC

6、H切换编辑窗口、信息窗口和观察窗口为活动窗口。F7-TRACE在调试模式下,一次执行一行用户程序,进入所调用的函数。F8-STEP在调试模式下,一次执行一行用户程序,不进入所调用的函数。 F9-MAKE编译连接生成可执行文件。F10MENU活动窗口与菜单切换。1. File菜单 Load装入一个新文件。(F3)Pick出现个选择表,由NONAME.C-Load file和前几次装入的 几个不同的文件构成。可选择项装入。 New建立一个新文件,文件名暂定为NONAME.C。Save把编辑窗口的文件存盘(F2)。Write to选择此项,出现个空白提示框,等待输入用于存盘的文件名。 Directo

7、ry选择此项,出现个提示框:Enter File name *. * ,可健入预装入编辑窗口的文件名。 Change dir 选择此项,先显示当前目录,键入不同的驱动器和目录。 Os shel!选择此项,可暂时退出Turbo CQuit选择此项,退出Turbo C2. Edit选择项选择此项进入编辑窗口,对调入其中的文件进行全屏幕编辑,也可直接编辑个文件。3. Run菜单RunPorgram Reset Go to cursorTrace intoStep overUser screen4. Compile 菜单Compile to OBJ运行用户程序(CTRL+F9),中止程序的调试(CTR

8、L+F2).用于程序调试(F4).执行当前函数的下一条语句(F7)。执行当前函数的下一条语句。不能跟踪进入低级的调用函 数(F8)。将Turbo 2.0集成开发环境的主屏幕转换到用户屏幕。Make EXE fileLink EXE fileBuild allPrimary C file Get info 窗口。5. Project 菜单 Project name Break make on将一C语言程序编译成目标文件(.OBJ),并显示所生成 的目标文件名(Alt+F9).调用Project_Make.把Turbo C的源程序直接生成一个可 执行文件,并显示生成的文件名(F9)。把当前的.OB

9、J和.LIB文件连接成可执行文件。把所有的丄程文件中的.OBJ文件的日期和时间设置成零, 再重新编译和连接这些文件。用来编译多个标题文件的单个源文件。可以将上次编译或运行的编译信息显示在个新开辟的Auto dependenciesClear Project Remove messages工程名中止生成自动依赖关系 清除工程名 清除错误信息。6. Options菜单用来设置集成开发环境的工作方式。CompilerLinkerEnvironmentDirectoriesArgumentsSave OptionsRetrieve Options编译程序 连接程序 环境设置目录设置传递参数设置保存此设

10、置恢复原设置7. DEBUG 菜单 程序的动态调试8. Break/Watch 菜单控制断点和监视表达式。(3)简单的C程序介绍1) C程序是由函数构成的main函数(必须)2) 一个函数由两部分组成函数的说明部分:包括函数名、函数类型、函数参数(形参)名、 形参类型、函数属性等函数体:变量定义、执行部分3) 个C程序总是从main函数开始执行的。4)每个语句和数据定义的最后必须有一个分号。5)可用“/*/”对C程序中的任何部分进行注释。6)书写格式自由,一行可以写几个语句:个语句可以写在几行上。 四、程序举例1 .程序组成 main ()运行结果:Programmingis fun.prin

11、tf (Programming is fun. n); )2 .求正弦#includemath. hmainO运行结果:0,190813float x;x=sin(0. 19199); printf(%fn, x);3 .调用函数求平均值float average(x, y, z) float x, y, z;float aver;aver=(x+y+z)/3;return (aver);) main() (float a, b, c, ave;a=3. 5; b=4. 6; c=7. 9;ave=average(a, b, c); printf ( average=%fz/, ave);运行

12、结果:average= 5. 3333334 .输出两个数中的大者 mainO(float a, b;运行结果:输入:10, 11输出:11scanf(,z%f%r,&a, &b);if (ab)printf(%fn, a);else printf (%fn, b);)五、课后作业1 .参照上面例题,编写个程序,输入a,b,c三个值,输出其中 最大的个。2 .输入一位同学的三门成绩,计算总分输出。3 .编写个程序,输出以下信息。WELCOME TO SIYUAN UNIVERSITY!4 .上机运行本实验4个例题,熟悉所用系统的上机方法与步骤。实验数据类型、常量和变量、目的、要求掌握c的数据类

13、型:掌握标识符的命名规则。二、重点、难点变量及其地址;重点掌握整型、实型、字符型三、讲解思路操作和操作对象是构成程序的2个耍素;通过介绍操作对象的类型、引入 常量和变量,再介绍对变量的声明和标识符的命名规则。四、知识点1.设计个程序的几个要素:(1)数据结构:指数据的组织形式,C语言中以数据类型的形式出现(2)算法:即操作步骤(3)程序设计方法:要求结构化程序设计方法(4)语言工具和环境2 .C语言的数据类型(基本类型、指针类型、构造类型、空类型)及其定 义方法。C语言的数据类型有如下几种(见图2.1):3 .常量与变量常量:其值不随程序的运行而改变的量变量:其值可随程序的运行而改变的量注意:

14、(l)C语言中,大、小写字母被认为是两个不同的字符。(2) C语言中,标识符的长度无统规定,随系统而不同。(3) C语言中,变量必须“先定义后引用”,以便在编译时发现错误。(3)数字。开头的数字序列,一律为8进制;(4) Ox开头的数字序列,一律为16进制;基本型C的数据类型构造类型整型 字符型(char) 实型(浮点型) 枚举型(理顺) 数组类型短整型(short) 整型(此) 长整型(long)单精度(flo就) 双精度(double)结构体类型(一) 共用体类型(union) 文件类型(FILE)指针型V空类型(void)(图 2. 1)4 .整型数据(图2. 2):整型变量的定义:变量

15、的定义一般放在个函数的开头部分。10进制(整型常量8进制16进制基本型:皿表示,-32768+32767 短整型:short向或short表不,同皿。整型变量长整型:long皿或long表不,-2147483648+2147483647无符号整型:unsigned皿I无符号型,无符号短整型:unsigned short无符号长整型:unsigned long5 .实型数据(图2. 3):实型常量不分float型、double型和!ong double型,因而可以给float, double型和long double型变量赋值,数字的有效位数由系统自动截取。实两“十进制形式:由数字和小数点组成实

16、型数据/堂畐1( E/e前必须有数字币里1指数形式:123e3或123E3代表123*103I E/e后必须为整数(单精度(float型):一般占4个字节(32位),7位有效数字、誓双精度(double型):一般占8个字节,15或16位有效数字 变量I长双精度(long double型):一般占10个字节,18或19位有效数字6 .字符型数据1)字符常量:由单引号括起来的字符如a、 K、 ?等。转义字符:将字符转换成另外的意思。常见转义字符及其含义见教材P48 表 3. 3。t:横向跳格到下一输出区,通常一个输出区占8歹。r!回车,但不换行。n!换行。ddd: T3位进制数代表的字符。xhh:

17、 P2位十六进制数代表的字符。2)字符变量字符变量用于存放字符常量,通常一个字符变量占内存中一个字节, 因此个变量只能存放个字符。字符实际上是以其ASCII代码存到内存的,因此其存储形式与整数的存储形 式相似,故C语言使字符型数据和整形数据之间可以通用。7 .关于标识符的说明标识符是程序中的实体变量、常量、函数、数组、结构体以及文件 的名字。(1)字母或下划线开头,字母、数字和下划线组成。(2)附录2中的32个关键字不能作为标识符。(3)尽量不要用下划线开头,以免与系统内部标识符冲突。4 4) 87ANSI C标识符的有效长度为31个字符,但无统一规定。(5)标识符区分大小写。(6)命名时应“

18、见名知义”。(7)通常符号常量大写,其余小写。五、程序举例5 .字符型与整型数据的关系 main()(char ch;ch- a ;printf(%d, ch);)2,字符型数据参加整型运算main ()(char ch;int i;ch= A;ch=ch+32;i=ch;printf(*%d is %cn*, i,ch); printf C%c is %dn*, ch, ch);3 .字符变量的赋值main () char cl,c2;cl=97;c2=b;printf (%c, %cn*, cl, c2); printf (%d, %dn cl, c2);4 .大小写字母的转换main (

19、) char cl,c2;cl= af ;c2= b* ;cl=cl-32;c2=c2-( a, A);printf (%c, %cn”, cl, c2);说明:1 . Turbo C将字符变量中的最高位作为符号位,即signed char型,取值范围 为-128+127。2 .若用/d输出ASCI!码为O127间的字符,则输出个正整数。若ASCII码为 128255,则得到个负整数。3 .若不想按有符号数处理,可将字符变量定义为unsigned char型,此时取值 范围为、255。六、课后作业1 .读程序,找出错误。main ()int a=3;float b=4. 5;printf (%

20、f, %dn”, a, b);2 .阅读理解下面程序,写出运行结果。1) 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=%dn”, c, d);2) mainO(printf(*t Hello!);printf(nl234567890);实验三运算符与表达式数据类型的转换、目的、要求掌握运算符、表达式、优先级、结合性等概念;掌握赋值表达式、逗号表达式;掌握数据类型的转换。二、重点、难点数据类型的转换;自加、自减运算;优先级和结合性;赋值表达式与逗号表达式。三、讲解思路运算(操

21、作)是对数据的加工,通过对运算符的介绍,引入优先级的概念。 重点介绍数据类型的转换,自加/自减运算,优先级和结合性,赋值表达式、 逗号表达式。四、知识点1 . C语言运算的种类、运算优先级和结合性。2 .不同类型数据间的转换和运算。注:C语言中允许不同类型的数据混合使用,但需要进行数据类型转换.类型转换的3种基本形式为;(1)同一类型但长度不同的数据间的转换;(2)定点方式与浮点方式之间的转换;(3)整型数有符号与无符号格式之间的转换。3. C语言表达式类型(赋值表达式、算术表达式、关系表达式、逻辑表达 式、条件表达式、逗号表达式)和求值规则。C语言运算的种类、运算优先级和结合性汇总如下表(图

22、3.1)优先被同12!&加345 从鯉右6 C733 Is从鱼右8&9A从左曼右1从金曼右11&121从量右?:从右砧14=+3 .= 冷 =1c= =s159图3.1从金量右五、程序举例1 .类型转换main ()(double a=123456. 789098765;float b;long c;int i, j;b=a;c=a;i=a;j=c;printf (*a=%lf, b=%f, c=%ld, i二d, j二%dn”, a, b, c, i, j);运行结果:a= 123456. 789099 b= 123456. 7890962c=123456i=-7616j=-76162 .复

23、合赋值运算符举例。mainO int a=3, b=9, c=-7;a+=b;c+=b;b+=(a+c);printf( ua=%d, b=%d, c=%dn” , a, b, c);a+=b=c;printf ( a二%d, b二%d, c二%dn” , a, b, c);a二b二 c;printf ( a二%d, b=%d, c=%dn” , a, b, c) ;3 .运算符举例关系。mainO运行结果:输入:a=3, b=5 输出:ab:Oa=b:O a 二 b: 1a! =b: 1 int a, b;scanf ( “a=%d, b=%d,&a, &b);printf ( aab:%d

24、nw ,ab);printf( aab:%dnw ,ab);printf ( , a=b);printf( a=b:%dn ,a二b);printf( aa, ,a3二31二633=242.移位位运算。(分析运行结果) #define SI 1 define S2 3 mainO int a;scanf(a=%d, &a);printf (,%d%d=%dn/ a, SI, aSl);printf (*%d%d=%dn*, a, S2, aS2);printf (%d%d二%dn”, a, SI, aSl);printf (d%d二%dn,a, S2, aS2);实验四顺序程序设计、目的、要求

25、掌握数据的输入和输出函数scanf (), printf (), getchar (), putchar ()二、重点、难点数据的格式输入输出及其应用。三、讲解思路个c程序由若干个源程序文件组成,每个源程序文件又由预编译命令和 若干个函数组成,每个函数包括说明部分和执行部分(语句),由此介绍几种语 句。通过示例介绍函数 scanf ( ), printf ( ), getchar ( ), putchar ()的应 用场合及其格式参数的使用方法。四、知识点1. 表达式语句,空语句,赋值语句,复合语句表达式语句:由表达式加上分号构成。空语句:只有一个分号,什么都不做。赋值语句:由赋值表达式和一个

26、分号构成。复合语句:C语言还允许把表达式连在一起,在最后加一个分号,形成 个复合表达式语句。2. putchar函数(字符输出函数)格式:putchar (c);功能:输出字符变量c的值。C可以是字符型变量,也可以是整型变量。 注意:使用putchar函数时,要用预编译命令#include将stdio. h 文件包括到用户源文件中。3. getchar函数(字符输入函数)格式:getchar (c);功能:从系统隐含指定的输入设备输入一个字符。注意:使用getchar函数时,要用预编译命令ttinclude 将stdio. h 文件包括到用户源文件中。getchar 函数只能接受一个字符。ge

27、tchar 函数得到的字符可以赋给字符变量或整型变量。getchar ()函数得到的字符也可不赋给其他变量,而直接作为表达式的一 部分。如 putchar (getchar );4. printf函数(格式输出函数)格式:printf (格式控制,输出表列)5. scanf函数(格式输入函数)格式:scanf (格式控制,地址表列)五、程序举例1 .字符输入输出函数:小写字母变大写ttinclude stdio. hmain()(char chi,ch2, ch3;chl=getchar();ch2=getchar():ch3=getchar();if (chl=a & chiz) chi二c

28、hi-32;if (ch2= a & ch2= a, & ch3= z) ch3=ch3-32;putchar(chi);putchar(ch2);putchar(ch3);)2 .输入数据流的分隔main()(int a;char b;float c;printf(*input a b c:);scanfC%d%c%f*, &a, &b, &c);printf (a=%d, b=c, c二%f n”, a, b, c);)3 .大写改小写输出(将键盘输入的大写字母改用小写字母输出,同时输出其 对应的ASCH码值)include stdio. hmain ()(char cl,c2;cl=ge

29、tchar();printf(%c, %dn*, cl, cl);c2=cl+32;printf(%c, %dn”, c2, c2);)六、课后作业1 .阅读下列程序,并写出运行结果。1) main()int x=l;printf (%d, %u,%”, x, x, x);2) mainOchar a= a;printf (%d, %c”, a+ 2 - 0, a+ 3 - );)3) main()int a=2;a%=a-l;printf(%d, a);a+=a*=a-=a*=3;printf(n%d”, a);2.编程已知三边求三角形面积。area = ys(s-a)(s-b)(s-c)公

30、式如下:s=(a+b+c)/2实验五选择结构程序设计、目的、要求掌握选择型程序要解决的问题及求解规则。掌握IFELSE、ELSE IF, SWITCH结构的应用。二、重点、难点IF-ELSE的配对。SWITCH语句的嵌套。BREAK子句的作用。三、讲解思路选择型程序用于解决判断问题。通过实例介绍IFELSE结构的应用, 它适用于多条件并列测试取种结果;通过一连串的判断来介绍!F-ELSE 的嵌套问题。对单条件测试取多个结果中的一个结果,则应用SWITCH结构。四、知识点(1) if语句实现选择结构。(1)基本if语句(单分支结构)if (表达式)语句(2) if-else语句(双分支结构)if

31、 (表达式)语句1else 语句2(3) if语句的嵌套if语句的嵌套是指在个if语句中又包含个或多个if语句。一般形式为: if ()if ( else)语句1语句2if ()语句3else 语句4注意:1) if与else的配对关系,else总是与其上面最近的(但未配对的) if配对。2)若if与else的数目不一样,可加来实现配対。(4) if-else-if语句(分支嵌套的特殊形式) 一一般形式为:if (表达式1)语句1else if (表达式2)语句2else if (表达式n) 语句nelse 语句 n+12. switch语句:多选一控制结构 用于解决两个以上的多分支选择问题。

32、 一般形式为:switch (表达式)case常量表达式1 :语句1 break;case常量表达式2:语句2 break;case常量表达式n:语句n break;default :语句 n+1 break; 注意:表达式可以为整型、字符型、枚举型等任意类型。case出现的次序不影响执行结果。多个case可以共用组执行语句。但不能有两个及其以上的case具有相 同的常量表达式值。四、程序举例1 .求个数的绝对值main()double a,abstr(double a);printf(*Enter real number a please:*);scanf&a);printf (*abs(%

33、lf)=%lfn*, a, abstr(a);double abstr(double x)(if (xb)t=a;a=b;b=t;if (ac)t=a;a=c;c=t;if (bc)t=b;b=c;c=t;printf C%5. 2f, %5. 2f, %5. 2frT, a, b, c);3.用switch计算运费,距离S(公里)越远,折扣越高:s250没有折扣250=s5002%折扣500=s10005%折扣1000=s20008%折扣2000二s300010%折扣3000=3000) c=12;else c=s/250;switch(c)case 0:d=0;break;case 1:d

34、=2;break;case 2:case 3:d=5;break;case 4:case 5:case 6:case 7:d=8;break;case 8:case 9:case 10:case 11:d=10;break;case 12:d=15;break;f=p*w*s*(l-d/100. 0);printf(freight=%15. 4f, f);六、课后作业1 .编程用条件运算计算a+|b|2 .输入个整数,判断奇偶。3 .编程判断某年是否是润年.实验六循环型程序设计、目的、要求了解实现循环的4种方法及其比较。掌握循环的嵌套。掌握break和continue语句的使用二、重点、难点循

35、环结构的灵活应用。三、讲解思路1)简要说明循环实现的4种方法,重点介绍3种循环结构。然后通过举例 来说明循环结构的应用及几种循环的比较和循环的嵌套。2) break和continue语句在终止循环中的作用和区别。四、知识点1. goto语句goto语句为无条件转向语句,一般形式为:goto 语句标号:2. while 语句while语句用于实现“当型”循环结构,一般形式为:while (条件表达式)循环体当表达式为非时,执行while的内嵌语句。特点:先判断表达式,后执行语句。注意:(1)语句可以是用花括号括起的复合语句:(2)循环体中应有是循环趋于结束的语句,否则将进入死循环。(3)用计数法

36、设置循环条件时,应特别注意“边界值”的选取。3. do while结构的应用用于实现“直到型”循环结构,一般形式为:do循环体while (条件表达式)先执行语句,再判断表达式的值,直到表达式的值为O时结束循环。特点:先执行语句,后判断表达式。4. for结构的应用for语句的使用最灵活,可完全代替while语句。一般形式为:for (表达式1:表达式2:表达式3)语句最简单、最易理解的形式为:for (循环变量初值:循环条件:循环变量增值)语句4.几种循环的比较1) 虽然4种循环通常可以互相代替,但不提倡用goto循环。2)对while和do一whi le循环,在循环体中包含应反复执行的操作

37、语句: 而对for循环,可将循环体中的操作全部放到表达式3中。因此for语句的功 能更强,可完全代替while循环。3)对while和do一while循环,循环变量的初始化应在while和 do一while语句之前完成,而for语句可在表达式1中完成。4) while和for是先判断后执行,dowhile是先执行后判断。5) while、dowhile、for 可用 break 和 continue 控制。五、程序举例1,求PI的近似值#include math, h” mainO int s;float n, t, pi; t=l;pi=0;n=l. 0;s=l; while(fabs(t)

38、=le-6) pi=pi+t;n=n+2; s=s; t=s/n; pi=pi*4; printf(*pi=%10. 6fn, pi); 2.求Fibonacci数列前40个数Fi=l(n=l)F2=l(n =2)Fn=Fn-l+Fn-2n=3)main () long int fl, f2; int i; fl=l;f2=l; for (i=l;i=20;i+) printf(%121d %121d 0 fl,f2); if (i%2=0) printf(*n*);fl=fl+f2;f2=f2+fl;3,判断m是否是素数#include math, h”main ()int m, i, k;

39、scanf(%d*, &m);k=sqrt(m);for (i=2;i=k+l)printf(*%d is a prime numbern, m);elseprintf d is not a prime numbern , m);)4.求100200间的全部素数#include math, hmain ()int m, k, i, n=0;for (m=101;m=200;m=m+2)if (n%10=0) printf(n);k=sqrt(m);for (i=2;i=k+l)printf(%d”, m);n=n+l;printf(n);六、课后作业1 .编程求1+2+3H100的和。2 .将

40、一个整数的各位数字颠倒后输出。(算法:提取最后一位数字,用取模 10的余数求得。)源程序如下:main() int i,r;printf(Input an integern);scanf(%d, &i);dor=i%10;printf(%d, r);while(i/=10)!=0);printf Cn*);3,求调和级数中第多少项的值大于10。调和级数的第n项形式为:1+1/2+1/3+l/n 源程序如下:define LIMIT 10main()(int n;float sum;sum=0. 0;n=l;for(;) sum=sum+l. 0/n;if(sumLIMIT) break;n+;

41、 printf (n=%dn, n);实验七维数组,维数组、目的、要求掌握维数组的定义、引用及其初始化。掌握二维数组的定义、引用及其初始化。掌握数组名作为函数参数。二、重点、难点数组名做函数参数时,是将实参数组的起始地址传给形参数组,需通 过例题反复会;深入理解“起泡法”排序,从而掌握维数组的应用。数组名的含义及其使用中应注意的问题;二维数组的初始化问题。三、讲课思路(1) 在讲述维数组的定义、引用、初始化的基础上,通过举例来说明维数组的应用。(2) 讲述二维数组的定义、引用、初始化的基础上,通过举例来说明维数组的应用。并引申出多维数组的概念。四、知识点1. 维数组的定义类型说明符数组名常量表

42、达式;说明:(D数组名命名规则与变量名相同;(2)常量表达式不能含变量,不能用圆括弧;(3 )下标从。开始计算。2. 维数组的初始化(1)定义数组时初始化数组元素。如;static int a10=0 1, 2,,9;(2)可以只给部分元素赋初值。如;static int a10=0 1, 2, 3, 4;对static数组,未赋初值则系统默认为(3)对全部数组元素赋初值时,可以不指定数组长度。如;static int a = 1, 2, 3, 4, 5);自动定义长度为 5。注意;数组长度与提供的初值个数不相等时,不能省略数组长度。3 .二维数组的定义类型说明符数组名常量表达式常量表达式fl

43、oat a34,b510;注意;不能写成 float a3, 4, b5, 10;C语言这种定义二维数组的方式,使得可以把二维数组看成一种特 殊的维数组。4 .二维数组的初始化(1)分行初始化。如;static int a3 4=1,2, 3,4, 5,6, 7,8, 9, 10, 11, 12;(2)也可将数据写在个花括号内,系统按排列顺序对元素赋初值。如: static int a3 4=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12;(3)也可对部分元素赋初值。如static int a34=1 5,9;(4)若对全部元素都赋初值,则定义数组时对第一维的长度可

44、以不指 定,但第二维的长度不能省略。如:static int a3 4 = 1,2, 3,4, 5, 6, 7, 8, 9, 10, 11, 12:等价于 static int a 4 = 1,2, 3,4,5, 6, 7, 8,9, 10, 11, 12;五、程序举例1 .起泡法对!0个整数按由小到大排序起泡法思路:将相邻两个数比较,将小的调到前头。经过1轮比较后,最大 的数已调到最后个位置。所以n个数要比较n-1趟,在第j趟中要进行n-_j次比较。main()int al1;int i, j, t;printfl input 10 numbers :n);for (i=l;il1;i+)s

45、canf (紀,&ai);printf(n);for (j=l;jai+U)t=ai;ai=ai+l;ai+l=t;printf(the sorted numbers :n);for (i=l;ill;i+)printf(%d , ai); printf(n);运行结果:输入:1 0 4 8 12 65 -76 100 -451232 .把山键盘输入的数列按相反的顺序输出。ttinclude stdio. hmain()(int j,i=0, a100;printf (z/input some intergers (=0; j+, i) if (j%3=0) printf(n)运行结果:pri

46、ntf(飞dt,ai);输入:3 5 7输出:7 5 3)六、课后练习1 .将下列数列(杨辉三角形)延长到55个。1, 1, 1, 1, 2, 1, 1, 3, 3, 1, 1, 4, 6, 4, 1源代码如下:main () int a60, i, j, k=0; for (i=l; ;i+) if (k+l)55) break;ak+l=l;for (j=2;j55) break;ak+j=ak-(i-l) + (j-l)+ak-(i-l)+j;if (k+j)55) break;ak+=i=l;printf(n);for (i=l;i=55;i+)printf(%4d, ai);2、在个

47、由小到大排序好的数组中插入一个数,并按原来的规律排序.源代码如下:mainO int all = l,4, 6, 9, 13, 16, 19, 28, 40, 100;int tempi, temp2, number, end,i, j;printf (初始数组如下:、n);for (i=0;iend)a10=number;else for (i=0;inumber) templ=ai;ai=number;for (j=i+l;jll;j+) temp2=aj; aj=templ; templ=temp2;)break;)for (i=0;ill;i+)printfai);实验维数组应用字符数

48、组及应用、目的、要求掌握二维数组的应用场合:掌握字符数组的定义、引用及其初始化;掌握常用字符串处理函数。二、重点、难点字符串结束标志,字符数组的输入输出。三、讲解思路(1)举例说明二维数组的应用。(2)简要说明字符数组的定义、引用及初始化基础上,举例说明字符数组的应用。(3) 引出字符串处理函数的应用。四、知识点1 .字符数组用来存放字符数据的数组称为字符数组,数组中一个元素存放个字 符。(1) 字符数组的定义char c10;或int c10;(因字符型与整型互相通用)(2 )字符数组的初始化字符数组初始化最易理解的形式为逐个字符赋给数组中的各元素。如: static char c10 =

49、T ,,,匕,m ,;2 .字符串处理函数(1) puts (字符数组)功能:将字符串(以0结束)输出到终端。(2) gets (字符数组)功能:从终端输入个字符串到字符数组。注意:以上两个函数只能输入/输出个字符串。(3 ) strcat (字符数组1,字符数组2)功能:连接两个字符串,结果放在字符数组1中。注意:1)字符数组1必须有足够的长度:2)连接时原数组1后的、。自动取消。(4) strcpy (字符数组1,字符串2) 功能:将字符串2拷贝到字符数组1中。 注意:1)数组1必须有足够的长度:2)字符串2可以是字符串常量,数组1必须是数组名;3)连同字符串后的0 一起拷贝;4)赋值语句

50、只能将一个字符赋给个字符型变量或字符数组 元素;而不能将一个字符串常量或字符数组直接符给另个字符数组。这 种操作只能用strcpy函数实现。5 ) strcpy函数可只取字符串2中前面的若干个字符。5. strcmp (字符串1,字符串)功能:按ASCII码值大小比较两个字符串。注意:(1)字符串1=字符串2,函数值为0:(2)字符串1字符串2,函数值为一正整数;(3)字符串1字符串2,函数值为负整数。6. strlen (字符数组)功能:测试字符串不包括、。的实际长度。 注意:也可直接测字符串常量的长度,如 strlen ( China) 7. strlwr (字符串) 功能:将字符串中的大

51、写字母转换成小写字母。8. strupr (字符串)功能:将字符串中的小写字母转换成大写字母。五、二维数组程序举例1 .将数组转置存放main () static int a2 3 = 1, 2, 3, 4,5,6;static int b32,i, j; printfl array a:n); for (i=0;i=l;i+) for (j=0;j=2;j+) printf(*%5d*,aij); bji=aij;printf;)printfarray b: n);for (i=0;i=2;i+) for (j=O;j=l;j+) printf(%5d”, bij); printf;2、求3

52、*4矩阵最大元素及位置main ()int i, j, row=0, colum-0, max;static int a3 4 = 1, 2, 3, 4, 9,9, 7,6, -10, 10,-5,2; max=a00;for (i=0;i=2;i+)for (j=0;jmax) max=aij;row=i;colum=j;printf (max=%d, row=%d, colum=%dn,z, max, row, colum);运行结果: 输入:CHINAHOLLANDAMERICA 输出:HOLLAND strcpy (string, str0);strcpy(string, str2);

53、 :n%sn”, string);3 .输出3个字符串中最大者 main () char string20;char str 320;int i;for (i=0;i0) else strcpy(string, strl);if (strcmp(str2, string) 0) printf(nthe largest string is )4 .字符数组输出字符串mainOstatic char c10 = ,T , , ,a,,,m,,,,,a,,, ,b , o , y );int i;for (i=0;i10;i+) printf(*%c*, ci);printf(n);六、课后练习1 .求矩阵A与B乘积

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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