第3章 C源程序的基本元素_第1页
第3章 C源程序的基本元素_第2页
第3章 C源程序的基本元素_第3页
第3章 C源程序的基本元素_第4页
第3章 C源程序的基本元素_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言程序设计大连理工大学出版社 2009年8月出版第第3章章 C语言源程序的基本元素语言源程序的基本元素 本章主要介绍C中的基本符号、单词(保留字)以及如何用单词构成语句。学习目标:掌握标识符和保留字掌握常量和变量掌握基本类型的定义掌握不同类运算符的优先级和结合性掌握C语句的种类掌握基于控制台的常用输入输出函数C语言程序设计大连理工大学出版社 2009年8月出版第第3章章 C源程序的基本元素源程序的基本元素 3.1 标识符和保留字标识符和保留字 3.2 常量和变量常量和变量 3.3 基本数据类型基本数据类型 3.4 运算符和表达式运算符和表达式 3.5 C语言源程序构成语言源程序构成 C语言

2、程序设计大连理工大学出版社 2009年8月出版3.1 标识符和保留字标识符和保留字C语言源程序包含的基本符号有以下几种:语言源程序包含的基本符号有以下几种: 大小字母:大小字母:az、AZ,C语言区分大小写。语言区分大小写。 09共共10个数字:个数字:09。 分隔符:分隔符:,、 ;、(空格)、(空格)、 运算符:各类运算符运算符:各类运算符C语言程序设计大连理工大学出版社 2009年8月出版 由若干基本符号按一定的规则组成构成标由若干基本符号按一定的规则组成构成标识符。标准识符。标准C语言规定:标识符是以字母或下语言规定:标识符是以字母或下划线划线_开头,后面跟上字母、数字或下划线开头,后

3、面跟上字母、数字或下划线_的组合。标识符往往用来表示变量名、常的组合。标识符往往用来表示变量名、常量名、函数名。当然,标识符的长度并不是无量名、函数名。当然,标识符的长度并不是无限的,实际上,编译时标识符的最长有效长度限的,实际上,编译时标识符的最长有效长度是是8,即标识符由,即标识符由8个字符组成。个字符组成。 C语言程序设计大连理工大学出版社 2009年8月出版 标识符分为两种:自定义标识符和标准标识符分为两种:自定义标识符和标准标识符。像我们常说的标识符主要是指标识符。像我们常说的标识符主要是指自定义标识符,标准标识符又称为保留自定义标识符,标准标识符又称为保留字,具有特殊的含义。字,具

4、有特殊的含义。 C语言程序设计大连理工大学出版社 2009年8月出版 C语言中有语言中有32个保留字,这个保留字,这32个保留字分为以下个保留字分为以下四种类型:四种类型: (1)数据类型保留字:int、signed、unsigned、short、long、float、double、void、char、struct、enum、union。 (2)控制语句保留字:if、else、while、do、for、switch、case、return、break、continue、default、goto。 (3)存储属性保留字:extern、static、auto、register。 (4)其它保留字:

5、sizeof、typedef、const、volatile。 C语言程序设计大连理工大学出版社 2009年8月出版 例:例:int a ,b; /*定义两个整型变量定义两个整型变量*/b=2*a; /*计算变量计算变量b的值的值*/printf(“%d%d”,a,b); /*输出变量输出变量a、b的值的值*/注:该程序段中,注:该程序段中,a、b是自定义标识符表示变量名,是自定义标识符表示变量名,int是保留字,表示数据类型。是保留字,表示数据类型。返回返回C语言程序设计大连理工大学出版社 2009年8月出版3.2 常量和变量常量和变量3.2.1常量和常量宏常量和常量宏 任何程序的运行都离不开

6、数据的处理,在程任何程序的运行都离不开数据的处理,在程序中有些数据被安排在二进制的指令代码中,序中有些数据被安排在二进制的指令代码中,这类数据称为常量,常量有两种:字面常量这类数据称为常量,常量有两种:字面常量和符号常量。字面常量是指直接将值写出来和符号常量。字面常量是指直接将值写出来的常量,符号常量是指以标识符形式给出的的常量,符号常量是指以标识符形式给出的常量。使用符号常量前,必须要用宏定义来常量。使用符号常量前,必须要用宏定义来定义。定义。C语言程序设计大连理工大学出版社 2009年8月出版宏定义的格式: #define 宏名宏名 常量常量 宏名是一个标识符,常量就是指宏名所代表的那个值

