C语言实验指导书

C语言实验指导书
C语言实验指导书

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

沈岚岚吕元长编写

桂林电子科技大学信息科技学院

2012.03

前言上机实验的目的和要求

一上机实验的目的

上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编程序正确与否。学习程序语言,上机实验的目的如下:

1 加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,通过多次上机,就能自然、熟练地掌握语法规定。

2 了解和熟悉C语言程序开发环境。熟悉一两种环境(计算机系统的软件和硬件条件),再遇到其他的系统时便会触类旁通,很快学会。

3 学会上机调试程序,也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能够正确地运行。要真正掌握计算机应用技术,就不仅应当了解和熟悉有关理论和方法,而且要求自己动手实践能力强。

4 在做实验时千万不要在程序通过后就认为万事大吉,完成任务了,应当在通过的程序上做一些调试和修改,看看会得到什么结果。多动脑筋思考,将会对你有很大帮助。

二上机实验前的准备工作

1 了解所用的计算机系统的性能和使用方法;

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

3 准备好上机所用的程序,切忌自己不思考、不编制程序或抄袭别人的程序;

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

三上机实验的步骤

1 调出C语言编译系统,进入C语言工作环境;

2 输入自己编制好的程序;

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

4 进行编译和连接;

5 运行程序,分析结果。

四、实验结束,整理实验报告

实验报告应包括以下内容:

1 上机题目;

2 程序清单;

3 运行结果;

4 对结果的分析和本次获得的经验和体会。

实验一 C语言程序初步

数据类型、运算符和表达式

一实验目的

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

2 掌握C语言上机步骤,了解如何编辑、编译、调试和运行一个C程序的方法。

3 掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对他们

赋值的方法。

4掌握不同的类型数据之间赋值的规律。

二实验内容

1 输入并运行下面的程序,运行后记录并分析结果。

#include /* 第1行 */

main()

{ char c1,c2; /* 第3行 */

c1=97;c2=98; /* 第4行 */

printf ("%c %c\n",c1,c2); /* 第5行 */

}

在此基础上:

⑴在程序最后增加一个语句,再运行,并分析结果。

printf ("%d %d\n",c1,c2); /* 第6行 */

⑵将第3行作如下修改后运行程序,并分析结果。

int c1,c2; /* 第3行 */

⑶在⑵的基础上将第4行如下修改后运行程序,并分析结果。

c1=305;c2=340; /* 第4行 */

2 输入并运行下面的程序,运行后记录并分析结果。

#include

main()

{ printf("123456789012345\n");

printf(" ab c\t de\r f\tg\n");

printf(" h\ti\b\bj k\n");

printf("abc\t\101d\\e\x62Q\bg\n");

}

3 分析下面的程序,写出应得结果。

#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 总结运行C程序的一般步骤。

2 编写一个C程序,输入a、b、c三个数,输出其中最大者;如果求四个数中的最大者,则程序该如何修改。

四注意事项

当程序在编译时发现很多错误,此时应从上到下逐一改正;或改一个错误,就重新再编译,因为有时一个错误会引起很多错误信息。

实验二顺序结构与输入/输出方法

一实验目的

1 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自增减运算

符的使用。

2 掌握C语言中赋值语句的使用。

3 掌握C语言中各种数据的输入/输出方法,能正确使用基本格式符。

二实验内容

1 输入下面的程序:

#include

main()

{ int i,j,m,n;

i=8;j=10;

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

m=++i; n=j++; /* 第6行 */

printf("%d,%d,%d,%d\n",i,j,m,n); /* 第7行 */

}

运行程序,分析第5行和第7行输出的不同。

⑴将第6行按如下修改以后再运行,分析第5行和第7行输出的不同。

m=i++; n=++j; /* 第6行 */

⑵在程序最后增加两行,记录并分析该行的输出。

i=j=8; /* 第8行 */

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

2 运行以下程序,并分析输出结果

#include

main()

{ int a=-2; long b; float c;

b=20000+20000; c=1.23e-1;

printf("a=%d,%3d,%-3d,b=%Ld\n",a,a,a,b);

printf("a=%o,%x,%u\n",a,a,a);

printf("d=%f,%8.2f,%.2f\n",c,c,c);

printf("d=%e,%8.2e,%g\n",c,c,c);

printf("%c,%s,",'\072',"China");

printf("|-%5.2s|%5.2s|\n","China","China");

}

3 按格式要求输入、输出数据。

#include

main()

{ int a,b; float x,y; char c1,c2;

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

scanf("%f,%e",&x,&y);

scanf("%c%c%c",&c1,&c1,&c2); /* 第8行 */

printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);

}

运行该程序,按如下方式在键盘上输入数据,写出输出的结果。

a=3,b=7

85,71.82

aA

【思考】程序第8行中,为什么变量c1要输入两次?

4 以下程序的功能是从键盘输入一个整型数,一个实型数和一个字符型数,并把他们在屏幕上输出。完成以下填空,并把程序调通,写出当输入为45,34.5,A<回车>时程序的运行结果。

#include

main()

{ int a; float b; char c;

scanf("%d,%f,%c", );

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

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

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

}

5 指出以下程序的错误并改正,并上机把程序调通,记录输出的结果

#include

main()

