上机指导C语言实验讲义.docx

上传人:b****3 文档编号:4631955 上传时间:2023-05-07 格式:DOCX 页数:12 大小:27.05KB
下载 相关 举报
上机指导C语言实验讲义.docx_第1页
第1页 / 共12页
上机指导C语言实验讲义.docx_第2页
第2页 / 共12页
上机指导C语言实验讲义.docx_第3页
第3页 / 共12页
上机指导C语言实验讲义.docx_第4页
第4页 / 共12页
上机指导C语言实验讲义.docx_第5页
第5页 / 共12页
上机指导C语言实验讲义.docx_第6页
第6页 / 共12页
上机指导C语言实验讲义.docx_第7页
第7页 / 共12页
上机指导C语言实验讲义.docx_第8页
第8页 / 共12页
上机指导C语言实验讲义.docx_第9页
第9页 / 共12页
上机指导C语言实验讲义.docx_第10页
第10页 / 共12页
上机指导C语言实验讲义.docx_第11页
第11页 / 共12页
上机指导C语言实验讲义.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

上机指导C语言实验讲义.docx

《上机指导C语言实验讲义.docx》由会员分享,可在线阅读,更多相关《上机指导C语言实验讲义.docx(12页珍藏版)》请在冰点文库上搜索。

上机指导C语言实验讲义.docx

上机指导C语言实验讲义

上机指导(C语言实验讲义)

      实验一C语言的运行环境和运行过程  一、实验目的  1、掌握启动和退出VC6的方法。

2、熟悉VC6运行环境。

  3、掌握运行一个c程序设计的基本步骤,包括编辑、编译、连接和运行。

4、掌握c语言程序设计的基本框架,能够编写简单的c程序。

5、初步掌握程序的编辑修改和调试。

二、实验内容  1.在“我的电脑”上新建一个文件夹,用于存放c程序,文件夹名字可以是学号姓名。

2.调试示例,在屏幕上显示一个短句“HelloWorld!

”。

  源程序  #includevoidmain(){printf(“HelloWorld!

\\n”);}  运行结果:

  HelloWorld!

  基本步骤:

(要求熟练掌握)  启动VisualC++6.0开发环境  “开始”->“程序”->“MicrosoftVisualStudio”->“MicrosoftVisualC++”进入VC6编程环境。

  新建源程序文件  单击“文件”下拉菜单的“新建”菜单命令,单击“文件”选项卡,选择“C++SourceFiles”选项,修改文件保存“目录”和“文件”,单击“确定”。

  编辑和保存  在文件编辑区窗口中输程序文件。

然后执行“文件”->“保存”或“文件”->“另存为”编译  单击“组建”下拉菜单的“编译”菜单命令,系统开始对源程序文件进行编译。

若有语法错误,系统在输出区窗口中显示错误信息。

双击各条错误信息,文件编辑区窗口中的左边出现一个箭头,指向出现错误的程序行。

此时,根据错误信息修改程序。

然后重新编泽,一直到没有错误为止。

链接  单击“组建|组建”菜单命令,对编译好的源程序文件进行链接。

若发现链接错误,  根据错误信息进行修改,并且重新编译、链接,直到成功为止。

->“编译”或Ctrl+F7,在产生的工作区队话框中,选择“是”。

      实验一C语言的运行环境和运行过程    实验目的:

  1.掌握c程序设计编程环境visualc++,掌握运行一个c程序设计的基本步骤,包括编辑、    1  编译、连接和运行。

  2.掌握c语言程序设计的基本框架,能够编写简单的c程序。

3.了解程序调试的思想,能找出并改正c程序中的语法错误。

实验内容:

  3.在“我的电脑”上新建一个文件夹,用于存放c程序,文件夹名字可以是学号姓名。

4.调试示例,在屏幕上显示一个短句“HelloWorld!

”。

  源程序  #includevoidmain(){  printf(“HelloWorld!

\\n”);}  运行结果:

HelloWorld!

  基本步骤:

(要求熟练掌握)1)启动VC++  “开始”->“程序”->“MicrosoftVisualStudio“->“MicrosoftVisualC++”进入VC++编程环境。

  2)新建文件  “文件”->“新建”,单击“文件”选项卡,选择“C++SourceFiles”,修改文件保存“目录”和“文件”,单击“确定”。

