#知识点总结#
1、何为C语言
人与计算机交流使用计算机语言,C语言属于众多计算机语言之一(如C++/Java/Python等)。
2、C语言被执行的过程
C语言是一门编译型语言,代码为文本文件(保存在 .c 格式文件中),无法直接被执行,需要编译器编译和链接器链接生成二进制可执行文件才能执行。
编译和链接主要过程:
第一步: .c 源文件被编译器编译(生成 .obj 格式目标文件)。
第二步: .obj 文件和链接库被链接器链接(生成 .exe 格式的二进制可执行文件)。
第三步: .exe 可执行文件开始执行。
干货:C语言中: .c 文件(源文件) .h 文件(头文件)
3、main函数(主函数)
int main() //int 表示函数执行结束返回值为 整型类型
{ //main为函数名称,与return 0 首尾对应
return 0; //{}内部为函数体
}
函数解析:
int 函数返回类型为整型
main 函数名称
{ } 内部为函数体
干货:
(1)int与与return 0 前后呼应(0对应整型),也可以使用其他整型的数字进行替换但不建议更换。
(2)在C语言中习惯认为,返回0说明程序正常运行,返回非0说明程序不正常运行。(有利于判断程序是否正常运行,建议不要改变返回的值)
(3)main函数是程序的入口,有且只有一个
(4)当一个项目中存在多个 .c 文件,亦只能有1个main函数。
坑点:
(1)main写成了mian
(2)漏掉了main后的()
(3)使用了中文的符号,如分号 ; 括号() 大括号 { }
(4)语句结束后,漏写分号英文的分号 ;
4、printf函数(库函数)
4.1、无格式输出及有格式输出的单个占位符使用
按照指定格式打印信息到屏幕上,分为无格式输出和有格式输出通常有格式输出,通常配合 占位符、转义符进行使用。在使用printf函数时,应包含该库函数对应的头文件stdio.h,用法如下图所示:
#include <stdio.h>
int main()
{
printf("Hello\n"); //无格式输出
int n = 1;
printf("%d\n",n); //十进制整型输出
printf("%c\n",'x'); //字符类型输出
printf("%f\n",3.14f); //float类型输出
printf("%lf\n",3.14); //double类型输出
return 0;
}
4.2、多个占位符使用
"张三" 为字符串常量
%s 为字符串类型占位符
%zd 为 sizeof函数返回值size_t类型的占位符
示例如下:
#include <stdio.h>
int main()
{
printf("%s says it is %d o'clock\n","张三",8);
return 0;
}
代码解析:
函数体中,占位符数量为2,分别是%s和%d。
参数1:"%s says it is %d o'clock\n"
参数2:"张三"
参数3: 8
综上:存在n个占位符,则存在n+1个参数【参数与占位符按顺序 一 一 对应】
4.3、占位符限定宽度
printf函数允许限定占位符的最小宽度。
(1)对于整型
#include <stdio.h>
int main()
{
printf("%5d\n",123);//输出结果为**123
///*代表空格,仅供个人理解使用,实际不存在
return 0;
}
代码解析:
%5d 表示该占位符最小宽度至少5位
由于此处123为三位,不足5位,自动在左边补空格直至满足至少5位(输出结果默认右对齐);如果希望左对齐,则在占位符%后加上 - 号,即%-5d。
#include <stdio.h>
int main()
{
printf("%-5d\n",123);
return 0;
}
(2)对于小数
小数默认显示精度为小数点后6位。
#include <stdio.h>
int main()
{
printf("%12f\n",123.45);//输出值为**123.450000
//*代表空格,仅供个人理解使用,实际不存在
return 0;
}
代码解析:
%12f 表示该占位符最小宽度至少12位
由于此处123.45为小数,已知小数在小数点后默认为6位,则123.45实际为10位(小数点亦算1位,在默认对齐的情况下,左边补两空格补齐12位)
若要保证输出值总有正负号,在占位符%后加上+号,即%+d
(3)对于小数点后的位数
在占位符%后加上 .2,即%.2f , 2表示小数点后的保留位数。
(4)对于字符串
#include <stdio.h>
int main()
{
printf("%.5s\n","Hello World");//输出值为Hello(只取前5位)
return 0;
}
代码解析:
%.5s 输出字符串前5位。
未完待续