{ int a;

scanf("%f",a);

printf("a=%f, a);

char c;

c=A;

printf("%f,c)

}

6 编写根据圆柱体半径r,圆柱高h,求圆柱底周长l,底面积s,圆柱体积v的程序。要求用scanf输入数据,用printf输出计算结果,小数点后取3位数字。

键盘输入半径r为2.14,高h为3.48,记录程序运行后的输出结果。

三思考题

编写程序,用getchar函数读入两个字符c1,c2,然后分别用putchar函数和printf 函数输出这两个字符。并思考以下问题:

⑴变量c1,c2应定义为字符型或整型?还是二者皆可?

⑵要求输出c1和c2的ASCII码,应如何处理?用putchar函数还是printf函数?

⑶整型变量和字符型变量是否在任何情况下都可以互相代替?

实验三逻辑运算和选择结构程序设计

一实验目的

1 掌握C语言表示逻辑量的方法(0代表“假”,1代表“真”);

2 学会正确使用逻辑运算符和逻辑表达式;

3 熟练掌握if语句和switch语句。

二实验内容

1 已知三个整数a,b,c,找出最大值放在max中。

#include

main()

{ 定义整数变量a,b,c,max;

键盘输入3个整数a,b,c;

在a,b中间求出较大数max(如果a>=b,则max=a;否则max=b);

c与max比较,如果c>max,则max=c;

输出最大数max;

}

2 输入某学生的成绩,经处理后给出学生的等级,等级如下:

90分以上(包括90):A 80~90分(包括80):B 70~80分(包括70):C

60~70分(包括60):D 60分以下:E

方法一:用嵌套的if语句

#include "stdio.h"

main()

{ 定义整数变量:成绩score,字符型变量:等级grade;

输入学生成绩score;

如果score>100或score<0,则输出信息:“输入成绩错误!”;

否则 { 如果score>=90,则等级grade='A';

否则如果score>=80,则等级grade='B';

否则如果score>=70,则等级grade='C';

否则如果score>=60,则grade='D';

否则grade='E';

输出成绩等级grade;

}

}

输入测试数据,调试程序。测试数据要覆盖所有路径,注意临界值,例如此题中100分,60分,0分以及小于0和大于100的数据。如果稍不注意就会出现小的程序缺陷。

方法二:用switch语句

分析:switch语句是用于处理多分支的语句。注意,case后的表达式必须是一个常量表达式,所以在用switch语句之前,必须把0~100之间的成绩分别化成相关的常量。所有A(除100以外)、B、C、D类的成绩的共同特点是十位数相同,此外都是E类。则由此可把score除十取整,化为相应的常数。

请同学们自己根据分析写出完整的程序段,并编译、运行、查看结果。

3 从键盘上输入三个实数,它们分别代表三条线段的长度,请写一个判断这三条线段所组成的三角形属于什么类型(不等边,等腰,等边或不构成三角形)的C程序;如果能构成三角形,求出三角形的面积(取小数2位)。

用下面的数据运行程序,记录程序的输出结果:

【提示】已知三角形边长a 、b 、c ,计算三角形面积s 的公式是:

求平方根用函数sqrt 。注意,应在程序中加入文件包含命令行:

#include

【算法】

⑴ 定义变量 a,b,c,e,(a,b,c 是三角形三边长,e 是组成三角形的条件),

p,s(计算三角形面积用); ⑵ 输入三角形三边长a ,b ,c ;

⑶ 判定三角形类型并输出结果;

if(组成三角形的条件)

if(等腰三角形) 是等腰三角形;

if(等边三角形) 输出是等边三角形; else 输出是等腰三角形; else 输出是三角形; else 输出不是三角形;

⑷ 如果是三角形,计算并输出面积;

● 组成三角形的条件 a+b>c && b+c>a && c+a>b ● 等腰三角形(Isosceles triangle) a= =b||b= =c||c= =a ● 等边三角形(Equilateral triangle) a= =b && a= =c

三 注意事项:

1 if-else 语句书写时应采用分层缩进的格式。

2 switch 语句的句法格式。 实验四 循环结构程序设计

一 目的和要求

1 掌握在设计条件型循环结构时,如何正确地设定循环条件,以及如何正确地控制计

数型循环结构的次数。

2 熟悉用while 语句,do-while 语句和for 语句实现循环的方法。

3 掌握在程序设计中用循环的方法实现各种算法(如穷举、选代、递推等)。

4 掌握循环结构的嵌套。

2

c

b a p )

c p )(b p )(a p (p s ++=

---=其中

二 实验内容

1 分析下面的程序的作用。 #include main()

{ float e=1.0,x=1.0,y,delta; /* delta — 给定的误差δ */ int i=1;

printf("Iuput delta:"); scanf("%f ",&delta); y=1/x;

while(y>=delta)

{ x=x*i; y=1/x; e=e+y; i++; }

printf("i=%d\n ",i-1); /* 第9行 */ printf("R esult is %f\n ",e); } }

⑴ 阅读上面的程序,写出程序中e 所依据的计算公式;输入delta=0.0001,记录程序输出。

⑵ 说明程序第9行语句的作用。

⑶ 将程序分别改成do-while 、for 循环结构,输入delta=0.0001运行程序,写出运行结果。

2 有一数列: 编程求这个数列前n 项之和(n 在运行时从键盘输入)。

【分析】数列中各项的分子用变量a 表示,分母用变量b 表示

第1项:分子a=2,分母b=1

从第2项起:分子a 等于前一项的分子与分母的和,分母b 等于前一项的分子 【算法】

⑴ 定义变量:项数n ,分子a(初值2),分母b(初值1),和s(初值0);

请自己考虑变量的数据类型。 ⑵ 从键盘输入项数n 。

⑶ 循环求和 如用for 循环:for(i=1;i<=n;i++) /* 应增加变量i 的定义 */

循环体为:

① 在s 中加入当前项 s=s+a/b; ② 求下一项

t=a; /* 保存前一项的分子,应增加变量t 的定义 */ a=a+b; /* 后一项分子 */ b=t; /* 后一项分母 */

⑷ 输出和s 。

,5

8,35,23,12

3 计算两个数的最大公约数。

【算法】

⑴输入两个整数m、n,并求m除以n的余数k。

⑵当k≠0,将除数n作为被除数m,余数k作为除数n,继续求m除以n的余数

k;反复做第⑵步,直到余数k为0结束循环。

⑶结束循环后,除数n就是m与n的最大公约数。

请同学们根据算法写出完整的程序,并运行程序(输入两整数m,n为360,135)。

4 编写程序:输入6名学生5门课程的成绩,分别统计出每个学生5门课程的平均成绩。

参考程序:

#include

main()

{ int i,j,sum,score; float av;

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

{ printf("请输入第%d个学生的成绩:",i);

sum=0; /* 注意本语句的位置 */

for(j=1;j<=5;j++)

{ scanf("%d",&score); sum+=score; }

av=sum/5;

printf("序号:%d 平均分:%5.1f\n",i,av);

}

getch();

}

三注意事项

1 while语句的句法格式及用法。

2 for语句的正确使用方法。注意它的初始值、终止条件及步长的确定。

3 当循环不能停止(出现死循环),可以用Ctrl+break中断程序的运行。

实验五数组

一实验目的

1 掌握一维数组和二维数组的定义、赋值和输入输出的方法;

2 掌握字符数组和字符串函数的使用;

3 掌握与数组有关的算法(特别是排序算法)

二实验内容

1 程序功能:输入12个整数,按每行3个数输出,最后输出它们的平均值。

#include

#define N 12

main()

{ int i,a[N],av;

for(i=0;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);

}

上面给出的程序有错误,请改正并运行,记录输出结果。

【提示】请注意输入提示、变量赋初值、循环结束条件、输出格式等问题。

2 选择排序(升序):最常用的排序方法除了冒泡排序外,还有选择排序。

【算法】n个数的选择排序的算法:

⑴定义变量、输入n及数组a各元素

⑵n个数排序要进行n-1遍

以下是一遍排序(第i遍)的方法:

①设最小数的下标k=i,则最小数为a[k]

②从下标j=i+1的元素起,到最后一个元素(j=n-1),将a[j]与最小数a[k]

比较,确定最小数的下标k

③交换a[i]与最小数a[k]

⑶输出已排序的n个数

请根据上面的算法编写选择排序程序,并编辑运行、记录输入输出数据。

3 编写程序,输出由1~N×N的整数组成的N阶方阵和它的上、下三角阵。例如,N=3时,输出:

1 2 3 1 2 3 1

4 5 6 5 6 4 5

7 8 9 9 7 8 9

N阶方阵上三角阵下三角阵

【提示】N阶方阵用二维数组表示,用二重循环输出:外循环控制输出多少行,内循环输出每行中的整数。输出上、下三角阵时注意内循环控制变量的取值。

4按照下面算法编一个程序,将两个字符串连接起来,不能用strcat函数。

⑴定义整型变量i、j,字符串s1、s2

⑵输入字符串s1、s2

⑶当字符串s1尚未结束,改变字符串s1的下标,使之到s1结束处

⑷当字符串s2尚未结束,将字符串s2逐个字符连接到字符串s1的后面

⑸为字符串s1添加结束标志

⑹ 输出连接后的字符串

三 思考题

编程将一个字符串中的字符按逆序重新存放,例如,

原字符串: Computer 逆序存放字符串:retupmoC

四 注意事项

1 在C 语言中,数组元素的下标从0开始,最大下标总是比定义的数组长度少1。

2 在C 语言中,定义数组时,其长度必须指定且必须用常量表示。

实验六 函数

一 实验目的

1 掌握定义函数的方法;

2 掌握函数实参与形参的对应关系以及“值传递”的方式;

3 掌握函数递归调用的方法;

二 实验内容

1 编写两个函数,分别求两个正整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个正整数由键盘输入。

【提示】设有两个正整数m 和n

⑴ 实验四介绍了求最大公约数的算法,也可以用递归的方法求最大公约数。 设hcf(int m,int n)是用来求m 和n 的最大公约数h 函数,k=m%n ,则:

⑵ 若最大公约数为h ,则最小公倍数为:m*n/h 。

实验时,完成以下两个函数的定义,使之和主程序构成完整的程序,实现题目的要求。 #include

int hcf(int m,int n) /* 求最大公约数的函数 */ { …… }

int lcd(int m,int n,int h) /* 求最小公倍数的函数 */ { 返回最小公倍数; } main()

{ int m,n,h,l;

printf("请输入两个正整数m 、n :");

??

?=≠=0

k n

0k )k ,n (hcf h

scanf("%d,%d ",&m,&n); h=hcf(m,n);

printf("%d 和%d 的最大公约数是:%d\n ",m,n,h); l=lcd(m,n,h);

printf("%d 和%d 的最小公倍数是:%d\n ",m,n,l); }

程序调试通过后,用m=350、n=125和m=96、n=64两组数据运行程序,记录程序的输出。 2 编写求n!的函数f(int n),在主函数中输入两个整数m 、n ,然后调用函数求:

【注意】函数f 的类型应用long 或double 。

3 有一个字符串,输入一个字符,编写函数dstr 将输入的指定字符从字符串中删去。 #include

void dstr(char str[],char ch) { } main()

{ char str[80],ch;

printf("请输入字符串:"); gets(str); printf("请输入欲删除的字符:"); scanf("%c ",&ch); dstr(str,c);

printf("删除指定字符后的结果:%s\n ",str); }

三 注意事项

1 注意函数调用返回的特点:返回调用处,而后继续执行下面的语句。

2 函数中无return 语句时,函数的类型定义为void 或int ,不可定义为其他。

3 当被调函数定义在主调函数之后时,应在主调函数中说明被调函数,否则,调用时将出现错误。

实验七 指针

一 实验目的

1 了解指针的概念,学会定义和使用指针变量。

2 掌握指针、变量和数组的关系及使用方法。

3 学会使用指向函数的指针变量。

n)!

