c语言的一些基础概念
- 局部变量的作用域为局部变量所在的局部范围,
- 局部变量优于全局变量。举例如下:
int num = 10; //定义全局变量
int main()
{
int num = 1;
printf("num=%d\n",num);
return 0;
}
输出结果为1
- 字符串结束标志 ‘\0’
- strlen 求字符串长度 数到\0停下来 举例如下
#include <string.h>
int main()
{
char arr[] = { 'b','i','t' };
printf("%d\n", strlen(arr));
return 0;
}//输出随机值
bit????????
后面不知道\n在哪 所以输出随机值
- \060 转义字符 意思 这是八进制 \ddd 八进制转化为十进制之后 作为ASCll码值代表的字符
- \b退格符
- 数组必须初始化 但可以不指定数组大小 比如char arr[] = {‘1’} [] 为空表示不指定大小
- 数组是一组相同类型元素的组合。
c99 标准中引用一个概念 变长数组
// 支持数组创建是 用变量(int n =10)指定大小 但是这个数组不能初始化 如下
int main()
{
int n = 10;
int arr[n];
return 0;
}//输出失败 说明vs2022 不支持c99标准
- 求下字符串长度
//求下列字符串长度
//
#include <string.h>
int main()
{
printf("%d\n", strlen("c:\test\121"));
return 0;
}
//打印结果为7 c : \t e s t \121
- 写个函数 求两个整数最大值
在这里插入代码片int Max(int x, int y)
{
if (x > y)
return x;
else
return y;
}// 上边这个函数只负责求较大值
int mian()
{
int a = 0;
int b = 0;
scanf("%d %d",&a, &b);
int m = Max(a, b);
printf("%d\n", m);
return 0;
}
- 关键字不能自己创建
- define 是预处理指令 还有 include
- sizeof(char*)是指针类型 它的大小就是4个或者8个字节 指针是个变量
- static 可以修饰 局部变量 全局变量 函数
- 下列代码输出结果为 6 8 10 12 14
int sum(int a)
{
int c = 0;//局部变量 不会改变
static int b = 3;// b上次留下来的值直接用5
c += 1;
b += 2;
return(a + b + c);
}
int main()
{
int i;
int a = 2;
for (i = 0; i < 5; i++)
{
printf("%d,", sum(a));
}
}//第一打印返回8 第二次10 都是只有b在变化每次加2
16. 用在switch里的关键字break default case
17. 判断一个整数是否能5整除是一个挺简单的问题
int main()
{
//输入
int m = 0;
scanf("%d", &m);//把这个值取出来放到m里
//判断并输出
if (m % 5 == 0)
printf("YES\n");
else
printf("NO\n");
return 0;
}