C语言程序设计实验指导书(新)

  • 格式:pdf
  • 大小:340.92 KB
  • 文档页数:12

C语⾔程序设计实验指导书(新)

C语⾔程序设计实验指导书

重要说明:上机实验⽬的和要求

⼀实验报告要求

每次实验,提交⼀份实验报告。具体格式见“实验报告格式范⽂”

将代码和运⾏截图粘贴到“C改⾰实验指导书24学时”word的相应位置。如下图,程序运⾏的截图如下:

⼆上机实验的⽬的

上机实验的⽬的,绝不仅仅是为了验证教材和讲课的内容,或者验证⾃⼰所编程序正确与否。学习程序语⾔,上机实验的⽬的如下:1 加深对讲授内容的理解,尤其是⼀些语法规定,光靠课堂讲授,既枯燥⽆味⼜难以记住,通过多次上机,就能⾃然、熟练地掌握语法规定。2 了解和熟悉C语⾔程序开发环境。熟悉⼀两种环境(计算机系统的软件和硬件条件),再遇到其他的系统时便会触类旁通,很快学会。3 学会上机调试程序,也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能够正确地运⾏。要真正掌握计算机应⽤技术,就不仅应当了解和熟悉有关理论和⽅法,⽽且要求⾃⼰动⼿实践能⼒强。4 在做实验时千万不要在程序通过后就认为万事⼤吉,完成任务了,应当在通过的程序上做⼀些调试和修改,看看会得到什么结果。多动脑筋思考,将会对你有很⼤帮助。

三上机实验前的准备⼯作1 了解所⽤的计算机系统的性能和使⽤⽅法;

2 复习和掌握与本实验有关的教学内容;

3 准备好上机所⽤的程序,切忌⾃⼰不思考、不编制程序或抄袭别⼈的程序;

4 准备好调试和运⾏时所需的数据。

四上机实验的步骤1 调出C语⾔编译系统,进⼊C语⾔⼯作环境;

2 输⼊⾃⼰编制好的程序;

3 检查输⼊是否有错,及时更正;

4 进⾏编译和连接;

5 运⾏程序,分析结果。重要说明:上机实验⽬的和要求 0

实验⼀C语⾔上机基础 (4)

实验⼆基本数据类型、运算符和表达式 (7)

实验三输⼊、输出函数的使⽤ (9)

实验四选择结构程序设计 (11)

实验五循环结构程序设计 (13)

实验六数组 (16)

实验七简单函数 (18)

实验⼋⾼级函数 (19)

实验九指针 (20)

实验⼗⾃定义数据、⽂件 (22)

附1:c语⾔函数库 (24)

实验⼀C语⾔上机基础

特别声明:为了教学的便捷以及学⽣⾃学的⽅便,我们选择了便于下载和安装的Microsoft Visual C++ 6.0软件作为编译环境。但在实际⼯作中使⽤的编译环境应该是visual studio系列软件(如visual studio 2010)。所以同学们课下必须⾃⼰百度(visualstudio 2010使⽤⼿册),学习visual studio的基本⽤法! PS:输⼊法必须切换成英⽂输⼊法

⼀实验⽬的1 熟悉C语⾔运⾏环境——Microsoft Visual C++ 6.0中⽂版。

2 掌握C语⾔程序的书写格式和C语⾔程序的结构,初步了解C源程序的特点。

3 掌握C语⾔上机步骤,了解如何编辑、编译、调试和运⾏⼀个C程序的⽅法。

4 掌握C语⾔数据类型,熟悉如何定义⼀个整型、字符型和实型的变量,以及对他们赋值的⽅法。

⼆实验内容1 C语⾔上机步骤

⑴开机,启动Microsoft Visual C++ 6。

⑵建⽴⼯程⽂件:在“⽂件”菜单中选择“新建”命令项,在弹出的“新建”对话框的“⼯程”选项卡中选择“Win32 ConsoleApplication”选项,在“⼯程”框中输⼊⼯程⽂件名sy1,在“c:位置”下拉框中输⼊或选择⽂件夹,单击“确定”;在以下弹出的两个对话框中分别单击命令按钮“完成”和“确定”。

⑶建⽴C++源⽂件:在“⼯程”菜单中选择“添加到⼯程”—“新建”命令项,在弹出的“新建”对话框的“⽂件”选项卡中选择“C++Source File”,在右边的“⽂件”框中输⼊⽂件名sy11后单击“确定”。

⑷输⼊源程序:在弹出的⽂件编辑窗⼝中输⼊下⾯的源程序:#include

void main()

{ printf("Hello,World!\n");

printf("Welcome to the C language world!\n");

printf("Everyone has been waiting for.\n");

}

⑸编译:⽤“编译”菜单的“编译”命令项对源⽂件sy11.cpp进⾏编译,如果程序有语法或语义错误,在屏幕下⾯的窗⼝会出现错误信息;这时候要修改源程序、保存后重新编译。直到修改了全部错误,屏幕下⾯的窗⼝会出现下⾯的信息:表⽰已通过编译,⽣成了⽬标程序sy11.obj。

⑹调试:接下来进⾏调试,操作如下图所⽰。

完成调试后,⽣成可执⾏程序⽂件sy1.exe。

