C语言运行环境.docx

上传人:b****6 文档编号:6315712 上传时间:2023-01-05 格式:DOCX 页数:15 大小:26.72KB
下载 相关 举报
C语言运行环境.docx_第1页
第1页 / 共15页
C语言运行环境.docx_第2页
第2页 / 共15页
C语言运行环境.docx_第3页
第3页 / 共15页
C语言运行环境.docx_第4页
第4页 / 共15页
C语言运行环境.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C语言运行环境.docx

《C语言运行环境.docx》由会员分享,可在线阅读,更多相关《C语言运行环境.docx(15页珍藏版)》请在冰豆网上搜索。

C语言运行环境.docx

C语言运行环境

实验一C语言运行环境

一、实验目的

   1.了解TC环境的组成。

   2.学习TC环境的使用方法。

   3.了解C语言程序从编辑、编译、连接到运行并得到运行结果的过程。

 

二、实验内容

  1.了解TC环境的组成。

  开机后进入WINDOWS系统的"资源管理器",找到TC环境所在的文件夹。

一般情况下,TC环境都安装在名为"TC"的子目录下,具体存于硬盘的哪个分区请询问实验室管理员。

查看在TC目录下的以字母TC开头的文件,是否包括了TC.EXE、TCC.EXE、TLINK.EXE、TCCONFIG.TC等文件;查看INCLUDE、LIB两个子目录下的文件。

复习这些文件的作用。

  2.进入、退出和定制TC环境。

   运行TC目录下的TC.EXE文件,就可进入TC环境。

   在WINDOWS环境下运行文件的方法是用鼠标双击要运行的文件名,或在桌面上双击快捷图标;在DOS环境下进入到TC子目录,用命令方式运行TC.EXE程序。

进入TC环境后屏幕上显示出TC环境的主画面。

   退出TC环境,可在"FILE"菜单下选择"QIUT"菜单项,或用热键,计算机返回到操作系统的控制下。

   在程序开发的过程中,有时需要返回到操作系统界面下观察程序的运行情况,但是又要保存运行的TC环境,操作方法是:

选择"File"菜单下的"OSshell"菜单项返到DOS操作  系统界面,用"EXIT"命令可重新进入TC环境;用+<空格>键返到WINDOWS界面,TC环境缩小为屏幕下方任务条上的一图标,用鼠标单击该图标重新进入TC环境。

注意此时是返到操作系统,TC环境没有真正退出,如果此时再次运行TC.EXE文件,刚刚是返到WINDOWS环境时,会重新翻开一个TC窗口,返到DOS环境时会给出一个错误提示:

"Programtoobigtofitinmemory",这是因为DOS操作系统只管理640K的内存,放不下两个TC环境。

   WINDOWS操作系统对TC环境是作为一个窗口进行管理的,因此WINDOWS窗口的一些属性也是有效的。

从TC环境返回WINDOWS系统时会出现一个快捷菜单〔在任务条的TC图标上单击鼠标右键也可以出现快捷菜单〕,选择"属性"菜单项,屏幕出现一个名为"TC属性"的窗口,在该窗口里选择"屏幕"一页,在"用法"一项里选中"屏幕"单项选择钮,单击"应用"按钮,关闭"TC属性"的窗口,TC环境以WINDOWS窗口形式出现。

在窗口上方出现工具条,可以对窗口进行定制,注意"全屏幕"和"中文"两个工具钮的作用。

   TC环境下的"Options"菜单下可对TC环境进行设置,初学者要了解"Directories"的作用,一般不要改变系统的其它设置。

关于"Directories"各项的作用和设置参阅本书关于TC环境的介绍,学会改变输出文件的目录。

  3.运行演示程序

  在TC目录下有一个名为"BGIDEMO.C"的源程序,这本是为TC图形函数提供的演示程序,运行这个演示程序。

在"File"菜单下选"Load"项,在屏幕出现的"LoadFileName"窗口里输入"BGIDEMO.C",该程序被装入编辑窗口,按键,程序被编译、连接并运行。