-(m n!m!

C n m

二 实验内容

1 编写函数fun(float *sn,int n),其功能是:根据以下公式计算s ,计算结果通过形参sn 传回;n 通过实参传入,n 的值大于等于0。上机运行并记录输入输出(主函数已给出)。

1

21

7151311+?

+-+-

=n s fun(float *sn,int n)

{ 定义变量:和s,通项w ,符号f ,循环控制变量i ; /* 其中s 、f 要初始化 */ 循环求累加和s

{ 改变符号; /* 由负变正或由正变负 */

求通项w; 累加:s+=w; }

形参指针变量sn 赋值; /* 通过形参sn 传回累加和s */ } main()

{ float s; int n;

printf("n="); scanf("%d ",&n); fun(&s,n);

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

2 想使指针变量pt1指向a 和b 中的大者,pt2指向小者,以下程序能否实现此目的? swap(int *p1,int *p2) { int *p; p=p1;p1=p2;p2=p } main()

{ int a,b; int *pt1,*pt2 ; scanf("%d,%d ",&a,&b); pt1=&a; pt2=&b ; if(a

printf("%d,%d \n ",*pt1,*pt2) ; }

上机调试此程序。如果不能实现题目要求,指出原因并修改之。 3 下面的程序用来实现将一个3×3的矩阵转置。 #include void tranf(int (*p)[3]) { int t,i,j; for(i=0;i<3;i++)

for(j=0;j

{ t=p[i][j]; p[i][j]=p[j][i]; p[j][i]=t; }

}

main()

{ int i,j,a[3][3];

for(i=0;i<3;i++)

for(j=0;j<3;j++) scanf("%d",&a[i][j]);

tranf(a);

for(i=0;i<3;i++)

{ for(j=0;j<3;j++) printf("%3d",a[i][j]);

printf("\n");

}

}

⑴将上面程序修改成将一个N×N的矩阵转置,其中N是符号常量。

⑵将tranf函数体中二维数组元素的方括号表示形式改成*号的表示形式。

⑶调试并运行程序:N=3,并程序输入:1 2 3 4 5 6 7 8 9,记录程序的输出。

4 记录并分析以下程序运行结果。

#include

char *strc(char *s1,char *s2)

{ char *p=s1;

while(*s2!='\0') *p++=*s2++;

return s1;

}

main()

{ char s1[30]="computer ok!",s2[]="language",*pt;

pt=strc(s1,s2);

printf("%s\n",pt); /* 第10行 */

}

将程序第10行中的%s改成%c,应该怎样修改?(只允许修改第10行)

三注意事项

1 一个指针变量定义后,必须使其指向确定值(即给它赋值),否则,如果直接应用它的目标,就会破坏内存,使程序出错,甚至造成死机。

2 注意二维数组元素的不同表示方法,必须灵活掌握。

3 字符数组保存一字符串后,其长度一般不再起作用,对它的各种操作以字符串结束,标志'\0'作为结束条件。

4 字符串中%s格式整体输入和输出时,其输入输出项均为数组名。

5 当用一个字符串给一字符型变量赋值时,是把该字符串的首地址赋值给它,而不是

该字符串。字符型指针变量的目标是一个字符,而不是整个字符串。

实验八结构体和文件

一实验目的

1 掌握结构体类型的概念和定义方法与使用。

2 掌握文件的基本概念,文件指针与打开、关闭文件的相关函数

二实验内容

1 结构体类型student成员包括:学号(num),姓名(name[20]),性别(sex),年龄(age),三门课的成绩(score[3]),总分(sum)和平均分(av)。

按上面的结构体类型定义一个结构体数组并初始化,然后调用一个函数count,在该函数中计算出每个学生的总分和平均分,最后返回主函数输出所有各项数据(包括原有的和新求出的)。

#include

struct student

{ char num[9], name[20], sex; int age,score[3],sum; float av;

}st[3]={{"06040106","Li Ping", 'M', 18, 87,89,91},

{"06040125","Chen Fen", 'F', 19, 78,75,81},

{"06040132","Wang Yifei",'M', 19, 65,67,69}};

count(struct student *p)

{ int i,j;

for(i=0;i<3;i++)

{ p[i].sum=0;

for(j=0;j<3;j++) ; /* 求总分 */

; /* 求平均分 */ }

}

main()

{ int i,j;

count(st);

printf("The student's information:\n");

printf("Num Name Sex Age Score Sum Average\n");

for(i=0;i<3;i++)

{ printf("%-10s%-12s%-3c%5d ",st[i].num,st[i].name,

st[i].sex,st[i].age);

for(j=0;j<3;j++) printf("%3d",st[i].score[j]);

printf("%6d%9.1f\n",st[i].sum,st[i].av);

}

}

读懂程序,将程序补充完整,然后调试运行程序,记录程序的输出(特别注意程序的输出格式)。

2 设有一文件cj.dat存放了若干学生的成绩(英语、计算机、数学),存放格式为:每人一行,成绩间用逗号分隔。计算三门课的平均成绩,统计个人平均成绩大于或等于90分的学生人数。

#include "stdio.h"

main()

{ FILE *fp; int num=0;

float x,y,z;

fp=fopen("cj.dat","r");

while( )

{ fscanf(fp,"%f,%f,%f",&x,&y,&z);

; /* 求平均成绩大于或等于90分的学生人数num */ }

printf("平均成绩在90分以上的学生人数:%2d人\n",num);

fclose(fp);

}

读懂程序,将程序补充完整,并调试、运行程序,记录程序的输出结果。

3 统计上题cj.dat文件中每个学生的总成绩,并将原有数据和计算出的总分数存放在磁盘文件stud.dat中。

#include "stdio.h"

main()

{ FILE *fp1,*fp2;

float x,y,z;

fp1= ; /* 打开文件cj.dat */

fp2= ; /* 打开文件stud.dat */

while(!feof(fp1))

{ fscanf(fp1,"%f,%f,%f",&x,&y,&z);

printf("%.0f,%.0f,%.0f,%.0f\n",x,y,z,x+y+z);

fprintf(fp2,"%.0f,%.0f,%.0f,%.0f\n",x,y,z,x+y+z);

}

; /* 关闭文件cj.dat */

; /* 关闭文件stud.dat */

}

读懂程序,将程序补充完整,并调试、运行程序,记录程序的输出结果。

三注意事项

1 结构体程序特别要注意输出格式。

2 当读文件时,一定要保证指定路径上有该文件,否则打开文件失败;当写文件时,一定要保证指定盘有足够的存储空间,否则创建文件失败;对文件操作完毕后,一定要关闭文件。

附录

Visual C++ 6上机步骤(简化)

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

⑵建立C++源文件:在“文件”菜单中选择“新建”命令项,在弹出的“新建”对话框的“文件”选项卡中选择“C++ Source File”,在右边的“文件”框中输入文件名(例如sy01)后单击“确定”。

⑶输入源程序:在弹出的文件编辑窗口中输入下面的源程序后保存。设源程序如下:

#include

void main()

{ int a,b,c;

a=123; b=456; c=a+b;

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

}

⑷编译:用“组建”菜单的“编译”命令项对源文件sy01.cpp进行编译,如果程序有语法或语义错误,在屏幕下面的窗口会出现错误信息;这时候要修改源程序、保存后重新编译。直到修改了全部错误,屏幕下面的窗口会出现下面的信息:

表示已通过编译,生成了目标程序sy01.obj。

⑸调试:接下来进行调试,操作如下图所示。

完成调试后,生成可执行程序文件sy01.exe。

⑹运行:最后用“组建”菜单的“!执行[sy01.exe]”命令项运行可执行程序文件sy1.exe。运行结果如下:

C语言实验指导书

《C语言》实验指导书 2016年10月

实验一C程序得运行环境与运行方法 一、实验目得 1。掌握所用得C语言环境得基本操作方法、 2.掌握编辑、编译、连接与运行C程序。 二、实验内容与要求 1、学习使用Visual C++6.0环境开发C程序。 (1)在磁盘上建立自己得文件夹,用于存放C程序,如“e:\cexam”。 (2)启动Visual C++6。0、执行“开始”-—“所有程序”——“Microsoft Visual Studio 6。0"——“Microsoft Visual Studio 6.0”命令,进入VC++编程环境,如图1 所示。 图1 MicrosoftVisual Studio6、0窗口 (3)新建C 程序文件。 执行“文件”——“新建”命令,单击如图2所示得“文件”选项卡,选中“C++So urceFile”;

图 2 新建文件 在“文件”文本框中输入文件名test1, 则C源程序被命名为test1。cpp,若想指定扩展名为.c,则需在“文件”文本框中输入文件名test1.c;在“目录”下拉列表框选择已经建立得文件夹,如,单击“确定”按钮,就新建了C源程序文件,并显示编辑窗口与信息窗口,如图3所示,然后在编辑窗口中输入程序。 (4)保存程序。 在如图3得界面输入程序代码。由于完全就是Windows 界面,输入及修改可借助鼠标与菜单进行,十分方便。当输入结束后,执行“文件”——“保存”命令,保存源文件。 图3编辑源程序(5)编译程序。信息窗口编辑窗口

执行“组建”--“编译[test1、cpp]”命令,弹出消息框,如图4所示,单击“就是"按钮,开始编译,并在信息窗口中显示编译信息。如果信息窗口中显示“test1.obj-0error(s),0 warning(s)",表示编译正确,没有发现错误与警告,并生成了目标文件test1、obj、 图4产生工作区消息框 如果显示错误信息,说明程序中存在严重得错误,必须改正,双击某行出错信息,程序窗口中会指示对应出错位置,根据信息窗口得提示分别予以纠正;如果显示警告信息,说明这些错误并未影响目标文件得生成,但通常也应该改正。 (6)连接程序。 执行“组建”——“组建[test1.exe]”命令,开始连接,并在信息窗口中显示连接信息、如果信息窗口中出现“test1.exe—0 error(s),0 warning(s)”,表示连接成功, 并生成了可执行文件test1、exe。 (7)运行程序。 执行“组建"——“执行[test1、exe]”命令,自动弹出运行窗口,如图5所示,显示运行结果。其中“Pressany key to continue”提示用户按任意键退出运行窗口,返回到VC++编辑窗口。 图 5 显示运行结果 (8)关闭程序工作区。 当一个程序编译连接后,VC++系统自动产生相应得工作区,以完成程序得运行与调试。若想执行第二个程序时,必须关闭前一个程序得工作区,然后通过新得编译连接,产生第二个程序得工作区。否则得话运行得将一直就是前一个程序。 执行“文件"--“关闭工作区命令",弹出得对话框如图 6所示,单击“就是”按钮,关闭工作区。 图 6 关闭所有文档窗口 (9)打开文件、 如果要再次打开C源文件,可以执行“文件”——“打开”命令,在查找范围中找到

《C语言》实验指导书

内江职业技术学院 上机实验指导书 科目:C语言程序设计 系别:电商学院 班级:15软件1班 教师:王刚 2015—2016学年第一学期

《计算机基础》课程实验指导书 目录 实验一C语言概述 (1) 实验二基本数据类型 (3) 实验三输入输出和算法 (6) 实验四选择和循环结构 (10) 实验五循环结构和函数 (13) 实验六模块化设计 (14) 实验七一维数组和字符串 (18) 实验八多维数组和指针 (20) 实验九指针 (22) 实验十指针和结构体 (23) 实验十一链表和共同体 (26) 实验十二文件 (27) 教材和参考书 1、教材: 《谭浩强、张基温,《C/C++程序设计教程》,高等教育出版社。 2、参考书: (1)《(美)H.M.Deitel,P.J.Deitel著,薛万鹏译,《C程序设计教程》,机械工业出版社。 (2)杨路明,《C语言程序设计教程》,北京邮电大学出版社。

实验一C语言概述 一、实验目的 1、了解所用的计算机系统。 2、了解在该系统上如何进行编辑、编译、连接和运行一个C程序。 3、通过运行简单的C程序了解C程序的特点。 二、实验内容 1、熟悉C语言集成环境。 2、利用C语言集成环境进行编辑、编译、连接和运行一个C程序。 3、运行一个自己编写的程序,程序的功能是输出两行文字。 三、实验设备及环境 微机若干台,并安装有C语言软件。 四、实验步骤 1、熟悉所用的系统。了解Windows资源管理器的使用方法:文件的查看、复制、运行等方法,C所在目录,文本文件的建立方法。 2、进入C,并新建一个C源程序文件。 3、熟悉C的集成环境,了解各菜单项有哪些子菜单。 4、输入下面的程序,注意区分大小写。 #include void main() { printf("This is a C program.\n"); } 编译并运行程序。 5、关闭工作区,新建一个程序,然后输入并运行一个需要在运行时输入数据的

C语言实验指导书

《C语言程序设计》实验指导书 每次实验(10分)一共100分,最后折合成50分计入最终成绩。 第一次实验(一星期完成) ●内容一:熟悉编译环境和工具 在VS中键入以下的这段程序 1)关键字变色,自动缩近,智能提醒 2)代码风格和注释 3)编译出错,连接出错。修改错误 4)调试,断点,监控变量,进入函数,跳出函数。监控内存,监控堆栈 在linux中键入以下这段程序 1)熟悉VIM程序,gcc编译程序(开两个终端窗口) 2)熟悉GDB调试程序的基本技巧。(list,backstrac; break, watch,delete; next, continue, run; print,set,help) 其中,help命令是一个非常的参考,如果忘记了某条具体的命令,可以随时去参考help命令来得到相关的细节。 3)介绍《鸟歌的私房菜》这本书 ●内容二:登陆https://www.360docs.net/doc/3010178482.html,网站,在线提交。 1)熟悉基本的提交方法和规则 2)现场演示反作弊程序的效果 ●程序: 输入:两个整数,用空格分隔, 输出:两个整数的和,计算两个整数的和的功能,要求用函数实现,同时如果输入有错误,例如(12 abc)程序能够给出“error input”的提示。 参考输入: 12 33 参考输出: 45 参考输入: 12 abc 参考输出:

