`

c语言学习笔记二

    博客分类:
  • 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!");
}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics