C语言基础知识(一)

本文详细介绍了C语言的基础知识,包括编写HelloWorld程序、C程序的编译过程、注释方式、C语言的关键字、变量与常量的使用。文章深入浅出地讲解了变量的定义、赋值、打印,以及常量的类型和宏定义。此外,还探讨了C语言的数据类型,如int、char、float和double,以及它们的存储格式、范围和打印格式。
摘要由CSDN通过智能技术生成

编写简单的C程序:HelloWorld
1、编写简单的C程序HelloWorld
#include<stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}

程序讲解:
#include<stdio.h>:标准I/O头文件,下文中的printf需要使用这个文件
main():主函数,一个程序的入口。一个程序有且只有一个main()函数
int:代表主函数的返回值类型是int型
printf():格式化输出,将括号内的内容打印到显示器上,打印字符串需要用双引号""引上
return 0;:配合主函数类型使用,一般来说返回0的程序表示程序运行成功
2、编译器GCC:把程序代码变成可执行程序
1)GCC是GNU C Compiler的缩写,是开源的C语言编译器
2)把hello.c变成可执行程序步骤:
⒈gcc hello.c -o hello
-o的作用:生成的产物的名字
⒉如果不加-o和名字,则默认生成a.out文件
gcc hello.c
则生成产物为a.out
⒊make hello
此时会调用系统默认的Makefile,编译hello.c生成hello。
等价于gcc hello.c -o hello
执行该程序:
./hello(./a.out)

3)注释:
注释是解释代码用的文本,是编写程序代码的人为了方便理解代码所写的文本。
常见注释:
行注释:使用//,注释一行
块注释:使用/**/,注释一段
被注释的文本不会被执行
#include<stdio.h>
int main()//这是一个行注释
{
printf("Hello World!\n");//这是一个行注释
/*
这是一个块注释
printf("Hello Student\n");//这行被注释了不会执行
*/
//printf("Hello Boys and Girls\n");//这行被注释了不会执行,去掉行首注释即可执行
return 0;
}
/**************使用条件编译快速注释代码***********************/
当需要注释的代码量较多时,如果使用块注释(/**/)则会出现无法配对等情况
此时可以使用以下方法来快速注释一段代码:
#if 0
待注释代码……
#endif
此时就注释了一段代码。
当需要取消这段注释时,只需将0改成1即可
#if 1
待注释代码……
#endif
/**************使用条件编译快速注释代码end********************/
4)C语言从代码变成可执行程序的步骤:
预处理 -----> 编译 -----> 汇编 -----> 链接
⒈预处理: 去掉注释,加载头文件,代替宏定义,条件编译
需要文件:.c文件
生成产物:预处理文件(以.i结尾)
使用方法: gcc hello.c -E -o hello.i
可以使用vim打开预处理文件来查看生成产物
⒉编译: 使用编译器进行C语言的语法检查,如果有语法错误,报错,并结束编译过程;如果没有语法错误,把C的源程序转变为汇编代码
需要文件:.i文件
生成产物:汇编文件(以.s结尾)
使用方法: gcc hello.i -S -o hello.s
可以使用vim打开汇编文件来查看生成产物
⒊汇编: 把汇编源文件通过汇编器生成目标文件(二进制机器语言)
需要文件:.s文件
生成产物:机器码(或称为“目标代码”,以.o结尾)
使用方法: gcc hello.s -c -o hello.o
可以使用vim打开目标代码文件来查看生成产物(不过只会看到乱码)
⒋链接: 把目标文件执行所依赖的所有二进制的其他目标文件及C的库文件都整合成一个可执行文件的过程
需要文件:.o文件及各种动态库或静态库
生成产物:可执行程序
使用方法: gcc hello.o -o hello

-o:指定生成的产物的名字
-Wall:让编译器报告全部错误
我们要养成良好习惯,在编译过程中添加-o指定生成产物名称,添加-Wall报告所有的error和warning方便我们调试程序。完整的编译指令如下:
gcc hello.c -o hello -Wall

编译完成后(无error,无warning),会生成-o之后的文件(如没有加-o则会生成a.out文件)
执行文件:
./hello(./a.out)

3、C语言的编程规范:
1)命名规范:
⒈在所有命名中,都应使用标准的英文单词或缩写。
⒉所有命名都应遵循达意原则,即名称应含义清晰、明确。
⒊所有命名都不易过长,应控制在规定的最大长度以内,一般不超过32个字节。
2)编码规范:
⒈在一行代码内只写一条语句;
⒉在嵌套的函数块中使用一个TAB缩进;
⒊每行长度不应超过80个字符;
(如超过,在行尾加\表示换行)
⒋一个函数建议不要超过200行代码;
⒌程序中结束符号;(分号)前面不要加空格;
⒍为程序添加适当的注释;
3)代码要求:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值