C程序中语句的分类 表达式语句:在表达是后面加上“;”组成表达式语句。 例如:x=y+z;//赋值语句 y+z;//加法运算语句,但结果不能保留,无实际意义 i++;//自增语句,i只增加1 空语句:a.程序中最简单的语句,只有一个单独的分好组成; b.单独使用空语句对程序没意义;c.可以用作空循环体。 空循环体:例如:while(getchar()!=’\n’ {;}//此语句的功能是,如果从键盘输入的字符不是回车则重新输入。 复合语句:由一个或者多个扩在花括号内的语句构成。 例如: {nTemp=nNum1; nNum1=nNum2; nNum2=nTemp; printf(“nNum1=%d,nNum2=%d”,nNum1,nNum2); }//此复合语句作用是交换两个数的值 控制语句分为三类:1.分支语句:if,switch;2.循环语句:do while, While,for;3.辅助控制语句:break,goto,continue,return. 程序流程图:程序流程图是程序分析中最基本,最重要的分析技术,它是进行流程程序分析过程中最基本的工具。 程序结构分为三种:顺序结构,分支结构,循环结构。 顺序结构是最简单的程序结构,它是由若干个依次执行的处理步骤组成。 分支结构:遇到一些条件的判断,流程根据条件是否成立有不同的流向。 C语言有两种选择语句:if语句,实现两个分支的选择结构;switch语句,实现多分支的选择结构。 If语句 格式:if(表达式) {语句块} 后续语句; Else if语句 一般形式: if (表达式1) { 语句块1; } else if (表达式2) {语句块2 } ...... else { 语句块m;} switch语句注意: switch后面括弧内的“表达式”, ANSI标准允许它为任何类型。 在case后的各常量表达式的值不能相同,否则会出现错误。 在case后,允许有多个语句,可以不用{}括起来。 各case和default子句的先后顺序可以变动,而不会影响程序执行结果 default子句可以省略不用。 应该在执行一个case分支后,可以用一个break语句来终止switch语句的执行。 循环的特点是,在给定的判断条件成立时,反复执行某个程序段 C语言中主要的循环语句有三个: 1. while循环语句 2. do-while循环语句3. for循环语句 循环结构分为两种:当型循环和直到型循环。 While循环语句: 一般形式: while(表达式) { 循环语句; } 使用while注意: a.while后面的括号( )不能省。 b.while后面的表达式可以是任意类型的表达式,但一般是条件表达式或逻辑表达式。 c.表达式的值是是循环的控制条件。 d.语句部分称为循环体,当需要执行多条语句时,应使用复合语句 while语句注意事项: a.如果while后的表达式的值一开始就为假,循环体将一次也不执行 b.循环体中的语句可为任意类型的C语句 c.遇到下列情况,退出while循环: 1.表达式为假(为0) 2.循环体内遇到break、return或goto语句 d.在执行while语句之前,循环控制变量必须初始化,否则执行的结果将是不可预知的 e.要在while语句的某处(表达式或循环体内)改变循环控制变量,否则极易构成死循环 f.while语句可以嵌套使用 break语句和continue语句 continue和break的区别:break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。 利用数组处理批量数据 数组的基本概念 1.前几章使用的变量都属于基本类型,例如整型、字符型、浮点型数据,这些都是简单的数据类型。 2.对于有些数据,只用简单的数据类型是不够的,难以反映出数据的特点,也难以有效地进行处理。 3.C语言除了提供基本数据类型外,还提供了构造类型的数据,它们是数组类型、结构体类型、共同体类型等。 数组的基本概念 1、数组:一组具有相同数据类型的数据的有序的集合 2、数组元素:构成数组的数据。数组中的每一个数组元素具有相同的名称,不同的下标,可以作为单个变量使用,所以也称为下标变量。 3、数组的下标:是数组元素的位置的一个索引或指示。 4、数组的维数:数组元素下标的个数。根据数组的维数可以将数组分为一维、二维、三维、多维数组。 一维数组的定义:数组是有序数据的集合,其每个元素具有相同的数据类型,可用一个统一的数组名和下标来惟一地确定数组中的元素。 数组的定义格式为: 数据类型 数组名[常数表达式] 例如: int arr_Int[10]; //定义一个有10个整型变量的数组 long arr_Long[10]; //定义一个有10个长整型变量的数组 float arr_Float[10]; //定义一个有10个浮点型变量的数组 double arr_Double[10];//定义一个有10个双精度浮点型变量的数组 char arr_Char[10]; //定义一个有10个字符型变量的数组 1.类型说明:指的是数据元素的类型,可以是基本数据类型,也可以是构造数据类型。类型说明确定了每个数据占用的内存字节数。 2.数组名:按标识符规则。 3.方括号中的常量表达式表示数据元素的个数,也称为数组的长度。 二维数组的定义:通常用来存储按行和列格式存放的数据。 int arrRow [m][n]; //定义一个有m行n列的二维数组 有两个下标,第一个表示行,第二个表示列 二维数组可被看作是一种特殊的一维数组:它的元素又是一个一维数组 例如://定义一个m行n列的数组,有数据m*n个 int arr_Array[m][n]; //定义一个3*4的数组 int arr_Array[3][4]; a.二维数组定义中的第1个下标表示该数组具有的行数,第2个下标表示该数组具有的列数,两个下标之积是该数组具有的数组元素的个数。 b.二维数组中的每个数组元素的数据类型均相同。二维数组的存放规律是“按行排列”。 c.二维数组中的每个数组元素都有两个下标,且必须分别放在单独的“[ ]”内。如:a[3][4] 字符数组的基本概念 1、字符数组:存放字符数据的数组,每一个元素存放一个字符。 程序中定义字符数组 例、char c[10]; /* 定义c为字符数组,包含10个元素 */ c[0]='I'; c[1]=' '; c[2]='a'; c[3]='m'; c[4]=' ';c[5]='h'; c[6]='a'; c[7]='a'; c[8]='p'; c[9]='y'; 其他定义方式: 另一种定义:char ch[10]={"c program"}; 另一种定义:char ch[]={"c program"}; 另一种定义:char ch[]="c program";
|