您的位置:首页 > 其它

C流程控制

2015-12-10 19:06 253 查看
选择控制语句
if语句
if(){} 满足条件才会执行
if(); 如果条件成立执行if后面的第一个语句(语句结束的标志是;)
从第二句开始,跟if语句没有关系了.
if(){}else{} 满足条件执行一种方案,否则,执行另一种方案

if(){}else if(){} 满足第一种条件执行一种方案,如果第一种条件不满足,
继续判断是否满足第二种条件,不满足继续判断接下来的别的条件
但:只要有一个满足了,接下来的条件判断不会执行.
switch语句

1.条件结果只能是整数,而case只能是整型常量.注意:case ‘a’;

2.break 可有可无,有则执行完跳出,没有则继续执行,直到遇到下一个break或执行完.

3.default可有可无,有则如果条件都不满足,会执行这句,无则条件都不满足,执行结束.

4.case下面要定义变量必须加{} 且case后的常量值不能重复

5.switch语句可以全部用if语句替代.但if语句不能全用switch替代.



int a=5;

switch (a) {

case 'a'://==case 97:

printf("a=1\n");

break;

case 2:

printf("a=2\n");

break;

case 3:

printf("a=3\n");

break;

default:

printf("没有匹配的int值\n");

break;

}



[/code]

循环语句
for(初始化变量;判断语句;循环变化){}
while(条件){}
do{}while(条件)
如果碰到continue,则跳出本次循环继续下一次判断,如果条件成立继续执行循环.
如果碰到break无论条件满足与否,循环立刻结束.
continue与break跳出的都是当前所在的循环作用域.如果外层有循环,不受影响.
do while至少执行一次.而while不一定.

C语言函数
函数是一组特定的代码块,执行特定的任务。当你需要执行一个函数体时,你只需要调用函数的标示名。
定义: 返回值类型 函数名(形式参数类型 参数名1,……){
具体代码
return 返回值
}
调用: 函数名(实际参数1,实际参数2,…..);

1.返回值类型不定义默认是int.如果不需要具体返回值类型用void(return可以省略).
2.是否要定义参数看是否有未知内容参与运算,调用时参数必须对应.参数传递的是值.
3.return可以有多个,但是如果执行到return就不会再执行后面的代码,函数执行结束.
4.函数不调用不执行,执行顺序看调用顺序.定义了返回值类型可以不返回.(不建议).
5.函数必须定义才能调用,但不能重复定义.不能嵌套定义.不能自已调用自已(死递归).

选择排序和冒泡排序

选择排序

核心:把最大(最小)的数依次选出来,依次放到相应的角标上去.

2 1 5 3 4

1 2 3 4 5

int arr[5]={2,1,5,3,4};

//这个数组有多少个元素,则就应该选多少次

for (int i=0; i<5; i++) {

//在求每一次最值

int tempMinIndex=i;

for (int y=i; y<5; y++) {

if (arr[tempMinIndex]>arr[y]) {

tempMinIndex=y;

}

}

//把最值跟当前这一轮的首元素做交换

int temp=arr[tempMinIndex];

arr[tempMinIndex]=arr[i];

arr[i]=temp;

}

for (int i=0; i<5; i++) {

printf("%d ",arr[i]);

}

printf("\n");

冒泡排序

核心是:把最值冒出来.


int arr[5]={2,1,-1,3,4};

for (int i=0; i<5; i++) {

   //把当前返回内的最值冒出来--相邻的两两比较

   for (int y=0; y<5-i; y++) {

  //当前元素比其下一个更大,则交换位置

  if (arr[y]>arr[y+1]) {

 //交换

 int temp=arr[y];

 arr[y]=arr[y+1];

 arr[y+1]=temp;

}

}

}

for (int i=0; i<5; i++) {

printf("%d ",arr[i]);

}

printf("\n");

[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: