您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > 《C语言程序设计》实验指导书答案
实验一(第1章实验)实验目的:1.掌握运行C语言程序的全过程。2.熟悉编译环境VisualC++或者DevC++或者TurboC2.0//3.0。3.初步熟悉C语言程序的语法规定。4.了解简单函数的使用方法。实验内容:1.编程且上机运行:求3个整数的和。2.编程且上机运行:求2个数的和、差、积和商。3.编程且上机运行:输入3个数,求最大值。4.编程且上机运行:输入圆的半径,求圆的面积和周长。5.在屏幕上输出:“helloworld!”6.输入并编辑本章中给出的C程序例子,在自己用的环境中形成一个C语言源程序文件;对这个源程序进行加工,得到对应的可执行程序,看一看它的效果。实验结果:1.#includestdio.h#includestdlib.hmain(){inti,j,k;printf(inputi,j,k:);//输入整数数据,以半角逗号间隔,比如:1,2,3scanf(%d,%d,%d,&i,&j,&k);//不能缺少地址符号“&”printf(%d+%d+%d=%d\n,i,j,k,i+j+k);system(Pause);}2.#includestdio.h#includestdlib.hmain(){inti,j;printf(inputi,j(not0):);//输入整数数据,以半角逗号间隔,j不为0,因为做除数scanf(%d,%d,%d,&i,&j);//不能缺少地址符号“&”printf(%d+%d=%d\n,i,j,i+j);printf(%d-%d=%d\n,i,j,i-j);printf(%d*%d=%d\n,i,j,i*j);printf(%d/%d=%d\n,i,j,i/j);system(Pause);}3.#includestdio.h#includestdlib.hmain(){inti,j,k;printf(inputi,j,k:);//输入整数数据,以半角逗号间隔scanf(%d,%d,%d,&i,&j,&k);//不能缺少地址符号“&”if(ij){if(jk)printf(max:%d,i);elseif(ik)printf(max:%d,i);elseprintf(max:%d,k);}else{if(jk)printf(max:%d,k);elseprintf(max:%d,j);}system(Pause);}4.#includestdio.h#includestdlib.h#definepi3.14main(){floatr;printf(inputr:);scanf(%f,&r);//不能缺少地址符号“&”printf(circleareais:%6.2f,pi*r*r);system(Pause);}5.#includestdio.h#includestdlib.h#definepi3.14main(){printf(helloworld!);system(Pause);}6.略实验二(第3章实验一)实验目的:理解C语言的类型系统。实验内容:写程序测试数据-2在类型char,int,unsignedint,longint,unsignedlongint中存储情况。实验过程:实验结果:参见各种类型的存储实现描述。#includestdio.h#includestdlib.h#includestring.hmain(){charc='-2';//1inti=-2;//4unsignedintui=-2;//4longintli=-2;//4unsignedlongintuli=-2;//4printf(%d\n,sizeof(char));printf(%d\n,sizeof(int));printf(%d\n,sizeof(unsignedint));printf(%d\n,sizeof(longint));printf(%d\n,sizeof(unsignedlongint));printf(%c,%d,%u,%ld,%lu,i,i,i,i,i);system(Pause);}实验二(第3章实验二)实验目的:了解混合类型计算中类型的转换规则。实验内容:写程序测试多种类型数据一起运算时类型的转换及表达式结果的类型。注意unsignedint和int数据运算时类型转换的方向。实验过程:/**类型转换问题*试问下面两个表达式等价吗?*/#includestdio.h#includestdlib.hintmain(){unsignedintui,uj;ui=1;uj=2;if(uiuj)printf(\n%u%uistrue!\n,ui,uj);elseprintf(\n%u%uisfalse!\n,ui,uj);if(ui-uj0)printf(\n%u-%u0istrue!\n,ui,uj);elseprintf(\n%u-%u0isfalse!\n,ui,uj);system(pause);return0;}实验结果:不等价。结果如下:12istrue!1-20isfalse!原因是1-2=-1,-1在unsignedint中的表示为3123157011111111111111111111111111111111实验二(第3章实验三)实验目的:理解数据溢出现象。实验内容:写程序测试数据溢出,注意分别在16环境和32环境中测试。实验过程:实验结果:参见【例3.3】。实验三(第3章实验四)实验目的:char的符号问题。实验内容:写程序测试你所用的C语言编译器char符号问题的处理方案。实验过程:/**这个程序验证编译器对char的解决方案,是有符号,还是无符号*/#includestdio.h#includestdlib.hintmain(){charc=-1;intk;k=c;/*k=?*/if(k==255)printf(Thecharisunsignedchar.\n);elseprintf(Thecharissignedchar.\n);printf(k=%d,%x,k,k);system(pause);return0;}实验结果:TC2.0和DevC++中char是有符号的实验三(第3章实验五)实验目的:自增和自减运算符。实验内容:写程序测试++、--运算符。实验过程:main(){inti=3;printf(i=%d\n,i++);printf(i=%d\n,i);printf(i=%d\n,++i);printf(i=%d\n,i);}实验结果:i=3i=4i=5i=5实验三(第3章实验六)实验目的:理解输入输出函数。1.掌握输入输出函数的使用方法。2.掌握格式字符的使用方法。3.掌握不同数制间使用格式字符转换数据的方法。实验内容:用getchar、putchar、printf、scanf函数实现各种数据的输入和输出。实验过程:实验结果:例如://用getchar、putchar、printf、scanf函数实现各种数据的输入和输出。#includestdio.h#includestdlib.hmain(){printf(inputacharc:);charc=getchar();putchar(c);inti;printf(\ninputainteger:);scanf(%d,&i);printf(i=%d\n,i);printf(c=%c\n,c);printf(typechar'ssizeis%d\n,sizeof(char));//1printf(typeint'ssizeis%d\n,sizeof(int));//4system(Pause);}实验四(第4章实验)实验目的:1.学会使用逻辑运算符和逻辑表达式;2.熟练掌握if语句和switch语句。实验内容:1.从键盘输入三个整数a,b,c,输出其中最大的数。2.求方程ax2+bx+c=0的根,其中a,b,c由键盘输入。有以下几种情况:①a=0,不是二次方程;②b2-4ac=0,有两个相等的实根;③b2-4ac0,有两个不等的实根;④b2-4ac0,有两个共轭复根。3.有一函数X(X<1)Y=2X-1(1≤X<10)3X-11(X≥10)写一程序,输入整数X,输出Y的值。4.给一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。90分以上为‘A’,80-89分为‘B’,70-79分为‘C’,60-69分为‘D’,60分以下为‘E’。5.企业发放的奖金根据利润提成。利润(B)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分可提成7.5%;200000<B≤400000时,高于20万元的部分按5%提成;400000<B≤600000时,高于40万元的部分按3%提成;600000<B≤1000000时,高于60万元的部分按1.5%提成;B>1000000时,高于100万元的部分按1%提成。从键盘输入当月利润B,求应发放奖金总额。6.从键盘任意输入一个不多于五位的正整数,①求它是几位数;②分别输出每一个数字;③按逆序输出各位数字,例如原数为135,应输出531。实验过程:实验结果:1.见第三版第五章作业5.42.见第三版教材108页3.见第三版第五章作业5.54.见第三版第五章作业5.65.见第三版第五章作业5.86.见第三版第五章作业5.7实验五(第5章实验一)实验目的:1.掌握循环的概念,学习用循环的思想来思考实际问题。2.掌握单循环的使用方法。实验内容:1.计算1001nns,输出其结果。2.使用循环结构输出下列图形。3.计算下列公式的和,要求最后一项小于10-5。171101311。提示:通项公式为:11)1(21nn。4.输入30个字符,分别统计其中数字、字母及字符的个数。5.求出Fibonacci(斐波那契)数列的前20项。Fibonacci(斐波那契)数列的规律是:前2项为0和1,其余各项为该项前2项之和,即0,1,1,2,3,5,8,13……。实验过程:实验结果:1.#includestdio.h#includestdlib.hmain(){ints=0;//试一下s不赋初值inti;//循环变量for(i=1;i=100;i++){s+=i;}printf(1+2+...+100=%d\n,s);system(Pause);}2.#includestdio.h#includestdlib.hmain(){inti,j,k;for(i=0;i=9;i++){for(j=0;j=9-i;j++)printf();//画空格for(k=0;k2*i+1;k++)printf(%d,i);//输出2i+1个数字printf(\n);}system(Pause);}3.#includestdio.h#includestdlib.h#includemath.hmain(){inti=0;floatsum=0.0,t;intf=1;t=1.0/(i*i+1);while(t=pow(10,-5)){sum=sum+f*t;f=-f;//符号i++;t=1.0/(i*i+1);//项}printf(sum=%9.6f\n,sum);system(Pause);}4.#includestdio.h#includestdlib.hmain(){intnum=0;intalph=0;intch=0;inti;charc;for(i=1;i=10;i++){c=getchar();if(c='0'&&c='9')num++;elseif(c='a'&&c='z'||c='A'&&c='Z')alph++;elsech++;}printf(numberhas%d,alphhas%d,charhas%d,num,alph,c
本文标题:《C语言程序设计》实验指导书答案
链接地址:https://www.777doc.com/doc-2864499 .html