《C语言程序设计》实训大纲

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1《C语言程序设计》实训大纲第1章概述知识要点C语言的标志符和保留字。C语言程序的结构特点和书写格式。C语言程序的编辑及运行方法。实验目的(1)熟悉TurboC2.0的软件环境,掌握使用TurboC进行编辑,编译,连接和运行的方法。(2)通过运行简单的C程序,掌握C语言源程序的特点。实验内容(1)安装并运行TurboC2.0程序,进入C语言程序设计环境。(2)编辑源程序文件选择“File”→‘‘Load”菜单命令,加载已经存在的C语言源程序文件.选择“File”→“New”菜单命令建立新文件。请输入下面的语言源程序,在编辑完成后,用“File”→“Save”菜单命令或键保存编辑结果到新文件中。inta=4,b=2;Main(){inte=1,f=2;print(“%d\n”,max(a,b));print(“%d\n”,max(e,f));}intmax(intx,inty){returnxy?x:y;}(3)编译和连接程序文件。源程序先经过编译,生成目标文件(.OBJ格式文件),然后将目标文件进行连接,生成可执行文件(.EXE格式文件)。2第2章基本数据类型知识要点C语言提供的数据结构,是以数据类型形式出现的。具体分类如下:1.基本类型分为整型、实型(又称浮点型)、字符型和枚举型四种。2.构造类型分为数组类型、结构类型和共用类型三种。3.指针类型。在第9章中介绍。4.空类型C语言中的数据,有常量和变量之分,它们分别属于上述这些类型。实验目的(1)了解C语言中数据类型的意义。(2)了解C语言中数据类型的转换方式。实验内容(1)输入下面程序,观察它的运行结果。Main(){ch1=‘a’;ch2=‘B’;/*字母的大小写转换*/printf(``ch1=%c,ch2=%c\n``,ch1-32,ch2+32);/*用字符形式输出一个大于256的数值*/printf(``ch1+200=%d\n``,ch1+200);printf(``ch1+200=%c\n``,ch1+200);printf(``ch1+256=%d\n``,ch1+256);}C语言允许对字符数据进行运算,此时就是对它们的ASCII码值进行算术运算。第3章运算符与表达式知识要点(1)C语言的表达式。(2)算术运算符和算术表达式。(3)关系和逻辑运算符。(4)Sizeof()运算符。3(5)运算符的优先级和结合性。实验目的(1)掌握C语言的数据类型,熟悉如何定义整形、字符型、实型变量,以及对它们赋值的方法,了解以上数据类型并输出时所使用的格式转换符号。(2)学会如何使用C语言的有关运算符以及包括这些运算符号的表达式,特别是自加(++)和自减(--)运算符的使用。(3)进一步熟悉C程序的编辑、编译、连接和运用的过程。实验内容(1)输入以下程序,在编译、运行,并分析运行结果。Main(){charcl,c2;printf(“%c%c”,cl,c2);}①在程序末尾加一个printf语句,并运行之。(“%d,%d”,cl,c2);②在①的基础上,将第2行改为:intcl,c2;再运行程序。③将第3行改为:cl=300;c2=400;再运行,并分析结果。⑵输入并运行以下程序。Main(){inti,j,m,n;i=8;j=10;M=i++,n=j++①将第4行改为:m=i++;n=++j;②将程序改为:Main(){inti,j;i=8;j=10;4Printf(“%d,%d”,++i,++j);}③在②的基础上,将orintf语句改为:Printf(“%d,%d”,++i,++j);④再将程序改为:main(){inti,j,m=0,n=0;i=8;j=10;M+=i++;n-=--j;Peintf(“i=%D,j=%d,m+%d,n=%d,i,j,m,n);}(3)判断以下程序的输出结果,然后上机验证。①Main(){niti=3,j=2,a,b,c,d;d=(i*3,j=10)a=(--i==j++)?--i:++j;b=i++;c=j;printf(“%d,%d,%d,%d\n”,a,b,c,d):}②main(){inta=110,b=017printf(“%x,%d\n”,a++,++b);}③main(){inta=-1;b=36,c;c=(++a0)||!(b--=0);printf(“%d,%d,%d\n”,a,b,c);}(4)对以下程序填空,使程序实现从键盘输入的任意大写字母转换为小写字母或小写字母转换为大写字母。Main(){charc;scanf(“%c);printf(“%c”,&c);5}4.分析与讨论分析总结运算符的优先级第4章顺序结构程序设计知识要点C语言中没有提供专门的输入、输出语句,所有的输入、输出都是通过调用标准库函数中的输入,输出函数来实现的。学习C语言不仅要学习语句和各种运算,而且要学习并掌握常用标准函数的使用。Scanf()和getchar()函数是输入函数,接受来自键盘的输入数据。Scanf()是格式输入函数,可按指定的格式输入任意类型数据。Getchar()函数是字符输入函数,只能接收单个字符。Printf()和putchar()函数是输出函数,向显示器屏幕输出数据。Printf()是格式输出函数,可按指定的格式显示任意类型数据。Putchar()_是字符显示函数,只能显示单个字符。实验目的掌握c语言程序输入,输出的方法和格式。实验内容(1)程序源代码:#includestdio.hmain(){chara=176,b=219;printf(“%c%c%c%c%c\n”,b,a,a,a,b);prinft(“%c%c%c%c%c\n”,a,b,a,b,a);prinft(“%c%c%c%c%c\n”,a,a,b,a,a);prinft(“%c%c%c%c%c\n”,a,b,a,b,a);printf(“%c%c%c%c%c\n:,b,a,a,a,b);6第5章选择结构程序设计知识要点从程序执行的流程来看,程序可分为3种最基本的结构,分支结构以及循环结构。C语言提供了多种形式的条件语句以构成分支结构:If语句只要用于单向选择。If-else语句主要用于双向选择。If-else-if语句和switch语句用于多向选择。实验目的(1)了解条件与程序流程的关系。(2)了解用不同的数据使程序的流程覆盖不同的语句、分支和路径。实验内容(1)有如下程序段:main(){inta,b,x;scanf(“%d%d%d”,&b);if(a=b)x=b;printf(“x=%d\n”,x);}要求分别使用下列组数据运行该程序并记录行结果。①a=5,b=1,x=?②a=1,b=5,x=?③a=3,b=3,x=?分析讨论:用哪组数据就可以使程序段中的每个分支都运行一次?(2)下面程序要输出a,b,c3个数中的最大值,请改正其中的错误。Main(){inta,b,c,max;printf(“entera,b,c:”);scanf(“%d%d%d”,a,b,c);if(a=b&&a=c)printf(“max=a=%d\n”,a);if(b=a&&b=c)printf(“max=b=%d\n”,b);elseprintf(“max=c=%d\n”,c);}7第六章循环控制第一部分while和do-while循环语句知识要点·while(表达式){语句;}·do{语句}while(表达式);上述两种语句是C语言的条件循环语句,它门的区别是:用do-while语句至少要执行一次循环体;而while语句先判断括号内表达式的值若为0,则跳出循环,因此有可能循环一次也不执行。实验目的(1)掌握在设计条件循环结构程序时,如何正确地设定循环条件,以及如何控制循环的次数。(2)了解条件型循环结构的基本测试方法。实验内容(1)编辑并运行下面程序。Main(){inti=1,s=1,n;scanf(“‰d”.&n);if(n0)printf(“Theinputdataiserror!\n”);ese{while(i=n)\{s=s*2;i++;}praintf(“s=‰d\n”,s);}}当n的值为以下各值时,输出结果分别是什么?N为-5,输出_____。n为1,输出_______。N为5,输出______。结合课本86页例提:用近以值e=1/1!+1/2!+…+1/n!(n越大,越接近e的真值),求8自然对数e的值。下面是一个计算e的近以值的程序(使误差小于给定的&).Main(){doublee=1.0,x=1.0,y,detax;inti=1printf(“\npleaseinputenteraerror:”);scanf(“%1f”,&detax);y=1/x;{x=x*i;y=1/x;e=e=y;++i;}printf(“%12.10if”,e);}.①当输入的detax各是什么值时,能分别使程序按下面的要求运行:不进入循环;只循环一次;只循环两次进入死循环(程序将永远循环下去)。②如想要知道程序共循环了多少次,应该在程增加一条什么样的语句?③在程序while的语句中的y=detax,分别换yyetax,y=detax,ydetax,y=detax,观察程序运行将会有什么化。④把原程序中while语句之前y=1/xy语句去掉,观察程序的运行将会发生什么样的变花。⑤如把原程序的++i换成i++,观察程次序的运行发生了什么变化。⑥把原程序中的while结构改写成do___whilejg结构,再分别按上述的2和3要求进行实验。3.分析讨论总结一下测试条件循环的一般方法。第二部分for循环语句知识要点C语言提供了3种循环语句(1)For语句主要用语给定循环变量初值,步长以及循环条件的循环结构。(2)对于循环次数及控制条件要在循环过中才能确定的循环,可用while或do-while语句。(3)3种循环语句可以相互嵌套组成多种循环,循环之间可以并列但不能交叉。9(4)在循环程序中应避免出现死循环,即应保障循环变量的值在运行过程中可以得到修改,并使循环条件逐步变为假,从而结束循环。(5)可用转移语句把流程转出体外,但不能从外面转向循环体内。(6)Break和continue语句:break语句立即结束包含它的循环或开关语句;continue语句只能用于循环语句中,它跳过循环体中下面的语句而从下一次循环开始。实验目的(1)掌握如何正确的控制计数型循环结构的次数。(2)了解对计数型循环结构进行测试的基本方法。实验内容有下面程序段;main(){inti,j;ilngsum=0for(i=1;i=5;i++)sum=sum+(i+1)*(i+1)printf(“sumis:%D/N’,sum);\}(1)将程序中的for语句改为”for(i=1;i+5;i++);”则程序结果是什么?(2)将程序中的for语句改为“for(i=1;i=5;i+=2)”则程序结果是什么?(3)将程序中的for语句改为“for(i=5;i=1;i_=3)”则程序结果是什么?(4)将程序中的for语句其循环体改为“for(i=1;i=5;i++)i=i+(i+1)*(i+1)”则程序结果是什么?第七章数组第一部分一维数组和二维数组知识要点(1)一维数组的定义和引用(2)二维数组的定义和引用实验目的掌握数组的应用,以及双重循环程序设计对二维数组的应用。10实验内容1.通过键盘输入10个整数,分别用选择法和冒泡法对这十个数排序。2.找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可以有鞍点。3.打印以下图形*************************第二部分字符型数组知识要点(1)字符数组的初始化、元素引用(2)字符数组的整体操作(3)常用的字符串处理函数:输入字符串函数---gets()输出字符串函数---puts()字符串比较函数---strcmp()拷贝字符串函数---strcpy()连

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功