一.局部变量与全局变量
int global = 2019; //定义全局变量
int main()
{
int local = 2020;
int global = 2018; // 定义局部变量
printf(“global=%d\n”, global);
return 0;
}
总结:1.变量分为全局变量与局部变量,在使用中注意局部变量优先的原则
2.局部变量的生命周期在它的局部范围,而全局变量的生命周期是整个工程,但全局变量是不安全的
二.字符串![在这里插入图片描述](https://img-blog.csdnimg.cn/20191208100915355.png
int main()
{
char arr1[] = “hello”;
char arr2[] = { ‘h’, ‘e’, ‘l’, ‘l’, ‘o’ };
char arr3[] = { ‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’};
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("%s\n", arr3);
return 0;
}
总结:arr1是一个字符串数组,隐藏了末尾的“\0“,arr2是一个字符型数组,编译器在识别不到结束字符\0是不会停止的.字符串的结束标志是一个\0的转义字符。在计算字符串长度时,不计入.
三.转义字符
int main()
{
printf("%d\n", strlen(“abcdef”) );
printf("%d\n", strlen(“c:\test\328\test.c”)); // \t和\32被解析成转义字符
return 0;
}
注意\会将字符的意思转变过来
四.选择语句
int main()
{
int i = 0;
printf(“加入机构\n”);
printf(“你会好好学习吗?(选择0or1):”);
scanf("%d", &i);
if (i == 1)
{
printf(“获得好offer”);
}
else
{
printf(“回家卖红薯”);
}
return 0;
}
注意选择语句的条件 。选择语句 if…else…
五.循环语句
int main()
{
printf(“平时练习\n”);
int line = 0;
while (line<=20000)
{
line++;
printf(“敲代码\n”);
}
if (line > 20000)
printf("迎娶白富美\n");
return 0;
}
c语言中可以有多种方法实现循环
1.while语句
2.do…while语句
3.for循环
六.函数
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf(“请输入两个操作数:”);
scanf("%d %d", &num1, &num2);
sum = ADD(num1, num2);
printf(“sum=%d\n”, sum);
return 0;
}
int ADD(int x, int y)
{
int z = x + y;
return z;
}
函数可以简化代码,在使用时只需要调用就可
七.static关键词
void test()
{
static int i = 0;
i++;
printf("%d\n", i);
}
int main()
{
int i = 0;
for (i = 0; i < 10; i++)
{
test();
}
return 0;
}
static修饰局部变量改变了局部变量的生命周期,使其出了作用域依然存在,不销毁,直到程序结束。
而对于全局变量来说,如果有两个工程文件,当全局变量被static修饰以后,这个全局变量就只能在本源文件中使用,而不能在另一个个工程文件中使用
八.#define定义常量和宏
#define MAX 100 //#define定义标识常量
#define ADD(x,y) ((x)+(y))
#include<stdio.h>
int main()
{
int sum = ADD(2, 3);
printf("%d\n", sum);
return 0;
}
#define定义宏是有参数的
九.指针
int main()
{
int num = 10;
int *p = #
printf("%d\n", *p);
return 0;
}
p是一个整形指针变量,p存储的是num的地址,即p=&num,*是一个解引用操作符,也称间接访问操作符。指针的大小在32平台是四个字节,在64位平台是8个字节。