C语言程序设计-实验C语言实验报告.docx
《C语言程序设计-实验C语言实验报告.docx》由会员分享,可在线阅读,更多相关《C语言程序设计-实验C语言实验报告.docx(98页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、弹中科技大穿课程实验报告课程名称:c语言程序设计专业班级:信息安全1302班学 号:=姓 名:指导教师:报告日期: 2014年6月16日计算机科学与技术学院目录1实验概述42 和木木与乐j出 62. 1实验目的62.2 实验内容62.3 实验小结103流程控制实验113. 1实验目的113.2 实验内容113.3 实验小结174函数与程序结构实验174. 1实验目的174.2 实验内容184.3 实验小结255编译预处理实验255. 1实验目的255.2 实验内容255.3 实验小结326标准库及用户自定义库326. 1实验目的326.2 实验内容336.3 实验小结337数组实验347. 1
2、实验目的347.2 实验内容347.3 实验小结428指针实验438. 1实验目的438.2 实验内容438.3 实验小结519结构与联合实验519. 1实验目的519.2 实验内容529.3 实验小结6410文件实验6410. 1实验目的6410.2 实验内容6410.3 实验小结7211第一次实验7211. 1实验目的7211.2 实验内容7211.3 实验小结7712第二次实验7712. 1实验目的7712.2 实验内容7712.3 实验小结8013第三次实验8113. 1实验目的8113.2 实验内容8113.3 实验小结8414第四次实验8414. 1实验目的8414.2 实验内容8
3、414.3 实验小结8615第五次实验8715. 1实验目的8715.2 实验内容8715.3 实验小结8916.2 实验内容8916.3 实验小结9510实验总结95参考文献971实验概述C语言是在20世纪70年代初问世的。1978年由美国电话电报公司(AT&T) 贝尔实验室正式发表了 C语言。同时由B. W. Kernighan和D. M. Ritchie合著了著 名的The C Programming LanguageM 一书,通常简称为 K&R。C语言的早期目的是用于编写操作系统和系统程序,初期用在PDP-11计算 机上写UNIX操作系统。因为系统软件要大量与底层硬件打交道,所以以前操
4、作 系统等系统软件都是利用汇编语言来编写的,但汇编语言的开发效率低,开发出 的程序可读性和可移植性都很差,有人提出利用高级语言来编写系统软件,但一 般的高级语言离硬件都很远,所以就需要一种既能兼顾低级语言特点又能具有高 级语言特征的计算机语言,这就是C语言出现的主要原因。20世纪70年代后,C语言就成为UNIX的标准开发语言,C语言随着UNIX系统 流行而得到越来越广泛的接受和应用,20世纪80年代后它被搬到包括大型机、 工作站等的许多系统上,逐渐成为开发系统程序和复杂软件的一种通用语言。随 着微机的蓬勃发展、处理能力的提高和应用的日益广泛,越来越多的人参与微机 应用系统的开发工作,这就需要适
5、合开发系统软件和应用软件的语言。C语言能 较好地满足人们的需要,因此在微机软件开发中得到日益广泛的应用,逐渐成为 最常用的系统开发语言之一,被人们用于开发微型机上的各种程序,直至非常复 杂的软件系统,已经成为当代最优秀的程序设计语言之一。在设计C语言之初,设计者主要把它作为汇编语言的替代品,作为自己写 操作系统的工具,因此更多强调的是灵活性和方便性。语言的规定很不严格,可 以用许多不“规矩”的方式写程序,因此也留下了许多不安全因素。使用这样的 语言,就要求编程序者自己注意可能的问题,程序的正确性主要靠人来保证,而 语言的处理系统(编译程序)不能提供多少帮助。随着应用范围的扩大,使用C 语言的人
6、越来越多(显然其中大部分人对语言的理解远不如设计者),C语言在 这方面的缺点日益突出起来。由此造成的后果是,人们用C语言开发的复杂程序 里常带有隐藏很深的错误,难以发现和改正。随着应用发展,人们更强烈地希望C语言能成为一种更安全可靠、不依赖 于具体计算机和操作系统(如UNIX)的标准程序设计语言。美国国家标准局 (ANSI)在20世纪80年代建立了专门小组研究C语言标准化问题,这个工作的 结果是1988年颁布的ANSI C标准。这个标准被国际标准化组织和各国标准化 机构接受,同样也被采纳为中国国家标准。此后人们继续这方面的工作,1999 年通过了 ISO/IEC 9899:1999标准(一般称
7、为C99)。为了实现ANSI和ISO标准,软件制造商设计了能实现标准的软件。目前 最流行的C语言商用软件有以下几种:(1) Microsoft C 或称 MS C;(2) Borland Turbo C 或称 Turbo C;(3) AT&T Co这些商用软件,能够保证用户使用ANSI和ISO标准书写的程序正确运行, 即这些软件的基本功能是必须保证ANSI和ISO标准的正确性。由于商业化的原 因,往往软件制造商会在自己公司发布的软件系统内“加入” 一些非ANSI和ISO 的内容,如软件制造商自身会认为某“增强、扩充功能”,能使其发布的软件系 统更加方便、完美。初学C语言,应该以标准作为参考点,
8、对于具体软件制造商 的软件系统应正确选择使用。从20世纪70年代C语言的诞生到今天的信息时代,C语言的迅速发展己 经超出了它最初作为编写UNIX操作系统的语言,而成为一个应用范围广泛的程 序设计语言。C语言编写的程序既有操作系统、编译程序、汇编程序、数据库管 理程序等系统软件,也有数值计算、文字处理、控制系统、游戏等应用软件。C语言之所以能被世界计算机界广泛接受,正是由于它自身具备的突出特 点。从语言体系和结构上讲,它与Pascal、ALGOL 60等语言相类似,是结构化 程序设计语言。但从用户应用、实现难易程度、程序设计风格等角度来看,C语 言的特点又是多方面的。(1)适应性强,应用范围广。
9、它能适应从8位微型机到巨型机的所有机种,可 用于系统软件到涉及各个领域的应用软件。(2)语言本身简洁,使用灵活,便于学习和应用。在源程序表示方法上,与其 他语言相比,一般功能上等价的语句,C语言的书写形式更为直观、精练。(3)语言的表达能力强。C语言是面向结构化程序设计的语言,通用直观;运 算符达30种,涉及的范围广、功能强。可直接处理字符、访问内存物理地址、 进行位操作,可以直接对计算机硬件进行操作,它反映了计算机的自身性能,足 以取代汇编语言来编写各种系统软件和应用软件。鉴于C语言兼有高级语言和汇 编语言的特点,也可称其为“中级语言(4)数据结构类型丰富。C语言具有现代化语言的各种数据结构
10、,且具有数据 类型的构造能力,因此,便于实现各种复杂的数据结构的运算。(5)程序设计结构化。C语言是一种结构化语言,它层次清晰,具有顺序、选 择、循环3种程序控制结构,易于调试和维护。并以函数作为主要结构成分,便 于程序模块化,符合现代程序设计风格。(6)运行程序质量高,程序运行效率高。试验表明,C源程序生成的运行程序 的效率仅比汇编程序的效率低10%20%,但C语言编程速度快,程序可读性好, 易于调试、修改和移植,这些优点是汇编语言所无法比拟的。(7)可移植性好(与汇编语言相比)。可以方便地在不同操作系统平台之间转换 使用。统计资料表明,c编译程序80%以上的代码是公共的,因此稍加修改就能
11、移植到各种不同型号的计算机上。(8) C语言存在的不足之处是:运算符和运算优先级过多,不便于记忆;语法 定义不严格,编程自由度大,编译程序查错纠错能力有限,对不熟练的程序员带 来一定困难;C语言的理论研究及标准化工作也有待推进和完善。为此,C语言 对程序设计人员的素质要求相对要高。综上所述,C语言把高级语言的基本结构与低级语言的高效实用性很好地结合起 来,不失为一个出色而有效的现代通用程序设计语言。它一方面在计算机程序语 言研究方面具有一定价值,由它引出了许多后继语言;另一方面,C语言对整个 计算机工业和应用的发展都起了很重要的推动作用。正因为如此,C语言的设计 者获得了世界计算机科学技术界的
12、最高奖一一图灵奖。2表达式和标准输入与输出实验2.1 实验目的(1)熟练掌握各种运算符的运算功能,操作数的类型,运算结果的类型及运 算过程中的类型转换,重点是C语言特有的运算符,例如位运算符,问号运算符, 逗号运算符等;熟记运算符的优先级和结合性。(2)掌握 getchar, putchar, scanf 和 printf 函数的用法。(3)掌握简单C语言(顺序结构程序)的编写方法。2.2 实验内容(-)下面给出了一个简单C语言程序例程,用来完成以下工作:1 .输入华氏温度f,将它转换成摄氏温度c后输出;2 .输入圆的半径值r,计算并输出圆的面积s;3 .输入短整数k、p,将k的高字节作为结果
13、的低字节,p的高字节作 为结果的高字节,拼成一个新的整数,然后输出;在这个例子程序中存在若干语法和逻辑错误。要求在计算机上对这个例子 程序进行调试修改,使之能够正确完成指定任务。#includettdefine PI 3.14159;voidmain( void )int f ;short p, k ;double c , r , s ;/* for task 1 */printf(Input Fahrenheit:w ;scanf( d” , f );c = 5/9*(f-32);printf( n %d (F) = %. 2f (C) nn ,f, c );/* for task 2 */
14、printf(input the radius r:); scanf(f”, &r);s = PI * r * r;printf (zznThe acreage is %. 2fnn, &s);/* for task 3 */printf(input hex int k, p :);scanf (%x %x”, &k, &p );newint = (p&OxffOO) | (k&OxffOO) 8;printf (new int = %xnn,z, newint);)原程序中的错误:(1) . voidmain中间缺少空格;(2) . printf函数调用有误,汉语中的双引号改为英语中的双引号
15、,“.2f”改为(3) .scanf函数调用有误;“f”改为“&f”同时,汉语中的双引号改为英语中的 双引号,f改为(4) . c 为 double 型,5 改为 5. 0; newint = (p&OxffOO) | (k&OxffOO) 8 改 为 newint = (p&OxffOO) | (k&OxffOO)8; int 型 newint 的说明缺少,输出时 printf 中应用 “d”;(5) .k, p为short型输入时用“h”;修改后的程序:#includettdefine PI 3.14159;int main( void )int f, newint ;short p, k
16、 ;double c , r , s ;/* for task 1 */printf(z,Input Fahrenheit/7 );scanf(%d,&f );c = 5.0/9*(f-32);printf (z,n %d (F) = %. 2f (C) nn ”, f, c );/* for task 2 */printf(input the radius r:);scanf&r);s= PI * r * r;printf (z,nThe acreage is %. 21fnn, &s);/* for task 3 */printf (input hex int k, p :);scanf(
17、%h %h”, &k, &p );newint = (p&OxffOO) | (k&OxffOO) 8;printf(new int = %dnn,newint); )(二)下面的程序利用常用的中间变量法实现两数交换,请改用不用第三 个变量的交换法实现。#includevoid main()(int a, b, t;printf ( a Input two integers:;scanf ( d %d, ,&a,&b);t=a, a=b, b=t;prinf( ana=%d, b=%d”,a, b);)替换后程序:#include int main()int a, b;printf(Input
18、 two integers a,b:); scanf (%d %d”, &a, &b);a=a+b;b=a-b;a=a-b;printf (,zna=%d, b=%d”, a, b);return 0;Input two integers ab:22 33程序结果显示:a=33J,b=22Pi*ess any key to con(三)编写一个程序,输入字符C,如果c是大写字母,则将C转换为对应的小写; 否则C值不变,最后输出C。分析:输入字符,判断是否为大写字母,转换时只需对字符C作c+32处理。#includevoid main()(char c;c=getchar ();c= (c= A
19、 &c=,Z ?c+32: c);putchar(c);)(四)编写一个程序,输入无符号短整数x, m, n(0=m=15, K=nm (15n+1)处理。#includevoid main() unsigned short int x,m, n;printf (z,Input x, m, n:n);scanf (%hu %hu %hu”, &x, &m, &n);x=xm(15-n+l);printf(%hun”, x);程序结果显示:Input 12345 2 2 32768(3) IP地址通常是4个用句点分隔的小整数(即点分十进制),如 32.55. 1. 102o这些地址在机器中用无符
20、号长整形表示。编写一个程序,以机器 存储的形式读入一个互联网IP地址,对其译码,然后用常见的句点分隔的4部 分的形式输出。例如,整形 676879571 二进制表示就是:00101000 01011000 01011100 11010011,按照8位一组可表示为:40 88 92 211,由于CPU处理数据的差异, 它的顺序是颠倒的,所有最终格式为211. 92. 88. 401,分析:把长整型数8位一组表示出来,需要先分别把这8位数移到最右端, 再分别转换成十进制数字。#includemain ()unsigned long x, a, b, c, d;printf(z,Input x:n)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 实验 语言 报告
限制150内