C语言实验二程序、总结 顺序结构与输入、输出方法

发布时间:2015-04-16 21:22:33   来源:文档文库   
字号:

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

实验目的

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行输出的不同。

调试分析:因为第五行的mn没有赋初值,所以对应的mn输出是乱的数字,第七行的mn在第六行已赋初值,且ij也相应的自加,结果如下图

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

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

调试分析:m=i++是(m=i,i=i+1)。 n=++j;是(j=j+1,n=j)结果如下图

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

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要输入两次?

答:因为有3%c,所以对应也要有总共3个输入,所以变量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;

scanf("%f",a);

printf("a=%f, a);

char c;

c=A;

printf("%f,c)

}

主函数体可改为:

{ int a;

scanf("%d",&a);

printf("a=%d, a);

char c;

c=’A’;

printf("%d,c);

}

结果:输入5 回车输出:5A

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

键盘输入半径r2.14,高h3.48,记录程序运行后的输出结果。

程序如下:

#include

main()

{float r,h,l,s,v;

scanf(%f,%f,&r,&h);

l=2*3.14159*r;

s=3.14159*r*r;

v=3.14159*r*r*h;

printf("圆柱底周长l%.3f\n",l);

printf("底面积s%.3f\n",s);

printf("圆柱体积v%.3f\n",v);

}

运行结果如下:

思考题

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

程序如下:

#include

main()

{

char c1,c2;

c1=getchar();

c2=getchar();

putchar(c1);

putchar(c2);

putchar(‘\n’);

pritf(%c,%c\n,c1,c2);

}

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

二者皆可

要求输出c1c2ASCII码,应如何处理?用putchar函数还是printf函数?

printf函数

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

0—127范围内可以互相代替

实验总结:本次实验主要是掌握使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用,掌握C语言中赋值语句的使用,掌握C语言中各种数据的输入/输出方法,能正确使用各种格式转换符,通过本次实验加深了对顺序结构的输入输出的认识。

本文来源:https://www.2haoxitong.net/k/doc/0bb94c6510a6f524ccbf85d5.html

《C语言实验二程序、总结 顺序结构与输入、输出方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式