贵大c语言选修课上机实验指导答案.docx
- 文档编号:6319449
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:13
- 大小:675.10KB
贵大c语言选修课上机实验指导答案.docx
《贵大c语言选修课上机实验指导答案.docx》由会员分享,可在线阅读,更多相关《贵大c语言选修课上机实验指导答案.docx(13页珍藏版)》请在冰豆网上搜索。
贵大c语言选修课上机实验指导答案
黄金磊机自1131108030370
上机实验指导
实验一C语言的运行环境和运行过程
一、实验实训目的及要求
1、C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2、了解在该系统上如何编辑、编译、连接和运行一个C程序。
3、通过运行简单的C程序,初步了解C源程序的特点。
二、实验内容
1、C的启动以及工作环境介绍。
2、在VisualC++环境中运行C语言源程序
三、实验实训指导
VisualC++提供了一个集源程序编辑、代码编译与调试于一体的开发环境,这个环境称为集成开发环境,对于集成开发环境的熟悉程度直接影响程序设计的效率。
开发环境是程序员同VisualC++的交互界面,通过它程序员可以访问C源代码编辑器、资源编辑器,使用内部调试器,并且可以创建工程文件。
MicrosoftVisualC++是多个产品的集成。
VisualC++从本质上讲是一个windows应用程序。
VisualC++有两个版本,对于每一个版本,都有对应的文档:
(1)专业版本,它包括一个更高级的优化编译器,更广泛的文档,并能设计基于DOS的应用程序。
(2)标准版本,其费用较低,没有那么高级的编译器,文档较少,且不能设计基于DOS的应用程序。
1、按照课本第一章1.5节对MicrosoftVisualC++6.0平台的介绍,创建一个C源程序工程文件,就会显示如图1.5.1所示的窗口,图中标出了窗口中各组成部分的名称,而且显示了已装入Graph工程文件的VisualC++6.0的开发环境,这是在建立了工程文件之后的结果。
对照教材,逐一熟悉VisualC++开发平台的功能菜单。
菜单栏
1.File菜单
2.Edit菜单
3.View菜单
4.Insert菜单
5.Project菜单
6.Build菜单
7.Tools菜单
2、编写运行第一章课后习题4、5的C源程序,在实验报告中给出源代码及程序结果(结果用屏幕截图结出)。
四、实验实训思考题
1、写出一个C程序的构成和运行流程(可以用框图、示意图表示)。
#include
voidmain /* 主函数 */
{
printf(“thisisacprogram.\n”); /* 主函数体 */
}
一个完整的C程序应符合以下几点:
1.C程序以函数为基本单位,整个程序由函数组成。
其中主函数main()是一个特殊的函数,一个完整的C程序必须有且只能有一个主函数,C程序没有主函数,便不能执行。
除主函数外,C程序还可包含若干其它C标准库函数和用户自定义的函数。
这种函数结构的特点使C语言便于实现模块化的程序结构。
2. 函数体包括对变量的定义和执行程序两部分,由一系列语句和注释组成。
整个函数体由一对花括号括起来。
3. 语句是由定义符、运算符和数据按照C语言的语法规定组成的,每个语句完成一个特定的功能,语句以分号结束
答案:
N-S流程图
读入一个数给X
max=x
当x>o时
是x>max否
max=x
读入一个数给X
输出max
实验二C语言的基础知识
一、实验实训目的及要求
1、掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
2、学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
3、进一步熟悉C程序的编辑、编译、连接和运行的过程。
二、实验实训内容
1、输入程序,运行结果(结果用屏幕截图结出),并分析计算过程。
#include
voidmian()
{
inta=10,b=4,c=2;//定义变量
printf(“%d\n”,a+++a+++a++);//10+10+10=30;
printf(“%d\n”,(++b)+(++b)+(++b));//6+6+7=19;
printf(“%d\n”,(a++)+(a++)+(++a));//13+13+14=40;
printf(“%d\n”,(a++)+(++a)+(a++));//16+19+16=21
printf(“%d\n”,++a-c+b++);//20-2+7=25
printf(“%d\n”,++a-c+++b);//21-2+8=25
printf(“%d\n”,b++==c);//8==2为假=0
printf(“%d\n”,a=b==c);//b不等于c这假=0
printf(“%d\n”,((a+b),(18+(b=10)*3),(a/b,a%b)));//式子等于(a/b,a%b)=a%b=0;
}
2、输入程序,运行结果(结果用屏幕截图结出),并分析计算过程。
#include
viodmain()
{
shorta=32767,b;//定义变量
b=a+1;//b=32767+1=-32728
printf(“a=%d,a+1=%d\n”,a,b);//输出a,b;
}
3、编写运行第二章课后习题5、6的C源程序,在实验报告中给出源代码及程序结果(结果用屏幕截图结出)。
2.5
2.6
三、实验实训思考题
1、如何使用运算符sizeof()计算指定数据的存储空间,给出例子。
?
可以用:
sizeof(int),sizeof(long);sizeof(a)……a为数组。
2、对于习题6,如何处理字母表中最后四个字母的转换?
可以对其减去22
实验三简单的C程序设计
一、实验实训目的及要求
1.理解C语言程序的顺序结构
2.掌握常用的C语言语句,熟练应用赋值、输入、输出语句。
二、实验实训内容
1、输入程序,运行结果(结果用屏幕截图结出),并分析输出格式。
main()
{
inta=15;
floatb=123.1234567;
doublec=12345678.1234567;
chard='p';
printf("a=%d,%5d,%o,%x\n",a,a,a,a);
//%d为十进制,%5d为域宽为5的十进制数,%o为十六进制数
printf("b=%f,%lf,%5.4lf,%e\n",b,b,b,b);
//%f为单精度,%lf为双精度,%5.4f为域宽为5,保存4位小数
printf("c=%lf,%f,%8.4lf\n",c,c,c);
//%lf为双精度,%f为单精度,%8.4f为域宽为8,保存4位小数
printf("d=%c,%8c\n",d,d);//%c为字符型常量
}
2、输入程序,运行结果(结果用屏幕截图结出),并分析原因。
main()
{
chara,b;
printf("inputcharactera,b\n");
scanf("%c%c",&a,&b);
printf("%c%c\n",a,b);
}
3、第三章课后习题3、4、5、6、7,编写程序,运行结果(结果用屏幕截图结出)
3.3
3.4
3.5
3.6
3.7
三、实验实训思考题
1、将课本中例3.13源代码输入并运行,若将第7行代码改为
s=1/2*(a+b+c);
运行结果如何,分析原因,上句形式不变的情况下如何调整能得出正确结果?
1/2与1/2.0的区别在于前都为0,后者为0.5.
所以最终得到不同的解
实验四选择结构程序设计
一、实验实训目的及要求
1、了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”);
2、学会正确使用逻辑运算符和逻辑表达式;
3、熟练掌握if语句和switch语句。
二、实验实训内容
1、编写程序完成第4章习题5、6、7、8、9、10:
习题5、有一函数:
y=
用scanf函数输入x的值(分别为x<1,1~10,
10三种情况),求y值。
习题6、输入某学生的成绩,经处理后给出学生的等级,等级分类如下:
90分以上(包括90):
A
80至90分(包括80):
B
70至80分(包括70):
C
60至70分(包括60):
D
60分以下:
E
本题分别用if、switch两种方法编写。
习题7、解题思路:
求正整数位数,可用“取整”除法和“求余”除法运算符,如:
有一个三位整数x,则x/100,可求出百位上的数字,十位上的数字为x%100/10。
本方法也可用于求未知数的位数。
逆序输出则是在分离出各位上的数字之后所作的运算,将各位数字分别用变量存储,直接输出或进行运算后输出均可。
习题8、解题思路:
首先,题目涉及的数字较大,可以先简化,把利润单位从“元”变成“拾万元”,好处是编程过程中输入量减少,降低录错概率,而且对于switch方法:
swithc(表达式)case常量,表达式与常量的对应关系会变得简单。
其次,使用switch方法的关键在于找到各种利润提取情况的入口点,据题,有5种情况:
1,2,4,6,10(单位:
拾万元)需要分析利润计算公式,其余入口点可设置为空操作(即:
case语句后无操作)。
最后,灵活运用break语句和default语句在switch结构中的功能。
习题9、解题思路:
排序是比较的深化演算,对于四个数字的排序,需要三轮比较:
第一轮,找出最小的数,放在最前边;第二轮,找出次小的数,放在最小数的后边,第三轮,找出次大数,放在次小数的后边。
经过三轮比较,四个数字已经能按从小到大的顺序排列,并输出。
关键在于每轮的比较方法是否合理。
习题10、解题思路:
题目可简化为判断两种情况:
坐标点是否落在圆圈内。
是,则输出塔高(10m);否,则输出地高(0m)。
进一步编程:
若四座塔高度不一,如四塔分别高10m,20m,30m,40m,求坐标点高度。
2、编写程序,展示结果:
输入整数a和b,如果能被整除,就输出算式和商,否则输出算式、整数商和余数。
3、编写程序,展示结果:
输入年号和月份,先判断是否是闰年,然后输出这一年该月的天数。
4、编写程序,展示结果:
输入一个由两个数据和一个算术运算符组成的表达式,根据运算符完成相应的运
算,并将结果输出。
三、实验实训思考题
1、c语言如何表示“真”与“假”?
系统如何判断一个量的“真”与“假”?
答:
C语言中值为0的为假,非0值为真。
且1表示真,0表示假。
2、如何理解本章例4.7中case分支的空操作,如case2:
、case4:
、case5:
等,这些空分支能否舍去?
答:
不能舍去,因为这里的case2:
与case3并列,case4:
、case5是与case6并列的,他们的值前后都一样的.如果舍了,就会导致结果不正确.将会使c为245时,没有输出值,也可能会导致程序出错.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 选修课 上机 实验 指导 答案