C语言实验报告 结构化程序设计

合集下载

湖北理工学院14本科C语言实验报告实验一 顺序结构程序设计

湖北理工学院14本科C语言实验报告实验一  顺序结构程序设计
将scanf("%c%c%d",&a,&b,&c);改成scanf("%c,%c,%d",&a,&b,&c);
问题4要使上面程序的键盘输入数据格式为1,2,34,而输出语句在屏幕上显示的结果为'1', '2',34,则应修改程序中的哪条语句?怎样修改?
将scanf("%c%c%d",&a,&b,&c);
#include <stdio.h>
void main()
{
float a,b,c,s,v;
printf("Input a,b,c:");
scanf("%f %f %f", &a,&b,&c);
s=a*b;
v=a*b*c;
printf("a=%f b=%f,c=%f\n",a,b,c);
printf("s=%f,v=%f\n",s,v);
第1种输入方式:1,2,34↙(以逗号作为分隔符)
第2种输入方式:1 2 34↙(以空格作为分隔符)
第3种输入方式:1 2 34↙(以Tab键作为分隔符)
第4种输入方式:1↙
2↙
34↙(以回车符作为分隔符)
将整个程序改成
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
}
当程序执行时,屏幕的显示和要求输入形式如下:
input a,b,c:1.0 2.0 3.0此处的1.0 2.0 3.0是用户输入的数据

实验3 结构化程序设计初步

实验3  结构化程序设计初步

实验3 结构化程序设计初步1.实验目的(1)掌握C++赋值语句与输入输出语句的使用方法,区别C语言的输入输出语句(2)掌握关系运算符、逻辑运算符与条件运算符的运算规则并能熟练计算由这些运算符构成的表达式(3)深入掌握C++各种流程控制语句(选择语句、循环语句和跳转语句)的要点和使用方法(4)能够灵活地运用C++各种语句进行综合程序设计2.实验内容2.1程序分析题。

