c语言学习笔记三



return 语句
如果没有返回结果,结束当前函数的执行,返回到调用它的地方


增量式开发

分局设计(stratify)

递归
计算阶乘
0!=1
n!=n*(n-1)!
示例代码:
  int factorial(int n){
if(n==0){
return 1;
}else{
int recurse=factorial(n-1);
int result=n*recurse;
return result;
}
}







循环语句

while语句
示例代码:
int factorial(int n){
int result=1;
while(n>0){
result=result*n;
n=n-1;
}
return result;
}



do/while语句
示例代码:
int factorial(int n){
int result=1;
int i=1;
do{
result=result*i;
i=i+1;
}while(i<=n);
return result;
}
for语句
示例代码:
int factorial(int n){
int result=1;
int i;
for(i=0;i<n;++i) {
//for(int i=0;i<n;++i){//??????
result=result+i;
}
return result;
}





break和continue语句
break 用于跳出语句块或循环
continue用于停止当前循环,不同的是他跳到循环体开头,执行下一次循环


示例代码:
1-100的素数
#include <stdio.h>
int is_prime(int n){
for(i=2;i<n;i++){
if(n%i==0){
break;
}
if(i==n){
return 1;
}else{
return 0;
}
}
}
int main(void){
int i;
for(i=1;i<100;i++){

if(!is_prime(i)){
contiue;
}
printf("%d\n",i);

}
return 0;
}








嵌套循环
示例代码:
#include<stdio.h>
int main(void){
int i,j;
for(i=1;i<=100;i++){
for(j=2;j<i;j++){
if(i%j==0){
break;
}
if(j==i){
printf("%d\n",i);
}
}
}
return 0;
}

打印小九九
#include<stdio.h>
int main(void){
int i,j;
for(i=1;i<=9;i++){
for(j=1;j<i;j++){
printf("%d",i*j);
}
printf("\n");
}
return 0;
}








goto语句和场景
无条件跳转
示例代码:
for(){
for(){
if(条件表达式){
goto 标号;
}
}
}
标号: 满足条件表达式后需执行的方法


应用场景:出现错误条件,跳到末尾执行错误处理(释放分配的资源,恢复修改


的全局变量等),c++和java中可以使用异常处理的方法(exception)
setjmp和longjmp可以实现函数间的跳转

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值