7、。这种形式往往用来定义常量,所以又称为常量宏。源程序使用常量宏的好处是便于修改。C语言程序设计大连理工大学出版社 2009年8月出版例:输入一个圆的半径,输出圆的周长和面积。例:输入一个圆的半径,输出圆的周长和面积。代码:代码:#include”stdio.h”#define PI 3.1415926 /*用宏定义#define常量宏定义符号常量PI*/int main(void) float r,s,c; /*定义三个单精度变量r,s,c*/ printf(“请输入半径:n”); /*输出提示信息*/ scanf(“%f”,&r) ; /*输入变量r的值*/ c=2*PI*r; /*

8、计算c的值*/ s=PI*r*r; /*计算s的值*/ printf(“c=%f,s=%fn”,c,s); /*输出c,s的值*/ return 0;C语言程序设计大连理工大学出版社 2009年8月出版注意:注意:1. 在一个源程序中,如果一个常量经常要被引用,在一个源程序中,如果一个常量经常要被引用,可以定义常量宏。可以定义常量宏。2. 常量宏可以嵌套定义。如:常量宏可以嵌套定义。如: #define N 9 #define M 2+N3. 常量宏是一条预处理命令,不是一条语句,因此后常量宏是一条预处理命令,不是一条语句,因此后面不能加分号。面不能加分号。C语言程序设计大连理工大学出版社 2

9、009年8月出版3.2.2 变量变量 程序执行过程中根据需要在主存中单独开辟空间来存放,这些空间称为变量空间,简称变量变量。其特征是其中的数据在程序执行过程中允许被修改。为了在源程序中能方便的去访问这些空间,程序员为每个变量空间进行命名,即变量名变量名。变量名是标识符的一种,因此其命名规则必须符合标识符的命名规则。 C语言程序设计大连理工大学出版社 2009年8月出版 变量必须由程序员在源程序中先定义,之后才可以使用,否则编译器会报非法标识符的错误。 变量定义格式变量定义格式: 类型名类型名 变量名;变量名; 例1:int a; 例2:char ch=A; C语言程序设计大连理工大学出版社 2

10、009年8月出版 例例1中,若int类型数据在主存中占据2个字节空间的话,则操作系统会在变量a所在的程序执行前,为变量a在主存中分配2个字节的主存空间。对于例例2来讲,则操作系统会为变量ch分配一个字符空间,同时还为该空间赋初值为A。 C语言程序设计大连理工大学出版社 2009年8月出版 每个变量空间中第一个存储单元的地址称为该变量的首地址,因为编制好的程序装入主存的起始地址无法确定,因此没办法确定程序中的变量地址。如果程序员编写程序过程中要使用某些变量的地址,则一般可以通过取地址运算&来获得。获取变量地址的格式:获取变量地址的格式:&变量名变量名返回返回C语言程序设计大连理工

11、大学出版社 2009年8月出版3.3 基本数据类型基本数据类型实型基本类型构造类型指针类型文件类型空类型整型字符型枚举型数据类型数组结构体共用体 图3-1 数据类型C语言程序设计大连理工大学出版社 2009年8月出版3.3.1 类型及存储类型及存储1类型及存储类型及存储 任何一个程序在运行过程中的变量都存任何一个程序在运行过程中的变量都存储在内存中,数据的类型决定了该数据在内储在内存中,数据的类型决定了该数据在内存中所占的字节数。存中所占的字节数。 C语言提供的主要基本数据类型有三种,语言提供的主要基本数据类型有三种,见表见表3-1。 C语言程序设计大连理工大学出版社 2009年8月出版 类型

12、种类关键字字节数表示范围整型有符号基本整型signed int2-3276832767有符号短整型signed shortint2-3276832767有符号长整型signed long int4-2147483648+2147483647无符号基本整unsigned int2065535无符号短整型unsigend short int 2065535无符号长整型unsigend long int 404294967295实型单精度float4-3.4e-38+3.4e+38双精度double8-1.7e-308+1.7e+308字符型字符型char10255表表3-1C语言程序设计大连理工大