分析下面程序的运行结果,上机运行程序,观察其输出结果与你的分析结果是否相同?(1)有如下程序,从键盘输入123456.78↙后,变量c1、c2、a、b的值分别是多少?#include <iostream.h>void main( ){char c1,c2;int a;float b;cin>>c1>>c2>>a>>b;cout<<c1<<" "<<c2<<" "<<a<<" "<<b<<'\n';}(2)#include <iostream.h>#include <iomanip.h>void main( ){double a=123.456789012345;cout<<a<<endl;cout<<setprecision(9)<<a<<endl;cout<<setprecision(6)<<a<<endl;cout<<setiosflags(ios::fixed)<<a<<endl;cout<<setiosflags(ios::fixed)<<setprecision(8)<<a<<endl;}(3)#include <iostream.h>#include <iomanip.h>void main( ){double a=123.456789012345;cout<<setiosflags(ios::scientific)<<a<<endl;cout<<setiosflags(ios::scientific)<<setprecision(4)<<a<<endl;}#include <iomanip.h>void main( ){int b=123456;cout<<b<<endl;cout<<hex<<b<<endl;cout<<setiosflags(ios::uppercase)<<b<<endl;cout<<dec<<setw(10)<<b<<','<<b<<endl;cout<<setfill('*')<<setw(10)<<b<<endl;cout<<setiosflags(ios::showpos)<<b<<endl;}(5)有如下程序,从键盘输入86 24 75↙后,程序的输出结果为多少,为什么?#include <iostream.h>void main( ){int a,b,c;cin>>a>>oct>>b>>hex>>c;cout<<a<<" "<<b<<" "<<c<<endl;}(6)#include <iostream.h>#include <iomanip.h>void main( ){short a=-1;cout<<dec<<a<<" "<<oct<<a<<" "<<hex<<a<<endl;}(7)#include <stdio.h>void main( ){int a=-1;printf("dec:%d,oct:%o,hex:%x,unsigned:%u\n",a,a,a,a);}(8)以下程序中,为了给整型变量k1,k3赋值为10,给k2,k4赋值为20,如何输入数据?#include <stdio.h>void main( ){int k1,k2,k3,k4;scanf("%d%d",&k1,&k2);scanf("%d,%d",&k3,&k4);printf("k1=%d,k2=%d,k3=%d,k4=%d\n",k1,k2,k3,k4);}void main( ){int a=3,b=4,c=5,d=6,e,f;e=a>b&&(c=8);cout<<c<<" "<<e<<endl;f=a<b&&(e=c<d);cout<<e<<" "<<f<<endl;f=a<b||(d>0?d++:d--);cout<<d<<" "<<f<<endl;}(10)#include <iostream.h>void main( ){int x,y,z,w;z=(x=-1)?(y=-1,y+=x+5):(x=7,y=9);w=y*'a'/4;cout<<x<<" "<<y<<" "<<z<<" "<<w<<endl;}(11)#include <iostream.h>void main( ){int a=5,b=7,c=3,t;if(a= -1) cout<<"Yes"<<endl;else cout<<"No"<<endl;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; }cout<<a<<" "<<b<<" "<<c<<endl;}解析:a被赋值为-1,输出YESIf语句成立则执行,不成立则不执行分析只有b>c成立,=后面的值赋给左边的,顺序从左到右(12)#include <iostream.h>void main( ){ char c='3';switch(c-'1'){case 0:case 1:cout<<c+1<<endl;case 2:cout<<c+2<<" "<<char(c+2)<<endl;default:cout<<c+3<<" "<<char(c+3)<<endl;}}‘3’是字符型,ASCLL码为051,执行Switch时,根据switch表达式的值找到与之匹配的case子句,就从此子句开始执行下去,不再进行判断(13)#include <iostream.h>void main( ){int a=2,b=7,c=5;switch(a>0){case 1:switch(b<0){case 1: cout<<"+";break;case 2: cout<<"-";break;}case 0:switch(c==5){case 0: cout<<"*";break;case 1: cout<<"/";break;default: cout<<"#";break;}default: cout<<"$";}cout<<"\n";}a>0是真,值为1,执行case1,继续下面,b<0是假,不执行其中的case1.case2c==5是真,值为1,执行case1,输出/,其后有break,被中断不再执行分句里其下的命令,default: cout<<"$"前面没有break,则输出$(14)#include <iostream.h>void main( ){int a=10,b=0;do{a+=2;b+=a;cout<<"a="<<a<<",b="<<b<<endl;if(b>20) break;}while(a!=14);}(15)#include <iostream.h>void main( ){int i,j;for(i=10;i<20;i++){for(j=2;j<=i/2;j++)if(i%j==0) break;if(j>i/2)cout<<i<<" ";}cout<<endl;}(16)#include <iostream.h>void main( ){int i,j,m=0;for(i=0;i<5;i++)for(j=0;j<5;j++)if(j>=i) m++;cout<<m<<endl;}(17)#include <iostream.h>void main( ){int i,j;for(i=1;i<=9;i++){for(j=1;j<=9;j++){ if(j>i) break;cout<<i<<"*"<<j<<"="<<i*j<<" ";}cout<<endl;}}(18)#include <iostream.h>void main( ){int i=1,sum=0;while(i<=100){if(i%2==0){ i++; continue;}sum+=i;i++;}cout<<sum<<endl;}2.2编程题(1)编写程序从键盘输入一个大写字母,将其转换为小写字母并输出。

实验四 结构化程序设计

实验四 结构化程序设计

实验四结构化程序设计一、实验目的1.掌握结构化程序设计思想和算法设计方法2.掌握各类语句的用途和使用方法3.掌握条件的表示方法4.掌握表示条件结构的几种语句形式5.掌握表示循环结构的几种语句形式6.掌握break语句和continue语句的功能和使用7.了解goto语句的适用范围及使用二、实验相关知识本次实验涉及如何根据一个问题来设计算法,采用“自顶向下,逐步细化”的结构化程序设计方法,以及如何将算法用C语言描述出来。