3)编辑和保存  在编辑窗口输入源程序,然后执行“文件”->“保存”或“文件”->“另存为”4)编译(*.obj)用来检查语法错误  “编译”->“编译”或Ctrl+F7,在产生的工作区队话框中,选择“是”。

5)连接(*.exe)  “编译”->“构件”或F76)运行  “编译”->“执行”或Ctrl+F57)关闭程序工作区  “文件”->“关闭工作区”8)打开文件  “文件”->“打开”  9)查看C源文件、目标文件和可执行文件的存放位置。

  源文件在保存目录下,目标文件和可执行文件在“保存目录\\Debug”中5.编程,在屏幕上显示一个短句“thisismyfirstcprogram.”。

6.调试示例,在屏幕上显示一个短句“welcometoyou!

”。

  源程序  #includevoidmian(){}    printf(WelcometoYou!

\\n”)  2  运行结果  WelcometoYou!

操作步骤:

  1)按照实验2中介绍的步骤1)~3)输入上述源程序并保存。

2)编译,“编译”->“编译”,信息窗口中显示编译出错信息,如下图所示。

3)找出错误,在信息窗口中依次双击出错信息,编辑窗口就会出现一个箭头指向程序出错的位置,一般在箭头的当前行或上一行,可以找到出错语句。

    第4行,出错信息:

Welcome是一个未定义的变量,但Welcome并不是变量,出错的原因是Welcome前少了一个双引号。

  4)改正错误,重新编译,得下如下图所示出错信息。

  3    出错信息:

“}”前少了分号。

  5)再次改正错误,在“}”前即printf()后加上“;”,生新编译,显示正确6)连接,“编译”->“构件”,出现如下出错信息。

    出错信息:

缺少主函数。

  7)改正错误,即把“mian”改为“main”后,重新连接,信息窗口显示连接正确。

8)运行,“编译”->“执行”,观察结果是否与要求一致。

7.改错,改正下列程序中的错误,在屏幕上显示以下3行信息。

  ****************Welcome****************    4  源程序#includevoidmain(){Printf(“****************\\n”);  }  实验报告要求  将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

    Printf(“Welcome”)Printf(“****************\\n”);  5

  

      实验二简单的C程序设计和基本数据处理  实验目的:

  1.掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输  出函数的使用方法。

2.通过编程进一步理解和掌握运算符的确切含义和功能。

  3.理解和掌握运算符与运算对象的关系,优先级和结合方向。

  4.通过编程,掌握C语言的几种基本数据类型,int、char、flloat、double,以及这些基本  数据类型构成的常量和变量的使用方法。

5.掌握基本输入/输出函数的使用方法,包括printf()、scanf()、getchar()、putchar()。

6.掌握简单的C程序的查错方法。

实验内容:

  一、输入程序,观察输出结果,并对输出结果作出合理的解释。

1./**/  #includevoidmain()    {floatx;doubley;x=;y=;  printf(\  }              输出结果:

解释:

    2./**/    #includevoidmain(){charch;intk;  ch=?

a?

;k=10;  printf(“%d,%x,%o,%c”,ch,ch,ch,ch,k);  printf(“k=%%d\\n”,k);}  输出结果:

解释:

    3./**/  #include      voidmain(){    floata1,a2;  doubleb1,b2;  a1=;a2=;b1=;b2=;  6  printf(“%f,%lf\\n”,a1+a2,b1+b2);  }输出结果:

  解释:

              4./**/  #include    voidmain()  {floatx=5/2,y=/2;  printf(\}  输出结果:

解释:

    二、编写程序。

  1.编程定义3个整型变量x,y,z和一个实型变量averge,计算并输出3个整数  的平均值averge,其中x=y=1,z=0。

观察运行结果。

再将x,y,z和averge改为实型变量,再观察运行结果。

理解整除和不同类型数据进行混合运算的转化规律,对结果进行  合理的解释。

源程序:

      输出结果:

解释:

  2.改写程序,针对上一题要求,采用从键盘用scanf()函数输入x,y,z的值。

要  求输出结果的形式为averge=…。

  源程序:

      7  输出结果:

解释:

    3.输入3个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,把b原来的值  给c,把c中原来的值给a。

  源程序:

      输出结果:

    三、调示示例。

  1.求华氏温度100。

F对应的摄氏温度。

计算公式:

