C语言上机试题与答案

上传人:xmg****18 文档编号:120427918 上传时间:2020-02-06 格式:DOC 页数:33 大小:489.50KB
返回 下载 相关 举报
C语言上机试题与答案_第1页
第1页 / 共33页
C语言上机试题与答案_第2页
第2页 / 共33页
C语言上机试题与答案_第3页
第3页 / 共33页
C语言上机试题与答案_第4页
第4页 / 共33页
C语言上机试题与答案_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《C语言上机试题与答案》由会员分享,可在线阅读,更多相关《C语言上机试题与答案(33页珍藏版)》请在金锄头文库上搜索。

1、. . . . .实验一 Visual C+6.0的使用及顺序结构程序设计一、实验目的1、掌握启动和退出VC6的方法。2、熟悉VC6开发环境。3、初步掌握简单程序的上机操作基本步骤,熟悉C单文件程序的输入、编译、链接和运行过程。4、初步掌握程序的编辑修改和调试。5、熟练使用赋值运算、算术运算等表达式。6、熟练使用标准输入、输出函数及各种数据类型的格式说明符。二、实验内容 1、下面C语言程序,其功能是显示字符串“欢迎同学们来到华北水院计算中心!”。请同学们按照下面的实验指导学习VisualC+60的使用。1启动VisualC+60开发环境(1)单击“开始”按钮,选择“程序” “Microsoft

2、 Visual Studio 60菜单项,单击“MicrosoftVisualC+60”,屏幕出现标题为“当时的提示”的窗口。 (2)单击“结束”按钮,关闭窗口,进入VC6.0开发环境的主窗口。2使用VisualC+6.0对一个C程序进行编辑、编译、连接和运行。分析VisualC+6.0中程序的开发过程与其它高级语言的开发过程相仿,都要经过编辑、编译、连接和运行四个步骤。步骤 编辑 图1-1New对话框 编辑是将C源程序输入计算机的过程。在VisualC+6.0主界面下,点击File菜单,选择New菜单项,即可出现New对话框,如图1-1所示。在弹出窗口中的Files标签页下,选择C+Sour

3、ceFile。在选项卡右面的File编辑框里输入文件名如“Exa.c”,在Location编辑框里输入文件路径,如“d:test”。点击OK按钮。将出现编辑窗口,如图1-2所示。 在图1-2所示的右端编辑窗口里输入以下C源程序并保存文件。 图1-2编辑窗口 编译 编译是使用系统提供的编译器将文本文件Exa.c生成机器语言的过程,结果为Exa.obj,由于没有得到系统分配的绝对地址,还不能直接运行,如图1-3所示。选择Build菜单下的CompileExa.c,计算机将完成对当前源程序的编译。按提示建立默认工程空间。编译无错时,将源程序Exa.c编译为目标文件Exa.obj。 编译结果如图1-4

4、所示。如果出现运行错误,应该分析错误的原因,例如,是输入数据错误,还是代码错误;如果需要修改源程序文件,还需重新编译、链接和执行。改正编译窗口下方指出的两个错误,直至编译成功,如图1-5所示。图1-3编译源程序图1-4编译结果 图1-5编译成功连接 连接是将目标文件Exa.obj转换为可执行文件Exa.exe的过程。如图1-6所示选择Build菜单下的BuildExa.exe。连接无错时,将目标文件Exa.obj连接为Exa.exe。图1-6源程序 运行 运行是执行可执行文件Exa.exe,屏幕输出运行结果。如图1-7所示选择Build菜单下的ExecuteExa.exe。 图1-7运行程序

5、运行结果如图1-8所示: 图1-8运行结果 3关闭系统工作区空间单击“文件关闭工作区”菜单命令,关闭系统工作区空间。此时读者可以开始输入调试第(2) 个C程序文件。4退出VC6.0开发环境单击主窗口右上角的“关闭”按钮,退出VC6.0。2、验证程序,熟悉VC6.0编程环境及调试程序的步骤。已知三角形三条边长a,b,c,计算三角形面积公式为:s=0.5*(a+b+c)编写程序,要求从键盘输入a,b,c的值,计算并输出三角形面积。其中源程序代码如下:#include#includevoid main()double a,b,c,s,area;printf(input a,b,c:);scanf(%

