c语言实验报告(附答案版)

更新时间:2023-10-01 19:40:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验

一、实验学时 完成本实验需4学时。 二、实验目的 1、阅读程序题

1

简单判定性问题求解

(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法;

(2)掌握不同的类型数据之间赋值的规律; (3)掌握数据在内存中的存储方式;

(4)学会输入、输出函数的基本格式和使用方法;

(5)学会使用有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。

2、编程题

(1)如何运用if-else判定性结构进行程序设计; (2)如何运用switch判定性结构进行程序设计。 3、调试题

(1)熟悉C程序的编辑、编译、连接和运行的过程。 三、实验指导

为了达到最佳的实验效果,以下提供几条适于编程的指导意见,可供参考。

1、阅读程序题应先运用自己在课堂所学的知识,推导出结果,在上机时输入计算机,印证自己推导的结果,注意观察数据在内存中的存储方式、含不同种运算符表达式的输出结果。

2、编程题必须首先画出流程图,并反复思考判断程序设计的正确性,完成程序的设计。要注意简单判定性问题的结构选择。

3、调试题应明确程序的调试、测试是一项非常烦琐的工作,也是非常重要的工作。对于初学者来说应该建立良好的习惯,在调试程序的时候,应该尽可能考虑到程序运行时各种可能情况。

- 1 -

四、实验内容 1、阅读程序题 (1)main( )

{ /*定义字符型变量*/ char c1,c2; /*向字符变量赋以整数*/ c1=97; c2=98;

printf(\ /*以字符形式输出*/ printf(\ /*以整数形式输出*/

}

该程序的输出结果是 a b(换行)97 98 。

思考:可否改成int c1,c2;输出结果是? 相同

(2)main()

{

int a=7,b=5;

printf(\}

该程序的输出结果是 0 。

思考:若将printf语句中%d变为%f,可否输出分式的值? 可以

(3)main()

{

int a=9;

a+=a-=a+a; /*包含复合的赋值运算符的赋值表达式*/ printf(\}

该程序的输出结果是 -18 。

思考:赋值表达式a+=a-=a+a的求解步骤? 第一步:a=a-(a+a)=-9 第二步a=a+a=18 (4)main()

{

int k=-1;

printf(\}

- 2 -

该程序的输出结果是 -1 4294967295 。

思考:-1在内存中的存储形式?

取反加一 11111111111111111111111111111111(32个)

(5)main()

{

unsigned x1; int b=-1;

x1=b; /*有符号数据传送给无符号变量*/ printf(\}

该程序的输出结果是 4294967295 。 思考:不同类型的整型数据相互赋值时,规则是什么? http://blog.csdn.net/happymawolf/article/details/6342937(有符号赋值给无符号) (6)main()

{

int a=3,b=4,c=5;

printf(\ printf(\}

该程序的输出结果是 0(换行)5 。

思考:若将第一个printf语句中&&变为|| ,结果将如何? 1(换行)6 (7)main()

{ int a=1,b=2,c=3;

if(c=a) ; printf(\else printf(\}

该程序的输出结果是 1 。

2、编程序并上机调试运行(包括题目及要求、流程图、程序清单、测试数据及结果)

(1)将一个百分制成绩转换成等级制成绩,百分制与等级制的对应关系如下表: 百分制 等级制 90-100 优 80-89 良 70-79 中 60-69 差 <60 劣 - 3 -

具体要求如下:

1) 用switch语句实现该功能;

2) 用键盘输入百分制成绩,输入前要有提示信息,对于不合理的数

据应输出错误信息;

3) 输出结果应包含百分制成绩和成绩等级;

4) 分别输入成绩-10,30,60,68,75,83,95,102,查看记录运

行结果。

见下页 测试数据:100,50,-20 输出结果:优,劣,成绩输入错误

流程图 程序代码 #include #include void main() { float score; int level; printf(\请输入成绩:\\n\ scanf(\ if (score>100||score<0) printf(\成绩输入错误!\\n\ else { level=(int)((score-50)/10); switch(level) { case 5: printf(\优\\n\ case 4: printf(\优\\n\ case 3: printf(\良\\n\ case 2: printf(\中\\n\ case 1: printf(\差\\n\ default: printf(\劣\\n\ } } } - 4 -

开始定义变量n、s输入成绩sn=(s-50)/10n=0是输出“劣”否n=1是否n=2输出“差”是输出“中”否n=3是输出“良”否N=4或n=5否是输出“优”输出“错误!”结束

(2)银行整存整取存款不同期限的月息利率分别为:

?0.63%??0.66%?月息利率= ?0.69%?0.75%??0.84%输入存款的本金和年?

期限?1年期限?2年期限?3年期限?5年期限?8年

限,求到期时能从银行得到

程序代码

的利息与本金的合计。(利息的计算公式为:利息=本金×月息利率×12

- 5 -

本文来源:https://www.bwwdw.com/article/84td.html

Top