贵大c语言选修课上机实验指导答案.docx

上传人:b****6 文档编号:6319449 上传时间:2023-01-05 格式:DOCX 页数:13 大小:675.10KB
下载 相关 举报
贵大c语言选修课上机实验指导答案.docx_第1页
第1页 / 共13页
贵大c语言选修课上机实验指导答案.docx_第2页
第2页 / 共13页
贵大c语言选修课上机实验指导答案.docx_第3页
第3页 / 共13页
贵大c语言选修课上机实验指导答案.docx_第4页
第4页 / 共13页
贵大c语言选修课上机实验指导答案.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

贵大c语言选修课上机实验指导答案.docx

《贵大c语言选修课上机实验指导答案.docx》由会员分享,可在线阅读,更多相关《贵大c语言选修课上机实验指导答案.docx(13页珍藏版)》请在冰豆网上搜索。

贵大c语言选修课上机实验指导答案.docx

贵大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时,没有输出值,也可能会导致程序出错.

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1