13、学出版社 2009年8月出版 注意:注意:(1)表中的)表中的表示可省略。表示可省略。(2)表中各类型所占的字节数是由计算机)表中各类型所占的字节数是由计算机系统决定。这里列出的是系统决定。这里列出的是Turbo c编译系编译系统所分配的字节数。统所分配的字节数。C语言程序设计大连理工大学出版社 2009年8月出版 2不同类型的常量不同类型的常量(1)整型常量)整型常量 整型常量形式有以下三种:整型常量形式有以下三种: 十进制整型常量十进制整型常量:由09十个数字组成,如2、100U、 78L等; 八进制整型常量八进制整型常量:由07八个数字组成且以0开头,如01、025、077等; 十六进制

14、整型常量十六进制整型常量:由09、A-F或a-f十六个数字组成且以0X或0 x开头,如0 x12、0 x1ab、0 x1FA等。 默认的整型常量类型是long int 类型,L表示长整型,U表示无符号,都可以小写。C语言程序设计大连理工大学出版社 2009年8月出版 (2)实型常量)实型常量实型常量形式有以下两种:小数点型:数据中包含了小数点,如0.23、12.123、45.67等。如果小数点前面是0或者后面是0,那么这个0可以省略,但小数点不可以省,如.23、23.等。指数型:由尾数部分和指数部分组成(底为10),中间由E或e分隔,如1230可以写成如123E+1、0.123+4、12300

15、E-1等。但要注意的是E或e前后必须有数字,且E或e后面的数据类型必须是整数。默认的实型常量类型是双精度类型,如果要表示单精度类型,需要在后面加个F或f。C语言程序设计大连理工大学出版社 2009年8月出版(3)字符常量)字符常量 字符常量是以一对单撇号引起的单个字符。字符常量是以一对单撇号引起的单个字符。如:如:a、b和和?。另一类字符常量。另一类字符常量称为转义字符,它们一般都有特殊的含义。称为转义字符,它们一般都有特殊的含义。 所有的转义字符都是以所有的转义字符都是以开头,后面跟开头,后面跟字符或数字。归纳起来,转义字符有以下字符或数字。归纳起来,转义字符有以下几种形式:几种形式: C语

16、言程序设计大连理工大学出版社 2009年8月出版形式例子含义字母a响铃n换行,光标移到下一行的开头t水平制表(Tab键)r回车,光标移到本行的开头f换页,光标移到下页的开头b退格,将光标移到前一列符号代表一个反斜杠字符代表一个单撇号字符”代表一个双撇号字符数字 ddd代表一个字符,其中ddd是这个字符ASCII码的八进制形式字母数字xhh代表一个字符,其中hh是这个字符ASCII码的十六进制形式C语言程序设计大连理工大学出版社 2009年8月出版(4)字符串常量 C语言中有一种特殊的常量字符串常量。字符串常量是由一对双撇号引起的字符序列。例:”123”,”asd124”,”niio”。 C语言

17、规定:任何字符串常量都有一个结束标记0。 a与与”a”的区别的。的区别的。C语言程序设计大连理工大学出版社 2009年8月出版3使用类型定义变量使用类型定义变量 变量在使用之前,必须先定义,定义的同时,可以赋初值。变量定义的一般格式: 类型类型 变量名列表;变量名列表; C语言程序设计大连理工大学出版社 2009年8月出版例例1: unsigned a; short b1,b2; int c1=3,c1=4; 例例2: float f1; float f2=3.0f,f3; double d1,d2; 例例3: char ch1; char ch2=A,ch3=B; C语言程序设计大连理工大学

18、出版社 2009年8月出版3.3.2 类型转换类型转换 前面介绍了C语言中的三种基本数据类型,当这些不同类型的数据在一起进行运算时,它们之间的类型是存在关联的,这种关联体现为自动类型转换或隐含类型转换。 除此外,C语言还提供了另一种类型转换:强制类型转换。 C语言程序设计大连理工大学出版社 2009年8月出版例题例题3-1:编写一简单程序,在其中定义一个:编写一简单程序,在其中定义一个int类型变量和类型变量和char类型变量,之后获取这两变类型变量,之后获取这两变量的首地址并输出。量的首地址并输出。代码:代码:#include”stdio.h”int main(void)int i=10;

19、char ch=A; printf(“&i=%ld,&ch=%ldn”,&i,&ch); return 0;C语言程序设计大连理工大学出版社 2009年8月出版(1)自动类型转换)自动类型转换 自动类型转换是由机器直接完成自动类型转换是由机器直接完成 图3-2 类型转换C语言程序设计大连理工大学出版社 2009年8月出版 通过自动类型转换规则,我们可以通过自动类型转换规则,我们可以知道表达式知道表达式a+b-c( a为为float型型,b和和c为为char型)的计算过程。型)的计算过程。C语言程序设计大连理工大学出版社 2009年8月出版(2)强制类型转换)强制

