前言:
在上篇我已经介绍了关于C语言相关编译器的配置和使用,本周我开始正式学习C语言的相关语法基础和程序结构,这里对其中部分重点内容进行记录,作为可参考的学习笔记,既是复习,也会补充一些新内容,欢迎大家参考补充。
1. C语言语法基础
1.1 初识数据类型
1.1.1 数据类型展示:
char-字符数据类型
short-短整型
int-整型(整数-整型)
long-长整型
long long-更长的整型
float-单精度浮点数 (小数-浮点型)
double-双精度浮点数
1.1.2 相关代码展示:
int main()
{
//char-字符数据类型
char ch = 'a';
//int-整型
int age = 18;
//short-短整型
short num = 10;
//long-长整型
//long long-更长的整型
//float-单精度浮点数
float weight = 50.7;
//double-双精度浮点数
double pie = 3.14;
printf("%d\n", age);
return 0;
}
1.1.3 不同数据类型大小:
这里介绍一个关键字帮助我们解决这个问题:
sizeof—关键字—操作符—计算类型或者变量所占空间的大小
于是可以通过该关键字分别计算不同数据类型大小
int main()
{
printf("%d\n", sizeof(char));//1
printf("%d\n", sizeof(int));//4
printf("%d\n", sizeof(short));//2
printf("%d\n", sizeof(long));//4
printf("%d\n", sizeof(long long));//8
printf("%d\n", sizeof(float));//4
printf("%d\n", sizeof(double));//8
return 0;
}
其中sizeof的单位为字节=byte
代码后注释即为计算结果
且C语言标准: sizeof(long)>=sizeof(int) 所以int类型大小与long类型相同
1.1.4 拓展:
计算机中的单位:
bit—比特位
byte—字节 = 8 bit
kb = 1024 byte
mb = 1024 kb
gb = 1024 mb
tb = 1024 gb
pb = 1024 tb
printf在打印数据的时候可以指定打印的格式,如:
printf("%d\n", 原神);//其中%d即为确定格式
相关格式介绍:
%d - 整型
%f - float
%lf - double
%s - 字符串
%a - 字符
1.2 初识常量变量
1.2.1 变量介绍:
变量分为全局变量与局部变量
全局变量 — {} 外部定义的变量
局部变量 — {} 内部定义的变量
代码展示:
//全局变量 - {}外部定义的变量
int b = 100;
//b 为全局变量
int a = 200;
int main ()
{
//局部变量 - {}内部定义的变量
int a = 10;
//a 为局部变量
printf("%d", a);
//当局部变量与全局变量名字冲突时,局部优先
return 0;
}
使用实例:
//求两整数和
//scanf函数是输入函数
int sum = 0;
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
sum = a + b;
printf("sum = %d\n", sum);
return 0;
}
1.2.2 常量介绍:
常量分为:
1. 字面常量
2 . const修饰的常变量
3. #define 定义的标识符常量
4.枚举常量:可以一一列举的常量
下面进入代码实例分析:
int main()
{
//1. 字面常量:
3.14;
10;
'a';
"abcdef";
//2. const修饰的常变量:
const num = 10;//num就是常变量 - 具有常属性(不能被改变的属性)
num = 20;
printf("num = %d\n", num);
int arr[10] = {0};//10个元素
const n = 10;
int arr2[n] = {0};//n实际还是变量,这里是不行的
//3. #define 定义的标识符常量:
// #define MAX = 20000;//error,应当放在主函数外
int n = MAX;
printf("n = %d\n", n);
return 0;
}
//性别
enum sex
{
//这种枚举类型的变量的未来的可能取值
MALE = 3,//赋初值
FEMALE,
FEMBOY
} ;
int main()
{
//4.枚举常量:可以一一列举的常量
enum sex s = FEMBOY;
printf("%d\n", MALE);
printf("%d\n", FEMALE);
printf("%d\n", FEMBOY);
return 0;
}
1.2.3 变量的作用域与生命周期:
局部变量的作用域:变量所在的局部范围
全局变量的作用域:整个工程
代码实例:
int g_val = 2024;//全局变量
//extern int g_val;
int main()
{
printf("1:%d\n", g_val);
{
printf("2:%d\n", g_val);
int a = 10;//局部变量
printf("a = %d\n", a);
}
printf("3:%d\n", g_val);
return 0;
}
变量的生命周期:变量从创建到销毁之间的时间段
局部变量的生命周期:进入局部范围生命周期开始,出局部范围生命周期结束
全局变量的生命周期:整个程序的生命周期
1.3 字符串
1.3.1 定义:
"chongqing\n"
这种由双引号引起来的一串字符称为字符串字面值,简称字符串。
字符串的结束标志是一个\0的转义字符。在计算字符串长度时\0是结束标志,不算作字符串内容。
1.3.2 代码示例:
int main()
{
char arr1[] = "abc";
char arr2[] = {'a', 'b', 'c', '\0'};
//研究字符串长度
int len = strlen("abc");//string length
int len2 = strlen('a', 'b', 'c');
printf("%d\n", strlen(arr1));
printf("%d\n", strlen(arr2));
//printf("%d\n", len2);
//printf("%s\n", arr1);
//printf("%s\n", arr2);
return 0;
}
1.4 转义字符
\?:在输入连续多个字符时使用,防止他们被解析成三字母词,如" ??) "可被某些编译器解析为" [ "
\':用于表示字符常量',如
int main()
{
printf("%c\n", '\'');
return 0;
}
\":用于表示一个字符串内部的双引号,如
int main()
{
printf("%s\n", "\"");
return 0;
}
\\:用于表示一个反斜杠,防止他被解释为一个转义序列符,如
int main()
{
printf("%s\n", "\\");
return 0;
}
\a:警告字符,蜂鸣,如
int main()
{
printf("%s\n", "\a\a\a");
return 0;
}
\b:退格符
\f:进纸符
\n:换行
\t:水平制表符
\v:垂直制表符
\ddd:ddd表示一到三个八进制的数字,如:\1 30 X
\xdd:dd表示两个十六进制的数字,如:\x30 0
实例分析:
int main()
{
printf("%c", '/130');//打印结果为X
//八进制的130是十进制的88,而X的ASCII码值为88
//每一个字符都对应着一个值——ASCII码值 如:A--65 B--66 a--97 b--98
printf("%c\n", '\x30');//打印结果为0
//十六进制的30是十进制的48,而0的ASCII码值为48
//转义字符在计数时算作一个字符
return 0;
}
1859

被折叠的 条评论
为什么被折叠?



