C语言选择结构总结
选择结构
1.if形式
if(表达式)语句;表达式值为非0时,执行语句,否则什么也不做
2.if-else形式
if(表达式)语句1;表达式值为非0时,执行语句1,否则执行语句2。
else 语句2;if自动结合一条语句,多条时应用大括号括起来。
一个if结合一个else。
3.if-else形式
if(表达式) 语句1;在使用嵌套时,else总是如if(x>=0)
else if(表达式2)语句2;和它上面最接近的if配对。if(x>0) a=1;········else a=2
else语句else if(x<-2) a=3
else a=4
4.switch语句
switch(表达式)
{case常量1:语句1;break;所取常量不同,若无常量n与表达式值对应则执行·····default。若无break择继续执行下一条语句直至遇到case 常量n:语句n;break;break。break只跳出自己所在的那层switch,若有
continue,也是跳出自己所在的那层switch。
循环结构程序设计
1.while语句(先判断,再执行)
While(表达式)注意while(表达式)后无分号,先判断,再执行。表达式同if 循环体;可以为任何类型的表达式,其值为逻辑“1”时执行循环体。
While结构常用于循环次数不固定的循环
2.do-while语句(先执行,再判断)
Do do-while表达式后必须加“;”
{循环体;do-while与while相互转换时,注意修改循环控制的条件。
}while(表达式);
3.for语句
for(初始表达式1;条件表达式2;循环表达式3)
{循环体;}
三个表达式均可以是逗号表达式
三个表达式都可以省略,但是分号不可省略
【表达式1省略,需在循环前对i赋值】【表达式2省略循环将无终止进行】
【表达式3省略应在循环体中加入如“i++”之类的累加器。】
【三个表达式均省略相当于while(1)的循环体】
4.break语句和continue语句
break;可用于结束break所在的switch语句,或者结束当前循环,跳出break所在的循环结构
continue;continue语句可以结束本次循环,即不再执行循环体中的continue语句之后的
语句,转入下一次循环条件的判断与执行。
利用数组处理批量数据
(3)初始化
数组类型数组名[数组长度]={数组元素值};只能在定义时使用大括号初始化,其他情
况下应单个赋值
全部元素赋初值,如int a[5]={1,2,3,4,5};也可以不指定长度int a[]={1,2,3,4,5}
可部分元素赋初值,如int a[5]={1,2,3} 则是给前三个元素赋初值。
2.二维数组
(1)定义
类型数组名[表达式1][表达式2] 分别对应行数列数
(2)引用
一般使用for循环引用,先行后列如同样,行下标应小于等于行数减一。
for(i=0;i<=3;i++)列下标应小于等于列数减一。
{for(j=0;j<=2;j++)
a[i][j]=getchar();}
储存时,按行储存,先行后列。
(3)初始化
分级初始化如int k[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}
按顺序将所有数据写在一起如int k[2][3]={1,2,3,4,5,6}
3.字符数组与字符串
(1)定义
char 数组名[常量表达式]
数组中每个元素的值为一个字符。
系统在内存为字符数组分配若干连续的存储单元,每个单元一个字节。
(2)初始化
逐个元素初始化,如char c[8]={‘b’,’o’,’y’} 要记得加单引号
用字符串初始化,如char c[11]={“I am a boy”};初始化后在末尾自动加”\0”
如果初值个数<数组长度,则将这些字符赋给数组中前面的元素,其余元素自动定为
空字符(即‘\0’)
(3)输入输出
①用格式“%c”逐个输出输入如scanf(“%c”,&a[10]
②用格式符“%s”整个字符串输入输出,如scanf(“%s”,a)