掌握C语言中三种程序控制结构:顺序、选择和循环及对应的各类语句。

如表达式语句、复合语句、空语句、条件语句、循环语句和跳转语句,以及表示条件的关系运算符(<、<=、>、>=、==、!=)和逻辑运算符(!、&&、||)的使用。

基本的顺序结构语句有表达式语句、空遇句、复合语句等,选择结构语句有if语句和switch语句等,循环结构语句有while语句、do-while语句和for语句以及跳转语句break和continue等。

1.表示选择结构的语句形式●if(表达式)语句●if(表达式)语句1else语句2●if(表达式1)语句1else if(表达式2)语句2…else if(表达式n-1)语句n-1else语句n●if (表达式1)if (表达式2)语句1else 语句2elseif (表达式3)语句3else 语句4●switch (表达式) {case 常量表达式1: 语句列1case 常量表达式2: 语句列2 …case 常量表达式n: 语句列ndefault: 语句列n+1}2.表示循环结构的语句●while (表达式) 语句●do语句while (表达式);●for (表达式1;表达式2;表达式3)语句3.表示跳转的语句●break语句可用来跳出switch语句或循环结构,其一般形式为:break;要注意的是,break语句仅用于跳出所在的switch语句或循环语句。

顺序结构程序设计-C语言程序实验报告

顺序结构程序设计-C语言程序实验报告

安徽工程大学高级语言程序设计实验报告班级姓名同组者/ 成绩日期2019.09.30 指导教师实验名称顺序结构程序设计一、实验目的1.掌握数据的输入/输出方法,能正确使用有关格式转换符。

2.掌握顺序结构程序中语句的执行过程。

3.掌握顺序结构程序的设计方法。

二、实验内容1.P47页第一个程序的作用是依次输入2个整数,计算并输出这2个整数之差。

(1)分析程序,若运行时输出:200,160<回车>,预期结果是多少?(2)上机运行该程序,查看程序运行结果是否符合题目要求。

如果不符合,请分析原因并修改程序,直至符合要求为止。

2.P47页第二个程序用于实现按下列公式计算并输出s1和s2的值:s1=3/(a+b)2,s2=ab/(a+b)3,其中a,b为整型数据。

(1)根据题意修改上述程序,并进行调试,直到正确为止。

(2)在(1)的基础上,将“scanf("%d,%d",&a,&b);”改为“scanf("%d%d",&a,&b);”后再编译、连接、运行。

3.分析P47页第三个程序,写出预期结果,然后输入调试,查看运行结果与预期结果是否一致,并分析其原因。

4.编程实现下列功能并上机调试运行。

(1)设圆半径为r,求圆周长和面积。

要求用scanf函数输入数据,输出时取小数点后两位。

(2)输入一个3位十进制整数,分别输出百位、十位以及个位上的数。

(3)从键盘输入一个带两位小数的实数,将其整数部分和小数部分分离后输出。

(4)用getchar函数读入两个字符,然后分别用putchar和printf函数输出这两个字符。

*思考题:5. 若实验内容1的程序改为P48页第一个程序段,运行该程序,输入5,3,查看程序运行结果是否与自己预测的结果一致,并分析原因。

6.若实验内容1的程序改为P48页第二个程序段,运行该程序,输入5,3,查看程序运行结果是否与自己预测的结果一致,并分析原因。

c语言 结构化程序设计与运行

c语言 结构化程序设计与运行

实验(四)结构化程序设计与运行电科081班级张辉NO. :080712110078实验目的:1. 熟练掌握程序文件的建立、保存、运行和调试的方法。

2. 重点掌握结构化程序设计的3种基本结构。

实验要求:练习使用命令式和菜单式建立、保存和运行下述程序。

若运行出错请调试。

1. 编写程序S2-4-1.PRG,为“员工”表添加新纪录。

2. 货物表的单价和库存量需要经常修改,试编程序S2-4-2.PRG对货物表作数据维护。

