1. 首页
  2. 文档大全

哈工大威海c语言实验报告册答案

上传者:she****nwa 2022-07-10 19:04:45上传 DOCX文件 877.76KB
哈工大威海c语言实验报告册答案_第1页 哈工大威海c语言实验报告册答案_第2页 哈工大威海c语言实验报告册答案_第3页

《哈工大威海c语言实验报告册答案》由会员分享,可在线阅读,更多相关《哈工大威海c语言实验报告册答案(55页珍藏版)》请在文档大全上搜索。

1、实验1简单判定性问题求解一、实验学时完成本实验需4学时。二、实验目的1、阅读程序题(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法;(2)掌握不同的类型数据之间赋值的规律;(3)掌握数据在内存中的存储方式;(4)学会输入、输出函数的基本格式和使用方法;(5)学会使用有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。2、编程题(1)如何运用if-else判定性结构进行程序设计;(2)如何运用switch判定性结构进行程序设计。3、调试题(1)熟悉C程序的编辑、编译、连接和运行的过程。三、实验指导为了达到最佳的实验效果,以下提供几条适于编程的指导

2、意见,可供参考。1、阅读程序题应先运用自己在课堂所学的知识,推导出结果,在上机时输入计算机,印证自己推导的结果,注意观察数据在内存中的存储方式、含不同种运算符表达式的输出结果。2、编程题必须首先画出流程图,并反复思考判断程序设计的正确性,完成程序的设计。要注意简单判定性问题的结构选择。3、调试题应明确程序的调试、测试是一项非常烦琐的工作,也是非常重要的工作。对于初学者来说应该建立良好的习惯,在调试程序的时候,应该尽可能考虑到程序运行时各种可能情况。四、实验内容1、阅读程序题(1)main( ) /*定义字符型变量*/ char c1,c2; /*向字符变量赋以整数*/ c1=97; c2=98

3、; printf("%c %cn",c1,c2); /*以字符形式输出*/ printf("%d %dn",c1,c2); /*以整数形式输出*/该程序的输出结果是 a b(换行)97 98 。思考:可否改成int c1,c2;输出结果是? 相同(2)main() int a=7,b=5; printf("%dn",b=b/a);该程序的输出结果是 0 。思考:若将printf语句中%d变为%f,可否输出分式的值? 可以(3)main() int a=9; a+=a-=a+a; /*包含复合的赋值运算符的赋值表达式*/ printf(

4、"%dn",a);该程序的输出结果是 -18 。思考:赋值表达式aaaa的求解步骤?第一步:a=a-(a+a)=-9 第二步a=a+a=18(4)main() int k=-1; printf("%d,%un",k,k);该程序的输出结果是 -1 4294967295 。思考:1在内存中的存储形式? 取反加一 (32个)(5)main() unsigned x1; int b=-1; x1=b; /*有符号数据传送给无符号变量*/ printf("%u",x1);该程序的输出结果是 4294967295 。思考:不同类型的整型数据相互

5、赋值时,规则是什么?(有符号赋值给无符号)(6)main() int a=3,b=4,c=5; printf("%dn",(!(a<b)&&(c=c+1); printf("%d",c);该程序的输出结果是 0(换行)5 。思考:若将第一个printf语句中&&变为| ,结果将如何?1(换行)6(7)main() int a=1,b=2,c=3;if(c=a) printf("%dn",c);else printf("%dn",b);该程序的输出结果是 1 。2、编程序并上机调

6、试运行(包括题目及要求、流程图、程序清单、测试数据及结果)(1)将一个百分制成绩转换成等级制成绩,百分制与等级制的对应关系如下表:百分制90-10080-8970-7960-69<60等级制优良中差劣具体要求如下:1) 用switch语句实现该功能;2) 用键盘输入百分制成绩,输入前要有提示信息,对于不合理的数据应输出错误信息;3) 输出结果应包含百分制成绩和成绩等级;4) 分别输入成绩-10,30,60,68,75,83,95,102,查看记录运行结果。#include<stdio.h>#include<stdlib.h>void main()float sco

7、re;int level;printf("请输入成绩:n");scanf("%f",&score);if (score>100|score<0)printf("成绩输入错误!n");elselevel=(int)(score-50)/10);switch(level)case 5: printf("优n");break;case 4: printf("优n");break;case 3: printf("良n");break;case 2: printf(

8、"中n");break;case 1: printf("差n");break;default: printf("劣n");break;程序代码流程图见下页测试数据:100,50,-20输出结果:优,劣,成绩输入错误(2)银行整存整取存款不同期限的月息利率分别为:月息利率 程序代码输入存款的本金和年限,求到期时能从银行得到的利息与本金的合计。(利息的计算公式为:利息本金×月息利率×12 ×存款年限。#include<stdio.h>#include<stdlib.h>void mai

9、n()int year;double input,out;printf("输入存储年份:n");scanf("%d",&year);printf("输入本金数额:n");scanf("%lf",&input);if (input<0)printf("本金金额不能为负!n");elseswitch(year)case 1: out=input+input*year*12*0.63/100;printf("%5.2lf",out);break;case 2:

10、 out=input+input*year*12*0.66/100;printf("%5.2lf",out);break;case 3: ;case 4: out=input+input*year*12*0.69/100;printf("%5.2lf",out);break;case 5: ;case 6: ;case 7: out=input+input*year*12*0.75/100;printf("%5.2lf",out);break;case 8: out=input+input*year*12*0.84/100;print

11、f("%5.2lf",out);break;default:printf("输入错误!");break;流程图见下页测试数据:4,100 04,-10输出结果:133.12 本金金额不能为负!(3)调试下面程序,使之具有如下功能:输入a、b、c三个整数,求最小值。main() int a,b,c;scanf("%d%d%d",a,b,c);if(a>b)&&(a>c)if(b<c)printf("min=%dn",b);elseprintf("min=%dn",


文档来源:https://www.renrendoc.com/paper/212695677.html

文档标签:

下载地址