程序设计基础 实验报告.docx
- 文档编号:3328746
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:30
- 大小:52.52KB
程序设计基础 实验报告.docx
《程序设计基础 实验报告.docx》由会员分享,可在线阅读,更多相关《程序设计基础 实验报告.docx(30页珍藏版)》请在冰豆网上搜索。
程序设计基础实验报告
《程序设计基础》实验报告
学号:
20112627
姓名:
王飞
班级:
电子信息工程01
学院:
计算机与信息学院
实验一面向过程的简单程序设计
1.实验目的要求
(1)使用C++语言编写简单的计算机程序,掌握C++程序从编辑、编译到运行的全过程,初步了解C++程序的特点。
(2)掌握C++语言的数据类型(包括对各种数据类型变量的定义、初始化、赋值等)、运算符和表达式的使用。
(3)掌握赋值语句的使用。
(4)掌握数据的输入输出方法。
2.实验设备
VisualC++6.0
3.实验内容
(1)设计简单程序,分别计算下列表达式,式中变量由键盘输入,输出表达式的值。
<1>
源代码:
#include
voidmain()
{floata,b,c,d,x,y
cin>>a>>b>>c>>d>>x;
y=x+(a+b)/(c-d);
cout< } 测试过程和运行结果分析: 输入数据为: 23425 运行结果为: 7.5 <2> 源代码: #include #include voidmain() { floatx,y; cout<<"x="; cin>>x; y=sqrt(1+1/(x+1/(x+1))); cout<<"y="< } 测试过程和运行结果分析: 输入数据: 2运行结果为: 1.9523 <3>sinX+cosX+tan-1X 源代码: #include #include voidmain() { floatx,y; cout<<"x="; cin>>x; y=sin(x)+cos(x)+1/tan(x); cout<<"y="< } 测试过程和运行结果分析: 输入数据: 2运行结果: 0.035493 <4>ex+y+ex-y 源代码: #include #include voidmain() { floatx,y,z; cout<<"x="; cin>>x; cout<<"y="; cin>>y; z=exp(x+y)+exp(x-y); cout<<"z="< } 测试过程和运行结果分析: 输入数据: 1,2运行结果: 20.4534 <5>log10(1+ ) 源代码: #include #include voidmain() { floatx,y; cout<<"x="; cin>>x; y=log10(1+sqrt(1+pow(x,2))); cout<<"y="< } 测试过程和运行结果分析: 输入数据: 1运行结果: 0.382776 <6> + 源代码: #include #include voidmain() { floata,b,y; cout<<"a="; cin>>a; cout<<"b="; cin>>b; y=fabs(a*a-b*b)+floor(a-b); cout<<"y="< } 测试过程和运行结果分析: 输入数据: 4,5运行结果: 8 (2)阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能。 <1>测试过程和运行结果分析: 输入数据为: A 运行结果为: A 输入数据为: a 运行结果为: A 无论输入为大写或小写字母时,结果都为大写。 其中 ch=(ch>=’A’&&ch<=’Z’)? (ch+32): ch; 此语句是将大写字母转换为小写字母,如果是小写字母,则保持不变 <2>测试过程和运行结果分析: 输入数据为100,40 运行结果为: 0,1 输入数据为: 2000,3000运行结果为: 1,0 输入数据为1000,2000运行结果为: 0,0 输入数据为: 300,100 运行结果为: 0,1 输入两个数,判断其与1000的大小,第一个数如果比1000大,则为 真,输出1,否则为假,输出0;第二个数如果比1000小,则为 真,输出1,否则为假,输出0; bi=m>1000;br=x<=1e3;就是用于判断的 <3>测试过程和运行结果分析: 输入数据为: 4运行结果为: 5 输入数据为: 24运行结果为: 25 输入一个数,判断其与10的大小关系,如果小于10,输出该数加1,否则,也输出该数加一。 本题考察自增与自减。 后置运算是在使用该数之后使该数加1。 (3)编写程序实现下列问题的求解 <1>根据随机从键盘输入的圆半径值,求圆的周长和半径并输出。 源代码: #include voidmain() { floatr,s; cout<<"r="; cin>>r; s=3.14*r*r; cout<<"s="< } 测试过程和运行结果分析: 输入数据: 2运行结果: 12.56 <3>对任意输入的四位整数,分别求出其各位数字,并按从后到前的顺序依次输出。 例如,输入为1234时,输出结果为4,3,2,1。 源代码: #include voidmain() { inta,b,c,d,e; cin>>a; b=a/1000; c=a/100-10*b; d=a/10-100*b-10*c; e=a-1000*b-100*c-10*d; cout< } 输入数据: 6789运行结果: 9,8,7,6 4.实验总结 本次实验学习了C/C++语言编程基本语法,能编写简单的赋值和输入输出程序。 实验二控制结构程序设计 1.实验目的要求 (1)理解基本的解题技巧,掌握用自顶向下、逐步求精的过程设计算法。 (2)熟练掌握if/else语句和switch语句的使用。 (3)熟练掌握while语句、do/while语句和for语句的使用以及区别。 (4)掌握break和continue程序控制语句的使用。 2.实验设备 VisualC++6.0 3.实验内容 (1)阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能 <1>测试过程和运行结果分析: 输入数据: 1000,850 运行结果: (1000,850)(150,850)(150,700)(150,550)(150,400)(150,250) (150,100)(50,100)(50,50)50 分析: 输入两个数,保留较小的数以及两个数之差,按此规律计算,直到两个数相 等为止。 运用了while语句及其嵌套 <2>测试过程和运行结果分析: 输入数据: 1000,45 运行结果: (1000: 45)---10 分析: 输入两个数,用大数减较小数,直到两数相等,并记录计算次数 <3>测试过程和运行结果分析: 运行结果: *#*#*$ 分析: 运用了循环语句,通过判断余数是1或零输出*或#,最后循环结束输出$ <4>测试过程和运行结果分析: 运行结果: a=2,b=8 (2)编写程序实现下列问题的求解。 <1>求解下面函数的值。 ex+yx<0,y<0 z=ln(x+y)1≤x+y〈10 log10|x+y|+1其它情况 源代码: #include #include voidmain() { floatz,x,y; cin>>x; cin>>y; if((x<0)&&(y<0)) z=exp(x+y); elseif((x+y>=1)&&(x+y<10)) z=log(x+y); elsez=log10(fabs(x+y)+1); cout< } 测试过程和运行结果分析: 输入数据: 1,2运行结果: 1.09861 -3,-40.000911882 <2>编程求解下列各计算式: 1)S= =1+2+3+…+100 源代码: #include voidmain() { ints,i; s=0; i=1; do{ s=s+i; i=i+1; }while(i<=100); cout< } 测试过程和运行结果分析: 运行结果: 5050 2)S= =1! +2! +…+7! 源代码: #include voidmain() { inti,s,x; i=1; s=1; x=1; do{x=x*(i+1); s=s+x; i=i+1; }while(i<=6); cout< } 测试过程和运行结果分析: 运行结果: 5913 3)S=1×2+3×4+5×6+…+39×40 源代码: #include #include voidmain() { ints,i; s=0; i=1; do{ s=s+i*(i+1); i=i+1; }while(i<=39); cout< } 测试过程和运行结果分析: 运行结果: 21320 <4>编程产生出1到10以内的所有数对并输出,其中i>j。 源代码: (7)#include voidmain() {inti,j; i=1; j=1; for(i=1;i<=10;i++) for(j=1;j<=10;j++) if(i>j) {cout<<”<”<”< } 测试过程和运行结果分析: 运行结果<2,1><3,1><3,2><4,1><4,2><4,3><5,1><5,2><5,3><5,4><6,1> <6,2><6,3><6,4><6,5><7,1><7,2><7,3><7,4><7,5><7,6><8,1> <8,2><8,3><8,4><8,5><8,6><8,7><9,1><9,2><9,3><9,4><9,5> <9,6><9,7><9,8><10,1><10,2><10,3><10,4><10,5><10,6><10,7> <10,8><10,9> <5>编程求出10000以内的所有符合如下条件的数: 其高位数字小于低位数字。 如12,238,3578等。 但21,548不符合条件。 源代码: #include voidmain() { inta,b,c,d,n; for(n=0;n<=999;n++) {a=n/100; b=(n-a*100)/10; c=n-a*100-b*10; if(a cout< } for(n=1000;n<10000;n++) {a=n/1000; b=(n-a*1000)/100; c=(n-a*1000-b*100)/10; d=n-a*1000-b*100-c*10; if(a cout< } } 测试过程和运行结果分析: 121314151617181923242526272829343536373839454647484956575859676869787989123124125126127128129134135136137138139 145146147148149156157158159167168169178179189234235236237238 239245246247248249256257258259267268269278279289345346347348 349356357358359367368369378379389456457458459467468469478479 489567568569578579589678679689789123412351236123712381239124512461247124812491256125712581259126712681269127812791289134513461347134813491356135713581359136713681369137813791389145614571458145914671468146914781479148915671568156915781579158916781679168917892345234623472348234923562357235823592367236823692378237923892456245724582459246724682469247824792489256725682569257825792589267826792689278934563457345834593467346834693478347934893567356835693578357935893678367936893789456745684569457845794589467846794689478956785679568957896789Pressanykeytocontinue 4.实验总结 掌握if/else语句和switch语句,while语句、do/while语句和for语句,break和continue程序控制语句的使用。 实验三数组 1.实验目的要求 (1)掌握一维数组和二维数组的定义、初始化赋值、元素引用的方法。 (2)初步了解数组名与地址的关系。 (3)掌握字符数组和字符串函数的使用。 (4)掌握与数组有关的算法(特别是排序和查找算法)。 2.实验设备 VisualC++6.0 3.实验内容 (1)阅读下列程序,写出其运行结果,并指出其功能。 <1> 测试过程和运行结果分析: 运行结果: 1001999962591498481 Sumofa=635 1009996918481492591 分析: 结果分析: 首先定义的一个整型数组,当数组的成员是奇数时,使得数组的每个数为i的平方(i从0开始取),当数组的成员是偶数时,令其没个成员的值为100-(i/2)*(i/2);之后进行N次循环,输出每个数组成员的值;然后令s的初始值为0,再进行N次循环每次使得s=s+a[i];每次输出s的值即可。 <2> 测试过程和运行结果分析: 运行结果: CERCOMMPP 分析: 首先定义两个字符串数组a[20],b[20];使用strcat函数将b数组连接到a数组中去,之后a[20]=”TERCOMP”,然后使得将a数组的值逐一赋给b数组直到a数组结束(a数组从i=1的时候开始,即第二个数开始,b也从第二个开始,所以其b数组的第一个元素的值是不变的,最后的一个数依然是原先b数组的最后的一个数),最后输出此时b数组的所有的值。 <3> 测试过程和运行结果分析: 输入数据: 99100运行结果: 99 分析: 首先定义几个整型变量和一个整型数组,提示输入两个值n和base;当满足n不等于0的时候执行一下循环,(使i自增,令数组num的值为n/base的余数,之后令n的值为n/base的商的整数部分)当不满足上述条件时,执行循环(令i=j,当j大于等于1的时候输出num数组的第j+1个成员,之后令j自减,直到不满足上述条件。 ) (2)编写程序实现下列问题的求解。 <1>编程产生下列数组,并输出。 ⑴一维数组 1)(149162536496481100) 源代码: #include voidmain() {cout<<"("; inta[10]; inti,s; for(i=0;i<10;i++) {a[i]=(i+1)*(i+1); cout< cout<<")"; } 测试过程和运行结果分析: 运行结果: (149162536496481100) ⑵二维数组 1)123456 234560 345601 456012 560123 601234 源代码: #include voidmain() { inta[6][6]; inti,j; for(i=0;i<6;i++) for(j=0;j<6;j++) a[i][j]=(i+j+1)%7; for(i=0;i<6;i++) {for(j=0;j<6;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计基础 实验报告 程序设计 基础 实验 报告