3. 分别用程序查询(编程S2-4-3a。

PRG)和SELECT-SQL命令查询(编程S2-4-3b.PRG)员工个人完成订单情况。

4. 编程S2-4-4.PRG显示货物库存清单,要求计算出每种货物的库存值和货物库存总值。

实验准备:1. 阅读主教材4.1节和4.2节。

2. 创建好“订货”数据库(见实验3-2)。

实验步骤:4-1建立程序文件:执行命令MODIFY COMMAND程序1,在出现的程序编辑窗口输入如下程序命令:输完之后按Ctrl+W保存文件。

之后再执行"DO 程序1.PRG"命令,如果存在录入错误就重新调试。

4-2S2-4-2.PRG编制如下:运行后的结果如下:4-3S-4-3a.PRG编制如下:运行结果:4-4S2-4-3b.prg的编制如下:运行结果:4-5S2-4-4.PRG编制如下:运行结果:思考与操作:在实验3-2中已对货物表作了字段级验证和记录级验证设置。

若将程序S2-4-1.PRG修改成“为货物表添加新记录”,会出现什么情况?若程序不能正常运行,应如何处理才能使程序正常运行?答:修改后程序将不能正常运行。

要使程序正常运行,可把程序中的APPEND BLANK命令修改为APPEND命令。

C语言实验报告《逻辑结构程序设计》(完整版)

C语言实验报告《逻辑结构程序设计》(完整版)

报告编号:YT-FS-3555-81C语言实验报告《逻辑结构程序设计》(完整版)After Completing The T ask According To The Original Plan, A Report Will Be Formed T o Reflect The Basic Situation Encountered, Reveal The Existing Problems And Put Forward Future Ideas.互惠互利共同繁荣Mutual Benefit And Common ProsperityC语言实验报告《逻辑结构程序设计》(完整版)备注:该报告书文本主要按照原定计划完成任务后形成报告,并反映遇到的基本情况、实际取得的成功和过程中取得的经验教训、揭露存在的问题以及提出今后设想。

文档可根据实际情况进行修改和使用。

学号:____ 姓名:____ 班级:____ 日期:____ 指导教师:____ 成绩:____实验二逻辑结构程序设计一、实验目的1、学会正确使用逻辑运算符和逻辑表达式2、熟练掌握if语句和switch语句3、熟练掌握用while语句、do-while语句和for 语句实现循环的方法4、掌握在程序设计中的常用算法(如递推等)二、实验内容1、输入百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。

90分以上为‘A’,80——89分为‘B’,70——79分为‘C’,60——69分为‘D’,60分以下为‘E’。

(习题5.6)2、求1!+2!+3!+4!+ … +20!(习题6.4)3、编写程序并输出下列图形:****************三、实验步骤与过程物理实验报告·化学实验报告·生物实验报告·实验报告格式·实验报告模板四、程序调试记录这里填写您企业或者单位的信息Fill In The Information Of Your Enterprise Or Unit Here。

《C程序设计》选择结构程序设计实验报告一

《C程序设计》选择结构程序设计实验报告一

《C程序设计》选择结构程序设计实验报告return(y);}运行结果:(截图)2、完成改错后的程序#include <stdio.h>#include <ctype.h>char fun(char c){ if (c>='A' && c<='Z')/**********found**********/c=c+32;if (c>='a' && c<='u')/**********found**********/c=c+5;else if(c>='v' && c<='z')c=c-21;return c;}main ( ){ char cl, c2;printf("Enter a letter(A-Z):");cl=getchar( );if (isupper(cl)){ c2=fun(cl);printf("\n\nThe letter %c change to %c\n",cl,c2);}elseprintf("\nEnter (A-Z) !\n");}运行结果:(截图)3、解题思路:年限不同,利率不同。

