版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中国矿业大学(北京)机电学院——计算机科学与技术系实验报告课程名称 C程序设计 成绩 实验名称 C语言的运行环境、运行过程和体现式的使用 班级 姓名 学号同组人 实验日期 20 教师签字 实验一C语言的运行环境、运行过程和体现式的使用一、目的与规定1、理解Dos、Windows环境下C语言的运行环境,理解所用的计算机系统的基本操作办法,学会独立使用该系统。2、理解在该系统上如何编辑、编译、连接和运行一种C程序。3、通过运行简朴的C程序,初步理解C源程序的特点。4、掌握C语言数据类型,熟悉如何定义一种整型、字符型、实型变量,以及对它们赋值的办法,理解以上类型数据输出时所用的格式转换符。5、学会使用C的有关算术运算符,以及包含这些运算符的体现式二、上机实验及运行成果例题实验及运行成果例一:#include"stdio.h"voidmain(){printf("Hello,World!\n");printf("WolcometotheClanguageworld!\n");printf("Everyonehasbeenwaitingfor.\n");}运行成果为Hello,world!WelcometotheClanguageworld!Everyonehasbeenwaitingfor.在第一次输入源程序时,由于粗心在printf(“Hello,world!”)背面忘记输入“;”,在编译中检查出来,修改后编译成功。例二:#include"stdio.h"voidmain(){inta,b,sum; a=123;b=456; sum=a+b; printf("sumis%d\n",sum);}运行成果为:sumis579。一次编译就成功了。例三:#include"stdio.h"voidmain(){inta,b,c;intmax(int,int);scanf("%d,%d",&a,,&b);c=max(a,b);printf("max=%d",c);}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}键盘输入“8,9”,屏幕上输出“max=9”例四:#include"stdio.h"voidmain(){charc1,c2;c1=97;c2=98;printf("%c%c",c1,c2);}在此基础上1)加一种printf语句,并运行之。printf(“%d,%d”,c1,c2);2)再将第二行改为: intc1,c2;再使之运行。3)再将第三行改为: c1=300;c2=400;在修改程序之前,运行成果为“a,b”。第一次修改程序后,运行成果为“a,b97,98”。第二次修改程序后运行成果为“a,b97,98。第三次修改程序后,运行成果为“,?300,400错误分析:在最初输入时,将“printf(“%c%c”,c1,c2);“中两个%c之间习惯性的加入了“,”,在编译过程中没发现错误,但运行成果为“,,?300,400”运行成果分析:由于ASCⅡ代码是从000到127,在未修改之前,c1=97,c2=98,由于97和98都在ASCⅡ代码范畴内,因此能够输出“a,b”.第一次修改程序后,字符型数据在特定状况下可作为整型数据解决,故输出97,98。第二次修改后,整型数据能够作为字符型数据解决,故不变。第三次修改后,由于c1=300,c2=400,均超出了ASCⅡ代码的范畴。例五:#include"stdio.h"voidmain(){charc1='a',c2='b',c3='c',c4='\101',c5='\116';printf("a%cb%c\tc%c\tabc\n",c1,c2,c3);printf("\t%c%c",c4,c5);}运行成果为aabbccabcAN在输入源程序时由于粗心,将“charc1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;”中的c4和c5背面的等号忘记输入,在编译中检测出c4,c5例六:#include"stdio.h"voidmain(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}分别作下列改动之后,先分析再运行:1)将第四行改为:m=i++;n=++j;2)程序改为:main(){inti,j;i=8;j=10;printf(“%d,%d”,i++,j++);}3)在2)的基础上,将printf语句改为:printf(“%d,%d”,++i,++j);4)再将printf语句改为:printf(“%d,%d,%d,%d”,i,j,i++,j++);5)程序改为:main(){inti,j,m=0,n=0;i=8;j=10;m+=i++;n-=--j;printf(“i=%d,j=%d,m=%d,n=%d”,i,j,m,n);}修改前运行成果为“9,11,9,10”。第一次修改后运行成果为“9,11,8,10”。第二次修改后运行成果为“8,10”。第三次修改后运行成果为“9,11”。第四次修改后运行成果为“8,10,8,10”。第五次修改后运行成果为“程序编写#include“stdio.h”voidmain(){printf(“****************************\n”);printf(“Hello,World\n”);printf(“****************************\n”);}三、实验心得在本次上机实验操作中,我学会了某些C语言程序编写的具体环节,理解了某些基本背景和知识,基本达成了学习C语言的目的。有关输入输出语句,特别是在其中的某些细节问题,像“”,括号,下一行的指令输入,都是需要特别留心的地方。尚有某些特殊字符的编写,特殊符号的运用,更是一点也马虎不得。但愿在后来的进一步学习中,更多地注意细节问题,理解的C编写,真正的掌握C语言。实验二次序构造与选择构造程序设计一、实验目的及规定理解C语言程序的次序构造;掌握惯用的C语言语句,纯熟应用赋值、输入、输出语句;理解C语句表达逻辑量的办法(以0代表“假”以1代表“真”);学会对的使用逻辑运算符和逻辑体现式;纯熟掌握if语句和switch语句。二、实验内容1、已知圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。解答:#definePI3.14#include"stdio.h"voidmain(){doubler,h,l,s1,s2,v1,v2;r=1.5;h=3;l=2*PI*r;s1=PI*r*r;s2=4*PI*r*r;v1=(4/3)*PI*r*r*r;v2=PI*r*r*h;printf("%f,%f,%f,%f,%f﹨n",l,s1,s2,v1,v2);}2、输入一种华氏温度,规定输出摄氏温度。公式为c=5/9*(f-32)。解答:#include"stdio.h"voidmain(){intc,f;scanf("%d",&f);c=5/9*(f-32);printf("%d\n",c);}3、有3个整数a、b、c,由键盘输入,编程序按从小到大的次序将它们排序并输出。解答:#include"stdio.h"voidmain(){ floata,b,c,t; scanf("%f,%f,%f",&a,&b,&c); if(a>b) {t=a;a=b;b=t;} if(a>c) {t=a;a=c;c=t;} if(b>c) {t=b; b=c; c=t;} printf("%5.2f,%5.2f,%5.2f\n",a,b,c);}4、编程序计算下面的函数:e-10<x<1y=|x|+23≤x≤4sin(x2)当x取其它值时解答:#include"stdio.h"#include"math.h"voidmain(){intx,y;scanf("%d",&x);if(0<x<1)y=exp(sqrt(x))-1;elseif(3<=x<=4)y=fabs(x)+2;elsey=sin(x*x);printf("x=%d,y=%d﹨n",x,y);}5、输入一种整数m,判断它能否被7、11、17整除,如果能被以上三个数之一整除,则输出它能被整除的信息,否则输出m不能被7、11、17整除的信息。解答:#include"stdio.h"voidmain(){intm;scanf("%d",&m);if(m%7==0)printf("%d能被7整除\n",m);elseif(m%11==0)printf("%d能被11整除\n",m);elseif(m%17==0)printf("%d能被17整除\n",m);elseprintf("%d不能被7,11,17整除\n",m);}6、电文加密的算法是:将字母A变成字母G,a变成g,B变成H,b变成h,依这类推,并且U变成A,V变成B,等等。从键盘输入一种电文字符,输出其对应的密码。解答:#include"stdio.h"voidmain(){charc;while((c=getchar())!='\n'){ if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) {c=c+6; if(c>'Z'&&c<='Z'+6||c>'z') c=c-26; } printf("%c",c);}printf("\n");}7、公司发放的奖金根据利润分成。若利润I≤10万元,奖金可提10%;若10万<I≤20万时,则低于等于10万元的部分按10%分成,高于10万元部分,可分成7.5%;若20万<I≤40万时,低于等于20万元的部分仍按上述方法分成,高于20万元部分按5%分成;按类似的方法,若40万<I≤60万元时,高于40万元部分按3%分成;若60万<I≤100万元时,高于60万元的部分按1.5%分成;若I>100万时,超出100万元部分按1%分成。从键盘输入当月利润I,求应发奖金总数。解答:#include"stdio.h"voidmain(){floatI,sum;scanf("%f",&I);if(I<=100000)sum=I*0.1;elseif(100000<I<=00)sum=100000*0.1+(I-100000)*0.075;elseif(00<I<=400000)sum=100000*0.1+100000*0.075+(I-00)*0.05;elseif(400000<I<=600000)sum=100000*0.1+100000*0.075+00*0.05+(I-400000)*0.03;elseif(600000<I<=1000000)sum=100000*0.1+100000*0.075+00*0.05+400000*0.03+(I-600000)*0.015;elsesum=100000*0.1+100000*0.075+00*0.05+400000*0.03+600000*0.015+(I-1000000)*0.01;printf("sumis%f",sum);}三、实验成果分析对实验成果进行检查,如成果出现错误,分析产生错误的因素并修改程序、改正错误。附:习题5.6和5.7题的源程序5.6给出一百分制成绩,规定输出成绩等级′A′﹑′B′﹑′C′﹑′D′﹑′E′。90分以上为′A′,80~89分为′B′,70~79分为′C′,60~69分为′D′,60分一下为′E′。源程序:#include"stdio.h"voidmain(){intscore,temp,logic;chargrade;logic=1;while(logic){ scanf("%d",&score);if(score>=0&&score<=100)logic=0;}if(score==100)temp=9;elsetemp=(score-score%10)/10;switch(temp){ case9:grade='A';break; case8:grade='B';break; case7:grade='C';break; case6:grade='D';break; case5: case4: case3: case2: case1: case0:grade='E';}printf("score=%d,grade=%c",score,grade);}5.7给定一种不多于5位的正整数,规定:①求它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字。例如原数为321,应输出123。源程序:#include"stdio.h"voidmain(){ longintnum; intindiv,ten,hundred,thousand,ten_thousand,place; scanf("%ld",&num); if(num>9999)place=5; elseif(num>999)place=4; elseif(num>99)place=3; elseif(num>9)place=2; elseplace=1; printf("place=%d\n",place); ten_thousand=num/10000; thousand=(num-ten_thousand*10000)/1000; hundred=(num-ten_thou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年道路交通安全常识测试卷
- 2026年信息安全防护技术专项训练题
- 2026年考研英语写作与翻译技巧与练习
- 2026年劳动法知识测试题库
- 小学班级课堂常规训练与噪音管控精细化管理方案
- 亳州城建招聘考试试题及答案
- 新版继电保护知识考试复习题库(附答案)
- 2026年幼儿园课程开发能力监测试题及答案
- 西方管理思想测验题与答案
- 2026年法律文书写作技巧考试及答案
- 学校间帮扶协议书
- 2025年《网络安全攻防技术》知识考试题库及答案解析
- 江苏省苏州市2025-2026学年高二上学期期中考试语文试卷(含答案)
- 2025年静脉治疗专科护士考试试题及答案
- 北京燃气安全使用培训课件
- 生物安全要求和人员管理
- DB11∕T 2346-2024 清洁生产评价指标体系 汽车零部件及配件制造业
- 《兽医免疫学》课程教学大纲
- 2025年医疗器械收货与验收管理制度培训试题(附答案)
- 广东省2021届高三上学期新高考模拟预测卷(一)地理试题含答案
- 工业三废管理办法办法
评论
0/150
提交评论