实验三 最简单的C程序设计(2学时) 实验性质:验证性实验 一、实验目的
1.掌握C语言中使用最多的一种语句——赋值语句的使用。 2.掌握数据的输入输出的方法,能正确使用各种格式转换符。 二、实验内容
1.输入并运行以下程序: main( ) {int a,b; float d,e; char c1,c2; double f,g; long m,n; unsigned int p,q; a=61;b=62; c1=’a’;c2=’b’; d=3.56;e=-6.87;
f=3157.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000;
printf(?a=%d,b=%d\\n c1=%c,c2=%c\\nd=%6.2f,e=%6.2f\\n?,a,b,c1,c2,d,e); printf(?f=.6f,g=.12f\\nm=%ld,n=%ld\\np=%u,q=%u\\n?,f,g,m,m,p,q); }
在此基础上,做以下改动: ① 将程序第8-13行改为: a=61;b=62; c1=a;c2=b;
f=3157.890121;g=0.123456789; d=f;e=g;
4
p=a=m=50000;q=b=n=-60000; 运行程序,分析结果。
② 在①的基础上将printf语句改为:
printf(?a=%d,b=%d\\n c1=%c,c2=%c\\nd=.6f,e=.12f\\n?,a,b,c1,c2,d,e);
printf(?f=%f,g=%f\\n m=%ld,n=%ld\\n p=%d,q=%d\\n?,f,g,m,n,p,q); 运行程序。
2.编写程序,用getchar函数读入两个字符c1、c2,然后分别用putchar函数和printf函数输出这两个字符。
上机运行程序,比较用printf和putchar函数输出字符的特点。
5
实验四 选择结构程序设计(2学时) 实验性质:验证性实验 一、实验目的
1.了解C语言表示逻辑量的方法(以0代表?假?,以1代表?真?); 2.学会正确使用逻辑运算符和逻辑表达式; 3.熟练掌握if语句和switch语句。 二、实验内容
1、运行程序,并分析程序的功能。
main( )
{ int a,b,c;
scanf(?%d,%d,%d?,&a,&b,&c); if(a
printf(?max=%d\\n?,c); else
printf(?max=%d\\n?,b); else if (a printf(?max=%d\\n?,c); else printf(?max=%d\\n?,a); } 将上述程序改为以下形式,请分析两者有什么不同,实现的功能是否相同? main( ) {int a,b,c,temp,max; scanf(?%d,%d,%d?,&a,&b,&c); temp=(a>b)?a:b; max=(temp>c)?temp:c; printf(?%d\\n?,max); } 6 2、运行程序,并分析程序完成的功能。 main( ) { int x,y; scanf(?%d?,&x); if(x<1) {y=x; printf(?x==,y=x=%d\\n?x,y); else if(x<10) {y=2*x-1; printf(?x==,y=2*x-1=%d\\n?x,y); } else {y=3*x-11; printf(?x==,y=3*x-11=%d\\n?x,y); } } 7 实验五 循环控制(2学时) 实验性质:验证性实验 一、实验目的 1、熟悉用while语句,do-while语句和for语句实现循环的方法。 2、掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。 二、实验内容 1、下面程序完成的功能是:输入两个正整数,求其最大公约数和最小公倍数。请将程序补充完整,并调试运行,分析结果是否正确。 main( ) { int p,r,n,m,temp; scanf(?%d,%d?,&n,&m); if(n { temp=n;n=m ;m=temp;} ; while( ) {r=n%m ; n=m ; m=r;} printf(?%d\\n?,n); printf(?%d\\n?,p/n); } 2、下面程序完成的功能是:用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。请将程序补充完整,并调试运行,分析结果是否正确。 #include {float x,x0,f,f1; ; do { ; f=((2 * x0-4) * x0+3) * x0-6; f1=(6 * x0-8) * x0+3; 8