error input ●思考和扩展(无标准答案) 如果用户输入12 12abc 如何判断并终止程序,输出“error input”的提示 第二次实验(一星期完成) ●内容一:登陆ACM,演示OJ系统 1)介绍这个网站,有兴趣的同学可以去尝试一下() ●内容二:计算工资/小时程序 1)强制类型转换 2)一共有多少位的算法 3)整形数的溢出,以及针对特定问题,如何解决溢出问题 注意:linux编译下应该加上–lm 开关。 ●程序: 输入:工资数,小时数(整数,空格分隔)。 输出:工资/小时数(精确到小数点后2位),并根据四舍五入取整,然后将取整的数平方后计算一共有几位,后三位分别是什么? 参考输入: 2345 2 ←input (separate by space) 参考输出: 1172.50 ←average salary 1173 ← round off to integer 7 ← number of digit 0 2 5 ← the last three digit (separate by space) 第三次实验(两星期完成) ●内容一:介绍linux 下的grep,并给出相应的实例。重点介绍下面要用到的四个符号。 ●内容二:正则表达式 ^ 代表字符串开始 . 代表任意字符 $ 代表字符串末尾

C语言实验指导书

C语言程序设计实验指导书 沈岚岚吕元长编写 桂林电子科技大学信息科技学院 2012.03

