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可以实现函数间的跳转
  
posted @ 2012-09-16 13:01  retacn_yue  阅读(170)  评论(0编辑  收藏  举报