实验课时安排实验内容课时说明实验一 C 语言运行环境2必做实 验 二 C 语言基础知识2必做实验三顺序程序设计2必做实 验 四 i f-e l s e 语句2必做实 验 五 s w i t c h 语句2必做实 验 六 w h i l e 语句、d o-w h i l e 语句2必做实 验 七 f o r 语句2必做实 验 八 函 数 12必做实 验 九 函 数 22必做实 验 十 一维数组2必做实验十一二维数组2必做实验 十 二 字符数组与字符串处理函数2必做实验 十 三 预处理2必做实验十四指针12必做实验十五指针22必做实验十六结构体和共同体2必做实验十七综合实验2必做合计32实验一 C 程序的运行环境一、实验目的1.了解和使用Visual C+6.0(简称VC)集成开发环境;2.熟悉V C的控制台应用程序的开发、调试步骤和方法;3、掌握C 程序的编辑、编译、连接和运行过程;4、了解工程、文件、工作区等基本概念;5、能理解常见错误的提示信息,并根据提示进行改错。二、相关知识点VC集成开发环境;c 语言的编辑、编译、连接和运行过程;C 语言的调试方法和工具;C 语言的基本组成特点。术语:“控制台应用程序”是一个在DOS窗口中运行的基于字符的程序。由于这种模式的应用程序比Windows程序简单,我们先选择利用Visual C+来建立这样一个应用,这样使得我们可以将精力先投入到学习使用C 或 者 C+编程语言,而不需要把过多的精力投入到学习复杂的Windows编程中去。三、实验内容一(验证及程序分析)Egl-1:使用Visual C+6.0集成环境来编辑、编译并运行下面的示例程序:#include void main()(printf(MThis is my first C program!n);【说明:】本题要求完成一个字符串的输出,并且是“依葫芦画瓢”哦!实验步骤:(1)启动Visual C+开发环境(2)创建一个工程a.单击File菜单中的New选项,显示出新建对话框b.选择 Win32 Console Application()c.选择项目所在路径及输入项目的名称d.在建立一个什么类型的控制台应用程序中,选 中“一个空工程”,按“完成”按钮,至此,已经建立好工程相关的文件。(3)建立C+源程序文件a.选菜单命令ProjectlAdd to ProjectINew,弹出N ew 对话框b.在 N ew 对话框的Files选项卡中选择C+Source File,并填入文件名称,单击OK按钮,完成新建C+源程序文件(4)编辑C+源程序文件a.在文件编辑窗口中输入代码b.完成后,选择菜单F i l el Sa v e保存这个文件(5)编译、链接并运行可执行程序a.选择菜单命令C o m p i l e,建立目标代码文件;如果程序有语法错误,则屏幕下方的状态窗口中会显示错误信息,根据这些错误信息对源程序进行修改后,重新选择菜单命令C o m p i l e建立目标代码文件。b.选择菜单命令B u i l d,建立可执行程序如果你正确输入了源程序,此时便成功地生成了可执行程序。如果程序有链接错误,则屏幕下方的状态窗口中会显示错误信息,根据这些错误信息对源程序进行修改后,重新选择菜单命令B u i l d建立可执行程序。c.选择菜单命令R un,运行程序,观察屏幕显示内容。【说明】有时也可直接选择菜单命令R un,将“编译、链接并运行”几个步骤合为一起。(6)关闭工作空间选择菜单命令F i l el C o l s e W o r k s p a c e关闭工作空间。四、上机内容:1.输入并运行程序,写出运行结果。m a i n()i n t a,b,s u m;a=1 2 3;b=4 5 6;s u m=a+b;p ri n t f Cts u m i s%d n,s u m);2.输入并运行程序,写出运行结果。m a i n()i n t a,b,c;s ca n f(d,%d”,&a,&b);c=max(a,b);printf(max=%d”,c);)intmax(intxjnty)(intz;if(xy)z=x;elsez=y;return(z);)3.编程实现在屏幕上显示如下三行文字Hello,world!Welcome to the C language world!Everyone has been waiting foi*.实验二C语言的基础知识【目的与要求】1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。2.学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(+)和自减(-)运算符的使用。3.进一步熟悉C程序的编辑、编译、连接和运行的过程。【上机内容】【一般示例】【例 1】输入并运行下程序,写出运行结果。mian()(chard,c2;c1=97;c2=98;printf(c%c”,c1,c2);)在此基础上1)加一个printf语句,并运行之。printf(u%d,%d,c1,c2);2)再将第二行改为:intc1,c2;再使之运行。3)再将第三行改为:c1=300;c2=400;再使之运行,分析其运行结果。在该程序中,说明了字符型数据在特定情况下可作为整型数据处理,整型数据有时也可以作为字符型数据处理。【例 2】分析下程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。main()(chard=a,c2=b,c3=c,c4=101,c5=116;printf(a%cb%ctabcn,c1,c2,c3);printf(tb%c%c,c4,c5);)在该程序中,主要考查对转义字符的掌握情况。【例3】分析下程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。main()(inti,j,m,n;i=8;j=10;m=+i;n=j+;printf(%d,%d,%d,%d,i,j,m,n);)分别作以下改动之后,先分析再运行:1)将第四行改为:m=i+;n=+j;2)程序改为:main()(intij;i=8;j=10;printf(d,%d”,i+,j+);)3)在2)的基础上,将printf语句改为:printf(%d,%d,+i,+j);4)再将printf语句改为:printf(%d,%d,%d,%d,i,j,i+,j+);5)程序改为:main()(inti,j,m=O,n=O;i=8;j=10;m+=i+;n-=-j;printf(i=%d,j=%d,m=%d,n=%d,i,j,m,n);)此程序主要考查自加、自减运算符以及复合运算符的用法。【作业】1.要讲“China”译成密码,密码规律是:用原来的字母后面第5个字母代替原来的字母。例如,字母“A”后面第5个是“F,用F代替A”。因此,“China”应译为“Hmnsf”。请编一程序,用赋初值的方法使c1、c2、c3、c4、c 5五个变量的值分别为C、h、i、n、a,经过运算,使其分别变为X、m h、s、3并输出。实验三顺序结构程序设计实验三顺序结构程序设计一、实验目的1、熟练掌握c语言中赋值语句的使用方法:2,掌握格式输入输出scanfO函数、p rin tfO函数的调用语法:整型、实型、字符型数据的输入输出格式。3,掌握字符输入输出函数getchar。、putchar 0函数的调用语法。二、相关知识点scanf()函数和printfO函数的意义及用法:gelchaR)函数 和putchar。函数的意义及用法:gets。函数 和puts。函数的意义及用法:I.三、实验内容一(验证及程序分析)Eg3-1:从键盘输入两个o到1 2 7的整数,求两数的平方差并输出其值以及这两个整数的A SC H码对应的字符。(1)算法分析:标准A SC II码值范围是0到1 2 7,所以在这范围内的数可以以字符形式输出,实现方法是用格式输出函数并用格式符c控制输 出。(2)源程序:/include void maiii()(iiit x,y,sub;scanf(%d%d”,&x,&y);/*变量前一定要加取地址符&*/sub=x*x-y*y;printf(*,%c,%c,odnx,y,sub);)(3)在V C+编辑环境下编辑源程序。(4)编译直到程序没有错误。(5)从键盘输入1 0 0 5 0/,运行结果如何?(6)输出结果:Eg3-2:输入程序/include oid ma in()(in t a.b ;f l oa t d,e ;c ha r c l.c 2;dou b l e g ;l on g m,n ;u n sig n e d in t p.q ;a=6 1 ;b=6 2;c l-a*;c 2=*b,;d=3.5 6 ;e=-6.8 7 ;4 3 1 5 7.8 9 0 1 2 1 ;g=0.1 2 3 4 5 6 7 8 9 :m=5 0 0 0 0 ;n=-6 0 0 0 0 ;p=3 2 7 6 8;q=4 0 0 0 0;p r iii tf(na=od.b=O 6 dn c l =%c,c 2=9 /n d=9 o6.2 f,e=a,b.c l,c 2,d,e);prill tf(uf=ol 5.6f,g=%l 5.12fmn=oldn=oldiip=0 6u.q=ouii,J.g.mji,p.q);(1)运行程序并分析结果。(2)在此基础上,修改程序的第1 0 7 5行(即变量赋值部分)为:a=6 1;b=6 2;c l=a;c 2=b;P=3 1 5 7.8 9 0 1 2 1;g=0.1 2 3 4 5 6 7 8 9d=f;e=g;p=a=m=5 0 0 0 0;q=b=n=-6 0 0 0 0;运行程序,分析结果。(3)改用sc a n f函数输入数据而不用赋值语句,sc a n f函数如下:&a.&b,&c l.&c 2,&d,&e,&f,&g.&in,&n.&p,&q);输入的数据如下:6 1,6 2,a,b,3.5 6,6 8 7,3 1 5 7.8 9 0 ,0,1 2 3 4 5 6 7 8 9,5 0 0 0 0,-6 0 0 0 0,3 2 7 6 8,4 0 0 0 0(回车)(说明:If和Id格式符分别用了输入dou b l e型和l on g型数据)分析运行结果。(4)将p r in tf语句改为:p r in tf(a=9 b d,b=0odn c l=oc,c 2=%c n d=0ol 5.6 f,e=%1 5.1 2 f n .a.b.c l,c 2,d,e);p r iiitf(f=?/f.g=b f n m=0od.n=odn p=0od,q=/odn f.g,m,n.p,q);运行程序,分析结果。(5)将p、q改用%o格式符输出。(6)将sc a n f函数中的%If和。6 k l改为%f和%d,运行程序分析结果。对照程序和运行结果思考:(7)将一个负整数赋给一个无符号的变量,会得到什么结果。(8)将一个大于3 2 7 6 7的长整数赋给整型变量,会得到什么结果。(9)将一个长整数赋给无符号变量,会得什么结果(分别考虑该长整数的值大于或等于6 5 5 3 5以及小于6 5 5 3 5的情况)。四、实验内容二(综合及设计类)Eg33:调试训练改正下列程序中的错误,输 入 参 数a,b.c,求一元二次方程a x 2+b x+c=0 的根。/in c l u de /in c l u de v oid m a iii()(dou b l e a.b,c,d;p r in tf C E n te r a,b,c:n);sc a n f(”%l P 凡&b,&c);d=b*b-4*a*c;断点 1if (a=0)(if (b=0)if (c=0)p r in l f(参数都为零,方 程无意义!n );e l sep r in tf(”a和b为0,c不 为0,方程不