20、类型转换 (类型名)表达式(类型名)表达式 类型名是指要转换成的类型,又称为目标类型,表达式是指要转换的数据,又称为源数据,可以是常量、变量和其它表达式。C语言程序设计大连理工大学出版社 2009年8月出版例:例: int a; float b; (float)a (int)b (int)(b+a) (int)b+a返回返回C语言程序设计大连理工大学出版社 2009年8月出版3.4 运算符和表达式运算符和表达式 C语言提供了丰富的运算符和表达式。常量、变量与运算符相结合可以构成各种各样的表达式。运算符不仅具有不同的优优先级先级,而且同一级运算符还有结合性结合性。如果是从左向右计算称这个运算符为

21、左结合性,否则称为右结合性。表达式的计算不仅要考虑运算符的优先级,还要考虑运算符的结合性。C语言程序设计大连理工大学出版社 2009年8月出版C语言有以下几类运算符:语言有以下几类运算符:1算术运算符:算术运算符:+,*,/,%,+,。2关系运算符:,关系运算符:,= =,=,=,!=。3逻辑运算符:!,逻辑运算符:!,&,|。4位运算符:,位运算符:,|,&。5赋值运算符:赋值运算符:=。6逗号运算符:,。逗号运算符:,。C语言程序设计大连理工大学出版社 2009年8月出版7条件运算符:?:。条件运算符:?:。8求字节运算符:求字节运算符:sizeof。9类型转换运算符:类型

22、转换运算符:()。10下标运算符:下标运算符: 。11指针运算符:指针运算符:*,&。12分量运算符:分量运算符:.,。C语言程序设计大连理工大学出版社 2009年8月出版3.4.1 算术运算符和算术表达式算术运算符和算术表达式 C语言提供的算术运算符如下:(假设变量语言提供的算术运算符如下:(假设变量a已定义)已定义) 类型运算符作用举例双目或单目+加法或正号9+5、+4减法或负号43、2*乘法2*84/2、4.0/2C语言程序设计大连理工大学出版社 2009年8月出版不同算术运算符的运算规则如下不同算术运算符的运算规则如下 : 操作符操作数的类型结果类型+整型、实型、字符型依据类型

23、转换规则整型、实型、字符型依据类型转换规则*整型、实型、字符型依据类型转换规则/整型、实型、字符型依据类型转换规则%整型整型+整型变量整型整型变量整型C语言程序设计大连理工大学出版社 2009年8月出版例:例:int a=3,b=4,c=7;float d=3.0;则b/a=1,b/d=1.333333,c%b=3。C语言程序设计大连理工大学出版社 2009年8月出版例题例题3-2 不同类型数据间的算术运算不同类型数据间的算术运算 #include “stdio.h” int main(void) int a=10,b=5,c,d; float e; c=a/b; d=a/5.0; e=7.0

24、*2%10; printf(“c=%d,d=%d,e=%fn”,c,d,e); return 0;C语言程序设计大连理工大学出版社 2009年8月出版2自增、自减运算符自增、自减运算符 自增、自减运算符的作用和运算规则自增、自减运算符的作用和运算规则 。 +或或放在变量前表示变量自身先加或放在变量前表示变量自身先加或减减1,再使用变量的值进行其它运算;,再使用变量的值进行其它运算; +或或放在变量后表示先使用变量的值放在变量后表示先使用变量的值进行其它运算后,变量自身再加或减进行其它运算后,变量自身再加或减1。 C语言程序设计大连理工大学出版社 2009年8月出版例:例: int a=3,b;

25、 分析下面两条赋值语句分别执行完后分析下面两条赋值语句分别执行完后a,b的值:的值: b=+a; b=a+; C语言程序设计大连理工大学出版社 2009年8月出版 第条语句的执行过程是:a=a+1,b=a;因此,执行完后a=4,b=4。 第条语句的执行过程是:b=a,a=a+1;因此,执行完后a=4,b=3。C语言程序设计大连理工大学出版社 2009年8月出版例题例题3-3 自增、自减运算符的用法和运算规则自增、自减运算符的用法和运算规则#include “stdio.h”int main(void)int a=3,b=4; int c,d; printf(“a=%d,b=%dn”,a,b);

