第一章C语言基本概述1.1程序与程序设计语言1.2C语言发展概述的主要特点1.3C语言的基本结构1.4调试C语言的软件环境TurboC1.1程序与程序设计语言程序程序是由计算机指令构成的序列。计算机执行程序对提供的数据进行操作。程序设计语言低级语言机器语言10100000000011汇编语言movax,1000高级语言a=1000a=a+11.2C语言发展概述和主要特点C语言的发展历史C语言与UNIX操作系统有关。发明者:DennisRitchie1969年美国贝尔实验室的KenThompson在一台报废DECPDP-7上做一些程序以帮助软件开发。1969至1972KenThompson与DennisRitchie合作,用了不到两个人年的时间就把这些程序发展为一个操作系统——UNIX。早期的UNIX是用汇编语言写的.Thompson在1970年决定开发一种高级语言更有效的描述UNIX,他以BCPL为基础开发了一种新的语言——“B”。但B缺乏丰富的数据类型,又以字长编址,有一定的缺陷。为了改进“B”,从1971年开始,D.Ritchie用了一年左右的时间,在B语言的基础上加入了丰富的数据类型和强有力的数据结构,从而形成了C。C语言的特点C语言的优点是很明显的,简言之:简洁、灵活、表达能力强,产生的目标代码质量高,可移植性好。基本组成部分紧凑、简洁,使用一些简单规则的方法,就可以构造出相当复杂的结构,关键字用的少。表达式简练、灵活、实用,既提高了编译效率和目标代码的质量,又提高了程序的可读性。提供了某些接近于汇编程序的功能,如地址处理、二进制位运算以及指定用寄存器存放变量等。所以,C语言适合编写系统程序和各种软件工具。它是结构化程序设计语言,具有良好的程序所需要的各种控制流结构,如for、while、dowhile循环语句等。具有各种现代程序设计语言普遍配置的数据结构和基本数据类型。运算符丰富,处理字符方便。输入/输出依靠函数调用实现。C语言的标准程序库,具有使用方便,功能强的I/O函数。生成代码质量高。C语言的缺点:C语言比较灵活,在语法上不如一些著名的高级语言(例如Pascal,Ada)严格,错误检查系统不够坚固。程序的安全性降低。例如对指针的使用没有适当的限制,指针设置错误,可能引起内存中的信息被破坏,如果经常出现这种错误,极有可能导致系统的崩溃。第一个程序例1.1/*-----Aprogramtoprintwelcome-----*/#includestdio.hvoidmain(){printf(welcome\n);}运行结果:welcome1.3C语言的基本结构注释行预处理命令主函数语句用/*和*/括起来的是注释行。注释行用于说明程序的功能和目的,编译系统会跳过注释行,不对其进行翻译。使用/*和*/括起来的语句并不一定在一行,可以是多行。以#开始的语句是预处理命令。这些命令是在编译系统翻译代码之前需要由预处理程序处理的语句。每个C程序都必须包含一个主函数main(),也只能包含一个主函数。用{}括起来的部分是一个程序模块,在C语言中也称为分程序,每个函数中都至少有一个分程序。C程序的执行是从主函数中的第一句开始,到主函数中的最后一句结束。分号“;”是C语言的执行语句和说明语句的结束符。C语句在书写上采用自由格式。但是好的程序员应该学会使用缩进格式。C语言的关键字和特定字使用小写字母。printf是C语言提供的标准输入输出库函数。第二个程序例1.2/*-------sumofaaddb-------------*/#includestdio.hvoidmain(){inta,b,sum;a=1;b=2;sum=a+b;printf(aaddbis%d\n,sum);}运行结果:aaddbis3分析与说明:变量的数据类型定义。变量是由程序命名的一块计算机内存区域,用来存储一个可以变化的数值。每个变量保存的是一个特定的数据类型的数值。在C语言中规定,任何变量都要经过数据类型的定义,以便在程序运行时分配相应的存储空间。直接常量(又称无名常量或文字常量)。常量是在程序执行过程中不会变化的数值,直接常量就是在代码中直接书写的数值,没有名字。赋值运算符=。注意,这里的=与数学上的等号在概念上完全不同。赋值运算符号最简单的用法是:赋值运算符的左边是一个变量,右边是一个常量。其功能是将右边常量的值送到左边的变量中,使变量中的内容与常量相等。例如a=1;就表示使a中的内容变为1。运算符+。sum=a+b;表示将a的内容与b的内容相加以后,赋值到sum变量中。printf使用初步printf是一个标准输出函数。它执行格式化输出,调用格式是:printf(格式信息,数据参数1,数据参数2,…);数据参数可有可无。格式信息用于控制数据参数的输出格式。格式信息中字符除了冠以斜杠“\”和“%”的字符,其它字符原封不动按照原样输出到屏幕上。格式信息中的%d是转换说明,它指定了显示数据参数的格式。printf(“%d”,i);表示将参数i按整型十进制输出。C语言规定,转换说明符的个数应与参数的个数相等。例如:printf(“%d%d%d\n”,x,y,z);格式信息中的\n是字符转义序列。\n表示换行。#includestdio.hmain(){inti,j;for(i=1;i10;i++)printf(%4d,i);printf(\n--------------------------------------\n);for(i=1;i10;i++)for(j=1;j10;j++)printf((j==9)?%4d\n:%4d,i*j);getch();}第三个程序1.4C程序的调试调试步骤编辑源程序编译源程序连接目标程序运行可执行程序开始编辑源程序否编译成功是目标程序连接可执行程序否运行成功是结束图1-1C程序调试过程示意图