对C语言进行简点的了解
- 第一个C语言程序
- 数据类型
- 变量、常量
- 字符串+转义字符
- 选择语句
- 循环语句
1. 第一个C语言程序
#include <stdio.h>
int main()
{
printf("Hello bit");
return 0;
}
main函数是程序的入口,一个项目只含一个main函数
2.数据类型
C语言包含很多数据类型,有short(短整型),int(整型),long(长整型),long long(更长的整型),char(字符型),float(单精度浮点型),double(双精度浮点型)
接下来计算一下各类型的大小
int main()
{
printf("%zd\n", sizeof(short));//2个字节
printf("%zd\n", sizeof(int));//4个字节
printf("%zd\n", sizeof(long));//4个字节
printf("%zd\n", sizeof(long long));//8个字节
printf("%zd\n", sizeof(char));//1个字节
printf("%zd\n", sizeof(float));//4个字节
printf("%zd\n", sizeof(double));//8个字节
}
对于以上提到的字节,我先对C语言中单位进行拓展:
单位 | 转换 |
---|---|
bit | (最小单位) |
byte(字节) | 1byte=8bit |
KB | 1KB=1024byte |
MB | 1MB=1024KB |
GB | 1GB=1024MB |
TB | 1TB=1024GB |
PB | 1PB=1024TB |
… | … |
3. 变量、常量
通俗来讲,变量就是生活中变的值,常量就是生活中不变的值。
变量
变量的定义
int main()
{
int num = 10;
printf("%d\n", num);
num = 20;
printf("%d\n", num);
}
变量的命名
只能由字母、数字、下划线组成,并且不能以数字开头。
变量名区分大小写。
变量名不能使用关键词。
变量名最好有意义。
变量的分类
局部变量
全局变量
先举个例子:
int a = 10;//全局变量
int main()
{
int b = 20;//局部变量
return 0;
}
以上就可以很清楚的了解全局变量和局部变量,全局变量定义在函数外,局部变量定义在函数内。
那如果当定义时的局部变量名和全局变量名相同时,局部优先(如下):
int a = 10;//全局变量
int main()
{
int a = 20;//局部变量
printf("%d\n", a);
return 0;
20
变量的作用域和生命周期
作用域简单的说就是变量起作用的范围。
局部变量的例子:
int main()
{
int a = 10;
printf("%d\n", a);
{
int b = 20;
printf("%d\n", b);
}
//printf("%d\n",b); //b不在定义内
}
全局变量的例子:
int a = 10;
void test()
{
printf("2.%d\n", a);
}
int main()
{
printf("1.%d\n", a);
test();
return 0;
}
再举个例子:
//te.c //新创建了一个源文件
g_val = 20;
//声明外部符号
extern int g_val;
int main()
{
printf("%d\n", g_val);
}
由以上例子可知:
局部变量的作用域是局部变量所在的局部范围。
全局变量的作用域是整个工程。
生命周期:
局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
全局变量的生命周期是:整个程序的生命周期。
常量
- 字面常量
- const 修饰的常变量
- define 定义的标识符常量
- 枚举常量
举个例子:
字面常量
3.14 //浮点型字面值
'w' //字符型字面值
const 修饰的常变量
const int num = 10; //num本质上是个变量,具有了常属性,不能被修改
printf("%d\n", num);
num = 20; //err
// define 定义的标识符常量
#define max 100
int main()
{
int arr[max];
#define min 0
printf("%d\n",max);
//max = 200; //常量不能再次赋值
printf("%d\n", min);
}
//枚举常量
//枚举常量
enum Sex
{
MALE ,//枚举常量
FEMALE,
SECRET
};
int main()
{
printf("%d\n", MALE);//0
printf("%d\n", FEMALE);//1
printf("%d\n", SECRET);//2
return 0;
}
4. 字符串+转义字符
字符串
int main()
{
char arr1[] = "abc";
char arr2[] = { 'a','b','c' };
printf("%s\n", arr1);
printf("%s\n", arr2);//%s打印字符串
return 0;
}
#include <string.h>
int main()
{
char arr1[] = "abc";
char arr2[] = { 'a','b','c' };
printf("%d\n", strlen(arr1));//3
printf("%d\n", strlen(arr2));//随机值
return 0;
}
\0是字符串的结束标识符,以上的例子可以看出\0的重要
转义字符
//转义字符
int main()
{
printf("1.abcndef\n");
printf("2.abc\ndef\n");
printf("3.abc0def\n");
printf("4.abc\0def\n");
return 0;
}
1.abcndef
2.abc
def
3.abc0def
4.abc
常见的转义字符:
转义字符 | 释义 |
---|---|
\? | 在书写连续多个问号时使用,防止他们被解析成三字母词 |
’ | 用于表示字符常量’ |
" | 用于表示一个字符串内部的双引号 |
\ | 用于表示一个反斜杠,防止它被解释为一个转义序列符。 |
\a | 警告字符,蜂鸣 |
\b | 退格符 |
\f | 进纸符 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | ddd表示1~3个八进制的数字。 |
\xdd | dd表示2个十六进制数字。 |
5.选择语句
int main()
{
int input;
scanf("%d\n", &input);
if (input == 0)
printf("haha");
else
printf("hehe");
return 0;
}
6.循环语句
while
do while
for
(先举个简单例子,不深讲)
int main()
{
int i = 0;
while (i < 10)
{
printf("%d\n", i);
i++;
}
if (i == 10)
printf("end");
}
- 第一个C语言程序
- 数据类型
- 变量、常量
- 字符串+转义字符
- 选择语句
- 循环语句
初次写博客,有不足的地方,请多多指教