前言上机实验的目的和要求 一上机实验的目的 上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编程序正确与否。学习程序语言,上机实验的目的如下: 1 加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,通过多次上机,就能自然、熟练地掌握语法规定。 2 了解和熟悉C语言程序开发环境。熟悉一两种环境(计算机系统的软件和硬件条件),再遇到其他的系统时便会触类旁通,很快学会。 3 学会上机调试程序,也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能够正确地运行。要真正掌握计算机应用技术,就不仅应当了解和熟悉有关理论和方法,而且要求自己动手实践能力强。 4 在做实验时千万不要在程序通过后就认为万事大吉,完成任务了,应当在通过的程序上做一些调试和修改,看看会得到什么结果。多动脑筋思考,将会对你有很大帮助。 二上机实验前的准备工作 1 了解所用的计算机系统的性能和使用方法; 2 复习和掌握与本实验有关的教学内容; 3 准备好上机所用的程序,切忌自己不思考、不编制程序或抄袭别人的程序; 4 准备好调试和运行时所需的数据。 三上机实验的步骤 1 调出C语言编译系统,进入C语言工作环境; 2 输入自己编制好的程序; 3 检查输入是否有错,及时更正; 4 进行编译和连接; 5 运行程序,分析结果。 四、实验结束,整理实验报告 实验报告应包括以下内容: 1 上机题目; 2 程序清单; 3 运行结果; 4 对结果的分析和本次获得的经验和体会。

C语言实验指导书

实验1 C语言初步与编程环境介绍(2学时) 1.目的要求 1)熟悉C语言基本结构, 2)熟悉VC控制台应用程序设计的使用方法。 2.实验内容 (1)创建项目,分别将教材P13和P14程序输入并编译。 (2)下列程序能正确运行吗?如果能,写出运行结果;如果不能,指出错误原因并改正。 Main() { printf("hello\n"); } 附:VC 6.0 环境的使用方法介绍 Microsoft Visual C++ (简称VC)是微软公司生产的基于其Windows系统的软件开发工具。它具有使用灵活,并与32位Windows内核(使用于Windows 95/98/NT/2000)高度兼容的特点,从而被Windows程序员们广泛使用。同时,VC同样可以加工处理C语言程序,与标准的ANSI C语言兼容。VC提供了一种控制台操作方式,本实验课程主要在控制台方式下进行设计运行。 一、什么是控制台程序? Win32控制台程序(Win32 Console Application)是一类Windows程序,它不使用复杂的图形用户界面,程序与用户交互时通过一个标准的文本窗口,通过标准的输入输出流(I/O Streams)进行。 一个最简单的控制台程序如下: #include // 包含使用标准输入输出库的头文件声明 main() { printf(”Hello World!”); //输出一个字符串 } 二、如何使用MSVC编写控制台程序?

控制台程序按照下面几个步骤进行。 1、打开VC集成开发环境。 双击桌面图标“Microsoft Visual C++ 6.0”,或者从系统菜单“开始”/“程序”/“Microsoft Visual Studio 6.0”/“Microsoft Visual C++ 6.0”(如图1),打开VC 开发环境(如图2)。 图 1 从开始菜单中打开VC开发环境 图 2 VC开发环境界面

《C语言》实验指导书

《C语言程序设计》 实 验 指 导 书 华中师范大学信息技术系 二00九年三月

项目一:熟悉C语言的运行环境及简单程序设计 (11) 实验一熟悉C语言的运行环境 实验二c程序初步 (3) 实验三数据类型及输入输出 (5) 实验四运算符与表达式 (8) 项目二:流程控制、指针、数组、模块化程序设计 实验五分支程序设计 (9) 项目六循环程序设计 (11) 项目七函数 (12) 项目八数组 (13) 项目九指针 (15) 项目三:综合程序设计——竞赛编排及优胜排序 (注:每个项目应包含实验学习目标、实验内容、实验原理、实验设备、实验步骤、实验注意事项或实验思考等内容。 基本型实验应有明确的实验学习目标、详细的过程和具体的结果;综合设计型实验应有明确的实验学习目标、可参考的过程和实验结果评价标准)

实验基本要求 1、每次实验前,学生必须预习实验内容,实验程序必须自行编制、自行调试。 2、每次实验,学生都必须提交实验报告,内容包括实验目的、实验内容、实验程序、实验过程(软件的使用、程序的调试)等,见下面的实验报告模版。 3、学生第一次上机时,应在教师机指定文件夹下建立以自己学号+姓名的子文件夹,例如学号为2005683001的学生张三,应在教师机指定文件夹下建立“2005683001张三”的子文件夹,此文件夹就是学生张三存放本课程实验全部文档的文件夹,也是教师评价学生饰演成绩的主要依据。 4、学生每次实验完毕后,都应将实验报告、实验程序等文档上传到教师机自己建立的子文件夹中。 5、学生每次实验,都应该在考勤表上签到。 附 华中师范大学信息技术系c语言程序设计实验报告 实验目的: 实验设备(包括软件): 实验内容: 实验过程: 实验程序及实验结果: 实验体会:

C语言实训指导书

