您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > C语言程序设计实验指导书new1
C语言程序设计实验指导书实验一:C语言的运行环境及运行C程序的方法(2学时)一、实验目的和要求:(1)了解所用的计算机操作系统的基本操作方法,学会使用该系统。(2)了解在该系统上如何利用程序开发环境,编辑、编译、连接和运行一个C程序。(3)通过运行简单的C程序,初步了解C程序的特点。二、实验内容:(1)检查所用的计算机系统。(2)进入VisualC++6.0的工作环境,并熟悉VisualC++6.0集成环境。(3)利用VisualC++6.0集成环境,编辑,调试运行几个简单的C程序。三、实验步骤、过程:(1)打开VisualC++6.0开发环境。点击桌面开始→所有程序→MicrosoftVisualC++6.0→MicrosoftVisualC++6.0Tools→(2)建立工程,调试C程序的步骤。1、在下图中先点击close关闭tipoftheday对话框:2、点击菜单file,如下图:3、在file子菜单中点击new,如图:4、在new对话框中点击Win32ConsoleApplication,如图:5、在new对话框中的Projectname中写文件名,名字自定,如101。6、在new对话框中的Location中选择文件路径,实验室中统一写,例如s:\20100306,后面的20090306为学号,每个同学根据自己的学号去写。7、写好上面两项后点击OK按钮。8、出现Win32ConsoleApplicationStep1对话框,默认选择Anemptyproject,点击Finish按钮。9、在NewProjectInformation对话框中点击OK按钮。10、出现如下环境:11、点击project菜单,在其子菜单中单击addtoproject及右箭头,点击new。12、弹出new对话框,在new对话框中选C++SourseFile栏。13、同时在File下面的空白栏起名字,如:first。14、点击OK按钮,出现如下编程环境:15、在编辑栏处写代码,如下图:16、编好代码后,点击工具栏中按扭,编译链接程序,在结果输出栏中出现如下结果,即0error(0),0warning(s)。17、点击工具栏中,执行程序,出现如下结果图:18、如果接着做第二道题,需要按以上步骤重新建一个工程。如下图所示,已经建好一个101工程,并在里面编写了一个源程序one.c,编译运行通过,生成one.exe文件。19、接下来准备编写第二个源程序two.c,two.c文件中会出现另外一个主函数main(),这时必须另建一个工程,新建方法如上,假设第二个工程起名103,如下图所示:20、然后设置该工程为当前工程,方法:鼠标选中103files,点击鼠标右键,在弹出的菜单中选中子菜单:设置为当前工程。21、在该工程中,编写第二个源程序two.c,方法如工程101中的first.c.(3)调试完成以下三个程序题(1_1.c,1_2.c,1_3.c)。(见下面源程序清单)(4)提高编程序题。(由教师根据学生情况布置,供学有余力的同学做)注意事项:a、必须顺序完成程序编辑、编译连接、运行的各个过程。没有正确编译成功的程序是不可能运行的!b、请注意经常保存C源程序,以免发生意外时,源程序丢失。c、Error错误--致命错的程序不能产生目标程序、执行程序,必须修改程序,并重新编译,直到成功。d、Warning错误--警告错的程序可以产生目标程序、可执行程序,还是修改吧,警告错一般也意味着程序有毛病,尽管这种程序可以强行编译连接为可执行程序,但结果可能会有问题。e、一个当前工程中只能有一个主函数(切记!!!!)。四、源程序清单、测试数据、结果:(1)最简单的C程序。(要求文件名:1_1.c)#includestdio.hvoidmain(){printf(“Helloworld!\n”);}(2)一个具有致命语法错的程序,请修改。(要求文件名:1_2.c)#includestdio.hvoidmain(){inti=9printf(“i=%d\n”,i)}(3)一个具有警告语法错的程序。(要求文件名:1_3.c)#includestdio.hvoidmain(){inti=9,j,s;s=i+j;printf(s=%d\n,s);}五、实验小结和思考(1)C语言程序调试运行的过程?答:分为编辑、编译、连接、运行四个阶段。首先,在VC开发环境中写程序代码,编辑完成后,进行编译连接,然后运行程序。(2)C语言程序主要的错误类型?答:C程序的错误类型分为语法错误和逻辑错误。z语法错误:编译系统可以协助查找出来的语法上的错误。语法错误包括致命错误Error和警告错误Warning。致命错误必须修改,警告错误可以不修改,但警告错误常常暗示程序存在某些问题。z逻辑错误:可以运行,但运行结果与预期结果不符,与程序算法逻辑相关的错误。实验二:数据类型、运算符和表达式(2学时)一、实验目的和要求:(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。(2)掌握不同的类型数据之间赋值的规律。(3)学会使用C的算术运算符,以及包含这些运算符的表达式,特别是自增++和自减--运算符的使用。(4)进一步熟悉C程序的编辑、编译、连接和运行的过程。二、实验内容:(1)进一步熟悉VisualC++6.0集成环境。(2)输入并运行几个C程序,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。(3)输入并运行几个C程序,掌握不同的类型数据之间赋值的规律。(4)输入并运行一个C程序,熟悉自加和自减运算符的使用方法。三、实验步骤、过程:(1)启动VisualC++6.0集成开发环境。(方法与实验1相同)(2)完成或选做以下5个程序题。(编辑、编译连接、运行程序,步骤与实验1相同)(3)退出VisualC++6.0集成开发环境,关机。四、源程序清单、测试数据、结果。(1)调试下面程序,学习整型、字符型数据的定义输出方法,验证程序结果。(要求文件名:2_1.c)#includestdio.hvoidmain(){intx=010,y=10,z=0x10;/*整型数据表示*/charc1='M',c2='\x4d',c3='\115',c4=77,c;/*字符型数据表示*//*以下是整型数据的输出*/printf(x=%o,y=%d,z=%x\n,x,y,z);/*请思考,输出结果为什么是x=10,y=10,z=10*/printf(x=%d,y=%d,z=%d\n,x,y,z);/*请思考,输出结果为什么是x=8,y=10,z=16*//*以下是字符型数据的输出*/printf(c1=%c,c2=%x,c3=%o,c4=%d\n,c1,c2,c3,c4);/*请思考,输出结果为什么是c1=M,c2=4d,c3=115,c4=77*/printf(c1=%c,c2=%c,c3=%c,c4=%c\n,c1,c2,c3,c4);/*请思考,输出结果为什么是c1=M,c2=M,c3=M,c4=M*/printf(c1=%d,c2=%d,c3=%d,c4=%d\n,c1,c2,c3,c4);/*请思考,输出结果为什么是c1=77,c2=77,c3=77,c4=77*//*字符型数据参与算术运算*/c=c1+32;printf(c=%c,c=%d\n,c,c);/*请思考,输出结果为什么是c=m,c=109*/}参考结果:x=10,y=10,z=10x=8,y=10,z=16c1=M,c2=4d,c3=115,c4=77c1=M,c2=M,c3=M,c4=Mc1=77,c2=77,c3=77,c4=77c=m,c=109(2)整型数据的溢出错误。(要求文件名:2_2.c)在VC中,整型(int型)的数据范围是-2147483648~2147483647,以下程序会出现什么结果?为什么?#includestdio.hvoidmain(){inta,b;a=2147483647;b=a+1;printf(b=%d\n,b);a=-2147483648;b=a-1;printf(b=%d\n,b);}参考结果:b=-2147483648b=2147483647(3)实型数据的舍入误差。(要求文件名:2_3.c)实型变量只能保证7位有效数字,后面的数字无意义。#includestdio.hvoidmain(){floata,b;a=123456.789e5;b=a+20;printf(a=%f,b=%f\n,a,b);printf(a=%e,b=%e\n,a,b);}参考结果:a=12345678848.000000,b=12345678848.000000a=1.234568e+010,b=1.234568e+010(4)已知:a=2,b=3,x=3.9,y=2.3(a,b是整型,x,y是浮点型),计算算术表达式(float)(a+b)/2+(int)x%(int)y的值。试编程上机验证。(要求文件名:2_4.c)提示编程要点:a、先判断结果值类型,可设置一个此类型的变量用于记录表达式结果,本例用r存放结果;b、程序先给几个条件变量赋初值,然后将表达式赋值给变量r;c、最后输出变量r的值就是表达式的值。参考程序:#includestdio.hvoidmain(){inta=2,b=3;floatx=3.9,y=2.3;floatr;r=(float)(a+b)/2+(int)x%(int)y;printf(%f\n,r);}参考结果:3.500000思考:为什么是这个结果?(5)分析下面程序结果,并上机验证。(要求文件名:2_5.c)#includestdio.hvoidmain(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf(i=%d,j=%d,m=%d,i=%d\n,i,j,m,n);}参考结果:i=9,j=11,m=9,i=10实验三:简单的程序设计及逻辑结构程序设计(2学时)一、实验目的和要求:(1)掌握C语言中使用最多的一种语句——赋值语句的使用方法。(2)掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。(3)了解C语言表示逻辑量的方法。(4)学会正确使用逻辑运算符和逻辑表达式。(5)熟练掌握if语句和switch语句。二、实验内容:可选做以下题目:(1)掌握各种数据类型的正确使用方法。(2)编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。(3)编程序:给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,81~89分为B,70~79分为C,60~69分为D,60分以下为E。(4)编程序:输入一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字。三、实验步骤、过程:(1)启动VisualC++6.0集成开发环境。(方法与实验1相同)(2)完成或选做上面4个程序题。(编辑、编译连接、运行程序,步骤与实验1相同)(3)退出VisualC++6.0集成开发环境,关机。四、源程序清单、测试数据、结果。(1)掌握各种数据类型的正确使用方法。请调试下面两个程序,得到输出结果,并思考为什么是这个结果?程序1:#includestdio.hvoidmain(){inta=5,b=7;floatx=67.8564,y=-789.124;charc='A';longn=1234567;unsignedu=65535;printf(%d%d\n,a,b);printf(%3d%3d\n,a,b);printf(%f,%f\n,x,y);printf(%-10f,%-10f\n,x,y);printf(%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n,x,y,x,y,x,y);printf(%e,%10.2e\n,x,y);printf(%c,%d,
本文标题:C语言程序设计实验指导书new1
链接地址:https://www.777doc.com/doc-6162962 .html