26、 c=a+; d=b-; printf(“c=%d,d=%dn”,c,d); printf(“a=%d,b=%dn”,a,b); return 0;运行结果:a=3,b=4c=3,d=4a=4,b=3C语言程序设计大连理工大学出版社 2009年8月出版3算术表达式算术表达式 算术运算符和括号将操作数连接起来算术运算符和括号将操作数连接起来且符合且符合C语言语法的式子,称为算术表达语言语法的式子,称为算术表达式。操作数可以是表达式或有值函数调用式。操作数可以是表达式或有值函数调用等。等。 例:例: int a; char b; float c; 表达式a+b*c、a*(b+c) C语言程序设计大

27、连理工大学出版社 2009年8月出版 在进行表达式求值时,先按照优先级的高次序进行运算,对于同级运算符则考虑它的结合性。 例: a+b%c*d(a、b、c、d已定义);C语言程序设计大连理工大学出版社 2009年8月出版3.4.2 关系运算符和关系表达式关系运算符和关系表达式 1关系运算符关系运算符 C语言提供的关系运算符如下:(假设变量语言提供的关系运算符如下:(假设变量a,b已定义)已定义)类类型型运运算算符符含义含义举例举例双双目目大于ab小于a=大于或等于a=b=小于或等于a6、4!=4、a=b、abc、a=c等都是关系表达式。等都是关系表达式。 C语言程序设计大连理工大学出版社 20

28、09年8月出版关系运算符是比较两个操作数之间的关关系运算符是比较两个操作数之间的关系,如果关系表达式为真就用系,如果关系表达式为真就用1来表示,否来表示,否则用则用0来表示。因此,任何一个来表示。因此,任何一个C关系表达式关系表达式的值只能两种之一:的值只能两种之一:0或或1。例:例:32结果为结果为?,(a=4)!=4结果为结果为?。C语言程序设计大连理工大学出版社 2009年8月出版对于复杂关系表达式求值时,先算对于复杂关系表达式求值时,先算、=和和= ,再算,再算= =和和!=,最后同级关系运算符,最后同级关系运算符按照左结合性进行计算。按照左结合性进行计算。 例:例:int a=3,b

29、=6,c=5;则表达式则表达式ac= =b的值为的值为?。依据依据关系运算符的优先级和结合性可依据依据关系运算符的优先级和结合性可知,先算知,先算“”,最后算,最后算“= =”。C语言程序设计大连理工大学出版社 2009年8月出版3.4.3 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式1逻辑运算符逻辑运算符C语言提供的逻辑运算符如下:(假设变量语言提供的逻辑运算符如下:(假设变量a,b已定义)已定义)类型运算符含义举例双目&且、与a&b|或a|b单目!非!aC语言程序设计大连理工大学出版社 2009年8月出版2逻辑表达式逻辑表达式用逻辑运算符和括号将操作数连接起来用逻辑运算符和

30、括号将操作数连接起来且符合且符合C语言语法的式子,称为逻辑表达式。语言语法的式子,称为逻辑表达式。其中操作数可以是表达式或有值函数调用等。其中操作数可以是表达式或有值函数调用等。当操作数为非当操作数为非0时用时用1表示。任何一个表示。任何一个C逻辑逻辑表达式的值只能两种之一:表达式的值只能两种之一:0或或1。例:例:3&6、4|4、a&b、a&b|c、!a C语言程序设计大连理工大学出版社 2009年8月出版设有两个表达式分别为设有两个表达式分别为e1和和e2,由,由e1和和e2组成组成的逻辑表达式的逻辑表达式e1|e2、!e1和和e1&e2结果如下:结果如下:

31、e1e2!e1e1&e2e1|e2非0(1)非0(1)011非0(1)00010非0(1)10100100C语言程序设计大连理工大学出版社 2009年8月出版对于复杂逻辑表达式求值时,先算!,再对于复杂逻辑表达式求值时,先算!,再算算& ,最后算,最后算|,同级关系运算符按照左结,同级关系运算符按照左结合性进行计算。合性进行计算。 例:有以下定义例:有以下定义int a=3,b=6,c=5;则逻辑表达式!则逻辑表达式!a&b|c的值为的值为?。 C语言程序设计大连理工大学出版社 2009年8月出版例:有以下定义例:有以下定义 int a=7,b=8;当当e1为为a=2,

