还剩38页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
陕西理工大学《高级语言程序设计(C)》实验报告院系班级学号姓名目录实验一C开发环境与顺序结构程序设计2实验目的2实验环境2实验步骤2实验内容2实验总结9实验二分支结构与循环结构程序设计10实验目的10实验环境10实验内容10实验总结18实验三数组及数组的应用
191.实验目的19实验环境19实验内容19实验总结20实验四函数与指针20实验目的21实验内容21实验总结24实验一C开发环境与顺序结构程序设计实验目的了解集成开发环境VC++
6.0的使用方法,理解相关命令的含义,掌握编辑、编译、连接以及运行调试的方法,掌握程序的根本结构,掌握输入输出的方式掌握程序设计的根本要素中的数据类型、变量、运算符以及表达式的运用学会正确使用逻辑运算符和逻辑表达式以及关系运算符与关系表达式,掌握在程序设计中灵活使用顺序结构实验环境1硬件环境CPU:InterPentiumR4CPU
3.00GHz以上
4.实验内容:
4.1输入并运行以下程序,查看程序运行的结果#includestdio.hvoidmainprintf“**********\n;printf^ProgramingincALabrtryMaualn”;printf****\n;printf*\n;#includestdio.hvoidmainintijmn;i=8;j二10;m=++i;n=j—;printf%d%d%d%d\n”ijmn;C:\Users\Administrator\Desktop\Dpressanykeytocontinue
4.3找出以下程序中的错误,改正后写出程序运行结果.#includestdio.hvoidmain{Intxy二z二5aver;X二7;AVER=x+y+z/3printfAVER=%d\naver;[ll.Cttincludestdio.huoidmainointxy=5z=5auer;x=7;auer=x+y+z/3;printfAUER^dXn1auer;■JnC:\Users\Administrator\Desktop\Deb
4.4输入参考程序在下划线处分别填入不同的变量定义、表达式、输出格式控制符号#includestdio.hvoidmainintabx;//数据类型定义a=5;b=10;x=a+10;//表达式printf%d”,x;//格式控制符}该程序的执行结果为15当数据类型说明符为int时,对应的格式控制符为;当数据类型说明符为long时,对应的格式控制符为;;当数据类型说明符为float时,对应的格式控制符为%f;当数据类型说明符为double时,对应的格式控制符为%lf;当数据类型说明符为char时,对应的格式控制符为;仅当表达式更改为l/2*a*b时,程序执行结果为0;仅当表达式更改为
0.5*a*b时,程序执行结果为252求从键盘上输入的两个整数之和,完成程序并将结果输出源程序#includestdio.hvoidmainintxyz;scanf〃%d%d〃xy;z=x+y;printf〃%d\n〃,z;何l.cttincludestdio.huoidmain{intxyz;scanF・2d%r.x9;z=x,g;printf%d\nz;}HC:\Users\Administrator\Desktop\De123Pressanykeytocontinue输入12输出
34.5将整型变量a、b的值进行交换方法一借助中间变量t#includestdio.hvoidmain{inta=lb=2t;t=a;a=b;b=t;printfn%d\n%d\nnab;}0l.cttincludestdio.huoidmaininta=1b=2t;t=a;a=b;b=t;printFL%d\n%d\rTab;C:\Users\Administrator\Desktop\Det21Pressanykeytocontinue方法二不借助中间变量#includestdio.hvoidmain{inta=lb=2;a=b-a;b=b・a;a=b+a;printf%d\n%d\nab;}*I—Ettincludestdio.huoidmaininta=1b=2;a=b-a;b=b-a;a=b+a;printFL%d\n%d\n.a.b;C:\Users\Administrator\Desktop\Dek2Pressanykeytocontinue输入输出都要有文字提示和说明,输出保存2位小数#includestdio.hvoidmainfloatfc;printf/z输入华氏温度二〃;scanf〃%f〃,f;c二f-32*5/9;printf〃摄氏温度二%.2f\n〃,c;ttincludestdio.huoidmainFloatFc;printFL输入华氏温度=・・;scanFc=f-32*5/9;printff摄氏温度=%.2F\n»c;RC:\Users\Administrator\Desktop\Debug\
2.exe刖入华氏温度=123费氏温度=
50.56Pressanykeytocontinue程求y=sin插+ln+x要求a和X从键盘输入当a二
6.4X二
3.4时#includemath.hvoidmain{floataxy;scanf〃%f%f〃,ax;y=sinsqrta*x+loga+x;printf〃%f\n〃,y;ttincludestdio.httincludemath.huoidmainFloata.x.y;scanf・・%F%F・,a.x;y=sinsqrta*x+loga*x;prints•嗖FnLy;}
4.8从键盘上任意输入一个三位整数,按逆序输出例如输入456输出654提示456%10=6456/10%10=5456/10/10=46*
10、5*10i+4*10°=654#includestdio.hmainintn;intabc;intnum;printfn请输入一个三位整数n\n”;scanf%dn;c=n/100;b=n-c*100/10;a=n%10;num=a*100+b*10+c;printfnnum=%d\nHnum;ttincludestdio.hmainintintintprintf••请输入一个三位整数n\n“;scanH”*d・.n;c=n/100;b=n-c»100/10;asn%10;num=a»100♦b*10♦c;printfCnumldn.num;■]nD:\c4-4-\MicrosoftVisualStudio\Common\MSDev9请输入~个三位整数n456num=654Pressanykeytocontinue实验二分支结构与循环结构程序设计专业班级实验学时6实验类型设计型实验地点实验时间指导老师周涛教师批语实验目的⑴了解C语言表示逻辑量的方法;(0为“假”,非0为“真)学会正确使用关系表达式和逻辑表达式⑵熟练掌握if语句、switch语句、while语句、do-while语句和for语句的使用方法⑶结合程序掌握一些简单的算法⑷掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)⑸学习调试程序
2.实验环境操作系统Windows7编程软件VisualC++
6.
03.实验内容
(1)使用if语句或者switch语句编程求解以下分段函数xlx10#includestdio.h#includemath.hmainfloatxy;scanf%f*x;ifxly=2*xl;elseifx=lxvl0y=sqrtx+10;elsey=2*x+l;printfn%f\nny;E)Cppi.cpptt±ncludestzd±o-httincluden)a1zh-hmain()
64.000000PressmnyRevtocont;inLie—使用if语句或者switch语句编程实现以下功能从键盘任意输入0——100之间的整数作为学生的成绩,要求根据以下的条件判断并输出相应成绩的等级大于等于90大于等于70大于等于60小于60#includestdio.hmain()(intx;scanf(〃%d〃x);switch(x/10){case10:printf(〃优秀\n〃);break;case9:printf(〃优秀\n〃);break;case8:printf(〃良好\n〃);break;case7:printf(〃良好\n〃);break;case6:printf(〃及格\n〃);break;default:printf(〃不及格\n〃);intx;scanFC^dx;switchx/16;break;;break;;break;case7:printf;break;case6:printf^^§-\n;break;default:printfC1不及格\nB;♦wC:\Users\Administrator\Desktop\Debug\Cppl.e95也秀Pressanykeytocontinuen的值从键盘输入,要求分别用三种循环语句实现以下功能:1+2+3+4++n
1、用while语句实现#includestdio.hmaininti二1s=0n;scanf〃%d〃n;whilei〈二n{s=s+i;i=i++;}printf〃%d\n〃,s;0Cppl.cppttincludestdio.hmaininti=1s=On;scanFWn;whilei=n}printf%d\ns;}•X:\Users\Administrator\Desktop\f1005050Pressanykeytocontinue
2、用dowhile语句实现#includestdio.hmaininti二1s二0n;scanf〃%d〃n;dos=s+i;i=i++;}whilei=n;printf〃%d\n〃,s;{inti=1s=0n;scanF^dn;dowhilei=n;printF%d\ns;}・C:\Users\Administrator\Desktop\D1005050Pressanykeytocontinue
3、用for语句实现#includestdio.hmaininti=ls二0n;scanf〃%d〃n;for;i=n;i++s=s+i;printf〃%d\n〃,s;ECppl.cppttincludestdio.hmaininti=1s=0n;scanFC^d11n;For;i=n;i++s=s+i;printf^dXn11s;■wC:\Users\Administrator\Desktop\D1005050rressanykeytocontinuen的值从键盘输入,要求用循环语句实现以下功能:1!+2!++n!#includestdio.hvoidmain{intni;floats=0t=l;scanf〃%d〃n;fori=l;i=n;i++{t*=i;s+=t;}printf〃l+2!+3!・..+n!=%f\n〃s;}ttincludestdio.hvoidnain{intnvi;Floats=0t=1;scanf%d»n;fori=1;i=n;i**{t»=i;s*=t;printfo1*2+
3...♦n=%F\nfs;•nD:\c++\MicrosoftVisualStudio\Common\2101+2!+3!...+n!=
4037913.000000Pressanvkevtocontinue-a/程序填空,求100以内的整数中最大可被13整除的数是哪一个#includestdio.hintmain{inti;fori二100;i〉=0;i一{ifi%13=0break;}printf〃%d\n〃,i;return0;旧
1.Cttincludestdio.huoidmain{inti;fori=100;i=0;i~ifit13==Bbreak;printfBtd\n°fi;■nD:\c++\MicrosoftVisualStudio91Pressanvkevtocontinue输入两个正整数m和n求其最大公约数和最小公倍数#includestdio.hintmain{intprnmtemp;printfZ/Enternm:〃;scanf〃%d%d〃nm;ifmn{temp二in;m二n;temp;}p二m*n;r=m%n;whiler!二0{m=n;n=r;r=m%n:printfZ/Thegreatestcommondivisor:%d\n〃,n;printf〃Thelowestcommonmultiple:%d\n〃,p/n;return0;}提示if语句的功能是将两数中大的那个放在m中,保证ni〉n然后再求m对n的余数r通过while语句循环,直到余数r为零输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数#includestdio.hintmain{charc;intletters二0space二0digit二0other=0;printfZ/Enterlinecharacter:\n〃;whilec二getcharO!=,\n,{ifc二ac〈二z||c二Ac〈二Zletters++;elseifc二二”space++;elseifc—0,c〈=,9digit++;elseother++;}printfz/letters:%d\nspace:%d\ndigit:%d\nother:%d\nz\lettersspacedigitother;return0;}编写程序输出如以下图形,请填空#include〃stdio.h〃#definesintmain{intnij;printf/zEntern:〃;scanf%d”n;fori=l;i=n;i++{forj=l;j=10;j++putchars;forj=l;;j++putchars;forj=l;j=2*i~l;.]++putchar*;printf〃\n〃;}fori二1;i〈二nT;i++forj=l;j=10;j++putchars;for.j=l;j=i;.]++putchars;forj=l;j=2*n-i~l;j++putchar*;printf〃\n〃;}}记录运行结果艺±.cttincludeastdio.haittdefinesintmain{intnij;printFCEntern:iB;scanf;Fori=1;i=n;i++forj=1;j=10;j++putchars;Forj=1;j=n-i;j++putchars;Forj=1;j=2*i-1;j++putcharB*B;printf\ni;Fori=1;i=n-1;i*+Forj=1;j=10;j++putchars;Forj=1;j=i;j++putchars;Forj=1;j〈=2*n-i-1;jiputchar1*;printf\ni;
4.实验总结实验三数组及数组的应用实验目的:
1、掌握一维数组和二维数组的定义、数组元素的引用和数组的输入输出方法
2、重点掌握一维数组的应用(如排序等)
3、了解与数组有关的数值计算方法(如矩阵运算)实验环境实验内容以下程序以每行输出8个数据的形式输出a数组#includestdio.hvoidmaininta
[50]i;fori=0;i50;i++scanf%d;fori=0;i50;i++{if;printf“%3d”,a[i];}printf\n;}输出结果
(2)利用数组实现以下功能从键盘任意输入假设干个整数(不超过100个),统计并输出这些整数的平均值,以及高于此平均值的整数个数程序对于二维数组L主对角线元素之和程序
4.实验总结实验四函数与指针
1.实验目的:⑴掌握函数的定义及函数调用的方法⑵掌握函数的声明方法,能利用函数来实现具有独立功能的程序模块⑶熟悉函数的嵌套调用和递归调用⑷正确理解指针的概念及其使用方法⑸学会使用通过指针去访问数组元素实验内容局部程序如下,请补全程序并答复此题要求掌握函数的定义、声明、和调用的方法#includestdio.hvoidmainvoidal;〃对被调函数al的声明〃对被调函数a2的声明al;//main函数调用a2函数//main函数调用al函数}al〃定义al函数的类型{printf###############”;}voida2{printfuHowdoyoudo;运行程序并记录输出结果答复al函数是有参函数还是无参函数?al函数有没有返回值,返回值为什么类型?分析并运行下面的程序,给出运行结果此题要求理解函数实参和形参的对应关系以及参数传递的方式#includestdio.hintfintireturni*i-l;voidmaininti;fori二0;i〈5;i++printf〃%d%d”ifi;}运行程序,观察并分析程序执行结果答复f函数是有参函数还是无参函数?f函数有没有返回值,返回值为什么类型编写一个s函数其功能如下此题要求能理解利用函数来实现具有独立功能的程序模块111S——1HHH1+21+2+31+2+3++n运行以下程序并答复相应问题此题要求熟悉函数递归调用的方法#includestdio.hvoidmain{longyn;longfllongn;scanfn;y=f1n;printf“%ld\n”,y;longfllongn{longx=li;fori=l;i=n;i++x*二i;returnx;}问以上程序的功能是什么重新编写fl函数,把fl函数的功能改为用递归的方法实现,请给出fl函数的代码如果实现的功能为1!+2!++n!请问以上参考程序如何修改?原fl函数可以不用修改,主要修改main函数swap函数用来交换变量ab的值,请补全程序此题要求正确理解指针的概念及其使用方法#includestdio.hvoidmain{voidswapint*plint*p2;intab;scanf%d%d”,ab;swapa;printfz/a=%db=%d\n〃,ab;}voidswapint*plint*p2{inttemp;运行程序,观察并分析程序执行结果:分析以下程序的运行结果此题要求学会通过指针去访问数组元素ftinclude〃stdio.h〃voidmain{inti*pa
[7]={l234567};p=a+2;fori=0;i3;i++p++printf〃%3d〃,*p;}观察并分析程序执行结果实验总结优质文档,内容可编辑专业班级学号姓名实验学时4实验类型设计实验地点实验时间指导老师周涛成绩教师批语年月日专业班级学号姓名实验学时2实验类型综合设计型实验地点实验时间指导老师周涛成绩教师批语年月日专业班级学号姓名实验学时4实验类型设计型实验地点实验时间指导老师周涛成绩教师批语年月日。