第1章C语言程序的基本形式 第1章 C语言程序的基本形式 1.1c语言的结构 C语言程序都是由一个或多个函数(Function))构成。一个C程序至少必须存在一个函数 “ai0”。它是程序运行开始时调用的一个函数。它表明该程序完成动作轮廓。C语言程序 的基本形式如下: main() 变量说明语句: 执行语句: 1 ainO为主函数,只能有一个。执行语句中,可有其他函数,但不能用in为函数名 许多常用的函数做成标准函数与C编译器一起提供给用户,这就是标准库函数。 例1.1:C语言程序 /This program is sum of two integer and the results * inta,b,sum:/*说明a,b和sum为整型变量*/ a=123: b=456: sum=a+b: printf(“The sum of d and%isd小n”,a,b,sum: 此例中,只有一个函数一一主函数main0。第一个语句是说明a,b和sum这些变量的 语句,说明它们都是整数(it)型的变量。所有语句都放在左右花括号之内,各语句之间以分 号“:”结束。 1.2标识符 C语言中所使用的每个函数和变量都应有唯一的名称,这样才能被识别和使用。通常, 这种函数和变量名称用一串字符表达,称为标识符。C语言使用的标识符有严格限制: ()必须以字母或下划线开头, (②)必须由字母, 数字或下划线组成: (3)大小写字母是有区别的: (4)不允许用一些保留字(或叫关键字)。 例:正确的函数或变量名:-abc,veb7,1ev_5
第 1 章 C 语言程序的基本形式 ·1· 第 1 章 C 语言程序的基本形式 1.1 C 语言的结构 C 语言程序都是由一个或多个函数(Function)构成。一个 C 程序至少必须存在一个函数 “main()”。它是程序运行开始时调用的一个函数。它表明该程序完成动作轮廓。C 语言程序 的基本形式如下: main() { 变量说明语句; 执行语句; } main()为主函数,只能有一个。执行语句中,可有其他函数,但不能用 main 为函数名。 许多常用的函数做成标准函数与 C 编译器一起提供给用户,这就是标准库函数。 例 1.1:C 语言程序 /* This program is sum of two integer and the results */ main() { int a,b,sum; /*说明 a,b 和 sum 为整型变量*/ a=123; b=456; sum=a+b; printf(“The sum of %d and %d is %d\n”,a,b,sum); } 此例中,只有一个函数——主函数 main()。第一个语句是说明 a,b 和 sum 这些变量的 语句,说明它们都是整数(int)型的变量。所有语句都放在左右花括号之内,各语句之间以分 号“;”结束。 1.2 标识符 C 语言中所使用的每个函数和变量都应有唯一的名称,这样才能被识别和使用。通常, 这种函数和变量名称用一串字符表达,称为标识符。C 语言使用的标识符有严格限制: (1)必须以字母或下划线开头, ; (2)必须由字母,数字或下划线组成; (3)大小写字母是有区别的; (4)不允许用一些保留字(或叫关键字)。 例: 正确的函数或变量名: _abc, veb7, lev_5
·2 C程序设计要点分析与题解 错误的函数或变量名称的实例:3L,sM$,char 1.3保留字(即关键字) 在C语言中保留字或关键字并不太多,原先规定有8个,新标准规定改为32个,如下 所示 auto default extern long static void break do for register struct volatile case double float return switch while char enum goto sizeof typedef continue else if signed union int short unsigned 1.4基本数据类型 C语言可以使用多种数据类型 (1)基本类 ·整数类型 int ·实数类型(浮点类型): 单精度浮点型f10at 双精度浮点型doub1。 ·字符类型 char ·枚举类型 enum (2)构造类型 ·数组类型 「1 ·结构类型 struct ·联合类 3)指针类型&,* (4)空类型void .整数型(即intege -int型) 整数型常量不仅可以用十进制表示,也允许用八进制或十六进制表示,例如: 62 十进制数 053 八进制数 以0打头,由0一7构成。 0x32十六进制数 以0x打头,由0~9和A~F构成。 0x2C2即2×16+12)×16+5=709 整数类型又可细分成不同长短的类型,应加上类型修饰符构成,即: short int可简化为short long int可简化为long unsigned int可简化为unsigned
·2· C 程序设计要点分析与题解 错误的函数或变量名称的实例:3H, sUM$,char 1.3 保留字(即关键字) 在 C 语言中保留字或关键字并不太多,原先规定有 28 个,新标准规定改为 32 个,如下 所示 auto default extern long static void break do for register struct volatile case double float return switch while char enum goto sizeof typedef continue else if signed union int short unsigned 1.4 基本数据类型 C 语言可以使用多种数据类型 (1)基本类型 ·整数类型 int ·实数类型(浮点类型): 单精度浮点型 float 双精度浮点型 double ·字符类型 char ·枚举类型 enum (2)构造类型 ·数组类型 [] ·结构类型 struct ·联合类型 union (3)指针类型 &, * (4)空类型 void 1. 整数型(即 integer——int 型) 整数型常量不仅可以用十进制表示,也允许用八进制或十六进制表示,例如: 62 十进制数 053 八进制数 以 0 打头,由 0~7 构成。 0x32 十六进制数 以 0x 打头,由 0~9 和 A~F 构成。 如 0x2C2 即(2×16+12)×16+5=709 整数类型又可细分成不同长短的类型,应加上类型修饰符构成,即: short int 可简化为 short long int 可简化为 long unsigned int 可简化为 unsigned
第1章C语言程序的基本形式 ·3· 2.浮点类型(即f1oat型) 实数类型也叫浮点类型。可包含有整数部分和小数部分,例如: 0.012等同于 .012 5.0等同于5. 和日常习惯一样,小数点(.)的左边为整数部分,右边为小数部分。 科学计数法中,则用“尾数十e十指数”表示浮点数值,e即exponent(指数)例如: 6.3e5等同于630000.( 其中,6.3就是尾数,含有整数部分(integer part)为6和小数部分((fractional part) 为3,而5就是指数(exponent)部分。尾数和指数也都有可能为负值,例如: -1.23e4 12.34567e-8 -78e-12 3.字符类型(即character-一char型) 字符类型的数据代表一个字符,由一对单引号将字符括起来,表示的是该字符在ASCII 码表中的代码值,例如: 即97 即65 它们占1byte. ASCII码表中的某些控制字符不可显示,则通过加反斜线“\”的转义字符表示,例如: '1O'表示NLL(空) 即0 ,1t’示tah(制表) 即9 'n'表示new line(新行或换行) 即10 'r'表示return(回车) 即13 ''表示反斜线) 即92 例1.2:ASCII码值。 /2.4*/ main ( char cl,c2: /*定义字符类型* c1=97:c2=98:/*赋整型值*/ printf("%c#%c\n”,cl,c2):/以字符类型输出*/ 例1.3:小写转大写 /*L2.5*/ main (
第 1 章 C 语言程序的基本形式 ·3· 2.浮点类型(即 float 型) 实数类型也叫浮点类型。可包含有整数部分和小数部分,例如: 0.012 等同于 .012 5.0 等同于 5. 和日常习惯一样,小数点(.)的左边为整数部分,右边为小数部分。 科学计数法中,则用“尾数+e+指数”表示浮点数值,e 即 exponent(指数)例如: 6.3e5 等同于 630000.0 其中,6.3 就是尾数,含有整数部分(integer part)为 6 和小数部分(fractional part) 为 3,而 5 就是指数 (exponent) 部分。尾数和指数也都有可能为负值,例如: -1.23e4 12.34567e—8 —78e—12 3.字符类型(即 character—char 型) 字符类型的数据代表一个字符,由一对单引号将字符括起来,表示的是该字符在 ASCII 码表中的代码值,例如: ′a′ 即 97 ′A′ 即 65 它们占 1 byte。 ASCII 码表中的某些控制字符不可显示,则通过加反斜线“\”的转义字符表示,例如: ′\0′表示 NULL(空) 即 0 ′\t′表示 tab(制表) 即 9 ′\n′表示 new line(新行或换行) 即 10 ′\r′表示 return(回车) 即 13 ′\\′表示反斜线\ 即 92 例 1.2:ASCII 码值。 /*L2.4*/ main ( ) { char c1, c2; /*定义字符类型*/ c1=97; c2=98; /*赋整型值*/ printf("%c # %c\n", c1,c2);/*以字符类型输出*/ } 例 1.3: 小写转大写 /*L2.5*/ main ( ) {
·4 C程序设计要点分析与题解 char cl c2: /条定义字符类型*/ c1='a'.c2='b3 c1=01-32:c2=c2-32 /*整型数值运算*/ printf("%c %c",cl,c2); 1.5算术表达式 1.C语言中算术运算符 算术表示达式由变量、常量及算术运算符构成。在C语言中算术运算符有: 十。一、*、 、十十 十,一,*,和/为四则运算符,和日常概念没有区别,其中*和/优先于十和一。 %为取模(Modulus)运算符,是针对整数运算,即取整数除法之后,所得到的余数,例如 103=1 即10对3取模,结果为1。 13%8=5 即13对8取模,结果为5。 一一为自减1,十十为自增1。 n++或++n都变量n自增1,最终结果与n三n+1等效。但处理讨程却有所区别 十十,表示n先自增1,然后进到具体的式子中运算:n+十,则n本身先进入式中运算, 最后n再增1。 例如:已知n=6,则 m=+十n:结果为:m=7,n=7 m=n十十结果为:m=6,n=7 上与 1同样类似。 2.数据类型与运算结果的关系 (①)同类型数据运算结果仍保持原数据类型 整型数的除法得到的结果仍是整型数,小数部分将被去掉,例如: 5/2=2 而不是2.5。浮点数的除法得到的仍是浮点数,例如: 5.0/2.0=2.5 (②)不同数据类型混合运算,精度低的类型往精度高的类型转换后,再做运算。这样,可保证 运算结果不损失精度。例如: 5.0/2=2.5 1.6C语言的基本语句 1.C语言的特点 (①)所有C语句都以“:”分号结尾。一条语句可以不止一行,不必加续行符,只根据“:” 来确定语句结束。两条或多条语句也可写在同一行,用“:”分开
·4· C 程序设计要点分析与题解 char c1, c2; /*定义字符类型*/ c1='a'; c2='b'; c1=c1-32; c2=c2-32; /*整型数值运算*/ printf("%c %c", c1, c2); } 1.5 算术表达式 1. C 语言中算术运算符 算术表示达式由变量、常量及算术运算符构成。在 C 语言中算术运算符有: +、 - 、 *、 /、 % 、-- 、++ +,-,*,和/为四则运算符,和日常概念没有区别,其中*和/优先于+和-。 %为取模(Modulus)运算符,是针对整数运算,即取整数除法之后,所得到的余数,例如: 10%3=1 即 10 对 3 取模,结果为 1。 13%8=5 即 13 对 8 取模,结果为 5。 --为自减 1,++为自增 1。 n++或++n 都变量 n 自增 1,最终结果与 n=n+1 等效。但处理过程却有所区别。 ++n,表示 n 先自增 1,然后进到具体的式子中运算;n++,则 n 本身先进入式中运算, 最后 n 再增 1。 例如:已知 n=6,则 m=++n;结果为:m=7,n=7 m=n++;结果为:m=6,n=7 n--与--n 同样类似。 2.数据类型与运算结果的关系。 (1)同类型数据运算结果仍保持原数据类型 整型数的除法得到的结果仍是整型数,小数部分将被去掉,例如: 5/2=2 而不是 2.5。浮点数的除法得到的仍是浮点数,例如: 5.0/2.0=2.5 (2)不同数据类型混合运算,精度低的类型往精度高的类型转换后,再做运算。这样,可保证 运算结果不损失精度。例如: 5.0/2=2.5 1.6 C 语言的基本语句 1. C 语言的特点 (1) 所有 C 语句都以“;”分号结尾。一条语句可以不止一行,不必加续行符,只根据“;” 来确定语句结束。两条或多条语句也可写在同一行,用“;”分开
第1章C语言程序的基本形式 ·5· (②)语句可从任一列位置开始,每行开头,有多少空格都可以,但为了可读性好,通常习惯 还是按一定规律缩进。 2变量说明语句 变量说明语句的主要作用就是定义变量类型,其格式是: 类型说明符变量1[,变量2,.]: 例如: int number: char a,b,c: float tl: 3.赋值语句 赋值语句是将常量或算术表达式的运算结果赋给变量,其格式是: 变量名三常量或算术表达式」 例如: int number: number=10: 例1.4:赋值操作 main( int nl,n2,n3: int total; nl=1: n2=2. n3=3 total=n1+n2+n3: /朱赋值操作*/ } 4.基本输入输出语句 printf()和scanf(0是C语言的基本输入输出函数,都放在标准函数库中,为了使用它 们,应在程序开头加上: #includ <stdio.h> 基本输入输出语句就是直接调用这两个基本输入输出函数。 (①)输出语句 一般格式是: intf(“控制串”[,表达式1,.,表达式n]: 控制串(成格式串)是用双引号括起来的输出格式控制说明。控制串中每一个变量都应当 与后面相应的某个表达式对应。 控制串分两部分,即:要显示的字符和格式串。格式串以“%”开头,后跟格式码。格式 串与参数一一对应。含有不同格式码的格式串表示显示不同的内容,如下所示: c显示字符
第 1 章 C 语言程序的基本形式 ·5· (2) 语句可从任一列位置开始,每行开头,有多少空格都可以,但为了可读性好,通常习惯 还是按一定规律缩进。 2. 变量说明语句 变量说明语句的主要作用就是定义变量类型,其格式是: 类型说明符 变量 1[,变量 2,.]; 例如: int number; char a,b,c; float t1; 3. 赋值语句 赋值语句是将常量或算术表达式的运算结果赋给变量,其格式是: 变量名=常量或算术表达式; 例如: int number; number=10; 例 1.4: 赋值操作 main() { int n1,n2,n3; int total; n1=1; n2=2; n3=3; total=n1+n2+n3; /* 赋值操作*/ } 4.基本输入输出语句 printf()和 scanf()是 C 语言的基本输入输出函数,都放在标准函数库中,为了使用它 们,应在程序开头加上: #include <stdio.h> 基本输入输出语句就是直接调用这两个基本输入输出函数。 (1)输出语句 一般格式是: printf (“控制串”[,表达式 1,.,表达式 n]; 控制串(或格式串)是用双引号括起来的输出格式控制说明。控制串中每一个变量都应当 与后面相应的某个表达式对应。 控制串分两部分,即:要显示的字符和格式串。格式串以“%”开头,后跟格式码。格式 串与参数一一对应。含有不同格式码的格式串表示显示不同的内容,如下所示: %c 显示字符