⑺运⾏:最后⽤“编译”菜单的“!执⾏sy1.exe”命令项运⾏可执⾏程序⽂件sy.exe。运⾏结果如下:

(8)程序可能出错,要学会调试修改,详见《VC++6.0使⽤⽅法》中的7.调试程序PS:输⼊法必须切换成英⽂输⼊法

2 完成下⾯程序的运⾏

2) 输⼊并运⾏下⾯的程序,运⾏后记录并分析结果。

#include

main()

{ char c1,c2; /* 第2⾏ */

c1=97;c2=98; /* 第3⾏ */

printf ("%c %c\n",c1,c2);

}

在此基础上:

⑴在程序最后增加⼀个语句,再运⾏,并分析结果。printf ("%d %d\n", c1, c2);//a c 97 98

⑵将第2⾏改为:int c1,c2;

再次运⾏,并分析结果。a c 97 98

⑶再将第3⾏改为:c1=305;c2=340; //1 t 305 340 N位⼆进制转成8位的char 再使之运⾏,分析运⾏结果。

2 输⼊并运⾏下⾯的程序

#include

main()

{ char c1='a',c2='b',c3='c',c4='\101',c5='\116';

printf("a%c b%c\tc%c\tabc\n",c1, c2, c3);

printf("\t\t\b%c%c\n", c4, c5);

}

在上机前先⽤⼈⼯分析程序,写出应得结果,上机后将⼆者对照。

三案例项⽬1.输出你⾃⼰的⽣⽇,姓名拼⾳的⾸字母,⽤浮点型数输出你的年龄(如:20.8)

实验⼆基本数据类型、运算符和表达式

⼀.实验⽬的:1.练习使⽤基本类型的变量进⾏编程

2.练习使⽤C的运算符

⼆.实验内容:1.实验要求:熟练使⽤运算符(%,++,--)

2.分析与设计:求余运算符要求两个操作数都必须是整数;++和-- 要看清是先使⽤还是先⾃增(减)

3.源代码:

程序1:取出⼀个三位整数的各个位,并输出main()// 缺少#include

{int x=123; char c1,c2,c3;

c1=x%10;

c2=x/10%10;

c3=x/100;

printf(“%d,%d,%d\n”,c3,c2,c1);//“”,输⼊法错误

}

运⾏结果为:1,2,3

程序2:练习⾃增和⾃减运算符的使⽤#include

main()

{ int i,j,m,n;

i=8;j=10;

m=++i; /* 第5⾏ */n=j++; /* 第6⾏ */

printf("%d,%d,%d,%d\n",i,j,m,n);

}

运⾏程序,注意i、j、m、n各变量的值;然后分别作以下改动并运⾏:

⑴将第5、6⾏改为如下以后再运⾏:m=i++;

n=++j;

⑵将程序改为:#include

main()

{ int i,j;

i=8;j=10;

printf("%d,%d\n",i++,j++); /* 第5⾏ */

}

⑶在⑵的基础上,将第5⾏printf语句改为:printf("%d,%d\n",++i,++j);

⑷再将printf语句改为:printf("%d,%d,%d,%d\n",i,j,i++,j++);

//先执⾏所有的i输出操作,再执⾏i+1

⑸将程序改为:#include

main()

{ int i,j,m=0,n=0;

i=8;j=10;

m+=i++;n-=--j;

printf("i=%d,j=%d,m=%d,n=%d\n",i,j,m,n);

}

三.案例项⽬(参考附1:c语⾔函数库)1.随机⽣成2个0~99之间的正整数,作为你2门课的成绩。

平均成绩(如果结果是整数,要求转换成浮点数),计算所有成绩的标准差。要求必须⽤数学库函数rand(),sqrt。标准差公式如下:2.⽤数学库函数实现你学过的数学公式,使⽤的库函数越多,考核分数越⾼

实验三输⼊、输出函数的使⽤

⼀.实验⽬的:

熟练使⽤格式输出函数printf()和格式输⼊函数scanf()

⼆.实验内容:1. 实验要求: 格式输⼊函数scanf()和格式输出函数printf()的使⽤

2.分析与设计: 输⼊函数中的普通字符需要原样输⼊,并注意分隔符的使⽤;输出函数中的格式控制符和输出项数要⼀⼀对应。3.源代码:

程序1:为使得a=1,b=2,c=‘A’,d=5.5,在键盘上如何输⼊?#include

main()

{int a,b;

char c;

float d;

scanf(“a=%d b=%d”,&a,&b);

scanf(“%c %e\n”,&c,&d);

}

程序在运⾏时,输⼊:a=1 b=2A 5.5 0

程序2:判断下⾯程序的运⾏结果。main()

{int x=3,y=2,z=1;

printf(“%d,%d\n”,(++x,y++),z+2);}

运⾏结果:2,3

分析得到此结果的原因。

程序3:以下程序的功能是从键盘输⼊⼀个整型数,⼀个实型数和⼀个字符型数,并把他们在屏幕上输出。完成以下填空,并把程序调通,写出当输⼊为45,34.5,A时程序的运⾏结果。#include

main()

{ int a; float b; char c;

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

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

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

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

}

程序4:指出以下程序的错误并改正,并上机把程序调通。