C语言实训指导书 C语言课程组编写 适用专业2010级计算机应用技术专业 2010级计算机网络技术专业 2010级计算机软件技术专业 2010级计算机网络工程专业 2010级计算机信息管理专业 2010级计算机网络安全专业 2010级计算机电子商务专业

软件学院CCUTSOFT 2011年1月 目录 C语言实训安排 (3) 一.实训时间 (3) 二.实训地点 (3) 三.实训对象 (3) 四.开发环境 (3) 五.实训目的 (3) 六.实训内容 (4) 七.实训题目 (4) 八.指导教师 (6) 十.实训方案 (7) 十一.实训要求 (7) 十二.考核方式 (8) 十三.进度计划 (9) 附录 (9)

C语言实训安排 一.实训时间 起始时间:2010.1.4——2008.1.12 上午:8:00——12:30 下午:13:00——17:30 二.实训地点 软件楼204、206、401、402、404、408、412、416、504、606、608、612、614 三.实训对象 10级计算机应用技术专业 10级计算机网络技术专业 10级计算机软件技术专业 10级计算机网络工程专业 10级计算机信息管理专业 10级计算机网络安全专业 10级计算机电子商务专业 四.开发环境 Turbo C 2.0 五.实训目的 本次实训旨在进一步巩固学生本学期在C语言课程上的所学,加强学生对面向过程的理解,加快学生编程思想的形成,培养学生的编程兴趣,从而更快的提高学生的程序设计能力,并为下学期各课程的打下一个坚实的基础。

六.实训内容 本次实训要求学生依据指导教师对实训各题目的讲解和实训指导书中对各实训题目的分析,结合自身学习情况,从四道实训题目中人选一题,独立完成该题目的设计和实现,并完成实训报告的撰写。 七.实训题目 题目一:迷宫游戏 内容:1、使用二维数组形成游戏地图,数组元素0表示墙1表示路2表示出口。 2、用*表示人,E表示出口,并在游戏地图输出完毕后,单独输出。 3、当人物标示与出口标示重合时,输出成功提示,并结束程序。 4、使用共用体变量接收键盘按键信息。 5、使用bios.h函数库中的bisokey函数读取键盘按键信息。 6、使用stdio.h函数库中的gotoxy函数设置输出位置。 7、使用键盘方向键LEFT、RIGHT、UP、DOWN移动人物,键值分 别为75、77、72、80。 8、使用ESC键退出程序运行界面并显示失败提示,键值27。 9、在移动过程中要注意处理重合问题。 题目二:学生成绩管理 内容:1、使用结构体数组定义学生基本信息(学号、姓名、年龄)及成绩(C语言成绩、英语成绩和数据库成绩)。如下: struct student { int id,age,cscore,enscore,dbscore; char name[21]; }students[5]; 2、实现学生基本信息(学号、姓名、年龄)及成绩(C语言成绩、 英语成绩和数据库成绩)的录入。 3、基本信息的查询(根据学号)、删除(根据学号)与修改(根据学 号)。 4、根据每科成绩,求出每个人的总分 5、对学生考试成绩进行排序(根据学号或各科成绩排序)

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

C程序设计实验指导书 桂林电子科技大学职业技术学院 二零一二年十月

实验一C程序的运行环境和程序结构 一、实验目的 1.了解所用计算机系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.学习从开机开始的操作,包括如何建立子目录、使用操作命令 列目录、打印文件内容、删除文件、复制文件等。熟悉VC++6.0集成环境的使用 ①启动VC++6.0集成开发环境 选择“开始”→程序→Microsoft Visual Studio6.0打开后显示如下 ②在VC++6.0主窗口中,选择“文件”→“新建”命令,弹出下图所示“新建”对话框

点击“文件”显示如下图对话框 ③之后在文件编辑窗口开始编写程序

文件编 辑窗口 ④程序编辑完成后开始编译→链接→运行 2.自己编写一个简单的程序,输出以下信息: **************************** C Program **************************** 3.自己编写一个简单的程序,打印出学号、姓名、性别等学生 记录。 4.调用编辑程序,输入教材第一章的程序,并进行编译和运行。 5.完成一个学生信息管理系统登录界面

三、实验要求 在实验之前,要求同学熟悉main函数、变量的定义、注释、分号的 作用、函数的说明、函数体等内容

