goto
无条件跳转语句,让cpu到指定的地方去执行
语法:
goto 行标识(语句标识)
行标识:标识符,用来标识一行
行标识一般写在一行的最前面,前面允许有空白符
int sum=0,i=1;
loop:
sum=sum+1;
i=i+1;
if(i<=100)
{
goto loop;
}
for循环:
for(变量;循环终止条件;循环变量增量)
{
循环体
}
while:
变量
while(循环终止条件)
{
循环体
循环变量增量
}
do while:
变量
do
{
循环体
变量增量
}while(循环终止条件);
switch-case:
switch(整形变量){
case 整形常量表达式;
break;
default:
}
break:跳出当前循环;但是如果是嵌套循环,则只能跳出当前的这一层循环,只有逐层break才能跳出所有循环。
default:在switch中 表明默认case处理的语句,表示否则的意思
总结: 不管哪种循环结构,都不能缺少循环控制条件初始化,终止条件,循环控制变量增量,循环体这四部分;while循环是先判断后执行,do while循环是先执行后判断,等循环一次之后,再判断。
ctrl +z
EOF是c语言的文件结束标志
判断素数
判断的是 不是素数的数值,否则其他的是素数
4.
计算数组长度
在函数中不能使用,在函数外使用
printf返回值是字符的个数
函数声明写在头文件,先声明再使用
函数定义
数组 :
一维数组:
sizeof 计算的是数组所占空间大小,7个元素就7个
strlen是计算‘\0’之前的字符个数,如果char arr【】={‘a’,‘b’,‘c’},是随机值,因为没有/0
下标计算char类型:strlen(arr)
int类型:
数组在内存中是连续存放的,地址相差4个字节
二维数组
二维数组行可以省略,列不行
int arr 【】【3】={{1,2,3,4},{4,3,2,1}}
二维数组也是连续存放的,地址相差4个字节
9.
数组名就是首元素地址
有两个例外
1.sizeof(数组名),数组名表示整个数组,它计算的数组大小,单位是字节
2.&数组名,取出的是数组的地址