32、e2为为b=4,逻辑表达式,逻辑表达式e1|e2的的结果是结果是1。但如果问执行这个表达式后,但如果问执行这个表达式后,a和和b的值分别的值分别为多少呢?为多少呢?C语言程序设计大连理工大学出版社 2009年8月出版像这种情况,必须继续考虑以下规则:像这种情况,必须继续考虑以下规则:对于e1|e2,如果e1表达式的值为非0,就不要去计算e2的值了,即e2不执行。反之,则要计算。对于e1&e2,如果e1表达式的值为0,就不要去计算e2的值了,即e2不执行。反之,则要计算。因此,因此,a等于等于2,b保持不变。保持不变。C语言程序设计大连理工大学出版社 2009年8月出版3.4.4 位运算

33、符位运算符C语言提供的位运算符,如下表所示:语言提供的位运算符,如下表所示:(假设假设a,b已定义已定义)类型运算符含义举例运算规则双目向左移位a向右移位an向右移出n位后,如果a是有符号数就补符号位,否则就补零。单目各位取反a将a的各位取反:0变1,1变0。双目|按位或a|b将a和b的对应位进行或运算:0|0=0 0|1=1 1|0=1 1|1=1&按位与a&b将a和b的对应位进行与运算:0&0=0 0&1=0 1&0=0 1&1=1按位异或ab将a和b的对应位进行异或运算:00=0 01=1 10=1 11=0C语言程序设计大连理工大学出版社

34、 2009年8月出版 因此,两个操作数要进行位运算,必须因此,两个操作数要进行位运算,必须先将两个操作数分别转化成二进制,再按位先将两个操作数分别转化成二进制,再按位运算符的运算规则进行运算。如果在一个表运算符的运算规则进行运算。如果在一个表达式中含有多个位运算符,必须考虑位运算达式中含有多个位运算符,必须考虑位运算符的优先级和结合性。在位运算符中,优先符的优先级和结合性。在位运算符中,优先级由高到低依次为:!级由高到低依次为:! 、&|,左结合性。左结合性。C语言程序设计大连理工大学出版社 2009年8月出版3.4.5 赋值运算符和赋值表达式赋值运算符和赋值表达式1赋值运算符赋值运算

35、符 C语言提供了两种赋值运算符:单赋值运算符语言提供了两种赋值运算符:单赋值运算符和复合赋值运算符。和复合赋值运算符。 “=”就是最常用的单赋值运算符,复合赋值运就是最常用的单赋值运算符,复合赋值运算符是指其它运算符和算符是指其它运算符和“=”结合在一起构成的,结合在一起构成的,其它运算符有其它运算符有+、-、*、/、%和和、&、|。比如:比如:+=、4?3:4的值为的值为4。 C语言程序设计大连理工大学出版社 2009年8月出版3.4.7 优先级和结合性优先级和结合性 很多情况下,一个表达式可能包含多种很多情况下,一个表达式可能包含多种运算符。为了能够正确计算表达式的值,我运算符。为

36、了能够正确计算表达式的值,我们就需要了解不同类运算符之间的优先级。们就需要了解不同类运算符之间的优先级。表表3-9列出了列出了C语言中运算符之间的优先级及语言中运算符之间的优先级及同级运算符的结合性。同级运算符的结合性。C语言程序设计大连理工大学出版社 2009年8月出版优先级运算符含义要求运算对象的个数结合方法1 ( ) 圆括号下标运算符指向结构体成员运算符结构体成员运算符左结合2 ! + - - (类型) * & sizeof逻辑非运算符按位取反运算符自增运算符自减运算符负号运算符类型转换运算符指针运算符地址运算符长度运算符 单目运算符右结合3 * / %乘法运算符除法运算符求余运