注意运行此程序需要图形库文件,一般被装在TC目录下,没有这个图形库文件就不 能运行图形演示程序。

  4.编写自己的第一个程序

  按键盘键,激活编辑窗口,录入如下C源程序:

   main()

   {printf("ThisisaCProgram\n")

     printf("Iamastudent\n");

   }

   按键,编译、连接、运行程序。

屏幕出现错误提示:

   statementmissing;infunctionmain

   通过提示,可以知道上面程序第二行的最后漏敲一个分号,改正后程序运行。

+键观察输出结果。

   按键,程序存入硬盘,文件名自定〔如:

test1〕。

通过资源管理器观察当前目录下名为test1的几个文件,它们的扩展名分别是什么。

   改变"Options"菜单下"Directories"项下的输出文件目录,用键把程序再存一次并运行。

在新设定的输出目录下观察名为test1的文件的存储情况。

   用"File"菜单下的"Writeto"项,把文件存在新设定的输出目录处,文件名仍为test1。

   录入如下程序:

   main()

   {printf("ThisisanotherCProgram\n");

   }

   按键并用test1文件名保存,然后运行这个程序。

   按+键,屏幕出现刚刚操作过的几个文件的名字,将刚刚设定目录下的test1.c装入编辑器后运行它,我们观察到输出的仍是后来键入的程序的内容。

这是因为TC编 译系统在接收"RUN"命令后,对test1.c、test1.obj、test1.exe三个文件的建立时间进行比拟,如果扩展名为.c的文件建立时间晚于.exe文件,它就认为源文件进行了修改,所以对源文件重新进行编译连接,如果.exe文件的时间晚于源文件的建立时间,就直接运行这个文件,不再重新编译连接。

因为我们两次输入的程序名称都是test1,新设定目录 中存放的是第一个程序的test1.c和第二个程序的test1.exe,就出现了现在的情况。

  5.分别编译、连接、运行程序

   "Run"命令是将编译、连接、运行一次完成,实际完成了三件工作,下面分别进行编译、连接和运行。

   用命令翻开"Compile"菜单,并选择"Compiletoobject"命令编译该源程序文件,然后选择"Compile"菜单的"LinkEXEfile"命令调用连接程序连接成可执行文件,最后 用"Run"菜单的"Run"命令运行程序,用"Run"菜单的"Userscreen命令"查看运行结果。

由于编译、连接、运行是分别进行的,所以编译系统不再对相关三个文件的建立时间进行比 较,我们看到的就是编辑器里当前的程序输出结果。

  6.编写程序,实现求整数10、20和35的平均值。

 

三、实验要求

  1.学习TC的根本操作,编写程序。

  2.运行程序并记录运行结果。

  3.将源程序、目标文件、可执行文件和实验报告存在效劳器的指定文件夹中。

实验二数据类型及顺序结构

一、实验目的

  1.进一步熟悉TC环境的使用方法。

  2.学习C语言赋值语句和根本输入输出函数的使用。

  3.编写顺序结构程序并运行。

  4.了解数据类型在程序设计语言中的意义。

二、实验内容

  