6、lf,%lf,%lf,&a,&b,&c); /输入三角形的三条边s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c) /求三角形的面积prinf(area=%fn,area);具体要求:(1)在VC6.0环境中输入上述源程序。(2)对源程序进行编译连接,若有错误请调试修改。(3) 运行程序,并输入三条边长,观察程序运行结果。图1-9为程序运行时,当输入三条边长分别为3,4,5时的运行结果,可作为参考。图1 - 9 上述程序的运行结果三、问题讨论 1、使用printf函数输出数据时如果想使数据左对齐该如何设置?2、使用scanf函数时,输入项为何必须是变量地址而

7、不是变量名?四、实验总结1 总结本次实验完成情况、相关知识掌握情况2 总结本次实验编辑、编译、连接、运行所取得的经验3 分析本次实验出现的主要错误最直接原因实验二 选择结构程序设计一、实验目的1、 熟悉VC6.0编程环境。2、 进一步熟悉用VC6.0调试C语言源程序的过程。3、 熟练使用关系表达式和逻辑表达式作为if语句的条件判断。4、 熟练掌握if语句和switch语句的使用方法。二、实验内容1、身高预测 每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。小孩成人后身高与其父母身高和自身性别密切相关。设fa

8、Height为其父身高,moHeight为其母身高,身高预测公式为:男性成人时身高 = (faHeight + moHeight) * 0.54(cm)女性成人时身高 = (faHeight * 0.923 + moHeight) / 2(cm)此外,如果喜爱体育锻炼,那么可增加身高2%,如果有良好的卫生饮食习惯,那么可增加身高1.5%。编程从键盘输入你的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜

9、爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示喜爱,输入字符N表示不喜爱),利用给定公式和身高预测方法对你的身高进行预测。 程序代码:#include main()char sex; /*孩子的性别*/char sports; /*是否喜欢体育运动*/char diet; /*是否有良好的饮食习惯*/float myHeight; /*孩子身高*/float faHeight; /*父亲身高*/float moHeight; /*母亲身高*/printf(你是男孩(M)还是女孩(F):);scanf( %c, &sex); /*在前加一个空格,将存于缓冲区的回车符读

10、入*/printf(你爸多高(cm):);scanf(%f, &faHeight);printf(你妈多高(cm):);scanf(%f,&moHeight);printf(你喜欢运动吗(Y/N)?);scanf( %c, &sports); /*在前加一个空格,将存于缓冲区的回车符读入*/printf(你有一个良好的生活习惯吗(Y/N)?);scanf( %c, &diet); /*在前加一个空格,将存于缓冲区的回车符读入*/if (sex=M|sex=m)myHeight = (faHeight + moHeight) * 0.54;elsemyHeight = (faHeight * 0

11、.923 + moHeight)/2.0;if (sports =Y|sports=y)myHeight = myHeight * ( 1 + 0.02);if (diet =Y|diet=y)myHeight = myHeight * (1 + 0.015);printf(你将来的身高是 %f(cm)n,myHeight); 设计多组测试数据对程序进行测试,并观察运行结果。将程序的运行情况写在下面。运行结果:自己弄运行信息结果吧2、使用switch语句实现下面程序。输入一个学生的两门课成绩(百分制),计算该学生的总分并要求输出成绩等级A、B、C、D、E。总分在180分以上为A,160179分

12、为B,140159分为C,120139分为D,120分以下为E。具体要求:学生的两门课成绩通过键盘输入,成绩应该都为整数,输入之前要有提示信息。若输入的成绩不是百分制成绩,则给出错误提示信息,并且不再进行下面的等级评价;若输入的成绩是百分制成绩,则计算总分,并根据要求评价等级。按下面形式输出结果:总分-等级如: 186-A把正确的程序源代码写在下面。程序代码:#include main()int score1,score2 ,sum,mark;printf(请输入你的成绩:);scanf(%d%d,&score1,&score2);sum=score1+score2;mark=sum/10;

13、/*采取整除方法,将mark取值压缩到有限的去值范围内*/switch(mark)case 20:case 19:case 18:printf(%d-An,sum);break;case 17:case 16:printf(%d-Bn,sum);break;case 15:case 14:printf(%d-Cn,sum);break;case 13:case 12:printf(%d-Dn,sum);break;case 11:case 10:case 9:case 8: case 7: case 6:case 5: case 4: case 3:case 2:case 1:case 0:printf(%d-En,sum);break;default:printf(输入错误n); /*处理非法数据*/ 设计多组测试数据对程序进行测试,并观察运行结果。将程序的运行情况写在下面。运行结果:自己弄运行信息结果吧三、问题讨论 在使用switch语句时, switch和case后值的类型要求以及default子句和bre

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号