switch
#include <stdio.h>
int main(void)
{
int val;
printf("请选择您要选择的方案:\n");
scanf("%d", &val);
switch (val)
{
case 1:
printf("11111\n");
break;
case 2:
printf("22222\n");
break;
case 3:
printf("333333\n");
break;
default :
printf("对不起没有此方案!");
break;
}
return 0;
}
break和continue
break的用法
1.如果用于循环,用于终止循环。
2.如果用于switch终止switch。
3.不能直接用于if,除非if属于循环内部的一个子句。
#include <stdio.h>
int main(void)
{
int i = 0;
for (i=0; i<3; i++)
{
if(3 > 2)
break;
printf("可以输出吗?\n");
}
return 0;
}
上述程序printf并没有输出所以我们可以知道:虽然break是if内部的语句但是break终止的是整个循环。
但是在多层嵌套循环中break只能终止直接包含他的循环:
没有break
#include <stdio.h>
int main(void)
{
int i;
int j;
for (i=0; i<3; i++)
{
for(j = 0; j < 2; j++)
{
if(3 > 2)
printf("可以输出吗?\n");
}
printf("嘻嘻!\n");
}
return 0;
}
/*
--------------------------------------------
输出结果:
可以输出吗?
可以输出吗?
嘻嘻!
可以输出吗?
可以输出吗?
嘻嘻!
可以输出吗?
可以输出吗?
嘻嘻!
-----------------------------------------
*/
含有break
#include <stdio.h>
int main(void)
{
int i;
int j;
for (i=0; i<3; i++)
{
for(j = 0; j < 2; j++)
{
if(3 > 2)
break;
printf("可以输出吗?\n");
}
printf("嘻嘻!\n");
}
return 0;
}
/*
--------------------------------------------
嘻嘻!
嘻嘻!
嘻嘻!
-----------------------------------------
*/
可以看到直接包含break的循环直接被终止了,而外部的循环没有被终止。
break的用法在switch中相似。
continue的用法
for(1; 2; 3)
{
A;
B;
continue;//如果执行该语句则执行完语句会执行句子3,C,D会跳过不会执行C,D。while同理。
C;
D;
}
while(表达式)
{
A;
B;
continue;
C;
D;
}
关于数组的一些问题
数组的分为:
1.一维数组;
2.二维数组;
3.多维数组。
对于数组的定义:
int a[5] = {1, 2, 3, 4, 5}
a为数组的名称,5表示数组元素的个数,并且这5个元素分别用a[1], a[2], a[3], a[4]表示。
int a[5];
a[5] = {1, 2, 3, 4, 5}
//只有在定义的同时才能整体赋值,其他情况都是错误的。第二行的a[5] 表示的是a数组中的第6个元素。
附上今天的练习:
/*
把一个数组的元素全部倒过来。
*/
#include <stdio.h>
int main(void)
{
int a[5] = {1, 2, 3, 4, 5};
int i, j, t;
i = 0;
j = 4;
while( i < j )
{
t = a[i];
a[i] = a[j];
a[j] = t;
i++;
j--;
}
for (i=0; i<5; i++)
printf("%d\n", a[i]);
return 0;
}
/*
------------------------------
输出结果:
5
4
3
2
1
Press any key to continue
------------------------------
*/
/*
将二维数组有序列的输出。
*/
#include <stdio.h>
int main(void)
{
int a[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
};
int i, j;
j = 0;
for (i=0; i<3; i++)
{
for(j=0; j<4; j++)
printf("%-5d", a[i][j]);
printf("\n");
}
return 0;
}
/*
------------------------------
输出结果:
1 2 3 4
5 6 7 8
9 10 11 12
Press any key to continue
------------------------------
*/