一,break和continue语句:
1,break:可以用来从循环体内跳出循环体,即提前结束,接着执行下面语句ps:一般只能跳出一个循环,跳出多个可用goto语句。 break不能用于循环语句和swith语句之外任何语句。(用了也没意义)break对if-else的条件语句不起作用,在多层循环中一个break只往外跳一层。
此为例题图
continue:作用为结束本次循环而不是终止整个程序执行、
#include<stdio.h>
#include<stdlib.h>
int main(){
char a;
for(;;)
{
a=getchar();
if(a=='\27'){
break;
}
if(a=='\n'){
printf("input next character:");
continue;
}
}
return 0;
}
二,数组
具有相同类型的数据组成的序列,是有序集合。数组中每个数据称为数组元素和下标变量。
1.数组元素 由其所在的位置序号(称数组元素的下标)来区分。 数组名与下标 可以用统一的方式来处理数组中的所有元素,可以方便实现处理一批具有相同性质数据的问题。
2.一维数组 定义:类型说明符 数组名 [常量表达式] int a[10]; 这表示了一个整型数组,数组名为a (用户定义),此数组有10个元素,10个元素都是整型变量! (1)类型说明符是任一种基本数据类型(浮点型,整型,字符型)和构造数据类型。(2)括号内常量表达式表示数据元素个数(也称数组长度)。(3)允许在同一个类型说明中,说明多个数组和多个变量(int a,b,k1[10],...;)。(4)数组下标永远是从0开始,a[0],a[1]...a[9] ps:不存在数组元素a[10]。(5)c语言不允许对数组大小做动态,数组大小不依赖于程序运行过程中变量的值(int n; scanf("%d,"&n); int a [n])ps:定义数组a[0]无意义此为定义补充。
一维数组元素的引用: 数组元素也是一种变量(如a[i+j,a[i++]]),表示方法为数组名后跟一个下标,下标表示元素在数组中的序号。在c语言中只能逐个使用下标变量,而不能一次引用整个数组
此为补充。
一维数组初始化 除逐个对数组元素赋值外,还可用初始化赋值和动态赋值。 ps:之前用赋值语句或输入语句也可以给数组元素指定初值,在运算时完成。其一般形式为 类型说明符 数组名[常量表达式]={值,值,....值};若只给一部分元素赋值则另一部分元素值为0,如果想使一个数组中全部元素值为0可写成int a [o];下图为典型例题。
此题一共有5次比较,第一次最大数9已经完成,如有n个数,则要进行n-1趟比较(在第一趟中要进行两两比较)第k趟比较中进行n-k次两两比较。
#include<stdio.h>
#include<stdlib.h>
int main(){
int i,k,a[10],t;
printf("input 10 n:\n");
for(i=0;i<10;i++){
scanf("%d",&a[i]);
}
printf("\n");
for(k=0;k<9;k++){ //此为n-1趟
for(i=0;i<9;i++){ //此为n-j两两比较
if(a[i-1]>a[i]){
t=a[i-1];
a[i-1]=a[i];
a[i]=t;
}
}
printf("the:\n");
for(i=0;i<10;i++){
printf("%d",a[i]);
}
printf("\n");
}
return 0;
}