(完整word版)C语⾔基本概念
第2章C语⾔基本概念
2.1 初识“Hello world”程序
为纪念C语⾔的设计者,第⼀个程序范例选⾃C语⾔的定义⽂档——Brian Kernighan和Dennis Ritchie合著的The C Programming Language。该范例是“Hello world”程序,它是所有C 程序员共有的财富,⽽你也即将成为其中的⼀员。
该程序作为⼀个⽂件存储在你所⽤的计算机系统的永久存储器中。⽂件名为hello.c,其中.c说明该⽂件为C语⾔源程序。
下⾯介绍hello.c程序的组成部分:程序注释、库包含和主函数。
2.1.1 程序注释
C语⾔中,注释是在/*和*/之间的所有⽂字,可以占连续的⼏⾏。例2.1中的注释描述了该程序的作⽤。
注释是写给⼈看的,⽽不是写给计算机的。注释向其他程序员传递该程序的有关信息。当C语⾔编译器将程序转换为可由机器执⾏的形式时,注释被完全忽略。
当程序越来越复杂时,读者会发现给出合适的注释是使程序易读的最好⽅法之⼀。
2.1.2 库包含(预处理指令)
C语⾔只明确定义了⼀⼩部分操作,在计算机程序中许多必要的操作并不是由C直接定义的(如C语⾔中没有内置
的“读”或“写”命令),实际的做法是,在每个C实现中都包含了⼀些使⽤函数和符号的集合,称之为库。
C的ANSI(American National Standards Institute)标准要求在每个C实现中提供特定的标准库。C系统可以通过提供附加库来扩展可执⾏操作stdio.h。
#include 这条预处理指令说明,在编译前把stdio.h中的信息“包含”到程序中。该指令通知预处理器,程序中⽤到的某些内容,如printf,可以在标准头⽂件stdio.h中到。Stdio.h中包含了关于C标准输⼊/输出库的信息。
注意:
●对每⼀个库使⽤⼀⾏#include
●预处理指令结束时没有“;”
预处理指令详细内容将在后⾯章节介绍。
2.1.3 主函数
1. 函数
术语“函数”来源于数学。在数学中函数是⼀条根据⼀个或多个给定参数进⾏数值计算的规则:
f(x) = x + 1
g(y,z) = y – z
一个完整的c语言程序C语⾔对“函数”的使⽤更加宽松。C语⾔中,函数是⼀系列独⽴的程序步骤,将这些
⼀个C程序是⼀个函数的集合。函数分为两类:程序员编写的函数;由C语⾔的实现所提供的函数。后⼀种函数也叫库函数,因为这些函数属于⼀个函数的“库”,⽽这个库是由编译器提供的。
每个C程序必须有⼀个main函数,在执⾏程序时系统会⾃动调⽤main函数,即该函数是程序的⼊⼝。
2. 语句
函数所执⾏的步骤在{}中列出,这些步骤称为“语句”。这些语句共同组成函数的主体。⼤多数函数都有⼏个连续执⾏的语句。
当运⾏C语⾔程序时,计算机执⾏main函数主体中包含的语句。
printf("Hello,world.\n");该语句⽤到了printf函数。此函数代表⼀组操作。当想要调⽤这些
该函数的⾏为称为调⽤函数。printf("Hello,world.\n")就是对函数printf的调⽤。该函数调⽤的结尾加上“;”就构成了⼀条语句。
本节⼩结
1.C程序的典型结构
2.每个程序都应有注释,注释可以有效增强程序的可读性。
3.库包含
4.每个C程序是函数的集合,且每个C程序有且仅有⼀个main函数,它是程序的⼊⼝。
5.语句
2.2 求圆周长的程序
为使⼤家对C语⾔程序的⼯作过程有更好的了解,现在来看⼀个稍复杂的例⼦。
【例2-2】使⽤C 语⾔编程,程序根据⽤户输⼊的某圆的半径值,求该圆的周长。
【分析】
根据数学知识可知,c = 2 ×PI ×r
根据题⽬要求可知流程图如下:
●确定输出什么——圆周长
●确定输⼊什么——圆半径
引⼊常量和变量概念:根据数学知识和题⽬要求,2、PI为常量,在整个程序运⾏期间不变;S和r是变量,r随着⽤户的输⼊⽽不同,S随着输⼊的r不同⽽不同。
引⼊数据类型:数据类型⽤来说明变量所存储的数据的种类。半径r取整型int,圆周长L取实型double。
2.2.1 初识变量和常量
1. 变量
变量(Variable)是⼀些在编写程序时值未知的数据的存放处。例如,在编程时,程序员尚不知道⽤户要对半径为多⼤的圆求周长。当程序运⾏时,⽤户才会输⼊半径,程序才求出周长。为了在程序中引⽤这些⽬前尚未确定的数,我们可以创建⼀个变量来保存这些需要记住的值,并给该变量命名。⼀旦要⽤到它包含的值时,可使⽤其变量名。变量的名称要⽤⼼选择,以便将来阅读程序的程序员能容易地分辨出每个变量的作⽤。本程序中,变量radius 代表半径,变量c代表周长。
在C语⾔中,使⽤变量前,必须先声明该变量。声明⼀个变量就是告之编译器引⽤了⼀个新的变量名,并指定了该变量可以保存的数据类型。例如:
int radius;
2. 常量
常量是⼀种在程序中保持固定类型和固定值的数据。例如,本程序中的2,3.14。
2.2.2 输⼊阶段
本程序在输⼊阶段必须要求⽤户输⼊⼀个半径值保存在radius变量中。变量值的输⼊过程包括2步。
(1)程序应在屏幕上显⽰⼀个消息以使⽤户了解程序需要什么,这种类型的消息通常称为提⽰消息。例如:
printf(“Plesae input the radius:”);
(2)读取⽤户输⼊的数据。例如:
scanf(“%d”,&radius);
C中所有的输⼊输出操作都由称作输⼊输出函数来完成。本部分将介绍输⼊函数scanf,它是C的标准输⼊输出库中的⼀部分,可以通过预处理指令
#include
来访问。
scanf函数⽤来把从输⼊设备输⼊的数据复制到变量中。该函数调⽤包含函数名和函数参数两部分。函数参数由格式字符串(包含在“”)和输⼊列表组成。
例:
int sum;
scanf(“%d”, &sum);
在程序执⾏时,scanf函数将程序⽤户在键盘上键⼊的数据复制到内存中。
关于scanf函数的具体说明见。
2.2.3 计算阶段
的,该表达式指定了必须的操作步骤。表达式的结构由赋值语句存储于⼀个变量中,以便程序后⾯的部分使⽤该结果。本章2.4节将详细定义表达式的结构。然⽽,即使没有⼀个完整的定义,理解C语⾔的表达式如何⼯作也很容易,它与传统的数学表达式⾮常类似:
c = 2 * 3.14 * radius;
2.2.4 输出阶段
程序的输出阶段由显⽰计算结果组成。例如:
printf(“The c is %f .\n”,c);
printf函数在屏幕上显⽰参数字符串中的每⼀个字符。但到了%处就有所不同了。%及其后⾯的字母f称为格式码。在本例中,格式码是%f。printf函数的格式码的作⽤就是作为值的占位符,在输出过程中,值将被插⼊到该位置。格式码中的字母⽤于指定输出格式。本例中的%f表⽰输出结果应显⽰为浮点数。此时的程序将显⽰以下信息:
The c is .
其中,下划线部分将由⼀个浮点数代替。
要想知道显⽰的是什么样的整数,printf函数取调⽤时传来的第⼆个参数值,本例中是变量c。它的值显⽰在屏幕上,换⾏符使光标移⾄下⼀⾏。
2.3 变量、常量和数据类型
2.3.1 变量和常量定义
1.变量
⼤多数程序在产⽣输出之前往往需要执⾏⼀系列的计算,因此需要在程序执⾏过程中有⼀种临时存储数据的⽅法。C语⾔中的这类存储单元称为变量。
变量是程序执⾏过程中可以改变、可以赋值的量。具体说,变量是⽤于存储程序的输⼊数据和计算结果的存储单元。
2.常量
常量是⼀种在程序中保持固定类型和固定值的数据。
2.3.2 数据类型
为了能在各种应⽤中使⽤,程序必须能够存储多种不同类型的数据。程序中每⼀个变量都必须有⼀个类型。类型⽤来说明变量所存储的数据的种类。C语⾔拥有⼴泛多样的类型。
⽆论何时使⽤数据,⽆论使⽤的是整数、⼩数还是字符,C编译器都应该了解其数据类型。从整体上讲,数据类型是⼀组值及这组值上的⼀组操作。数据类型包括:
●⼀组值,即值的集合:
例如:整型数据的集合就是机器硬件所能构造的所有整数(…,-1,0,1,2,….)
例如:字符型数据的集合就是键盘上出现的或可显⽰在屏幕上的符号的集合
例如:给出两个整数,可以将它们相加、相乘等
例如:给出两个字符数据,可以对两者进⾏⽐较,看它们字母顺序如何
操作必须与值的集合项对应。
本节只限定介绍int、double和char数据类型,详细内容将在后⾯章节介绍。
数据类型的对象可以是变量或常量。
1.int数据类型
数学中整数就是⾮分数和⼩数的数。Int类型在C语⾔中代表整数。
因为⼀个存储单元的⼤⼩是有限的,所以不是所有的整数都可以由int型表⽰。Int型数据通常与程序的执⾏环境的字长相同,对于16位环境,如DOS下的TC2.0,int型数据在内存中占16位,即2个字节;对于⼤多数32位环境,如windows XP等,int型数据在内存中占32位,即4个字节。VC6中int型数据在内存中占4个字节,取值范围是-2147483648⾄2147483647
整数可以存储在int型变量中,进⾏常⽤的算术运算,加减乘除等,还可以⽐较两个整数的⼤⼩。
2.double数据类型
实数拥有⼀个整数部分和⼀个⼩数部分,并由⼩数隔开。C中数据类型double⽤于表⽰实数,如3.14159、0.005、15.8。
实数可以存储在double型变量中,进⾏常⽤的算术运算,还可以⽐较两个整数的⼤⼩。VC6中double型数据在内存中占8个字节,15位有效数字,数值范围为-1.7*10-308⾄1.7*10308数据类型double是实数的⼀个抽象,因为它不包括所有的实数,⼀些实数太⼤或太⼩,还有⼀些实数不能在⼤⼩有限的存储单元内精确表⽰。然⽽,C中绝对可以表⽰⾜够多的实数来执⾏⼤部分具有相当精度的计算。
3.char数据类型
char类型表⽰⼀个字符值——字母、数字或专⽤符号。每个char型数据都包含在单引号内,如:
‘A’‘z’‘5’‘*’‘’
字符可以存储在char型变量中,并可以⽐较字符数据的⼤⼩。char型数据占1字节。
C语⾔将char型数据对应的ASCII码值保存在1个字节的内存空间中,所以C语⾔甚⾄允许对char型数据进⾏算术运算,但必须⼩⼼使⽤。
2.3.3 变量声明与初始化
。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论