实验二数据类型、运算符和表达式 一、实验目的 1. 掌握C语言的数据类型,熟悉如何定义一个整型、字符型、实型变量,了解赋值的方法和数据输出的格式。 2. 学会使用C语言的有关算术运算符和表达式,熟练掌握C程序的编辑、编译、连接、运行的过程。 二、实验内容 (1) 输入下列程序: void main() { char c1,c2; c1=97;c2=98; printf(“%c,%c”,c1,c2); } a)将上面的“%c”改为“%d”运行程序,输出运行结果; b)将“char”改为“int”运行程序, 输出运行结果; c) 将“c1=97”改为“c1=’a’”运行程序,输出运行结果 d) 将“c1=97”改为“c1=500”运行程序, 输出运行结果; 根据运行结果说明原因? (2)调试程序: void main() {

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

C语言程序设计实验指导书 桂林电子科技大学信息科技学院

前言上机实验的目的和要求 一上机实验的目的 上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编程序正确与否。学习程序语言,上机实验的目的如下: 1 加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,通过多次上机,就能自然、熟练地掌握语法规定。 2 了解和熟悉C语言程序开发环境。熟悉一两种环境(计算机系统的软件和硬件条件),再遇到其他的系统时便会触类旁通,很快学会。 3 学会上机调试程序,也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能够正确地运行。要真正掌握计算机应用技术,就不仅应当了解和熟悉有关理论和方法,而且要求自己动手实践能力强。 4 在做实验时千万不要在程序通过后就认为万事大吉,完成任务了,应当在通过的程序上做一些调试和修改,看看会得到什么结果。多动脑筋思考,将会对你有很大帮助。 二上机实验前的准备工作 1 了解所用的计算机系统的性能和使用方法; 2 复习和掌握与本实验有关的教学内容; 3 准备好上机所用的程序,切忌自己不思考、不编制程序或抄袭别人的程序; 4 准备好调试和运行时所需的数据。 三上机实验的步骤 1 调出C语言编译系统,进入C语言工作环境; 2 输入自己编制好的程序; 3 检查输入是否有错,及时更正; 4 进行编译和连接; 5 运行程序,分析结果。 四、实验结束,整理实验报告 实验报告应包括以下内容: 1 上机题目; 2 程序清单; 3 运行结果; 4 对结果的分析和本次获得的经验和体会。

实验一 C语言程序初步 数据类型、运算符和表达式 一实验目的 1 熟悉C语言运行环境——Microsoft Visual C++ 6.0中文版。 2 掌握C语言程序的书写格式和C语言程序的结构,初步了解C源程序的特点。 3 掌握C语言上机步骤,了解如何编辑、编译、调试和运行一个C程序的方法。 4 掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对他们赋值的方法。 5 掌握不同的类型数据之间赋值的规律。 二实验内容 1 C语言上机步骤 ⑴开机,启动Microsoft Visual C++ 6。 ⑵建立工程文件:在“文件”菜单中选择“新建”命令项,在弹出的“新建”对话框的“工程”选项卡中选择“Win32 Console Application”选项,在“工程”框中输入工程文件名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进行编译,如果程序有语法或语义错误,在屏幕下面的窗口会出现错误信息;这时候要修改源程序、保存后重新编译。直到修改了全部错误,屏幕下面的窗口会出现下面的信息:

C语言程序设计实验实验指导书及标准答案

实验一熟悉C程序运行环境 班级学号姓名成绩 一、实验目的 1. 熟悉C语言Visual C++6.0调试环境。 2. 掌握C程序的编辑、调试及运行。 二、实验内容 项目1. 调试并运行下面程序,并写出运行结果: #include int main() { printf(“Good morning!\n”); printf(“Hello,world!\n”); return 0; } 运行结果(注意,按照屏幕输出格式写): 项目2. 调试并运行下面程序,并写出运行结果: #include int main() { int a , b , sum; /*定义变量*/ a=23; b=56; /*为变量赋值*/ sum=a+b; /*计算两个变量的和*/ printf(“sum is %d\n”,sum); /*输出计算结果*/ return 0; } 运行结果:

项目3. 调试并运行下面程序,并写出运行结果: #include int max(int,int); int main() { int a , b , c; /*定义变量*/ a=23; b=56; /*为变量赋值*/ c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/ return 0; } int max(int x,int y) /*定义max函数,函数值为整型*/ { int z; /*定义变量*/ if(x>y) z=x; else z=y; return(z); /*将z的值返回*/ } 运行结果: 三、提高部分 1.试想,如果求10个数中的最大者,则程序该如何编写。 程序代码 运行结果:

C语言实验指导书16学时

C语言程序设计实验指导书 沈曦吕元长 桂林电子科技大学信息科技学院 2010-3-18

C语言程序设计实验指导书 前言上机实验的目的和要求 一上机实验的目的 上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编程序正确与否。学习程序语言,上机实验的目的如下: 1 加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,通过多次上机,就能自然、熟练地掌握语法规定。 2 了解和熟悉C语言程序开发环境。熟悉一两种环境(计算机系统的软件和硬件条件),再遇到其他的系统时便会触类旁通,很快学会。 3 学会上机调试程序,也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能够正确地运行。要真正掌握计算机应用技术,就不仅应当了解和熟悉有关理论和方法,而且要求自己动手实践能力强。 4 在做实验时千万不要在程序通过后就认为万事大吉,完成任务了,应当在通过的程序上做一些调试和修改,看看会得到什么结果。多动脑筋思考,将会对你有很大帮助。 二上机实验前的准备工作 1 了解所用的计算机系统的性能和使用方法; 2 复习和掌握与本实验有关的教学内容; 3 准备好上机所用的程序,切忌自己不思考、不编制程序或抄袭别人的程序; 4 准备好调试和运行时所需的数据。 三上机实验的步骤 1 调出C语言编译系统,进入C语言工作环境; 2 输入自己编制好的程序; 3 检查输入是否有错,及时更正; 4 进行编译和连接; 5 运行程序,分析结果。 四、实验结束,整理实验报告 实验报告应包括以下内容: 1 上机题目; 2 程序清单; 3 运行结果;

4 对结果的分析和本次获得的经验和体会。 实验一 C语言程序初步 数据类型、运算符和表达式 一实验目的 1 熟悉C语言运行环境——Microsoft Visual C++ 6.0中文版。 2 掌握C语言程序的书写格式和C语言程序的结构,初步了解C源程序的特点。 3 掌握C语言上机步骤,了解如何编辑、编译、调试和运行一个C程序的方法。 4 掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对他们赋值的方法。 5 掌握不同的类型数据之间赋值的规律。 二实验内容 1 C语言上机步骤 ⑴开机,启动Microsoft Visual C++ 6。 ⑵建立工程文件:在“文件”菜单中选择“新建”命令项,在弹出的“新建”对话框的“工程”选项卡中选择“Win32 Console Application”选项,在“工程”框中输入工程文件名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进行编译,如果程序有语法或语义错误,在屏幕下面的窗口会出现错误信息;这时候要修改源程序、保存后重新编

c语言实验指导书作业版3

实验2 数据类型 三、实验内容 1.阅读下面程序,熟悉C语言中各种基本数据类型,写出程序运行结果,并上机验证。 #include "stdio.h" void main() { int x; long y; char c; float d; double e; x=100; y=65486l; c='a'; d=31478.5692; e=314786666666.56785643; printf("x=%d,x=%x,x=%o\n",x,x,x); printf("c=%c,c=%d\n",c,c); printf("y=%ld,y=%d\n",y,y); printf("d=%f\n",d); printf("e=%lf\n",e); } △程序输出结果为:◇上机验证结果: 总结: 根据上机验证结果,float型的有效位数为7 位,double型的有效位数为15 位。3.使用调试方法,发现下面程序的逻辑错误,并修改。 /*本程序功能是计算任意两个实数的和!*/ #include "stdio.h" /*预处理命令*/ int add(int x,int y) {int z;z=x+y; return z;} void main( ) { int a, b,sum; /*定义加数a,b和sum*/ a=1.5; /*给a赋值1*/ b=2.7; /*给b赋值2*/ sum=add(a,b); /*求a,b之和*/ printf("sum=%d\n",sum); /*输出sum*/

} 修改后: #include “stdio.h" /*预处理命令*/ int add(float x,float y) {float z; z=x+y; return z; } void main( ) { float a, b,sum; /*定义加数a,b和sum*/ a=1.5; /*给a赋值1*/ b=2.7; /*给b赋值2*/ sum=add(a,b); /*求a,b之和*/ printf("sum=%d\n",sum); /*输出sum*/ } 4.指针初步使用: (1)阅读程序,回答问题。 #include void main( ) { int i=2,*ip; /* i= 2 ip= *ip= */ ip=&i; /*i= 2 &i= 2 ip= 2 *ip= 2 */ i++; /* i= 3 */ printf("i=%d,*ip=%d\n",i,*ip); /*i= 3 *ip= 2 */ } a.写出程序运行结果并上机验证。 将相应结果填入程序的注释语句中的横线上。 (2) 按照注释语句的要求在横线上填入正确语句。 #include void main() { int i=2,*ip; ip=&i; i=ip+1 /*利用指针变量ip使得实现变量i加1运算*/ printf("i=%d,*ip=%d\n",i,*ip); }

c语言实验指导书

实验一基本类型的程序设计方法(4学时) 一.实验类型 验证性 二.实验目的 1.掌握所用的C语言环境的基本操作方法。 2.掌握编辑、编译、连接和运行C程序。 3.掌握C程序的数据类型、运算符,表达式。 三.实验容和要求 1. C语言上机步骤 ⑴开机,启动Microsoft Visual C++ 6。 ⑵建立工程文件:在“文件”菜单中选择“新建”命令项,在弹出的“新建”对话框的“工程”选项卡中选择“Win32 Console Application”选项,在“工程”框中输入工程文件名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进行编译,如果程序有语法或语义错误,在屏幕下面的窗口会出现错误信息;这时候要修改源程序、保存后重新编译。直到修改了全部错误,屏幕下面的窗口会出现下面的信息:

C语言实验指导书

1.假设公民的个人所得税为工资总额的5%,编程输入一个公民的工资总额,计算其应缴纳的个人所得税和其扣除所得税后的实际工资,并输出。 #include void main() { float a,b,c; scanf("%f",&a); b=a*0.05; c=a-b; printf("b=%5.2f\nc=%5.2f",b,c); } 2.利用格式控制符输出以下图形。 * *** *****

******* ********* #include void main() { printf(" *\n ***\n *****\n *******\n*********\n"); } 3.从键盘上输入圆的半径,圆柱的高,求圆的周长,圆球的表面积、圆球的体积、圆柱体积。用scanf输入,用printf输出。输出时有文字说明,取小数点后2位数字。请编程序。 #include void main() { float r,h,c,s,v1,v2; scanf("%f%f",&r,&h); c=2*3.14*r; s=4*3.14*r*r;

v1=4/3*3.14*r*r*r; v2=s*h; printf("圆的周长:%5.2f\n圆球的表面积:%5.2f\n圆球的体积:%5.2f\n圆柱体积:%5.2f\n",c,s,v1,v2); } 4.编制程序,根据输入的x的值,计算y的值并输出。 #include void main() { float x,y; scanf("%f",&x); if(x<=2.5) y=x*x+1; else if(x>2.5) y=x*x-1; printf("y=%5.2f\n",y); } 5.从键盘上输入三个数a,b,c,按照从小到大的顺序排序后输出。(要求,最后数从小到大依次存放在a,b,c中)。如:从键盘上输入:23 12 45,程序处理后应该是a=12 b=23 c=45。然后输出a,b,c即可。 #include void main()

c语言实训指导书

C语言程序设计基础 实 训 指 导 书 二0一三年一月

实训一熟悉VC++实验环境 【实训目的】 1. 熟悉VC++实验环境 2. 掌握C语言程序的基本结构 3. 掌握C语言程序的编辑、调试和运行过程 【实训内容】 1. 编程,在屏幕上显示一个短句“this is my first c program.”。 2. 调试示例,在屏幕上显示一个短句“welcome to you!”。 源程序(有错误的程序) #include void mian() { printf(Welcome to You!\n”) } 运行结果(改正后的运行结果) Welcome to You!

实验二简单程序设计 【实训目的】 1. 掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。 2. 通过编程进一步理解和掌握运算符的确切含义和功能。 3. 理解和掌握运算符与运算对象的关系,优先级和结合方向。 4. 通过编程,掌握C语言的几种基本数据类型,int、char、flloat、double,以及由这些基本数据类型构成的常量和变量的使用方法。 5. 掌握基本输入/输出函数的使用方法,包括printf()、scanf()、getchar()、putchar()。 6. 掌握简单的C程序的查错方法。 【实训内容】 一、.输入程序,观察输出结果,并对输出结果作出合理的解释。 1./* e1.c */ #include void main() { float x; double y; x=213.82631;y=213.82631; printf("%-4.2f,-6.2e\n",x,y); } 输出结果: 解释: 2./*e2.c */ #include void main() { char ch; int k; ch=’a’; k=10; printf(“%d,%x,%o,%c”,ch,ch,ch,ch,k); printf(“k=%%d\n”,k); } 输出结果: 解释: 3./*e3.c */

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

C 语言程序设计 实 验 指 导 书 电子工程学院 2012-2

实验一 C程序的运行环境和编辑、调试、运行简单C程序 一、实验目的 1.了解 Turbo C 的基本操作方法,学会独立使用该系统。 2.掌握在该系统上如何编辑、编译、运行一个C程序。 二、实验内容及步骤 1.进入C的工作环境 1)在Windouws环境下:“开始”→“程序”→“MS-DOS” 屏幕上进入 MS-DOS窗口 2)在Dos环境下:键入命令c:\> cd c:\tc↙ c:\tc> tc↙ 屏幕上出现Turbo C的工作环境 2.熟悉Turbo C的工作环境 了解Edit窗口与Message窗口 了解主菜单的8个菜单项 File Edit Compile Project Option Debug break/watch 3.输入并运行一个简单的程序 File→New 输入源程序:

main() { printf("This is a C program.\n"); printf("OK\n"); } 按F9进行编译和连接,观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。 按Run→Run(或按Ctrl+F9) 编译、连接、运行一起完成。 按Run→User screen(或按Alt+F5) 察看运行结果。 按任一键从用户屏切换回TC窗口。 4.输入并编辑第二个C程序 File→New 输入源程序: main ( ) { int a,b,sum; a=123; b=456; sum=a+b; printf("sum is %d\n", sum); }

编辑、运行、调试该程序。 5.编辑、运行、调试自己编写的程序(至少一个程序) 如:输入上底、下底和高,计算梯形面积。 观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。 用File→Save (或F2)保存程序(程序名为a1.c) 三、实验报告要求 写明: 1.实验目的 2.实验内容与步骤 3.编写的程序(题目,经调试、运行后正确的程序) 4.编译过程中出现的错误信息。 5.总结讨论本次实验的结果和收获。

华农C语言实验指导书 参考答案

C语言程序设计上机实验指导与习题 参考答案 (仅供教师内部参考) 实验1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用JudgeOnline实验系统。 二、实验内容 1. 运行第一个C程序 [题目:The first C Program] 将下列程序输入TC(或VC++),编译、连接和运行该程序。 void main() { printf("The first C Program\n"); } [具体操作步骤] 以Turbo C上的操作为例 (1)Windows进入后,按照第一章中介绍的方法,进入Turbo C。 (2)在编辑窗口中输入程序。 (3)保存程序,取名为a1.c。 (4)按照第一章中介绍的方法,编译、连接和运行程序。

2. 在JudgeOnline系统中提交实现了计算a+b功能的程序 [题目1001:计算a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, void main() { int a, b; scanf("%d%d", &a, &b); 2 printf("%d", a + b); } (1)在程序编辑窗口中输入程序。 (2)保存程序,取名为a2.c。 (3)按照前二章中介绍的方法,编译、连接和运行程序。 (4)在程序运行过程中,输入 15 30↙ (↙表示输入回车符) (5)如果看到如下输出结果,则表明15+30 的结果正确,如果得不到如下结果,则需检查并更正程序。 45 (6)按照第三章中介绍的方法进入JudgeOnline实验系统。 (7)显示题目列表,点击题号为1001,题名为“计算a+b”的题目。 (8)查看完题目要求后,点击页面下端的“sumbit”,参照第二章提交程序的方法提交程序a2.c。 (9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。 3 实验2 基本数据类型、运算和表达式 一、实验目的 (1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。(2)掌握不同的类型数据之间赋值的规律。 (3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运 算符的使用。 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 二、实验内容 1. 变量的定义 [题目1117:变量定义,按要求完成程序] 下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。void main() { int a, b; /*定义整型变量a和b*/ int i, j; /*定义实型变量i和j*/ a=5; b=6; i=3.14; j=i*a*b;

C语言程序设计实验指导书参考答案

C语言程序设计实验指导书参考答案

上级实验参考答案#include "stdio.h" #include"math.h" int main() { int i; double a, b; for(i=0;i<=100000;++i) {a=sqrt(i+100); b=sqrt(i+168); if((int)a==ceil(a)&&(int)b==ceil(b)) printf("%d\n",i);} } 实验2 基本数据类型、运算和表达式 一、实验目的 1)掌握C 语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。2)掌握不同的类型数据之间赋值的规。3)学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加++ )和自减--)运

算符的使用。 4 )进一步熟悉C 程序的编辑、编译、连接和运行的过程。 二、实验内容 1. 变量的定义 [题目1117:变量定义,按要求完成程序] 下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。 void main() { int a, b; /*定义整型变量a 和b*/ int i, j; /*定义实型变量i 和j */ a=5; b=6; i=3.14;j=i*a*b; printf("a=%d,b=%d,i=%f,j=%f\n", a, b, i,j); }

[具体操作步骤] 1)将代码补充完整; 2)在TC 或VC++上运行通过; 3)在JudgeOnline 实验系统上提交; 2. 赋值表达式与赋值语句 [题目1118:赋值表达式与赋值语句,写出程序运行结果] 阅读下面程序,写出运行结果: void main() { float a; int b, c; char d, e; a=3.5; b=a; c=330;

相关主题
相关文档
最新文档