37、算符2 左结合4 + -加法运算符减法运算符2 左结合5 左移运算符右移运算符2 左结合6 =关系运算符 2 左结合7 !等于运算符不等于运算符2 左结合8 &按位与运算符 2左结合9 按位异或运算符 2左结合10 按位或运算符 2 左结合11 &逻辑与运算符 2 左结合12 逻辑运算符 2 左结合13 ?:条件运算符 3 左结合14= += -= *=/= = 2;printf(“a=%d,b=%dn”,a,b);printf(“a和b的关系是:%dn”,a!=b);printf(“c=%dn”,c);printf(“float 和 char运算结果占的字节数:%dn”,si

38、zeof(f1+ch1);return 0 C语言程序设计大连理工大学出版社 2009年8月出版运行结果:运行结果:a=4,b=3a和b的关系是:1c=1float和char运算结果占的字节数:4返回返回C语言程序设计大连理工大学出版社 2009年8月出版3.5 C源程序构成源程序构成 前面几节介绍了构成前面几节介绍了构成C语言源程序的基语言源程序的基本语言元素。在第本语言元素。在第2章中从函数和文件的角章中从函数和文件的角度初步了解了度初步了解了C程序,知道构成程序,知道构成C语言源程语言源程序的基本单位是函数,而函数中的基本内容序的基本单位是函数,而函数中的基本内容则是一条一条的则是一条一

39、条的C语句。语句。C语言程序设计大连理工大学出版社 2009年8月出版 3.5.1 C语句语句 语句是语句是C源程序重要组成部分,没有语句,程序源程序重要组成部分,没有语句,程序也就没有实际意义。也就没有实际意义。C语言规定:每条语句都是以语言规定:每条语句都是以“;”结束。结束。 C语言提供的语句分为以下语言提供的语句分为以下5类:类: (1)表达式语句)表达式语句 由一个表达式加上分号便构成了一条表达式语句,由一个表达式加上分号便构成了一条表达式语句,最常见的表达式语句是赋值表达式语句。最常见的表达式语句是赋值表达式语句。 例:例:a=8;C语言程序设计大连理工大学出版社 2009年8月出

40、版(2)流程控制语句)流程控制语句 流程控制语句是用来完成一定的控制功能。C语言提供了9条控制语句,分为下列几类: 实现条件结构的控制语句:实现条件结构的控制语句:ifelse、switch.case语句语句 实现循环结构的控制语句:实现循环结构的控制语句:while、do-while、for、continue、break、ifgoto语句语句 用于函数返回的控制语句:用于函数返回的控制语句:return语句语句C语言程序设计大连理工大学出版社 2009年8月出版(3)函数调用语句)函数调用语句 函数调用语句是由函数调用和一个函数调用语句是由函数调用和一个分号组成。分号组成。例:例: prin

41、tf(“%d”,a); C语言程序设计大连理工大学出版社 2009年8月出版(4)复合语句)复合语句 复合语句就是将若干条语句用一对花括号括起来的语句。 例:例: #include int main(void) int a=3,b=7; printf(“%d”,a+b); C语言程序设计大连理工大学出版社 2009年8月出版(5)空语句)空语句空语句只有一个分号,表示什么也不做。空语句只有一个分号,表示什么也不做。 C语言程序设计大连理工大学出版社 2009年8月出版3.5.2 函数定义格式及其调用格式函数定义格式及其调用格式 函数定义的一般格式是: 类型类型 函数名(参数列表)函数名(参数列

42、表) /*函数首部*/ /*函数体*/ 变量定义变量定义; 语句语句; 调用函数的一般格式是: 函数名(参数列表)函数名(参数列表)C语言程序设计大连理工大学出版社 2009年8月出版例题例题3-5:求两个整数的最大值。要求源程序通过调用函数求最:求两个整数的最大值。要求源程序通过调用函数求最大值。大值。代码:代码:#include”stdio.h”int max(int a,int b) /* max函数定义*/ int c; /*变量定义*/ if(ab) c=a; else c=b; /*控制语句求a和b的最大值*/ return c; /*函数返回语句*/ int main(void)

43、 /*main函数*/ int a,b,c; scanf(“%d%d”,&a,&b); c=max(a,b); printf(“%d”,c); return 0; C语言程序设计大连理工大学出版社 2009年8月出版3.5.3 基于控制台的输入输出基于控制台的输入输出 基于控制台的输入和输出操作是通过调用基于控制台的输入和输出操作是通过调用C语言提语言提供的函数来完成。输入输出函数有两种:格式化输入供的函数来完成。输入输出函数有两种:格式化输入和输出函数以及字符的输入和输出函数。和输出函数以及字符的输入和输出函数。 1格式化输入输出函数格式化输入输出函数 (1)printf输出函数输出函数 调用调用printf函数的格式是:函数的格式是:printf(格式控制格式控制,变量列表变量列表);C语言程序设计大连理工大学出版社 2009年8月出版printf(格式控制格式控制,变量列表变量列表); 格式控制中可以包括两部分,一部分是以“%”开头的格式符,一部分是原样输出的字符串,变量列表指出要输出的常量或变量。常用格式符有四种:%c、%d、%f和%s。%c表示输出一个字符型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论