备考计算机二级---程序调试题

备考计算机二级---程序调试题

ID:42861770

大小:663.50 KB

页数:108页

时间:2019-09-24

备考计算机二级---程序调试题_第1页
备考计算机二级---程序调试题_第2页
备考计算机二级---程序调试题_第3页
备考计算机二级---程序调试题_第4页
备考计算机二级---程序调试题_第5页
资源描述:

《备考计算机二级---程序调试题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、大学程序设计技能训练(C)第2讲程序调试题二、程序调试题(3小题,共20分)1.程序调试题1(X_2_1.C)调试要求:下列程序不能得到正确的结果,它包含2个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。将结果(包括X_2_1.C文件和X_2_1.EXE文件)保存到目录C:KS中。功能说明:计算半径为1~n的圆的面积,仅打印超过50的圆面积。如输入:6则输出:r=4,square=50.265488r=5,square=78.539825r=6,square=

2、113.097351#includemain(){intr,n;floatarea;scanf("%d",&n);for(r=1,r<=n;r++){area=3.141593*r*r;if(area<50.0)continue;printf("r=%d,square=%d",r,area);}getch();}#includemain(){intr,n;floatarea;scanf("%d",&n);for(r=1,r<=n;r++){area=3.141593*r*r;if(area<50.0)

3、continue;printf("r=%d,square=%d",r,area);}getch();}for(r=1;r<=n;r++)printf("r=%d,square=%f",r,area);分析语句格式数据类型与输出格式复合语句{}括住的若干条语句构成一个复合语句语句块内可以定义变量变量仅在定义它的复合语句内有效变量必须在复合语句的开头定义复合语句可以用在任何可以使用语句的地方if-else选择结构的一种最常用形式if(表达式)语句1;else语句2;语句3表达式值非0时,执行语句1,然后语句3;表达式值为0时,执行语句2

4、,然后语句3else部分可以没有。if(表达式)语句1;语句3当表达式值为0时,直接执行语句3if-else嵌套使用时,注意else和谁配对的问题else-ifif的一种扩展形式if(表达式)语句1;elseif(表达式)语句2;elseif(表达式)语句3; …………else语句4;语句5;else部分可以没有switch多路选择switch(表达式){case常数1:语句序列1;case常数2:语句序列2; …………default:语句序列3; }default可以没有,但最好不省略不要忘记break循环——while,forwhile

5、(表达式) {语句;}for(表达式1;表达式2;表达式3) {语句;}注意在for和while语句之后一般没有分号有分号表示循环体就是分号之前的内容(空循环体)while(i<100);i++;for(i=0;i<100;i++);printf("%d",i);for通常有一个循环变量控制循环的次数,不要在循环体内改变这个变量do-whiledo{语句; }while(表达式);首先执行语句,然后判断表达式的值。如果表达式为0,继续向下执行,否则,再次执行语句,再次判断表达式的值语句会被至少执行一次条件PA当型循环直到循环真假假条件PA假

6、真假条件P条件PA假当循环条件第一次就为假时选择三种循环的一般原则如果循环次数已知,用for如果循环次数未知,用while如果循环体至少要执行一次,用do-while这只是“一般”原则,不是“原则”死循环永远不会退出的循环为死循环for(;;){}while(1){}do{}while(1)一般情况下,要极力避免死循环绝大多数程序不需要死循环。如果出现,往往都是bug时间过长的循环会造成“假死”效果,也要考虑解决2.程序调试题2(X_2_2.C)调试要求:下列程序不能得到正确的结果,它包含3个错误,请按题中的功能要求,调试并修改该程序(在所

7、修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。将结果(包括X_2_2.C文件和X_2_2.EXE文件)保存到目录C:KS中。功能说明:将输入的十进制整数n通过函数DtoH转换为十六进制数,并将转换结果以字符串形式输出。如输入:79则输出:4F又输入:1234则输出:4D2#includeintDtoH(intn,char*str){inti,d;for(i=0;n!=0,i++){d=n%16;if(d>=10)str[i]='0'+d;elsestr[i]='A'+d-10;n/=16;

8、}returni;}main(){inti,k,n;charstr[80];scanf("%d",&n);k=DtoH(n,str);for(i=k-1;i>=0;i--)pri

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。