实验02
计算机1104 方家运 23 10.21
一、 实验目的
1、 进一步掌握编写C语言程序的方法和技巧;
2、 进一步掌握C语言的数据类型,会定义整型、实型、字符型变量以及对它们的赋值
方法;
3、 学会数据输入方式和数据输出格式及常见的格式转义字符。
4、 学会使用C的算术运算符以及用这些运算符组成的表达式,特别是自加(++)和自
减(— —)运算符的使用
二、 实验内容
1、 输入并运行下面程序,分析其运行结果。
main() {
char c1,c2; c1=46;c2=47;
printf(“<<”, c1,c2); printf(“==”, c1,c2); }
将程序第二行改为:int c1,c2;
再运行,分析其结果。分析和结果写在实验报告纸上。
注: 实际本例体现出C语言的一种特性(灵活),整型变量与字符型变量可以相互转换。
改成int c1,c2;后运行结果一样,
说明整形和字符型可以转换
2、 输入并运行下面程序
main() {
int a,b; float c,d; long e,f;
unsigned int u,v; char c1,c2;
scanf(“%d,%d”,&a,&b); scanf(“%f,%f”, &c,&d); scanf(“%ld,%ld”,&e,&f); scanf(“%o,%o”,&u,&v); scanf(“%c,%c”, &c1,&c2); printf(“\\n”);
printf(“a=M,b=M\\n”,a,b); printf(“c=%8.2f,d=%8.2f\\n”,c,d); printf(“e=ld,f=ld\\n”,e,f); printf(“u=%o,v=%o\\n”,u,v); printf(“c1=%c,c2=%c\\n”,c1,c2); }
运行上面程序,分析结果,特别注意输出c1,c2的值是什么?什么原因? 将输入e和f、u和v的语句分别改为:
scanf(“%d,%d”,&e,&f); scanf(%d,%d”,&u,&v);
运行并分析结果。分析和结果写在实验报告纸上。
改掉后直接在数字后接字符
3、编写一个程序,求表达式x-z%2*(x+y)%2/2的值。设x=8.5 ,y=2.5 ,z=4。
注意:不要变量定义赋值后直接输出,要用多个中间过渡表达式才能计算出最后结果。
4、输出宽度及控制程序
main() {
int i,j; float x,y; long int m;
i=688;j=-32765;x=12345.678;y=-48765.432; m=1234567890;
printf(“%d,?,d,%-8d\\n”,i,i,j,j);
printf(“%f,.2f,.2f,%-12.2f\\n”,x,x,y,y); printf(“%ld,%lu,ld,%-12d\\n”,m,m,m,m); }
分析和结果写在实验报告纸上。
5、先分析下面程序的结果,然后再上机运行,看结果是否一致。
main() {
int x,y,z; x=y=z=3;
y=x++ -1; printf(“MM”,x,y); y=++x –1; printf(MM”,x,y); y=z - -+1; printf(“MM”,z,y); y= - -z+1; printf(“MM”,z,y); }
分析和结果写在实验报告纸上。 6、 完成教材P25第7题。 7、 完成教材P25第8题。

