实验3 顺序结构程序设计和输入输出函数运用
【结构】c语言顺序结构实验报告
【关键字】结构c语言顺序结构实验报告篇一:实验三顺序结构程序设计实验报告实验三顺序结构程序设计实验报告一、实验目的1. 掌握掌握赋值语句的使用方法。
2. 各种类型数据的输入输出的方法,能正确使用各种格式转换符。
3. 进一步掌握编写程序和调试程序的方法。
2、实验内容(源代码)1. sy3-(1) ①#includeint main() { int a,b;//基本整型float d,e; //单精度浮点型char c1,c2;//字符型double f,g;//双精度浮点型long m,n; //长整型unsigned int p,q;//"unsiguld"改成"unsigned" 无符号整型a=61,b=62; c1='a';c2='b';//'a''b'的"'"不能掉了d=3.56;e=-6.87; //d,e之间用";"隔开f=3157.890121;g=0.9; m=50000;n=-60000; p=32768;q=40000; printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);//"""与"a"之间的","不能掉了,"\"不能写成"/" printf("f=%15.6f,g=%15.12f\nm=%1d,n=%1d\np=%u,q=%u\n",f,g,m,n,p,q); //f后的q改为g}③#includeint main() {int a,b;//基本整型float d,e; //单精度浮点型char c1,c2;//字符型double f,g;//双精度浮点型long m,n; //长整型unsigned int p,q;//"unsiguld"改成"unsigned" 无符号整型a=61,b=62;c1=a;c2=b; //c1,c2之间用";"隔开f=3157.890121;g=0.9; d=f;e=g;p=a=m=50000;q=b=n=-60000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);//"""与"a"之间的","不能掉了,"\"不能写成"/"printf("f=%15.6f,g=%15.12f\nm=%1d,n=%1d\np=%u,q=%u\n",f,g,m,n,p,q); //f后的q改为g④#includeint main() {int a,b;//基本整型float d,e; //单精度浮点型char c1,c2;//字符型double f,g;//双精度浮点型long m,n; //长整型unsigned int p,q;//"unsiguld"改成"unsigned" 无符号整型a=61,b=62;c1=a;c2=b; //c1,c2之间用";"隔开f=3157.890121;g=0.9; d=f;e=g;p=a=m=50000;q=b=n=-60000;printf("a=%d,b=%d\nc1=%d,c2=%d\nd=%d,e=%d\n",sizeof(a),sizeof(b),sizeof(c1),sizeof(c2),sizeof (d),sizeof(e));printf("f=%d,g=%d\nm=%d,n=%d\np=%d,q=%d\n",sizeof(f),sizeof(g),sizeof(m),sizeof(n),sizeof(p), sizeof(q));}2. sy3-(2)#include int main() {float h,r,c,s1,s2,v1,v2; //定义float pi=3.1415926; //赋值printf("圆半径r=,圆柱高h=:");//提示scanf("%f,%f",&r,&h); //输入c=2*pi*r; //计算s1=pi*r*r;//"*"不可省略s2=4*s1;v1=4.0/3.0*s1*r; v2=s1*h;printf("圆周长:c=%6.2f\n",c); //输出printf("圆面积:s1=%6.2f\n",s1);printf("圆球表面积:s2=%6.2f\n",s2); printf("圆球体积:v1=%6.2f\n",v1); printf("圆柱体积:v2=%6.2f\n",v2); return 0;}3. sy3-(3)#include#include //不要忘了数学函数int main() {float p,r5,r3,r2,r1,r0,p1,p2,p3,p4,p5; //定义p=1000;//赋值printf("r5=,r3=,r2=,r1=,r0=:");//提示scanf("%f,%f,%f,%f,%f",&r5,&r3,&r2,&r1,&r0); //输入p1=p*r5*5; //计算}p2=p*(1+2*r2)*(1+3*r3)-p; p3=p*(1+3*r3)*(1+2*r2)-p; p4=p*pow(1+r1,5)-p; p5=p*pow(1+r0/4,20)-p;printf("方案1的利息:p1=%f\n",p1); //输出printf("方案2的利息:p2=%f\n",p2); printf("方案3的利息:p3=%f\n",p3); printf("方案4的利息:p4=%f\n",p4); printf("方案5的利息:p5=%f\n",p5); return 0;4. sy3-(4)① #include int main() {char c1='C',c2='h',c3='i',c4='n',c5='a';//定义与赋值c1=c1+4;//计算c2=c2+4; c3=c3+4; c4=c4+4; c5=c5+4;printf("用printf语句输出结果为:");//提示printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);//输出c1,c2之间的","不可省略printf("用putchar语句输出结果为:");//提示putchar(c1);//输出putchar(c2); putchar(c3); putchar(c4); putchar(c5);printf("\n");//换行不要省略return 0;② #include int main(){ }char c1='T',c2='o',c3='d',c4='a',c5='y';//定义与赋值c1=c1-22;//计算c2=c2-22; c3=c3-22; c4=c4-22; c5=c5-22;printf("用printf语句输出结果为:");//提示printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);//输出c1,c2之间的","不可省略printf("用putchar语句输出结果为:");//提示putchar(c1);//输出putchar(c2); putchar(c3); putchar(c4); putchar(c5);printf("\n");//换行不要省略return 0;③ #include int main(){char c1='T',c2='o',c3='d',c4='a',c5='y';//定义与赋值c1=c1-4;//计算c2=c2-4; c3=c3-4; c4=c4-4; c5=c5-4;printf("用printf语句输出结果为:");//提示printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);//输出c1,c2之间的","不可省略printf("用putchar语句输出结果为:");//提示putchar(c1);//输出putchar(c2); putchar(c3); putchar(c4); putchar(c5);printf("\n");//换行不要省略return 0;}篇二:C语言实验二程序、总结顺序结构与输入、输出方法实验二顺序结构与输入/输出方法1 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自增减运算符的使用。
上机实验三 顺序结构程序设计
上机实验三顺序结构程序设计一.目的要求1.掌握顺序结构程序的组成部分——表达式语句和函数调用语句。
2.掌握格式输入输出scanf()函数、printf()函数的调用语法;整型、实型、字符型数据的输入输出格式。
3.掌握字符输入输出函数getchar()、putchar()函数的调用语法。
4.能够编写简单顺序结构的程序。
二.实验内容思考问题:scanf()与printf()的格式控制串在用法上有什么区别?scanf()与printf()中不同数据类型对应的格式说明符是怎样的?第1题运行下面的程序,写出输出结果。
main(){ int a=5,b=7;float x=67.8564,y=-789.124;unsigned u=65535;long n=1234567char c=‘A’;printf("a=%3d,b=%3d\n",a,b);printf(“x=%10.2f,y=%10.2f\n",x,y);printf(“u=%u,u=%d(error format)\n",u,u);printf(“n=%ld\n",n);printf("c=’%c’ or c= %d(ASCII)\n",c,c);}输出结果:第2题输入并运行以下程序main(){int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned p,q;a=61;//line 9b=62;c1='a';c2='b';d=3.56;e=-6.87f=3157.890121;g=0.123456789;m=50000;n=-60000;p=32768;q=40000;printf("a=%d,b=%d,c1=%c,c2=%c,d=%6.2f,e=%6.2f",a,b,c1,c2,d,e);printf("f=%15.6f,g=%15.12f,m=%ld,n=%ld,p=%u,q=%u",f,g,m,n,p,q);}在此基础上,做以下改动:(1)将程序第9~20行改为:a=61;b=62;c1=a;c2=b;f=3157.890121;g=0.123456789;d=f;e=g;p=a=m=50000;q=b=n=-60000;运行程序,分析结果。
C程序实验 顺序程序设计
实验三顺序程序设计一、实验目的1、熟练掌握C语言中赋值语句的使用方法。
2、掌握格式输入输出scanf()函数、printf()函数的调用方法:整型、实型字符型数据的输入输出格式。
3、掌握字符型输入输出函数getchar()、putchar()函数的调用语法。
二、实验内容与步骤:1、从键盘输入两个0到127的整数,求两数的平方差并输出其值以及这两个整数的ASCⅡ码对应的字符。
程序:#include <stdio.h>void main(){int x,y,sub;scanf("%d%d",&x,&y);sub=x*x-y*y;printf("%c,%c,%d\n",x,y,sub);}结果:从键盘输入"100 50",结果是?100 50d,2,75002、#include <stdio.h>void main(){int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61; b=62;c1='a'; c2='b';d=3056; e=-6087;f=3157.; g=0.;m=50000; n=60000;p=32768; q=40000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);}(1)运行程序并分析结果。
结果:a=61,b=62c1=a,c2=bd=3056.00,e=-6087.00f= 3157.,g= 0.0m=50000,n=60000p=32768,q=40000分析:a,b为整型变量,按%d输出,得到如上的结果;c1,c2为字符型,按%c输出,得到如上的结果;d,e为单精度浮点型,按%6.2f输出,其中整个数据占6列,小数两列,得到的结果如上;f,g双精度变量,按%15.6f输出,其中整个数据占15列,小数为6列(如全为小数,则小数全部输出),因为位置过宽,所以前面留有空格,结果如上;m,n为长整型,按%ld 输出,得到结果如上;p,q为无符号整型,存储范围增加,因此得到如上结果。
第三章 输入输出函数与顺序结构程序设计
3.1格式化输出函数printf( )
案例3-1 计算三个学生的平均成绩 存放三个学生的考试成绩 显示三个学生的成绩 计算平均分后显示该信息
程序代码
/*代码文件名:code3_1.c*/ #include <stdio.h> main() { int score1=12,score2=23,score3=25; /*定义并初始化三个学生成绩 */ float avg; /*输出三个学生成绩*/ printf("score1=%d, score2=%d, score3=%d\n", score1, score2, score3); avg=( score1+ score2+ score3)/3.0;/*计算平均分*/ printf("平均分avg=%f\n",avg); /*输出平均分*/ }
非格式字符
如果格式控制串中有非格式字符则输入时也要 输入该非格式字符。 例如: scanf("%d,%d,%d",&a,&b,&c); 其中用非格式符“ , ”作间隔符,故输入 时应为: 5,6,7 又如: scanf("a=%d,b=%d,c=%d",&a,&b,&c); 则输入应为: a=5,b=6,c=7
尽量不要在输出语句中改变输出变量的值,因 为可能会造成输出结果的不确定性。例如:int k=8;printf(“%d,%d\n”,k,++k);输出结果不是8, 9,而是9,9。这是因为调用函数printf时,其 参数是从右至左进行处理的,将先进行++k运 算。 输出数据时的域宽可以改变。若变量m、n、i 和f都已正确定义并赋值,则语句 printf(%*.*f,m.n,f);将按照m和n指定的域宽 输出浮点型变量f的值,并不输出m、n的值。
实验3 顺序结构程序设计和输入输出函数运用
putchar('\n');
putchar(a);
putchar('\n');
putchar(b);
printf("\n %c %c",a,b);
main()
{
float y;
int a,b=4,c,d;
a=c=3;
d=a+10; /*表达式中出现多个a+10 ,为了减少运算次数且表达式清晰,所以将a+10 赋于d */
y=d/(b+d/2)*c;
printf("%f\n",y);
}
运行此程序,观测结果。是否可将程序第四行和第五行合为一行:int a=c=3,b=4;为什么?printf("%f\n",y= d/(b+d/2)*c);和printf("%f\n", d/(b+d/2)*c;);哪一条可以正确替代程序中的第七行和第八行?为什么?
float x;
char c1,c2;
scanf("%d%d%f%c%c",&a,&b,&x,&c1,&c2);
printf("a=%d,%x,%o,%c\n",a,a,a,a);
printf("b=%d,%u\n",b,b);
}
运行此程序,比较应用printf和putchar 函数输出字符的异同点。
4. 编写程序,打印下列图形。
1
2 2
3 3
4 4
5 5 5 5 5 5 5 5 5
实验三 流程控制语句和简单输入输出
实验三流程控制语句和简单输入输出
1.输入表示日月年数据,求这一天是星期几。
提示:可用公式N=d+2m+3(m+1)/5+y+y/4-y/100+y/400+1其中y,m,d 分别表示年月日,如果日期是一月或二月,则m要加12,而y要减1,最后将n除以7所得余数即星期数。
注意使用对话框形式的输入的方法,以及分支控制语句的使用
2.编程:输入一个四位数整数,按与各位数字相反的顺序输出各位数字。
例如,输入1234,输出4321。
注意对话框输入的方法
和if –else语句的嵌套使用方法
3.一个整数的各位数字之和能够被9整除,则该数也能被9整除,依据此算法编程,输入任意的整数,检查是否能够被9整除。
注意怎么样能够将一个整数的各个位数都加起来是此题的关
键,灵活使用/和%可以做到
4.编写程序,求n!使用for循环语句,可以参考求1+2+3+…..+100的方法。
5.For循环嵌套的简单使用:打印一个乘法表,注意for的嵌套,输出按照i+”x”+j+”=”的形式输出。
6.从键盘接收一个1——3之间的整数,如果是1则输出“祝贺你是冠军”,2则是“你只能屈居亚军了“,3是”你是第三名,
不要泄气“,如果输入是别的数字,则输出”你输入的数超出
范围“,注意使用swith语句以及read()方法进行输入。
第3章 顺序结构程序设计和输入输出共53页
【例3.2】 求
1111.. . 1 1 2 3 4 99100
首先分析该算式的组成规律:算式中每一项分子均为1,分母 从1开始递增,每个分式项的符号与前一个相反。用变量sum表 示总和,sigh表示符号,m表示分母,term表示每个分数项的值 ,则有:term= sigh×(1/m ),下一个分式项的符号取反,sigh =(-1)×sigh。算法可表示如下:
直观的求解方法:
步骤1:先求1×2,得到结果2。 步骤2:将步骤1得到的乘积2乘以3,得到结果6。 步骤3:将6再乘以4,得24。 步骤4:将24再乘以5,得120。
以上的算法虽然可以解决问题,但是主要问题是不能 适应数值很大和变化的情况。
改进的算法如下:
改进的算法(这里S代表步骤)
S1: 使t=1。 S2: 使i=2。 S3: 使t×i, 乘积仍然放在在变量t中,可表示
为t×i→t。 S4: 使i的值加1,即i+1→i。 S5: 如果i≤5, 返回重新执行步骤S3以及其后
的S4和S5;否则,结束。
如果计算100!,则只需将S5稍做修改,即将i≤5改成 i≤100即可。
如果要求1×3×5×7×9×11,算法也只需做很少的改 动,即:
S1: 1→t。 S2: 3→i。 S3: t×i→t。 S4: i+2→t。 S5: 若i≤11, 返回S3,否则,结束。
非数值运算算法,主要用于事务管理领域。
算法具有以下特性:
(1) 有穷性:一个算法应包含有限的操作步骤而不能是无限的。 (2) 确定性:每一步骤是确定的,而不是含糊的、模棱两可的。 (3) 有效性:每一个步骤应能有效地执行,并得到确定的结果。 (4) 有零个或多个输入。 (5) 有一个或多个输出。
《C程序设计》顺序结构程序设计实验报告
《C程序设计》顺序结构程序设计实验报告5. 编序C程序,实现将560分钟表示成**小时**分钟的形式输出。
6. 编序C程序,输入一个三位整数x(999=>x>=100),将其分解出百位、十位、个位,并求出各位之和以及各位之积。
7. 编序C程序,要求从键盘任意输入一个3位数的正整数,输出其逆序数(例如输入123,输出321)。
三、实验过程与结论:(经调试正确的源程序(核心部分)和程序的运行结果)(三)编写程序1.#include<stdio.h>int main(){printf("*************\n Very good!\n*************\n");return 0;}2.#include<stdio.h>int main(){float a,b,c,s;a=38.9;b=27.2;c=2*(a+b);s=a*b;printf("周¨¹长¡è是º?%f,面?积y是º?%f\n",c,s);return 0;}3.#include<stdio.h>int main(){int a,b;printf("输º?入¨?两¢?个?整?数ºy:êo\n");scanf("%d %d",&a,&b);int x,y,z,m;x=a+b;y=a-b;z=a*b;m=a/b;printf("两¢?个?数ºy的Ì?和¨ª是º?%d,差?是º?%d,积y是º?%d,商¦¨¬是º?%d\n",x,y,z,m);return 0;}#include<stdio.h>#define PI 3.14int main(){float r,v;printf("请?输º?入¨?球¨°的Ì?半ã?径?:\n");scanf("%f",&r);v=4*PI*r*r*r/3;printf("球¨°的Ì?体¬?积y是º?%f\n",v);return 0;}5.#include<stdio.h>int main(){int a,b,c;a=560;b=a/60;c=a%60;printf("%d小?时º¡À,ê?%d分¤?钟¨®\n",b,c);return 0;6. #include<stdio.h>int main(){int a,b,c,d;int x,y;printf("请?输º?入¨?一°?个?三¨y位?数ºy:êo\n");scanf("%d",&a);b=a/100;c=a/10%10;d=a%10;x=b+c+d;y=b*c*d;printf("百㨴位?是º?%d,十º?位?是º?%d,个?位?是º?%d,个?位?之?和¨ª是º?%d,各¡Â位?之?积y 是º?%d\n",b,c,d,x,y);return 0;}7. #include<stdio.h>int main(){int a,b,c;int x,y;scanf("%d",&x);a=x/100;b=x/10%10;c=x%10;y=c*100+b*10+a;printf("%d\n",y);return 0;}四、实验总结:(实验中遇到的问题及解决方法,心得体会等)对于代码不熟悉,写代码速度慢,应在敲代码上花时间。
实验3 顺序结构程序设计
实验3 顺序结构程序设计一、实验目的:1、熟悉赋值、整数相处、取余运算符的使用,能根据需要构建相应的表达式;2、通过样例加深对printf()常用格式控制符功能的理解,掌握printf()函数的使用;3、掌握scanf()函数的使用,能正确输入数据;4、掌握顺序结构程序设计的方法,掌握两变量交换数据的方法。
二、实验内容1、(基础题)运行下列程序,体会printf()中“格式控制符”的用法,并回答相关问题:#include<stdio.h>int main( ){int k=1234;double f=12345.0123456789;printf ("%d\n",k);printf ("%f\n",k);printf ("%15.4f\n",f);printf ("%e\n",f);printf ("%15e\n",f);printf ("%15.4e\n",f);return 0;}问题:已知int k=2569;double f=12345.0123456789;根据上面的代码,在原有printf语句的基础上修改数据输出格式,使得程序运行结果如下图所示。
2、(基础题)分析、运行下列程序,要让各变量得到对应的值:a=3, b=7, x=8.5,y=71.82, c1=’A’, c2=’a’。
问键盘上该如何输入?(说明:若是数值型数据,遇空格、回车、tab键或非法字符时结束)#include<stdio.h>int main( ){int a, b;float x, y;char c1,c2;scanf("a=%d,b=%d",&a,&b);scanf("%f%f",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d, b=%d\n",a,b);printf("x=%f, y=%f\n",x,y);printf("c1=%c,c2=%c\n\n",c1,c2);return 0;}3、(基础题)改错题:以下程序有多处错误,若按下列截图所示格式输入、输出数据,请在程序的相应位置上改正错误。
c语言顺序结构程序设计实验报告
c语言顺序结构程序设计实验报告C语言是一门非常重要的编程语言,它的应用广泛,特别是在嵌入式系统和操作系统开发中。
熟练掌握C语言的顺序结构程序设计是学习编程的基础,本文将围绕这个主题展开。
一、引言顺序结构是C语言中最基本的程序设计结构之一,也是最常用的程序设计结构之一。
顺序结构程序由一系列语句按照顺序执行,没有分支和循环的控制结构。
下面将从变量声明、输入输出、算术运算和函数调用等方面介绍顺序结构程序的设计与实现。
二、变量声明在C语言中,使用变量来存储数据。
在顺序结构程序中,我们首先需要声明变量。
变量的声明包括变量的类型和名称。
例如,可以声明一个整型变量a和一个浮点型变量b,代码如下:int a;float b;三、输入输出在顺序结构程序中,我们经常需要从用户输入数据,并将计算结果输出给用户。
C语言提供了丰富的输入输出函数来实现这一功能。
例如,可以使用scanf函数从用户输入一个整数,并使用printf函数输出这个整数,代码如下:int num;printf("请输入一个整数:");scanf("%d", &num);printf("您输入的整数是:%d\n", num);四、算术运算顺序结构程序中经常需要进行各种算术运算。
C语言提供了一系列算术运算符,如加法、减法、乘法、除法等,可以用来进行各种算术运算。
例如,可以计算两个整数的和,并将结果输出给用户,代码如下:int a = 10;int b = 20;int sum = a + b;printf("两个整数的和是:%d\n", sum);五、函数调用在顺序结构程序中,我们可以使用函数来封装一些常用的操作,以便重复使用。
C语言提供了函数机制,可以定义和调用函数。
例如,可以定义一个函数来计算两个整数的乘积,并在主函数中调用这个函数,代码如下:int multiply(int a, int b){return a * b;}int main(){int a = 10;int b = 20;int result = multiply(a, b);printf("两个整数的乘积是:%d\n", result);return 0;}六、总结顺序结构程序设计是C语言的基础,掌握了顺序结构程序设计,才能进一步学习和理解分支结构和循环结构。
顺序结构编程实验报告
实验名称:顺序结构编程实验一、实验目的1. 理解顺序结构编程的概念。
2. 掌握顺序结构编程的基本语法和规则。
3. 能够运用顺序结构编程解决实际问题。
二、实验内容本次实验主要涉及顺序结构编程的基本概念和语法。
顺序结构编程是最基本的编程结构,它按照代码书写的顺序依次执行。
本实验主要涉及以下内容:1. 变量的声明与赋值。
2. 数据类型的定义。
3. 输入输出函数的使用。
4. 顺序结构编程的基本语法。
三、实验步骤1. 环境搭建(1)打开文本编辑器,如Notepad++。
(2)创建一个新的文件,命名为“顺序结构编程实验.cpp”。
(3)输入以下代码:```cpp#include <iostream>using namespace std;int main() {// 实验内容}```2. 编写顺序结构编程代码(1)变量声明与赋值在main函数中,声明一个整型变量a,并为其赋值10。
```cppint a = 10;```(2)数据类型的定义声明一个浮点型变量b,并为其赋值3.14。
```cppfloat b = 3.14;```(3)输入输出函数的使用使用cout输出变量a和b的值。
```cppcout << "a = " << a << endl;cout << "b = " << b << endl;```(4)顺序结构编程的基本语法在main函数中,按照顺序执行上述代码。
3. 保存文件将代码保存为“顺序结构编程实验.cpp”。
4. 编译与运行(1)打开命令行窗口。
(2)进入文件所在目录。
(3)使用g++编译器编译代码。
```bashg++ -o 顺序结构编程实验顺序结构编程实验.cpp```(4)运行程序。
```bash./顺序结构编程实验```5. 查看结果在控制台输出如下信息:```a = 10b = 3.14```四、实验总结通过本次实验,我们学习了顺序结构编程的基本概念和语法。
实验3 顺序结构程序设计
实验3 顺序结构程序设计实验3顺序结构程序设计班级:学号:姓名:实验3顺序结构编程一.实验目的1.掌握赋值语句的使用。
2.熟练掌握各种类型数据的输入输出方法,能正确使用各种格式转换符。
3.熟练掌握编写顺序结构程序的方法。
4.熟练掌握调试程序的方法。
二、实验要求熟练使用vc集成环境,能利用已学知识设计选择结构程序,并解决实际问题。
三、实验内容1.程序调试与测试《C编程学习指南》p241-249第15章程序调试和测试。
不要写实验报告。
2.程序错误纠正《c程序设计学习辅导》p258-259实验内容部分中的(1)①-④。
3.程序设计3-1从键盘输入一个整数作为半径,以计算圆的周长和面积。
输入输出示例请输入一个整数R:10周长c=62.831853,面积s=314.1592653-2编写一个程序来寻找一元二次型方程AX2?bx?C0的根以及系数a、B和C都是浮点数键盘输入。
(提示:求平方根的函数为sqrt(),所需头文件为math.h)输入/输出示例(需要运行6次)输入一元二次方程的系数a,b,c:000?方程无穷解!输入一元二次方程的系数a、B、C:001,方程没有解!输入一元二次方程的系数a,b,c:021方程有一个根0x=-0.5输入一元二次方程的系数a、B、C:121。
方程有两个相同的实根:X1=x2=-1输入一元二次方程的系数a,b,c:2.18.93.5方程有两个不同的实根:x1=-0.438662,x2=-3.799433输入一元二次方程的系数a,b,c:221方程有两个不同的虚根:X1=-0.5+0.5i,X2=-0.5-0.5i四.实验结果与分析在实验报告中,回答实验内容2的相关问题,列出相应的源程序和实验内容3的程序运行结果截图,分析实验中遇到的问题和解决问题的方法。
(注意:重新翻页。
不要改变实验报告的结构,清楚地写下页码和问题号,源程序应以自己的中文名称命名。
例如,问题3-1可以命名为“Zhang San_3-1.CPP”,其名称和问题号应出现在操作的屏幕截图中)遇到的问题:一开始没有办法很好的输出虚根,总是显示错误,最后运用sqrt(-disc)的方法先计算出来数值,然后用%8.4fi\\n的方式来进行表达。
实验三 简单的C程序设计和基本输入输出处理
实验三简单的C程序设计和基本输入输出处理(二)一、调示示例。
1、求华氏温度100。
F对应的摄氏温度。
计算公式:C=(5/9)(F-32),其中C表示摄氏温度,F表示华氏温度。
源程序(有错误)#include<stdoi.h>main(){ int celsius;fahr;fahr=100;celsius=5*(fahr-32)/9;printf("fahr=d,celsius=%d\n",fahr,celsius);}1)输入源程序。
2)实验一中用菜单完成编译、连接和运行,现在介绍工具栏的使用方法。
在工具栏或菜单栏上单击鼠标右键,出现如图所示的整个工具箱。
图中第1个按钮为“Compile”(编译,Ctrl+F7),第2个按钮为“Build”(构件,F7),第4个按钮为“Build Execute”(执行,Ctrl+F5)。
3)单击“编译”工具条中的第1个按钮,出现第一个错误信息:Cannot open include file: 'stdoi.h': No such file or directory (不能打开stdoi.h)改正(应该是stdio.h)后,重新编译,新产生的第一个错误信息是:'fahr' : undeclared identifier(“fahr”变量没有定义)改正:将fahr前的分号改为逗号,重新编译,编译正确。
4)单击“编译”工具条中的第2个按钮,连接正确。
5)单击“编译”工具条中的第4个按钮,运行结果为:fahr=d,Celsius=100不符合题目的要求,仔细检查源程序,发现函数printf()中的d应为%d,改正的,重新连接和运行,运行结果与题目要求的结果一致,程序调试结束。
2、改错,计算某个数x的平方y,并以算术公式的形式输出x和y的值.请不要删除源程序中的任何注释。
输入输出示例(假设x的值为3):9=3*33*3=9#include <stdio.h>main(){int y;y=x*x;printf(“%d=%d*%d”,x); /* 输出printf(“d*%d=%d”,y);}改正后的源程序:3、编程,计算整数和输入共两行,每一行上有3个整数,整数之间用英文逗号间隔;输出有两行,分行输出对应的整数和;示例:输入:1,2,3-1,-2,-3输出6-64、上题的输入,整数之间改为空格分隔示例:输入:1 2 3-1 -2 -3输出6-65、程序main(){ int a,b;float c,d;long e,f;double u,v;char c1,c2;scanf("%d,%d",a,b);scanf("%f%f",c,d);scanf("e=%1d,f=%1d",e,f);scanf("%f%f",u,v);scanf("%c,%c",c1,c2);printf("\n");printf("a=%d,b=%d\n",&a,&b);printf("c=%f,d=%f\n",&c,&d);printf("e=%d,f=%d\n",&e,&f);printf("u=%o,v=%\n",&u,&v);printf("c1=%d,c2=%d\n",&c1,&c2);}1,这个程序有语法错误吗?为什么?2,调试上述程序无语法错误后,用下面的数据对程序进行测试:a=123, b=456, c=17.6, d=71837.657, e=70000, f=2174506, u=6.2000, v=5.8 765, c1=‘a‘,c2=‘b‘分析运行结果。
实验三 顺序结构程序设计实验
实验三顺序结构程序设计实验一、实验目的1.掌握顺序结构程序的基本设计方法;2.掌握数据传送指令和算术运算指令的用法;3.掌握逻辑操作指令和移位操作指令的用法;4.掌握状态标志位操作指令的用法;5.掌握简单的I/O功能调用。
二、实验要求1.熟练掌握DEBUG中的各命令的使用方法;2.学会利用系统功能调用,来实现键盘输入字符、显示字符的方法;3.学会十进制数字与其对应的ASCII码相互转换的方法;4.学会十六进制数字与其对应的ASCII码相互转换的方法;5.学会利用查表的方法实现代码的转换。
三、实验举例【例3.3】 编写程序,完成两个十六进制数的加法运算,要求:从键盘输入被加数和加数,将计算结果保存在RAL内存单元的同时在屏幕上显示。
【解题思路】利用INT 21H的1号功能从键盘上输入一个被加数和加数,将两个数之和的ASCII保存在内存单元和DL寄存器中,然后利用INT 21H的2号功能将其输出到屏幕上。
【步骤一】启动EDIT编辑器,编辑源程序。
程序清单如下:DSEG SEGMENTRAL DB ?DSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART: MOV AX,DSEGMOV DS,AXMOV AH,01H ;输入第一个数INT 21HSUB ` AL,30HMOV BL,ALMOV DL,‘+’ ;显示“+”号MOV AH,02HINT 21HMOV AH,01H ;输入第二个数INT 21HSUB AL,30HADD BL,ALMOV RAL,BL ;结果存入RAL单元CMP BL,09HJB AD30ADD BL,07HAD30: ADD BL,30HMOV DL,‘=’ ;显示“=”号MOV AH,02HINT 21HMOV DL,BL ;显示结果MOV AH,02HINT 21HMOV AH,4CHINT 21HCSEG ENDSEND START源程序输入完毕,以EXAM3.ASM为文件名存入磁盘,进行下一步操作。
C语言程序设计实验三顺序结构与逻辑运算
实验2 顺序结构与逻辑运算学号:1400140224 姓名:王彦钧实验日期:2015-4-241.实验目的和要求(1)掌握数据输入/输出函数的使用,能正确使用各种格式转换符。
(2)熟悉顺序结构程序中语句的执行过程,并学会基本调试程序方法。
(3)能够正确使用逻辑运算符和逻辑表达式。
(4)学会运用逻辑表达式或关系表达式等表示条件。
(5)熟练掌握if语句和switch语句,掌握条件表达式构成的选择结构。
(6)熟练掌握跟踪调试程序,针对具体数据组织输入测试数据,观察程序运行能否得到预期的输出结果。
(7)学会编写简单程序。
2.实验内容:实验指导书中的实验三和实验四3.实验步骤及结果实验三部分:3-1-1 该程序正确的源程序代码(或窗口截图):程序运行结果画面如下:3-1-2该程序正确的源程序代码(或窗口截图):程序运行结果画面如下:3-2-1该程序完整的源程序代码(或窗口截图):程序运行结果画面如下:3-2-2该程序完整的源程序代码(或窗口截图):程序运行结果画面如下:3-3语法错误和逻辑错误的区别何在?语法错误是指违背了程序的语法规则,无法通过编译器的编译,更无法运行。
逻辑错误是指在语法正确的前提下算法上的错误,能够运行,但结果往往不对,且很难发现。
如何启动单步调试?单击菜单栏“组建”下的“开始调试”,单击“STEP INTO”,也可以按快捷键F11,使每条语句单独执行。
要使程序运行到“ss=(k…”这一行暂停下来,该如何操作?单击调试菜单中的“stept over”或按快捷键F10。
怎样终止调试状态(程序复位)?单击调试菜单中的“stop debugging”或者按快捷键shift加F5.单步调试状态下,向下运行一条语句的操作方法(分两种情况回答,第一种,跟踪到自定义函数内部,第2种,不跟踪到自定义函数内部):1. 单击调试菜单中的Step into 进入到自定义函数内部。
2. 单击调试菜单中的step over 不跟踪到自定义函数内部。
实验三 顺序结构程序设计
实验三顺序结构程序设计一、实验目的1、掌握C 语言中赋值语句的使用方法;2、掌握不同类型数据的输入输出方法,能正确使用各种格式字符;二、实验预习1、认真阅读数据的输入输出部分内容。
三、实验指导1、从键盘输入两个0 到127 的整数,求两数的平方差并输出其值以及这两个整数的ASCII 码对应的字符。
(1)算法分析:标准ASCII 码值范围是0 到127,所以在这范围内的数可以以字符形式输出,实现方法是用格式输出函数并用格式符c 控制输出。
(2)根据结果书写源程序#include<stdio.h>void main( ){int x,y,sub ;scanf("%d%d",&x,&y);/* 变量前一定要加取地址符& */sub=x*x-y*y ;printf("%c,%c,%d",x,y,sub);}(3)在C 编辑环境下编辑源程序。
(4)编译【F9】,直到程序没有错误。
(5)运行【Ctrl+F9】,从键盘输入:100 50↙注意输入时两数间应以空格间隔,不能用逗号,只有源程序输入函数中两格式符以逗号间隔时输入才可以是:100,50↙(6)查看结果【Alt+F5】,输出内容如下:d,2,75002、输入程序#include <stdio.h>void main( ){int a,b ;float d,e ;char c1,c2 ;double f,g ;long m,n ;unsigned int p,q ;a=61 ;b=62 ;c1='a' ;c2='b' ;d=3.56 ;e=-6.87 ;f=3157.890121 ;g=0.123456789 ;m=50000 ;n=-60000 ;p=32768 ;q=40000 ;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);}(1)运行程序并分析结果。
实验 顺序结构程序设计
实验三 顺序结构程序设计一、实验目的1.进一步熟悉C 程序的上机过程,积累调试经验。
2.进一步熟悉C 语言的输入、输出函数的使用。
3.增强基本顺序结构程序设计的能力。
4. 加深简单算法设计和分析能力。
二、实验意义通过上机实验,巩固第一章所学的所有基础知识,加入对问题的分析和算法设计能力,进行尝试性的自我程序设计,提高学生对问题的分析理解和C 语言基本知识的应用能力。
三、实验重点1. 算法分析和程序设计2. 继续巩固输入函数scanf ()的使用3. 正确构造算术表达式四、实验难点1. 算法分析和程序设计2. 程序调试五、实验方式提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。
六、实验内容1. 编写程序,输入圆半径r ,求圆周长、圆面积、圆球表面积、圆球体积。
要求:为加强界面的友好,输入数据与输出结果都应有相应的提示信息。
且输出数据取小数点后两位数字显示。
2. 输入一个华氏温度,要求输出摄氏温度。
公式为:()3295-=F c 输出要有文字说明,取2位小数。
3.有三个电阻r1、r2、r3并联,编写程序计算并输出并联后的电阻r 。
已知电阻并联公式为:3121111r r r r ++= 4. 要将”China”译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母。
例如,字母”A”后面第4个字母是”E”,用”E”代替”A”。
因此,”China”应译为”Glmre”。
请编一程序,用赋初值的方法使c1、c2、c3、c4、c5 五个变量的值分别为’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’、,并输出。
①输入事先已编好的程序,并运行该程序。
分析是否符合要求。
②改变c1、c2、c3、c4、c5、的初值为:’T’、’o’、’d’、’a’、’y’,对译码规律作如下补充:’W’用’A’ 代替,’X’用’B’代替,’Y’用’C’代替,’Z’用’D’代替。
字符及字符串输入输出与顺序程序设计实验微机
一、实验预习
实验序号 3 实验题目 字符及字符串输入输出与顺 序程序设计实验 预习日期 2014/5/10
要求:1.实验目的;2.实验设备;3.实验内容及步骤;4.思考与练习
实验目的:1、学习和掌握字符及字符串的输入、输出方法。 2、掌握顺序程序的设计方法。 3、进一步掌握调试工具的使用方法。 实验设备:微型计算机 一台 实验预习要求:1、复习DOS功能调用中用于字符输入(功能号01H) 、字符输出(功能号为02H) 、字符串输(功 能号为0AH)以及字符串输出(功能号为09H)的调用方法。 2、复习BCD码运算调整指令AAA。 3、根据“实验内容及步骤 2”中给出的源程序框架,编写完整的源程序,以便实验时调试。 4、从“实验习题”中任选一道题目,编写源程序,以便上机调试。 实验内容及步骤: 从键盘输入两个1位十进制数,计算这两个数之和,并将结果在屏幕上显示出来。 ①.从键盘输入一个1位十进制数的方法。 通过功能号为1的DOS功能调用实现从键盘输入一个字符,格式如下: MOV AH,01H INT 21H ;此时程序等待用户键入,键入字符的ASCII码值存在AL中。
②.提示信息字符串的显示。 通过功能号为9的DOS功能调用实现字符串的显示,注意字符串的最后一个字符必需为‘$’。指令格式如下: MOV DX,OFFSET INFOR1 MOV AH,09H INT 21H ;INFOR1为在数据段中定义的要显示的字符串名。
③.非压缩型BCD码加法调整指令的使用。 设从键盘输入的数值已存放在寄存器AL,BL中,可用下列程序完成数据相加和调整操作: XOR ADD AAA AH,AH AL,BL ;执行该指令后,AH中为和的十位数,AL中为和的个位数
第
实验3 顺序结构程序设计
实验3 顺序结构程序设计一、实验目的1.掌握scanf()、printf()以及其他常用输入、输出函数的使用。
2.掌握格式控制符的使用。
3.掌握顺序结构程序设计的方法。
二、实验内容1.改错题(1)下列程序的功能为:输入一个华氏温度,要求输出摄氏温度。
公式为:C=5(F?32),9输出取2位小数。
纠正程序中存在的错误,以实现其功能。
程序以文件名sy3_1.c 保存。
#include#include main()main() {{ float c,f;floatc,f; printf(\请输入一个华氏温度:\\n\;printf(\请输入一个华氏温度:\\n\scanf(\,f);scanf(\c=(5/9)*(f-32);c=(5.0/9)*(f-32); printf(\摄氏温度为:%5.2f\\n\;printf(\摄氏温度为:%5.2f\\n\} (2)下列程序的功能为:按下列公式计算并输出x的值。
其中a和b的值由键盘输入。
纠正程序中存在的错误,以实现其功能。
程序以文件名sy3_2.c保存。
x?2ab 2(a?b)#include #includemain() main(){ inta,b; {inta,b;float x; float x;scanf(\scanf(\x=2.0*a*b/((a+b)*(a+b)); x=2ab/(a+b)(a+b);printf(\ printf(\} }(3)下列程序的功能为:从键盘输入一个小写字母,要求改用大写字母输出。
请纠正程序中存在的错误,使程序实现其功能,程序以文件名sy3_3.c保存。
#include main() {char c1,c2;c1=getchar; c1=getchar();/* 从键盘输入一个小写字母 */printf(\ /* 输出该小写字母及其ASCII码值 */ c2=c1+26; c2=c1-32;/* 转换为大写字母 */printf(\ /* 输出大写字母及其ASCII码值 */ }2.程序填空题(1)下列程序的功能为:按给定格式输入数据,按要求格式输出结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运行此程序,比较应用printf和putchar 函数输出字符的异同点。
4. 编写程序,打印下列图形。
1
2 2
3 3
4 4
5 5 5 5 5 5 5 5 5
main()
{
b=getchar();
putchar('\n');
putchar(a);
putchar('\n');
putchar(b);
printf("\n %c %c",a,b);
三、实验内容
1. 通过下列程序,进一步掌握:
(1)赋初值的方法。
(2)赋值语句与赋值表达式的区别。
(3)了解简单的编程方法。
试编程序,求下列表达式的值。(其中:a=3,b=4,c=3)。
main()
{
float y;
int a,b=4,c,d;
ห้องสมุดไป่ตู้
2. 通过下列程序掌握:
(1)数字、字符的输入及数字和字符的混合输入。
(2)输入语句中指定输入数据所占列数。
(3)数据以标准及指定宽度输出。
(4)用不同格式输出数据。
main()
{
int a,b;
12345└┘123.456ab
3. 编写程序,用getchar函数读入两个字符,然后分别用putchar函数和printf函数输出这两个字符。
main()
{
char a,b;
a=getchar();
printf("x=%f,%6.2f,%e,%g\n",x,x,x,x);
printf("c1=%c,c2=%d\n",c1,c2);
printf("%s,%.4s\n","very good","very good");
}
a=c=3;
d=a+10; /*表达式中出现多个a+10 ,为了减少运算次数且表达式清晰,所以将a+10 赋于d */
y=d/(b+d/2)*c;
printf("%f\n",y);
}
运行此程序,观测结果。是否可将程序第四行和第五行合为一行:int a=c=3,b=4;为什么?printf("%f\n",y= d/(b+d/2)*c);和printf("%f\n", d/(b+d/2)*c;);哪一条可以正确替代程序中的第七行和第八行?为什么?
本文档是本人花费多年,收集整理的,精心挑选!
实验3 顺序结构程序设计和输入输出函数运用
一、实验目的
1. 掌握赋值语句的使用方法。
2. 熟练掌握输入输出函数。
3. 了解简单的编程方法。
二、实验要求
1. 通过编写和调试简单的程序,学会正确使用赋值语句。
2. 通过调用输入输出函数,掌握各种类型数据输入和输出的方法。
当运行此程序,输入下列数据时,分析程序执行结果。
123└┘-1└┘123.456└┘ab
若将程序第六行改为:scanf("%2d%3d%f%c%c",&a,&b,&x,&c1,&c2); 当运行此程序,输入下列数据时,分析程序执行结果。
float x;
char c1,c2;
scanf("%d%d%f%c%c",&a,&b,&x,&c1,&c2);
printf("a=%d,%x,%o,%c\n",a,a,a,a);
printf("b=%d,%u\n",b,b);
printf("%2c%6c\n",d,d);
printf("%s\n","555555555");
}
本文档是本人花费多年,收集整理的,精心挑选!
char a='1',b='2',c='3',d='4';/*将输出符号赋值给变量,可以提高程序的通
用性,即如果想改变输出图案,只需改变变量的值。*/
printf("%5c\n",a);
printf("%4c%2c\n",b,b);
printf("%3c%4c\n",c,c);