格式:
int main(int argc,char *argv[])
{
int a;
return 0;
}
使用事项:
在一个程序中有且只有一个,程序的执行从main函数开始到main函数结束。
格式:
int a = 100;(或int a;a = 100;)
含义:
定义了一个整型变量a。在内存中申请了4个字节,并用变量a间接访问这片空间。将100赋值给变量a。
基本数据类型:int、char、short、long、float、double
非基本数据类型:指针、数组、结构体
使用sizeof()
进行计算
sizeof(int)
// 4
sizeof(char)
// 1
sizeof(short)
// 2
sizeof(long)
// 8
sizeof(float)
// 4
sizeof(double)
// 8
*+ - * / % += -= = /= %= == != & && | || >> <<
注意:
% 只能用于整数运算,两边不能有小数;
/ 在用于计算float/double型,当一边带有小数,结果应带小数。
(例:float c; c = 5.0/2; printf("%f",c);
\\2.500000)
& 位与运算
(例:5&6 -----> 0101&0110 -----> 0100 -----> 4)
| 位或运算
(例:5|6 -----> 0101|0110 -----> 0111 -----> 7)
&& 逻辑与运算,如果两个操作数都非零,则条件为真。
(例:0&&0 -----> 0, 0&&1 -----> 0, 1&&1 -----> 1)
|| 逻辑或运算,如果两个操作数有一个非零,则条件为真。
(例:0||0 -----> 0, 0||1 -----> 1, 1||1 -----> 1)
>> 右移运算
(例:16>>2 -----> 0001 0000>>2 -----> 0000 0100 -----> 4)
<< 左移运算
(例:16<<2 -----> 0001 0000<<2 -----> 0100 0000 -----> 64)
printf()
输出格式:
%d ------> 将结果以十进制形式输出。
%o ------> 将结果以八进制形式输出。
%x ------> 将结果以十六进制形式输出。
%c ------> 将结果以字符进制形式输出。
%f ------> 将结果以浮点数输出,默认保留6位。
%.4f ------> 将结果以浮点数输出,指定保留4位。
%s ------> 输出字符串
%p ------> 输出指针地址
scanf(); 获取键盘输入的值,将其存放在某段内存空间
(格式:scanf("%d",&a);
)
printf(); 输出某段内存空间的值
(格式:printf("%d",a);
)
计算规则:从左到右,结果以最后一个为准。
举例:int a = 1,b = 5, c = 10,d;
d = (a= a+b, c= b+c, a+c)
-----> 21
计算规则:判断问号前的条件,若条件为真,取冒号前的值,否则取冒号后的值。
举例:int a = 5, b = 8;
a > b ? 100 : 200;
-----> 200
(1)if-else
格式:
int main(){
int a,b;
if(a>b){
printf("a大于b\n");
}
else{
printf("a小于等于b\n");
}
return 0;
}
(2) switch
格式:
int main(){
int n;
scanf("%d",&n);
switch(n){
case 1:
printf("你选择了1\n");
break;
case 2:
printf("你选择了2\n");
break;
default:
printf("你选择了其他\n");
break;
}
return 0;
}
(3) for
格式:
int main(){
int a = 10;
int b =15;
for(int i=0; i<9; i++)
{
a++;
b--;
}
printf("%d",a+b);
return 0;
}
(4) while
格式:
int main(){
int a,b;
while(1)
{
printf("这是一个死循环\n");
}
return 0;
}
(5) do-while
格式:
int main(){
int a=100;
int b=101;
do{
printf("因为while()括号内条件恒为真,所以循环出不去了\n");
}while(a>b)
return 0;
}
(6) break(只能在循环语句或switch语句中使用,跳出与break最近的循环体)
格式:
int main(){
int a = 100;
int b = 200;
while(1)
{
if(a
(7) continue(只能在循环语句中使用,跳出本次循环,立即进行下次循环)
格式:
int main(){
int a = 100;
int b = 101;
while(1)
{
if(a!=b){
continue;
}
else{
printf("a等于b\n");
}
}
return 0;
}
(8) goto(允许把控制无条件转移到同一函数内的被标记的语句,不建议使用)
格式:
int main(){
int a = 10;
loop: a--;
for(int i=0; i
(9) return(无条件返回)
格式:
int main(){
printf("Hello\n"); //Hello会打印
return 0;
printf("World\n"); //World不会打印
return 0;
}
意义:
C语言是一种面向过程的语言,任何一个小过程都可以封装成一个函数。
函数是一个程序的基本单位,是一个模块的封装。
种类:
(1)main函数:主函数,在程序中有且仅有一个,在main函数中开始执行,从main函数结束。
(2)系统函数:在man手册中第2手册,用户只需要调用,不需要知道函数的实现过程。
(3)库函数: 在man手册中第3手册,用户只需要调用,不需要知道函数的实现过程。
(4)自定义函数: 不能通过man手册去查询,用户必须写清楚实现过程。
定义:
int fun_cal_plus(int x,int y)
{
int z;
z = x+y;
return z;
}
调用:
int fun_cal_plus();
//函数声明
int main()
{
fun_cal_plus();
//函数调用
return 0;
}
int fun_cal_plus(int x,int y)
//函数定义
{
int z;
//z的生命周期从这里开始
z = x+y;
return z;
//z的生命周期在这里结束
}
。
(4)自定义函数: 不能通过man手册去查询,用户必须写清楚实现过程。
定义:
int fun_cal_plus(int x,int y)
{
int z;
z = x+y;
return z;
}
调用:
int fun_cal_plus();
//函数声明
int main()
{
fun_cal_plus();
//函数调用
return 0;
}
int fun_cal_plus(int x,int y)
//函数定义
{
int z;
//z的生命周期从这里开始
z = x+y;
return z;
//z的生命周期在这里结束
}