C=,其中C表示摄  氏温度,F表示华氏温度。

  源程序#includevoidmain()  {intcelsius;fahr;  fahr=100;  celsius=5*(fahr-32)/9;  printf(\  }  1)输入源程序。

  2)实验一中用菜单完成编译、连接和运行,现在介绍工具栏的使用方法。

在工具栏或菜单栏上单击鼠标右键,出现如图所示的整个工具箱,在“编译”或“编译微型条”项前打上“√”。

    图中第1个按钮为“Compile”,第2个按钮为“Build”(构件,F7),第4个按钮为“BuildExecute”(执行,Ctrl+F5)。

  3)单击“编译”工具条中的第1个按钮,出现第一个错误信息:

  Cannotopenincludefile:

‘‘:

Nosuchfileordirectory改正后,重新编译,新产生的第一个错误信息是:

  ’fahr’:

undeclaredidentifier(“fahr”变量没有定义)  改正:

将fahr前的分号改为逗号,重新编译,编译正确。

4)单击“编译”工具条中的第2个按钮,连接正确。

5)单击“编译”工具条中的第4个按钮,运行结果为:

  fahr=d,Celsius=100    8  不符合题目的要求,仔细检查源程序,发现函数printf()中的d应为%d,改正的,重新连接和运行,运行结果与题目要求的结果一致,程序调试结束。

  2.改错,计算某个数x的平方y,并以算术公式的形式输出x和y的值.请不要删除源  程序中的任何注释。

  输入输出示例:

9=3*3  3*3=9  #includevoidmain()  {  inty;  y=x*x;  printf(“%d=%d*%d”,x);/*输出  printf(“d*%d=%d”,y);  }  改正后的源程序:

  实验报告要求  将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

  9  实验三选择结构程序设计  实验目的  1、了解C语句表示逻辑量的方法;2、学会正确使用逻辑运算符和逻辑表达式;3、熟练掌握if语句和switch语句;  4、熟练掌握switch语句中break语句的作用。

实验内容  1.调试示例,输入参数a,b,c,求一元二次方程ax2+bx+c=0的根。

源程序#include#includevoidmain(){  doublea,b,c,d;  printf(“输入一元二次方程a=,b=,c=\\n”);scanf(“a=%lf,b=%lf,c=%lf”,&a,&b,&c);d=b*b-4*a*c;if(a==0){  if(b=0)  {if(c==0)  printf(“0==0参数对方程无意义!

”);  else  printf(“c!

=0方程不成立”);  }  else  printf(“x=%\\n”,-c/b);}else  if(d>=0)  {printf(“x1=%\\n”,(-b+sqrt(d))/(2*a));  printf(“x1=%\\n”,(-b-sqrt(d))/(2*a));  }  else  {printf(“x1=%+%\\n”,-b/(2*a),sqrt(-d)/(2*a));  printf(“x1=%%\\n”,-b/(2*a),sqrt(-d)/(2*a));  }}  运行结果输入一元二次方程a=,b=,c=a=,b=,c=x1=-x2=-  运行结果输入一元二次方程a=,b=,c=a=,b=,c=x1=-x2=-  对以上程序进行编译、连接、调试和运行如下:

  1)执行“编译”->“构件”,对以上程序进行编译、连接,没有出现错误信息。

  2)调试开始,设置三个断点,先把光标定位到要设置断点的位置,然后    10

  

      单击编译工具条上的Inert/RemoveBreakpoint或F9,断点就设置好了,如果要取消断点,  ,这个断点就取消了。

  只要把光标放到要取消的断点处,单击    3)单击编译工具条入a=,b=,c=    ,程序运行,等待输入一元二次方程a、b、c的值,输    4)程序运行到第一个断点,在Watch窗口输入变量名a,b,c观察执行到第一个断点时变量a,b,c的值是否和中输入一致。

  注意,变量可以在Watch1、Watch2、Wathc3、Watch4任何一个窗口输入,输入可以是变量,也可以是表达式。

      11  5)假设我们在输入的时候,输错了变量a的值,我们可以在Watch窗口重新赋值,改变原来的值,如我们在Watch窗口中输入表达式a=0,则a的值就改变为0了。

  单步执行,单击,箭头指向下一行,说明程序执行到这一行,再观察变量a,b,c的值,发现变量b的值已经改变,原来输入的是,现在已改变为0,我们在2)中输入变量b的值是,说明在程序的执行过程中肯定有一个地方改变了b的值,通过仔细观察、分析,发现if语句中误把相等“==”写成了赋值“=”,所以b=0了,单击单击,重新开始调试,执行3)和4),此时,观察b的值没有改变,单击,结束本次调试。

  7)单击,重新开始调试,观察结果的正确性。

  2.编程,输入任意三个数n1,n2,n3,求其中最大的一个数。

