付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验二顺序结构和循环结构实验目的:1、理解C语言顺序结构;2、熟练掌握printf函数和scanf函数的使用方法;3、熟练掌握if语句和switch语句的使用方法;4、熟练掌握循环结构三大语句的特点。实验要求:从现在开始,同学们要逐渐培养自己的独立思考问题的能力和编程思维。首先自己认真想,这个过程是掌握C语言,接受C语言的必经之路。想过、思考过,有疑问再讨论。实验内容:一、printf函数和scanf函数1、printf函数:(1) 练习printf中的格式控制字符串。新建一个文件,在VC中输入下面的程序代码:#include<stdio.h>main()inti=2000;flo
2、atj=2.71828;printf("i=%d,j=%f,j*10=%fn”,i,j,j*10);查看程序的运行结果,将其记录下来:将程序中printf函数那一行改为:printf("j*10=%d,i=%f,j=%fn",i,j,j*10);运行程序,记录下运行结果:再将其改为:printf("iis%d,jis%f,j*10is%fn",i,j,j*10);运行程序,记录下运行结果最后将其改为:printf("%d,%f,%fn",i,j,j*10);运行程序,记录下运行结果分析与总结:看看这四个结果有什么相同点和不同
3、点,想想在printf函数的格式控制字符串(即双引号引起来的部分)中的i和j有什么作用。结论:在格式控制字符串中出现的变量名,仅仅起一个提示的作用,它将被原样输出到屏幕上。其有无以及正确与否,均不影响后面值的输出。(2) 练习整数的不同格式控制符。新建一个文件,在VC中输入下面的程序代码:main()inta=32767;printf("%dn”,a);printf("%on”,a);printf("%xn”,a);运行程序,看看相同的变量,在不同格式控制符的控制下,向屏幕输出不同的结果。(3) 练习printf函数对整型数据输出宽度的控制。新建一个文件,在VC中
4、输入下面的程序代码:main()inta=5732;printf("%dn”,a);printf("%6dn”,a);printf("%3dn”,a);看看程序的运行结果,记住printf函数对整型数据输出宽度的控制规律。(3) 练习printf函数对实型数据输出宽度的控制。新建一个文件,在VC中输入下面的程序代码:main()(floata=3.14159;printf("p=%10fn",a);printf("p=%4fn",a);printf("p=%.2fn",a);printf("p=
5、%.4fn",a);printf("p=%2.4fn",a);printf("p=%10.4fn",a);根据本实验记住printf函数对实型数据输出宽度的控制规律,注意对小数位数的舍弃情况。(4) 验证整型数据的存储结构。新建一个文件,在VC中输入下面的程序代码:main()(inta=-1;printf("%dn",a);printf("%un”,a);把-1在两个字节中的补码计算出来,在与程序第二个输出结果进行比较,想想为什么。2、scanf函数:(1) 练习使用scanf函数从键盘输入整型数据。新建一个文件
6、,在VC中输入下面的程序代码:main()(inta;scanf("%d",&a);printf("%dn",a*10);运行程序,此时程序将停止在scanf函数中,等待用户的数据输入。因此,用户看到的是一个黑色的屏幕,光标在上面一闪一闪。如果不输入数据,则无论敲多少个回车键,程序均不能结束,也就是不能回到VC的界面。在屏幕上输入45,再回车。程序运行结束,按Alt+F5查看运行结果。这是会发现在屏幕上输出了数字450,这就是我们要求程序输入的东西。多运行几次程序,每次输入不同的数字,看看运行结果。想想用scanf函数给变量赋值和直接给变量赋值有
7、什么不同。(2) 练习使用scanf函数获取长整型数据。将上一个例子改为如下:#include<stdio.h>main()longa;scanf("%ld",&a);printf("%dn",a*10);注意,%ld中的l是字母l,不是数字1。运行程序,输入数据,看看程序的运行结果,然后将scanf函数中的格式控制符%1d改为d,即将scanf函数改为:scanf("%d",&a);运行程序,看看结果,想想为什么。结论:使用scanf函数输入长整型数据时,必须使用%ld,不得省略字母l。(3) 练习使用s
8、canf函数获取单精度实型数据。新建一个文件,在VC中输入下面的程序代码:main()(floata;scanf("%f",&a);printf("%fn",a*10);运行程序,输入数据,查看程序运行结果。(4) 练习使用scanf函数获取双精度实型数据。将上一个例子改为如下:main()(doublea;scanf("%lf",&a);printf("%fn",a*10);运行程序,输入数据。然后去掉%lf中的字母l,再运行程序,输入相同数据,查看程序运行结果。比较两次结果,想想为什么。结论:使
9、用scanf函数输入双精度实型数据时,必须使用%lf,不得省略字母l。(5) 练习printf和scanf配合使用。新建一个文件,在VC中输入下面的程序代码:#include<stdio.h>main()(inta;printf("Inputanumber:n");scanf("%d",&a);printf("%dn",a);运行程序,输入数据,看看程序的运行结果。将程序第三行"printf("Inputanumber:n");”删除,再运行程序,输入相同数据,再看看程序的运行结果,想
10、想为什么。结论:scanf函数前面的printf函数仅仅起到提示作用,其有无或具体是什么内容,均不影响后面的scanf函数。(6) 同时输入多个数据。新建一个文件,在VC中输入下面的程序代码:#include<stdio.h>main()(inta;floatb,c;scanf("%d%f%f",&a,&b,&c);printf("a=%d,b=%f,c=%fn",a,b,c);注意在scanf函数中%d和两个%f之间均无其它符号。运行程序,输入3个数据。注意这3个数据之间只能以空格、制表符号或回车符隔开,不能以逗号或
11、其它符号隔开。二、选择结构(1) 新建一个文件,输入以下程序代码:#include<stdio.h>main()(inta;scanf("%d”,&a);if(a>=60)printf("Pass!n");elseprintf("Fail!n");将程序多运行几遍,每次输入0100之间不同的数据,看看程序的运行结果。(2) 新建一个文件,输入以下程序代码:#include<stdio.h>main()(inta;scanf("%d”,&a);if(a>=90)printf("
12、;An");elseif(a>=80)printf("Bn");elseif(a>=70)printf("Cn");elseif(a>=60)printf("Dn");elseprintf("En");将程序多运行几遍,每次输入0100之间不同的数据,看看程序的运行结果。(3) 新建一个文件,输入以下程序代码:#include<stdio.h>main()(inta=4,b=3,c=5,t;if(a<b)(t=a;a=b;b=t;if(a<c)(t=a;a=c;c
13、=t;printf("%d%d%dn",a,b,c);运行程序,看看程序的运行结果。再将上面的程序改为:#include<stdio.h>main()(inta=4,b=3,c=5,t;if(a<b)t=a;a=b;b=t;if(a<c)t=a;a=c;c=t;printf("%d%d%dn",a,b,c);注意两个程序的区别,运行程序,看看程序的运行结果,比较一下两次结果的不同之处,分析一下原因。三、循环结构在编写循环结构程序的时候,往往由于忘记了对循环变量的值进行改变,从而变成了死循环。其症状是屏幕一直停留在DOS界面,不能做
14、任何响应,这时候就需要强制将程序结束。按组合键Ctrl+C可以强制结束程序。(1) 求出1100之间的和。新建一个文件,输入以下程序代码:#include<stdio.h>main()(inti=0,s=0;while(i<=100)(s+=i;i+;printf("%dn”,s);运行程序,查看程序的运行结果。将循环判断条件改为i<100,再运行程序,看看程序的运行结果,分析一下原因。试着将上面的程序改为do-while循环结构和for循环结构,分别运行程序,查看程序运行结果。(2) 新建一个文件,输入以下程序代码:#include<stdio.h&g
15、t;main()(inti=1,sum=1;while(i<=5)(sum=sum*i;i+;printf("%d",sum);运行程序,查看程序的运行结果,分析程序实现的功能。再将上面的程序改为do-while循环和for循环。新建一个文件,输入以下程序代码:#include<stdio.h>main()(inta;do(scanf("%d”,&a);if(a>=60)printf("Pass!n");elseprintf("Fail!n");while(a!=0);运行程序,输入数据,看看
16、程序的运行结果。当输入数据0时,结束程序的运行。(3) 利用公式兀/4=1-1/3+1/5-1/7+1/9-求兀的近似值,直到最后一项的绝对值小于10-4为止。新建一个文件,输入以下程序代码:#include<stdio.h>#include"math.h"main()(inti=1,a=1;floatpi=0,s=a*1.0/i;while(fabs(s)>=1e-4)(pi+=s;a=-a;i+=2;s=a*1.0/i;pi*=4;说明:fabs是求绝对值的函数,调用fabs函数必须包含头文件math.h。运行上面的程序,查看运行结果,思考并验证下面的几个问题:1、变量a起什么作用;2、如果将表达式s=a*1.0/i写为s=a/i,结果会怎样;还可以写出那些与这个表达式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026校招:吉祥航空面试题及答案
- 2026校招:恒力集团笔试题及答案
- 2026校招:海尔集团试题及答案
- 2026校招:甘肃能化股份公司笔试题及答案
- 2026校招:东华能源公司笔试题及答案
- 2026校招:东方希望集团笔试题及答案
- 2026校招:得力集团面试题及答案
- 2025-2026学年劳动教育教学设计广东
- 2025-2026学年听评课教案
- 2025-2026学年家乡的桥教学设计
- 失效分析培训课件
- 【人教版化学】选择性必修2 知识点默写小纸条(空白默写版)
- 房地产 -JGJT46-2024《施工现场临时用电安全技术标准》条文解读
- 《网页设计与制作案例实战教程》全套教学课件
- 中国当代文学史课件
- DL∕T 5776-2018 水平定向钻敷设电力管线技术规定
- 医务人员培训手卫生规范课件爱国卫生月
- 2024年北京市成考(专升本)生理学护理学专业考试真题含解析
- 中医胸痹心痛病
- 小学科学冀人版六年级下册全册同步练习含答案
- 过年开销清单分析报告
评论
0/150
提交评论