实验四 C程序设计2.doc_第1页
实验四 C程序设计2.doc_第2页
实验四 C程序设计2.doc_第3页
实验四 C程序设计2.doc_第4页
实验四 C程序设计2.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验四 选择结构C程序设计实验目的掌握程序的书写风格;熟练掌握if语句的使用;熟练掌握switch语句的使用。实验内容一、关于程序设计风格C语言的书写格式非常自由,例如,一行内可以写多个语句,一个语句很长时也可以分写在多行上。但是,为了提供程序的可读性,我们在书写源程序时应该尽可能地做到清晰、美观,这不仅能使程序容易读懂,更重要的是,当程序出现错误时便于查错和改错。程序的可读性也是结构化程序设计方法强调的一个要点。要使程序清晰易读,一个较好的做法是采用缩格书写形式。下面两个程序的功能完全相同,其它语句也完全一样,只是程序的书写格式不同。试比较它们的书写格式,从中领会缩格书写的好处(注:以下程序大家不必理解,因为循环结构是下一章的内容,大家只需借此程序领略一下程序设计风格)。程序 程序main( ) main( )int a,b,t; scanf(%d%d,&a,&b); int a,b,t;while(a!=0&b!=0) scanf(%d,%d,&a,&b); while(a!=0&b!=0)if(ab) t=a; if (ab)a=b; t=a; b=t; a=b; printf(max=%d,min=%dn,a,b); b=t; scanf(%d,%d,&a,&b); printf(max=%d,min=%dn,a,b); scanf(%d,%d,&a,&b); 程序没有采用缩格的书写形式,整个程序看上去较乱,读起来也比较困难,如果要改正程序中的错误(如花括号是否匹配、错误是在循环之内还是在循环之外,等等),就更加不容易了。程序采用了缩格的书写形式,程序结构清晰,可读性好。对初学者来说,无论是在纸上书写程序,还是上机建立源程序,都应该注重程序的书写格式,这样,才能大大提高后面调试程序的效率。二、运行下列程序,分析并观察运行结果1.输入并运行以下程序#includemain( ) int x, y; printf(Enter x&y:n); scanf(%d%d,&x,&y); printf(x, y: %d %dn,x, y); if(xy) printf(x=%dn,x); if(yx) printf(y=%dn,y);if(x=y) printf(x= %d:n,x);/俩个可以合并为x=y请改写以上程序用一个if _else语句完成。#includemain( ) int x, y; printf(Enter x&y:n); scanf(%d%d,&x,&y); printf(x, y: %d %dn,x, y); if(xy) printf(x=%dn,x); else if(yx) printf(y=%dn,y); else printf(x= %d:n,x);2.输入并运行以下程序 /该程序是三个数字从大到小排列(可无序)#includemain( ) int a,b,c,t; printf(input a, b, c: ); scanf(%d%d%d,&a, &b, &c);printf(a=%d,b=%d,c=%dn,a, b, c); if(ab) t=a; a=b;b=t; if(ac) t=a; a=c; c=t; if(bc) t=b; b=c; c=t; printf(%d, %d, %dn,a,b,c);去掉以上程序中三个if语句中的,看看运行结果有什么不一样。#include /把if的去掉,程序没有语句错误,但功能没有用,列:1 2 3, 2 1 3 ,3 2 1main( ) int a,b,c,t; printf(input a, b, c: ); scanf(%d%d%d,&a, &b, &c);printf(a=%d,b=%d,c=%dn,a, b, c); if(ab) t=a; a=b;b=t; if(ac) t=a; a=c; c=t; if(bc) t=b; b=c; c=t; printf(%d, %d, %dn,a,b,c);3.以下程序求任意两个数中的最大数,请调试以下程序。#includemain( ) int x,y; printf(Enter x&y: ); scanf(%d%d,&x,&y); printf(x,y:%d%dn,x,y); if(xy);去掉 printf(max=x=%dn,x); else printf(max=y=%dn,y); printf(*end*n);/该程序有缺陷,少了等于的情况4. 以下程序求判断一个数是否能整除3, 请调试以下程序,按要求输出结果。#includemain( ) int n,x; printf(input n: ); scanf(%d,&n); x=n%3; if(x=0)/是赋值,应用“=” printf(n=%d YESn,n); else printf(n=%d NOn,n);#includemain( ) int n,x; printf(input n: ); scanf(%d,&n); x=n%3; if(x=0) printf(n=%d YESn,n); else printf(n=%d NOn,n);5.输入并运行以下程序/该程序有缺陷没有限定大于100和小于0的负数,输入实数的效果列:0.5变0 Emain( ) int g; printf(Enter g: ); scanf(%d,&g); printf(g=%d: ,g); if(g=90) printf(An); else if(g=80) printf(Bn); else if(g=70) printf(Cn); else if(g=60) printf(Dn);else printf(En);6.(1)调试以下程序#include main( ) int g; printf(Enter a mark: ); scanf(%d,&g); printf(g=%d: ,g); switch(g/10) case 10:case 9: printf(An); break;case 8: printf(Bn); break;case 7: printf(Cn); break;case 6: printf(Dn); break;case : printf(En); (2)去掉每一句话后面的break语句,看看运行结果有什么不同。99 g=99 ABCDE编程训练有一函数: x (x1) y= 2x-1 (1x10) 3x-11 (x10)0运行程序,输入x的值(分别为x1、1x10、x10三种情况),检查输出的y值是否正确。#include main()int x,y;scanf (%d,&x);if(x=1&x=10)printf( y=%d,y=2*x-1);elseprintf( y=%d,y=3*x-11);(2)编写程序,输入一个整数,打印出它是奇数还是偶数。#include void main()int x,y;scanf (%d,&x);y=x%2;if(y=0) printf( y=偶数);elseprintf( y=奇数);(3)将调试程序中第5题改成用switch语句完成。#include main( ) int g; printf(Enter a mark: ); scanf(%d,&g); printf(g=%d: ,g); if ( g=9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论