1.编程序,输出如以下图形:

     *

     ***

    *****

    *******

  2.编写程序,实现下面的输出格式和结果(表示空格):

    a=5,b=7,a-b=-2,a/b=71%

    c1=COMPUTER,c2=COMP,c3=COMP

    

    s=3.11900e+002,t=-3.12e+001

  3.编写程序,输入变量x值,输出变量y的值,并分析输出结果。

    ⑴y=2.4*x-1/2

    ⑵y=x%2/5-x

    ⑶y=x>10&&x<100

    ⑷y=x>=10||x<=1

    ⑸y=(x-=x*10,x/=10)

    要求变量x、y是float型。

  4.调试以下程序,使之能正确输出3个整数之和及3个整数之积。

      main()

      {inta,b,c;

        printf("Pleaseenter3numbers:

");

        scanf("%d,%d,%d",&a,&b,&c);

        ab=a+b;

        ac=a*c;

        printf("a+b+c=%d\n",a+b+c);

        printf("a*b*c=%d\n",a+c*b);

      }

      输入:

40,50,60↙

  5.运行下述程序,分析输出结果。

      main()

      {inta=10;

        longintb=10;

        floatx=10.0;

        doubley=10.0;

        printf("a=%d,b=%ld,x=%f,y=%lf\n",a,b,x,y);

        printf("a=%ld,b=%d,x=%lf,y=%f\n",a,b,x,y);

        printf("x=%f,x=%e,x=%g\n",x,x,x);

      }

      从此题的输出结果认识各种数据类型在内存的存储方式。

三、实验要求

  1.复习赋值语句和输入输出函数各种格式符的使用。

  2.复习数据类型和运算符的有关概念。

  3.编写程序,运行程序并记录运行结果。

  4.将源程序、目标文件、可执行文件和实验报告存在效劳器的指定文件夹中。

四、选做题

     输入圆半径(5)和圆心角(600),输出圆的周长、面积和扇形周长。

实验三选择结构程序设计

一、实验目的

   1.正确使用关系表达式和逻辑表达式表达条件。

  2.学习分支语句if和switch的使用方法。

  3.进一步熟悉TC集成环境的使用方法,学习TC环境提供的调试工具。

二、实验内容

  1.调试以下程序,使之具有如下功能:

输入a、b、c三个整数,求最小值。

写出调试过程。

          main()

           { inta,b,c;

             scanf("%d%d%d",a,b,c);

             if((a>b)&&(a>c))

               if(b

                 printf("min=%d\n",b);

               else

                 printf("min=%d\n",c);

             if((a

               printf("min=%d\n",a);

            }

     程序中包含有一些错误,按下述步骤进行调试。

  ⑴设置观测变量。

键,屏幕弹出"Addwatch"窗口,在窗口中可输入要观察的变量或表达式,此处输入a,重复以上操作并分别输入b、c,在屏幕下方的"message"窗口显示变量名a、b、c,且变量名的后面有提示,如a的后面是undefinedsymbol'a',这是因为程序没有运行,变量没有登记,所以TC环境不知道a是什么。

  ⑵单步执行程序。

键,屏幕上半部"Edit"窗口中的程序第一行程序的文字背景色变为兰色,表示此语句将被执行。

连续按键,兰色条一句句下移。

  ⑶通过单步执行发现程序中的错误。

当单步执行到scanf()函数一句时,屏幕自动切换到DOS窗口,等待用户的输入,假定我们输入"123",变量a、b、c接受后应在屏幕信息窗口显示出来,但是此时我们看到的却不是我们输入的数据。

这时我们就要检查程序。

发现在调用scanf()函数中变量名前面没有取地址运算符"&"。

我们输入的数据没有正确存入到变量中。

经改正后再单步运行,变量a、b、c的值被正确输入。

继续单步执行,程序正确找到最小值并输出。

  ⑷

通过充分测试发现程序中的错误。

虽然程序可以运行,并不能说程序就是正确的,因为编译系统检查程序没有语法错误就可运行了,但是编译系统不能发现程序中的逻辑错误。

一个程序必须通过严格的测试,把可能存在的错误都找出来并改正。

关于如何进行程序测试不在本书的讲述范围,此处仅对此例进行测试的一些原那么进行介绍。

刚刚给出的输入是变量a为最小值,且a、b、c都不相等的情况,可能的合理输入还有:

a为最小值且a、b、c相等,a为最小值且b、c相等,b为最小值且a、b、c互不相等,b为最小值且a、c相等,等等。

严格说,在调试过程中对这些可能的情况都要进行测试,才能保证软件的质量。

所以程序的调试、测试是一项非常烦琐的工作,也是非常重要的工作。

对于初学者来说应该建立良好的习惯,在调试程序的时候,应该尽可能考虑到程序运行时各种可能,设计相应的用例。

   我们再次运行程序,输入为"2,1,3",程序输出却是"min=2"。

用单步执行的方法,马上发现变量a、b、c的值是不对的,原因是程序要求输入数据的分隔符是〔还允许使用回车或键。

改正输入后,程序没有输出,还是用单步执行的方法,监视程序的执行过程,发现程序中条件设计有误,经过改正的程序如下:

   main()

   {inta,b,c;

     scanf("%d%d%d",&a,&b,&c);

     if((a

        printf("min=%d\n",a)

     elseif((b

        printf("min=%d\n",b);

     elseif((c

        printf("min=%d\n",c);

     else

        printf("Nofindminimum\n");

    }

     上述程序是按在三个数中仅有一个最小值时才称其为最小值进行设计的。

另外,注意程序的书写格式,一定要采用缩进格式,即不同层次〔分支〕的语句左起的空格不同,这样可以有效地提高程序的可读性。

    2.编写程序,求解以下分段函数:

    3.某托儿所收2岁到6岁的孩子,2岁、3岁孩子进小班〔Lowerclass〕;4岁孩子进中班〔Middleclass〕;5岁、6岁孩子进大班〔Higherclass〕。

编写程序〔用switch语句〕,输入孩子年龄,输出年龄及进入的班号。

如:

输入:

3,输出:

age:

3,enterLowerclass。

三、实验要求

  1.复习关系表达式、逻辑表达式和if语句、switch语句。

  2.学习程序的调试方法。

  3.编写程序,运行程序并记录运行结果

  4.将源程序、目标文件、可执行文件和实验报告存在软盘上。

四、选做题

  1.自守数是其平方后尾数等于该数自身的自然数。

例如:

      25*25=625

          76*76=5776

          任意输入一个自然数,判断是否自守数并输出:

如:

          25yes25*25=625

          11no11*11=121

   2.输入月号,输出月份的英文名称。

 

实验四循环结构程序设计

一、实验目的

   1.学习循环语句for、while和do-while语句的使用方法。

   2.学习用循环语句实现各种算法,例如穷举法、迭代法等。

   3.进一步熟悉TC集成环境的使用方法。

二、实验内容

  1.以下程序计算SUM的值。

调试该程序,使之能正确地计算SUM。

写出调试过程。

计算公式如下:

        

        main()

        {intt,s,i,n;

          scanf("%d",&n);

          for(i=1;i<=n;i++)

          t=1/i;

          s=s+t;

          printf("s=%f\n",s);

        }

        在调试过程中,用单步执行的方法观察变量s和t的值的变化,找到程序中存在的问题,加以改正。

  2.下面程序的功能是计算n!

        main()

        {inti,n,s=1;

          printf("Pleaseentern:

");

          scanf("%d",&n);

          for(i=1;i<=n;i++)

          s=s*i;

          printf("%d!

=%d",n,s);

        }

    首次运行先输入n=4,输出结果为4!

=24,这时正确的。

为了检验程序的正确性,再输入n=10,输出为10!

=24320,这显然是错误的。

为了找到程序的错误,可以通过单步执行来观察变量的变化。

这次我们在for循环体中增加一条输出语句,把变量s每次的运算结果显示出来。

显示的结果是:

    s=1

    s=2

    s=6

    s=24

    s=120

    s=720

    s=5040

    s=-25216

    s=-30336

    s=24320

    运算过程中居然出现的负值,从显示看出s=5040是7!

,再乘以8应是40320,实际却是一个负数。

分析产生这种现象的原因,把程序改正过来,再用n=20进行实验,分析所得到的结果。

  2.北京市体育彩票采用整数1、2、3、……、36表示36种体育运动,一张彩票可选择7种运动。

编写程序,选择一张彩票的号码,使得这张彩票的7个号码之和是105且相邻两个号码之差按顺序依次是1、2、3、4、5、6。

如果第一个号码是1,那么后续号码应是2、4、7、11、16、22。

  3.编写程序实现输入整数n,输出如下所示由数字组成的菱形。

〔图中n=5〕

1

121

12321

1234321

123454321

1234321

12321

121

1

三、实验要求

  1.复习for、while、do-while语句和continue、break语句。

   2.在程序调试中,要实现准备充分的测试用例。

   3.编写程序,运行程序并记录运行结果。

注意程序的书写格式。

   4.将源程序、目标文件、可执行文件和实验报告存在效劳器的指定文件夹中。

四、选做题

   2001年1月1日是星期一,编写程序,在屏幕上输出2000年的年历。

关于闰年的计算方法:

如果某年的年号能被400除尽,或能被4除尽但不能被100除尽,那么这一年就是闰年。

 

实验五数组

一、实验目的

  1.掌握数组的定义、赋值和输入输出的方法。

  2.学习用数组实现相关的算法〔如排序、求最大和最小值、对有序数组的插入等〕。

  2、熟悉TC集成环境的调试数组的方法。

二、实验内容

  1.调试以下程序,使之具有如下功能:

输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。

写出调试过程。

    main()

    {inti,n,a[10],av;

      for(i=0;i

        scanf("%d",a[i]);

      for(i=0;i

        {printf("%d",a[i]);

          if(i%3==0)

            printf("\n");

         }

      for(i=0;i!

=n;i++)

         av+=a[i];

      printf("av=%f\n",av);

     }

    上面给出的程序是完全可以运行的,但是运行结果是完全错误的。

调试时请注意变量的初值问题、输出格式问题等。

请使用前面实验所掌握的调试工具,判断程序中的错误并改正。

在程序运行过程中,可以使用+键终止程序的运行,返回到TC环境。

    2.编写程序,任意输入10个整数的数列,先将整数按照从大到小的顺序进行排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。

    3.输入4×4的数组,编写程序实现:

       ⑴求出对角线上各元素的和;

       ⑵求出对角线上行、列下标均为偶数的各元素的积;

       ⑶找出对角线上其值最大的元素和它在数组中的位置。

三、实验要求

  1.复习数组的定义、引用和相关算法的程序设计。

  2.编写程序,运行程序并记录运行结果。

  3.将源程序、目标文件、可执行文件和实验报告存在软盘上。

四、选做题

  1.设某班50人,写一程序统计某一单科成绩各分数段的分布人数,每人的成绩随机输入,并要求按下面格式输出统计结果;〔"××"表示实际分布人数〕

       0--39××

       40--49××

       50--59××

         …………

       90--100××

  2.有一个n行m列的由整数组成的矩阵,请对矩阵中的元素重新进行排列,使得同行元素中右边的元素大于左边的元素,同列元素中下边的元素大于上边的元素。

实验六字符数据处理

一、实验目的

  1.掌握C语言中字符数组和字符串处理函数的使用。

  2.掌握在字符串中删除和插入字符的方法。

  3.熟悉TC集成环境的调试字符串程序的方法。

二、实验内容

  1.调试以下程序,使之具有如下功能:

任意输入两个字符串(如:

"abc123"和"china"),并存放在a,b两个数组中。

然后把较短的字符串放在a数组,较长的字符串放在b数组。

并输出。

       main()

       {chara[10],b[10];

         intc,d,k;

         scanf("%s",&a);

         scanf("%s",&b);

         printf("a=%s,b=%s\n",a,b);

         c=strlen(a);

         d=strlen(b);

         if(c>d)

           for(k=0;k

             {ch=a[k];a[k]=b[k];b[k]=ch;}

         printf("a=%s\n",a);

         printf("b=%s\n",b);

       }

     程序中的strlen是库函数,功能是求字符串的长度,它的原型保存在头文件"string.h"中。

调试时注意库函数的调用方法,不同的字符串输入方法,通过错误提示发现程序中的错误。

    2.编写程序,输入假设干个字符串,求出每个字符串的长度,并打印最长一个字符串的内容。

以"stop"作为输入的最后一个字符串。

    3.编写程序,输入任意一个含有空格的字符串(至少10个字符),删除指定位

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

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1