输入输出示例:

Inputn1,n2,n3:

28max=  提示:

模仿1,运行时调试程序,包括设置断点、在Watch窗口设置变量的值等。

思考:

  1)如何求5个数中的最大的一个数  2)如果要在3个字符中找出最大的一个,如何修改程序  3.编程,输入x,计算并输出下列分段函数f(x)的值。

  y=  x2x-13x-11  x=10  输入输出示例:

  Inputx:

-f(-)=-  提示:

该程序应该运行3次,每次测试一个分支,即分别输入每个分段中的x值。

思考:

假设x为整数,如何用switch计算上述分段函数。

  4.编程,把百分制成绩转换成5级记分制,要求用switch语句。

  90分以上:

A  80至90分:

B  70至80分:

C  60至70分:

D  60分以下:

E输入输出示例:

InputScore:

8686的等级为B提示:

  1)该程序应该运行6次,每次测试一种情况,即分别输入不同等级的成绩2)在switch中使用break语句思考:

如何用if语句实现转换?

    5.编程,输入2005年的任一个月,输出这个月的天数,要求使用switch语句。

    12  输入输出示例:

  Inputmonthof2005:

102005年10月有31天提示:

  1)该程序应该运行13次,分别输入1-12月,以及除此之外的数2)运行时调试跟踪月份的变化  3)编程时注意不同月份可以有相同的天数思考:

输入年和月,如何求该月的天数?

  6.改错,对2个整数进行乘、除和求余运算。

输入输出示例:

输入x运算符y:

21%821Mod8=5  源程序#includevoidmain()  {charsign;  intx,y;  prnitf(“输入x运算符y:

”);  scanf(“%d%c%d”,&x,&sign,&y);  if(sign=?

*?

)  printf(“%d*%d=%d\\n”,x,y,x*y);  elseif  printf(“%d*%d=%d\\n”,x,y,x*y);  elseif  printf(“%d*%d=%d\\n”,x,y,x*y);  else  printf(“运算符输入错误”);  }  提示:

在程序调试中,在变量窗口和Watch窗口中观察变量值的变化。

  实验报告要求  将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

    13  实验四循环结构程序设计  实验目的  1.熟练使用while、do-while语句实现循环程序设计  2.理解循环条件和循环体,以及for、while和do-while语句的相同及不同之处3.掌握嵌套循环程序设计  4.熟练掌握下拉菜单Debug的程序调试方法实验内容  1.调试示例:

输入2个正整数m,n,输出它们的最小公倍数和最大公约数。

源程序#includevoidmain(){intm,n,j,k;  printf(“inputmn\\n”);  while(scanf(“%d%d”,&m,&n),m  while(j/n!

=0)  j=j+m;  k=(m*n)/j;  printf(“最小公倍数是%d\\n最大公约数是%d\\n”,j,k);}  运行结果Inputmn:

37最小公倍数是21最大公约数是1  “编译”菜单中的调试命令和调试工具栏中按钮的功能是一样的,可以使用“编译”菜单来调试程序。

  1)输入并保存上述程序后,再进行编译和连接,没有出现错误信息。

2)调试程序开始,设置3个断点,执行“编译”->“开始调试”->入“-37”  去命令,运行程序,输    3)程序执行到第一个断点,变量窗口显示m=-3,n=7,说明有错。

因为如果输入负数,必须重新输入,直到输入2个正数为止。

  注意:

此时菜单栏中新出现一个“Debug”菜单,包括了调试工具栏中所有的调试工具,用    14  户可以选择使用“Debug”菜单或调试工具栏来调试程序。

作用相同。

  4)单击图标或按组合键Shift+F5停止调试,通过仔细分析,发现循环条件中m  注意:

