C语言的特点及与其他语言的比较 C语言是国际上流行的、很有发展前途的计算机高级语言。C语言适合于作为“系统描述语 言”。它既可以用来编写系统软件,也可以用来编写应用程序。以前操作系统等系统软件主要采用 编语言编写。汇编语言依赖于计算机硬件,程序的可读性、可移植性都比较差。为了提高可读性和 移植性,人们希望采用高级语言编写这些软件,但是一般的高级语言难以实现汇编语言的某些操 特别是针对硬件的一些操作(如:内存地址的读写-直接硬件、二进制位的操作)。人们设法寻 找一种既具有一般高级语言特性,又具有低级语言特性的语言,C语言就在这种情况下应运而生。 1.1c语言的特点及与其他语言的比较 C语言是从“组合编程语言”CPL发展而来,C语言既具有一般高级语言特性( ALGOL60带来的 级语言特性),又具有低级语言特性(BCPL带来的接近硬件的低级语言特性)。C语言具有下面特点 (其中1-6属于高级语言特性,7,8属于低级语言特性) 1.C语言的语言成分简洁,紧凑,书写形式自由 例:将C语言程序段与实现同样功能的 PASCAL语言程序段进行比较。 序号C语言 PASCAL语言 含义 说明 1{…)EGN…END复合语句(或语句块 PASCAL显得罗嚓 2if(e)S: IF(e)THEN S ASCAL至少多了一个THEN关键 条件语句 PASCAL至少多了一个VAR关键 3inti;lARi: INTEGER定义i为整型变量 nt vAR a:ARAY[1.10定义a为整型一维数组,10 PASCAL多了VAR、 ARRAY、OF等 F INTEGER 个元素 FUNCTION 5 int fo 定义f为返回值为整型的函 PASCAL至少多了一个 FUNCTION f(: INTEGER 6int*p;}wARp:' INTEGE定义p为指向整型变量的指 PASCAL至少多了一个VAR关键 针变量 中如果将一个变量与另外一个 作数运算后赋值给原来的变 7i+=2;|i:=i+2 量,使用复合的运算符可以不要 重复书写此变量。C形式上更加 定义了常用的自增1、自减1 8I++;|I=I+1 I自增1 符。形式上显得相当简洁 2.C语言拥有丰富的数据类型 C语言具有整型、实型、字符型、数组类型、指针类型、结构体类型、共同体类型等数据类 型。能方便地构造
C 语言的特点及与其他语言的比较 C 语言是国际上流行的、很有发展前途的计算机高级语言。 C 语言适合于作为“ 系统描述语 言 ” 。它既可以用来编写系统软件,也可以用来编写应用程序。以前操作系统等系统软件主要采用 汇编语言编写。汇编语言依赖于计算机硬件,程序的可读性、可移植性都比较差。为了提高可读性和 可移植性,人们希望采用高级语言编写这些软件,但是一般的高级语言难以实现汇编语言的某些操 作,特别是针对硬件的一些操作(如:内存地址的读写 - 直接硬件、二进制位的操作)。人们设法寻 找一种既具有一般高级语言特性,又具有低级语言特性的语言, C 语言就在这种情况下应运而生。 1 . 1 C 语言的特点及与其他语言的比较 C 语言是从“组合编程语言”CPL 发展而来,C 语言既具有一般高级语言特性(ALGOL60 带来的 高级语言特性),又具有低级语言特性(BCPL 带来的接近硬件的低级语言特性)。C 语言具有下面特点 (其中 1-6 属于高级语言特性,7,8 属于低级语言特性) 1. C 语言的语言成分简洁,紧凑,书写形式自由 例:将 C 语言程序段与实现同样功能的 PASCAL 语言程序段进行比较。 序号 C 语言 PASCAL 语言 含义 说明 1 { … } BEGIN … END 复合语句 (或:语句块) PASCAL 显得罗嗦 2 if(e)S; IF(e)THEN S 条件语句 PASCAL 至少多了一个 THEN 关键 词 3 int i; VAR i:INTEGER 定义 i 为整型变量 PASCAL 至少多了一个 VAR 关键 词 4 int a[10]; VAR a:ARRAY[1..10] OF INTEGER 定义 a 为整型一维数组,10 个元素 PASCAL 多了 VAR、ARRAY、OF 等 关键词 5 int f(); FUNCTION f():INTEGER 定义 f 为返回值为整型的函 数 PASCAL 至少多了一个 FUNCTION 关键词 6 int *p; VAR p:^INTEGER 定义 p 为指向整型变量的指 针变量 PASCAL 至少多了一个 VAR 关键 词 7 i+=2; i:=i+2 赋值语句 C 中如果将一个变量与另外一个 操作数运算后赋值给原来的变 量,使用复合的运算符可以不要 重复书写此变量。C 形式上更加 简洁。 8 I++; I=I+1 I 自增 1 C 定义了常用的自增 1、自减 1 运算符。形式上显得相当简洁 2. C 语言拥有丰富的数据类型 C 语言具有整型、实型、字符型、数组类型、指针类型、结构体类型、共同体类型等数据类 型。能方便地构造
更加复杂的数据结构(如:使用指针构造链表、树、栈) 简单的C程序介绍及C语言编程方法 简单的C程序介绍及C语言编程方法 简单的C程序介绍 main printf(“ This is a c program.n”) 说明:本程序的功能是输出一行信息: This is a c program. 其中: 1、main表示“主函数”。每个C语言程序都必须有一个main函数,它是每一个C语言程序 的执行起始点(入口点)。main(表示“主函数”main的函数头 2、用仆括起来的是“主函数”main的函数体。main函数中的所有操作(或:语句)都在这 对仆}之间。也就是说main函数的所有操作都在main函数体中。 3、“主函数”main中只有一条语句,它是C语言的库函数,功能是用于程序的输出(显示在 屏幕上),本例用于将一个字符串“ This is a c program.n”的内容输出。即在屏幕上显示: his is a c program. (回车/换行) 4、注意:每条语句用“;”号结束语句。 main /*计算两数之和*/ int a, b, sum /*这是定义变量* a=123;b=456 /*以下3行为C语句*/ sum=a+b printf(“sum=%d\n”,sum); 说明:本程序计算两数之和,并输出结果。 1.同样此程序也必须包含一个main函数作为程序执行的起点。仆之间为main函数的函数 体,main函数所有操作均在main函数体中 2./**/括起来的部分是一段注释,注释只是为了改善程序的可读性,在编译、运行时不起作 用(事实上编译时会跳过注释,目标代码中不会包含注释)。注释可以放在程序任何位置,并允许占
更加复杂的数据结构(如:使用指针构造链表、树、栈)。 简单的 C 程序介绍及 C 语言编程方法 1 . 2 简单的 C 程序介绍及 C 语言编程方法 简单的 C 程序介绍 例 1.1: main() { printf( “ This is a C program.\n ”); } 说明:本程序的功能是输出一行信息: This is a C program. 其中: 1、 main 表示“主函数” 。每个 C 语言程序都必须有一个 main 函数,它是每一个 C 语言程序 的执行起始点(入口点)。main()表示“主函数”main 的函数头。 2、用{}括起来的是 “主函数”main 的函数体。main 函数中的所有操作(或:语句)都在这 一对{}之间。也就是说 main 函数的所有操作都在 main 函数体中 。 3、“主函数”main 中只有一条语句,它是 C 语言的库函数,功能是用于程序的输出(显示在 屏幕上),本例用于将一个字符串 “ This is a C program.\n ” 的内容输出。即在屏幕上显示: This is a C program. _ (回车/换行) 4、注意:每条语句用 “;”号结束语句 。 例 1.2: main() /* 计算两数之和 */ { int a,b,sum; /* 这是定义变量 */ a=123;b=456; /* 以下 3 行为 C 语句 */ sum=a+b; printf( “ sum=%d\n ” ,sum); } 说明:本程序计算两数之和,并输出结果。 1. 同样此程序也必须包含一个 main 函数作为程序执行的起点。{}之间为 main 函数的函数 体,main 函数所有操作均在 main 函数体中。 2./* */括起来的部分是一段注释 ,注释只是为了改善程序的可读性,在编译、运行时不起作 用(事实上编译时会跳过注释,目标代码中不会包含注释)。注释可以放在程序任何位置,并允许占
多行,只是需要注意“/* */”匹配,一般不要嵌套注释。 inta,b,sum;是变量声明。声明了三个具有整数类型的变量a,b,sum。C语言的变量必须 先声明再使用 4.a=-123;b=456;是两条赋值语句。将整数123赋给整型变量a,将整数456赋给整型变量 。a,b两个变量分别为123,456。注意这是两条赋值语句,每条语句均用“;”结束。也可以将两条 句写成两行,即:a=123;b=456:由此可见C语言程序的书写可以相当随意,但是为了保证容易阅读 要遵循一定的规范。 5.sum=a+b;是将a,b两变量内容相加,然后将结果赋值给整型变量sum。此时sum的内容为 6. printf(“sum=%d\n”,sum);是调用库函数输出sum的结果。%d为格式控制表示 suI 的值以十进制整数形式输出。程序运行后,输出(显示 sum=579 (回车/换行) 算法的概念、特性、表示及用C语言实现 1.3.1算法的概念: 算法:为解决一个问题而采取的方法和步骤,就称为算法 个程序应包括以下两方面内容 1)对数据的描述。在程序中指定数据的类型和数据的组织形式,即数据结构。 (2)对操作的描述。即操作步骤也就是算法 做为程序设计人员,必须认真考虑和设计数据结构和操作步骤(即算法),因此,著名计算 机学家沃思提出 个公式 数据结构+算法=程序 同样也可以这样表示 程序=算法+数据结构+程序设计方法+语言工具和环境 1.3.2算法的特性 1.有穷性.一个算法应包含有限的操作步骤,而不能是无限的。 2.确定性。算法中的每一个步骤都应当是确定的,而不应是含糊的,摸棱两可的。 3.有零个或多个输入。所谓输入是指在执行算法时需要从外界取得必要饿额信息。 4有一个或多个输出。算法的目的是为了求解,“解”就是输出 5.有效性。算法中的每一个步骤都应当能有效地执行,并得到确定的结果。 3.3算法的表示
用多行,只是需要注意“ /*”、“*/”匹配,一般不要嵌套注释。 3. int a,b,sum;是 变量声明 。声明了三个具有整数类型的变量 a,b,sum。C 语言的变量必须 先声明再使用。 4.a=123;b=456;是两条 赋值语句 。将整数 123 赋给整型变量 a,将整数 456 赋给整型变量 b。a,b 两个变量分别为 123,456。注意这是两条赋值语句,每条语句均用“;”结束。也可以将两条 语句写成两行,即:a=123;b=456;由此可见 C 语言程序的书写可以相当随意,但是为了保证容易阅读 要遵循一定的规范。 5. sum=a+b;是将 a,b 两变量内容相加,然后将结果赋值给整型变量 sum。此时 sum 的内容为 579。 6.printf( “ sum=%d\n ” ,sum);是调用库函数输出 sum 的结果。 %d 为格式控制 表示 sum 的值以十进制整数形式输出。程序运行后,输出(显示): sum=579 _ (回车/换行) 算法的概念、特性、表示及用 C 语言实现 1 . 3.1 算法的概念: 算法:为解决一个问题而采取的方法和步骤,就称为算法。 一个程序应包括以下两方面内容: (1)对数据的描述。在程序中指定数据的类型和数据的组织形式,即数据结构。 (2)对操作的描述。即操作步骤也就是算法。 做为程序设计人员,必须认真考虑和设计数据结构和操作步骤(即算法),因此 ,著名计算 机学家沃思提出 一个公式: 数据结构+算法=程序 同样也可以这样表示: 程序=算法+数据结构+程序设计方法+语言工具和环境 1 . 3.2 算法的特性 1.有穷性.一个算法应包含有限的操作步骤,而不能是无限的。 2.确定性。算法中的每一个步骤都应当是确定的,而不应是含糊的,摸棱两可的。 3.有零个或多个输入。所谓输入是指在执行算法时需要从外界取得必要饿额信息。 4.有一个或多个输出。算法的目的是为了求解,“解”就是输出。 5.有效性。算法中的每一个步骤都应当能有效地执行,并得到确定的结果。 1 . 3.3 算法的表示