第二章 C程序的初步知识.docVIP

  • 4
  • 0
  • 约9.3千字
  • 约 7页
  • 2016-10-13 发布于贵州
  • 举报
第二章 C程序的初步知识

C程序设计的初步知识 简单C语言程序的构成和格式 为了了解C语言程序的构成和编写格式,先看一个例子 根据半径r, 求圆的周长和面积。 #include stdio.h /*头文件*/ #define PI 3.14159 void main() { double r, t, s; /*定义部分*/ printf(input r:); scanf(%lf,r); t=2*PI*r; s=PI*r*r; printf(t=%10.2f,s=%10.2f\n,t,s); } 1)C语言程序的每一条语句以分号结束,它是C语句的一部分,但不能说分号是语句之间的分隔符 2)注释语句的符号必须成对出现,且不允许嵌套,同时“/”和“*”之间不能有空格 3) 预处理命令不是C语言语句,它只是程序的组成部分,因此之后不加“;” 在这里,给大家讲解 编译预处理和动态存储分配(13章) 编译预处理 在C语言中,凡是以“#”开头的行,都称为“编译预处理”命令行,末尾不得用“;”号结束,因为它不是C语言语句。这里我们重点介绍#define和#include命令行的应用。 宏替换 1、不带参数的宏定义 1)#define 宏名 替换文本 比如,我们前面的举例中的#define PI 3.14159,在define 宏名和替换文本之间用空格隔开。这里的宏名要求符合C语言中标识符的规定。 2)#define 宏名 这种情况只说明标识符被定义,不常用。 注意:用作宏名的标识符通常习惯用大写来定义。 2、带参数的宏定义 #define 宏名(形参表) 替换文本 例如:#define ADD(x,y) ((x)*(y)) ....... a=ADD(3,4); /* 宏调用语句 */ b=2*ADD(a+2,a); /* 宏调用语句 */ 注意:①宏名与“(”之间不能有空格; ②宏替换与函数调用区分开来,在这里,宏替换对参数没有数据类型的要求。 ③宏定义的作用域问题 举例(2009年9月真题): #include stdio.h #define f(x) x*x*x void main() {int a=3,s,t; s=f(a+1);t=f((a+1)); printf(“%d,%d\n”,s,t); } 二、文件包含 文件包含是指在一个文件中,去包含另一个文件的全部内容。 #include “文件名” 或 #include 文件名 比如:#include stdio.h #include “math.h” 该命令行通常写在程序的开头,又称“头文件”。 *13.2 动态存储分配 让我们再回到前面第二章C语言程序格式的介绍 2.2 标识符、常量和变量 标识符 一、C语言标识符定义 1)由字母、数字和下划线组成,不能用其他字符 2)区分大小写 3)标识符的有效长度,不同的编译系统规定不同,如TURBO C的标识符的有效长度为8位。如number101和 number102,编译系统将二者看成同一个标识符。 二、标识符的分类 1、关键字 系统已定义好的具有固定含义的标识符。如int、if等。 2、预定义标识符 系统中有特定用途,但可以作为其他用途来定义。如scanf、printf、define等标识符。尽量避免挪作他用。 3、用户定义标识符 我们在定义标识符的时候,不用前1) 2)系统规定有特定含义的标识符,符合标识符的定义规则就行。 第12章 C语言中用户标识符的作用域与存储类 在C语言中,我们定义的标识符(变量)都有它的作用域(也就是该变量的作用范围),变量的作用域与其定义语句在程序中出现的位置有直接的关系。 12.1 局部变量和全局变量 局部变量:在函数内部(包括函数的形参)或复合语句内部定义的变量。其作用域为定义它的函数内或复合语句中。 全局变量:在函数外部定义的变量。作用域为整个源程序。 举例(2009年真题): #include stdio.h int a=5; /* 这里的a就是全局变量 */ void fun(int b) {int a=10; /* 这里的a、b为局部变量 */ a+=b;printf(“%d”,a); } void main() {int c=20; fun(c); a+=c; /* 这里的c为局部变量,a 用全局变量*/ prinf(“%d\n”,a); }

文档评论(0)

1亿VIP精品文档

相关文档