利用利率不同写出代码源程序://用if写#include <stdio.h>#include <math.h>int main(){double bxh;int year,m;printf("请输入存款金额和年限:");scanf("%d,%d",&m,&year);if(year==1)bxh=m*pow((1+0.03),year);elseif(year==2)bxh=m*pow((1+0.033),year);elseif(year>=3&&year<=4)bxh=m*pow((1+0.038),year);elseif(year>=5)bxh=m*pow((1+0.042),year);printf("sum=%f\n",bxh);return 0;}//用switch写#include <stdio.h>#include <math.h>int main(){double bxh=0;int year,m;printf("请输入存款金额和年限:");scanf("%d,%d",&m,&year);switch (year){case 1:bxh=m*pow((1+0.03),1);break;case 2:bxh=m*pow((1+0.033),2);break;case 3:case 4:bxh=m*pow((1+0.038),year);break; case 5:bxh=m*pow((1+0.042),5);break; default: bxh=m*pow((1+0.042),year);}printf("本息和为%f\n",bxh);return 0;}运行结果:(截图)4、解题思路:判断是否为闰年,闰年二月有29天。

c语言程序设计—结构体—实验报告

c语言程序设计—结构体—实验报告

c语言程序设计—结构体—实验报告
实验报告
一、实验背景
随着计算机科学的发展,数据的处理和存储已经发生了巨大的变化,变得更加结构化和更有效率。

考虑到这一点,结构体在计算机程序设计中尤其重要。

因此,本实验的目的是练习使用C语言编程,设计并实现相应的结构体,来实现一定的功能。

二、实验目标
设计一个结构体struct book,包含书名、作者名、出版社、价格等字段,并实现以下功能:
(1)按照书名查找图书;
(2)将书籍信息以字符串格式输出;
(3)将书籍信息保存到文件中;
三、实验内容
1. 用C语言定义结构体struct book,包含书名字段name(char类型)、作者author(char类型)、出版社publisher(char类型)、价格price(float类型)等信息。

2. 创建一个函数findBook,输入参数为书名字符串,输出参数为书籍信息struct book。

该函数实现按照书名查找图书功能,若查找成功返回书籍信息,否则返回null。

四、实验结果
经过上述步骤,已经编写了相应的C语言程序实现了按照书名查找图书、将书籍信息以字符串格式输出、将书籍信息保存到文件中、从文件中读取书籍信息等功能。

五、总结
本实验中,使用C语言实现了结构体struct book的定义及四个功能的程序,理解并大致掌握了结构体的使用,学会用程序实现数据的存取。

因此,我们可以看到,结构体的使用可以使数据的存取更加有效率和简单,对于程序设计是很重要的一个概念。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验题目 实验时间 实验成绩
结构化程序设计 实验地点 实验性质
□验证性 √设计性 □综合性
教师评价:
√ 算法/实验过程正确; □实验结果正确; 其他: 评价教师签名: √ 源程序/实验内容提交 □语法、实验目的
1.掌握 C 语言中具有逻辑量意义数据的表示方法 2.理解分支程序设计的基本思想,熟练掌握分支程序设计的基本方法 3.理解循环程序设计的基本思想,熟练掌握循环程序设计的基本方法 4.掌握具有迭代思想程序的设计方法
二、实验项目内容(实验题目)
三、源程序(实验过程或算法) #include <stdio.h> #include <math.h> void main() {double Fn,n=1,sum,x,PI=3.1415926; printf("x=") ; scanf("%lf",&x);
x=x*PI/180; for(sum=x,Fn=x;fabs(Fn)>=1e-7;n++) {Fn=-Fn*x*x/(2*n*(2*n+1)); sum=sum+Fn; } printf("sin(x)=%lf\n",sum); }
四、源程序调试过程和(或)实验分析 (截图粘贴)
1、Scanf(“%lf\n”,&x);
\n 换行导致输入出现问题,应删除。 Fn 绝对值小于 e-7 输入有误。
2、Fn,sum 初值赋值有误。 PI 的精度不够。 n++输入了两次。
3、符合要求。 实验总结:1、实验问题主要源于对程序设计尚不够熟练,容易出现小 差错。 2、途中对题目方程式理解有误导致设计错误。 3、尚需加大练习力度,加宽题目涉及面。
相关文档
最新文档