c语言学习笔记二

函数
 注: linux下运行.c执行以下命令:
       gcc fileName.c -lm(由于数学函数位于libm.so中)
       ./a.out
 
 c标准库和glibc
  c标准库  描述c的语法
           描述c标准库
  glibc 是linux平台上最广泛的c函数库(包括标准库和所有系统库)
  
  数学函数


  示例代码:
  #include<math.h>
  #include<stdio.h>
  int main(void){
double pi=3.1416;
printf("sin(pi/2)=%f\nln1=%f",sin(pi/2),log(1.0));
return 0;
  }


  自定义函数
   示例代码:
   #include <stdio.h>
    //自定义函数
     void newline(void){
        printf("\n");
     }
   int main(void){
    int hour=11;
        int minute=59;
        printf("%d and %d hours\n",hour,minute/60);
        //调用函数
newline();
return 0; 
   }  
  
   注:由于old style c语法的存在,像上面的newline函数,如果没有指明参数类型


和个数,不算函数原型,如果这样的声明之后调用函数,编译器不会作语法检查,容


易出bug
  #include <stdio.h>
    
   int main(void){
    int hour=11;
        int minute=59;
        printf("%d and %d hours\n",hour,minute/60);
        //调用函数
newline();
return 0; 
   }
   //自定义函数
     void newline(void){
        printf("\n");
     }
  在main函数中,隐式声明int newline(void); 隐式声明的返回值为int 
  由于没有用到返回值,所以程序仍可正常运行
 
形参和实参
 
 示例代码:
 #include<stdio.h>
 //形参
 void print_time(int hour,int minute);
 {
  printf("%d;%d\n",hour,minute);
 }
 int main(void){
//实参
print_time(20,30);
return 0; 
 }


全局变量,局部变量和作用域


 局部变量(local variable):在函数中定义的变量
  示例代码:
  #include <stdio.h>
    
   int main(void){
    //局部变量
    int hour=11;
        int minute=59;
        printf("%d and %d hours\n",hour,minute/60);  
return 0; 
   }
  1 不能被别的函数使用
  2 每次调用局部变量,都表示不同的存储空间
 


 全局变量
  示例代码:
  #include <stdio.h>
  //全局变量(能用传参代替的就不要用全局变量,便于排错)
  int hour=10,minute=20;
  void print_time(void){
  printf("");
  }
  int main(){
  print_time();
return 0;
  }




控制结构


 结构化程序设计


顺序结构


if 语句
 语法结构
  if(){
  
   } 
 
  if(){
 
  }else{
 
  }
   
   if(){
 
   }else if(){
 
   }else{
 
   }






示例代码:
#include <stdio.h>
void main(){
float x,y,t;
scanf("%f,%f",&x,&y);
if(x<y)
{
t=x;x=y;y=t;
}
printf("x=%6.2f,y=%6.2f",x,y);


}






多分支
switch(){
   case 1:
     break;//如果没有break,将会顺序执行
   case 1:
     break;
   default:
     break;
}
示例代码:
#include<stdio.h>
void main(){
 int score;
 printf("please enter student's score:");
 scanf("%d",&score);
 switch(score){
case 10: printf("score A\n");break;
case 9: printf("score B\n");break;
case 8: printf("score C\n");break;
case 7: printf("score D\n");break;
case 6:
case 5:
case 4:
case 3:
case 2:
case 1:
case 0: printf("score is fail");break;
default:printf("Error score!");
  }
}

你可能感兴趣的:(c,linux,语言,float,编译器,newline)