此时,不一定要停止调试,用户可以在Watch窗口输入m=3,再继续调试。

  5)把&&改为||,重新编译和连接,然后单击图标或组合键Ctrl+Shift+F5重新开始调试,再单击图标或F5键,输入-37后,箭头如果不动,说明需要重新输入数据。

  6)重新输入数据37,程序执行到第一个断点,观察变量窗口,m=3,n=7,没有错误。

7)继续单击,程序运行到第2个断点,变量窗口显示最小公倍数j的值是3,显然错误,说明第1个断点到第2个断点之间有错误。

  8)单击图标或按组合键Shift+F5停止调试,仔细分析程序,发现循环条件j/n!

=0错误,因为只有被n除尽的j才是最小公倍数,循环条件应该是j%n!

=0。

  9)重新编译、连接,并取消第一个断点,再单击图标或组合键Ctrl+Shift+F5重新开始调试,再单击图标或F5键,程序运行到新的第一个断点。

  10)变量窗口显示最小公倍数j的值是21,最小公倍数计算正确。

  11)单击图标或F5键,程序运行到最后一个断点,变量窗口显示最大公约数k的值是1,最大公约数计算正确。

  12)单击图标或按组合键Shift+F5停止调试。

  2.编程,输入一批整数,先求出其中的偶数和及奇数和,然后输出偶数和与奇数和的差.  输入输出示例:

  输入一批整数:

1011  20  33Ctrl+ZSub=-14  提示:

从键盘输入Ctrl+Z,表示一批数据输入结束思考:

如何从输入的数中找出一个最小的数。

3.编程,输入1个正实数eps,计算并输出下式的值,十到最后一项的绝对值小于eps。

  s?

1?

15?

19?

113?

117?

121?

...  输入输出示例:

Inputeps:

S=  思考:

如果条件改为前后2项的绝对值的差小于eps,如何编程。

  3.编程,输入1个实数x,计算并输出下式的值,直到最后一项小于10-5。

要求定义和  调用函数fact(n)计算n的阶乘,以及定义和调用函数mypow(x,n)计算xn。

2!

4!

6!

输入输出示例:

X=2  S=  提示:

输入不同的正整数和负整数验证结果s?

1?

x2?

x4?

x6?

...  思考:

如何计算s?

1?

x22!

?

x33!

?

x44!

?

...的值。

    4.编程,输入一个整数,求它的各位数字之和及位数。

例如123的各位数字之和是6,  位数是3.输入输出示例:

  输入一个整数:

-12345    15

  

  

      实验七字符串    实验目的  1.熟练掌握字条数组的定义、初始化和元素引用2.熟练掌握字符串的存储和操作  3.继续使用字符输入输出函数getchar()和putchar()实验内容  1.调试,输入一个以回车结束的字符串,将它的内容颠倒过来再输出。

如”ABCD”颠倒为”DCBA”。

  源程序#includevoidmain(){inti,k,tmp;  charstr;  printf(“inputastring:

”);  i=0;  while((str[i]=getchar())!

=?

\\n?

)  i++;  str[i]=?

\\0?

;  k=i-1;  for(i=0;i  {/*调试时设置断点*/  tmp=str[i];  str[i]=str[k];  str[k]=tmp;  k++;  }/*调试时设置断点*/  for(i=0;str[i]!

=?

\\0?

;i++)  putchar(str[i]);}  运行结果welcometoyou!

!

uoyotemoclew  2.编程,输入一个以回车结束的字符串,先输出其中的小写英文字母、空格和感叹号!

,然后统计出字符的个数。

  输入输出示例:

thowhareyoung!

howareyou!

n=12  3.编程,输入一个正整数n(n  输入输出示例:

输入字符串行数:

2  Beijing2008Gamesofthe29thOlympiad!

  8thInternationalSymposiumonSafetyScience.大写字母数:

7小定字母数:

56数字字符数:

7空格字符数:

10其他字符数:

2    21  4.编程,输入一行加减运算的字符串,计算加减运算的结果。

输入输出示例:

10+52-28y=34提示:

  1)如果输入的字符串中包括数字和加减号以外的字符,提示输入错误。

2)把加减运算符两侧的字符串转换为整数,再运算思考:

  如果输入一个四则运算的字符串,如何计算结果。

  5.编程,输入一个字符ch和一个以回车符结束的字符串,统计字符串中与ch相同的字母个数。

  输入输出示例:

输入一个字符:

o  输入一个字符串:

StudioClassroom在字符串中与o相同的字母有3个!

  7.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2