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!");
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值