实验报告(自打)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计实验指导书
沈岚岚吕元长编写
桂林电子科技大学信息科技学院
2012.03
实验一 C语言程序初步
数据类型、运算符和表达式
一、实验目的
1 掌握C语言程序的书写格式和C语言程序的结构,初步了解C源程序的特点。
2 掌握C语言上机步骤,了解如何编辑、编译、调试和运行一个C程序的方法。
3 掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对他们赋值的方法。
4 掌握不同的类型数据之间赋值的规律。
二、实验内容
1 输入并运行下面的程序,运行后记录并分析结果。
#include
main()
{ char c1,c2; /*第3行*/
c1=97;c2=98; /*第4行*/
printf ("%c %c\n",c1 ,c2); /*第5行*/
}
在此基础上:
(1) 在程序最后增加一个语句,再运行,并分析结果。
printf ("%d %d\n",c1,c2); /*第6行*/
(2) 将第3行作如下修改后运行程序,并分析结果。
int c1,c2; /*第3行*/
(3) 在(2)的基础上将第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行输出的不同。
(1) 将第6行按如下修改以后再运行,分析第5行和第7行输出的不同。
m=i++; n=++j; /*第6行*/
(2) 在程序最后再加两行,记录并分析该行的输出。
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 结果a=3,b=7,x=85.000000,y=71.820000,c1=a,c2=A
【思考】程序第8行中,为什么变量c1要输入两次?
4 以下程序的功能是从键盘输入一个整型数,一个实型数和一个字符型数,并把他们在屏幕上输出。完成以下填空,并把程序调通,写出当输入为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);
}
5 指出以下程序的错误并改正,并上机把程序调通,记录输出的结果。
#include
main()
{ int a;