C语言基础知识点整理

一、 编译预处理

共有三种,宏定义、文件包含和条件编译
1.宏定义
1)不带参数的宏定义
#define 标识符 字符串 作用:在编译预处理是将所有标识符替换成字符串。这种情况常用来定义符号常量,可以用来定义方法,如scanf
A.宏定义的有效范围为从定义位置的文件结束,如果需要提前终止宏定义的范围,可以用#undef命令,如#undef OUT
B.宏定义对双引号括起来的字符串中的字符串不进行替换。
2)带参数的宏定义
#define 标识符(参数表) 字符串 作用:在编译预处理是将源程序中所有标识符用字符串替换,并且将标识符中参数用实际的参数替换。
例子 #define s(a,b,c) (a+b+c)/2, 则程序中的s(1+2+3) 在编译预处理时会被替换为 (1+2+3)/2
A.宏名和参数直接不能有空格,负责参数会被当做字符串
B.#define L(r) 2*r L(2+3) 会被替换为 2*2+3,若想替换为2*(2+3),则应定义为#define L(r) 2*(r)
2.文件包含 就是#include命令实现的功能
文件包含不仅可以包含头文件,还可以包含自己编写的源程序文件。
#include <文件名>
#include "文件名"
第一种形式系统将到包含C库函数头文件所在目录中查找
第二种方式系统首先在当前目录查找,若找不到,在的系统path中配置的自动搜索路径中查找,最好猜到包含C库函数头文件的目录中查找
“文件包含”可以嵌套,在文件包含的嵌套中,文件1包含文件2,文件2包含文件3,则在文件1也要包含文件3,并且文件3的包含要写在文件2之前。
3、在编写程序时,习惯上将公共符号常量定义,数据类型定义、extern类型的全局变量说明构成一个源文件,并以“.h”为文件名后缀。

二、 命令行参数

带参数的main函数的一般形式为
main(int argc,char *argv[]){
........
}
说明:1)argc表示在命令行中参数的个数,命令名也作为一个参数。2)argv的元素依次为指向命令行中的各个字符串,包括命令名。

#include <stdio.h>
#include <stdlib.h>

int main(int argc,char *argv[]){
printf("参数的个数为%4d\n",argc);
int i;
for(i=1;i<argc;i++){
printf("第%2d个参数为%s\n",i,argv[i]);
}
return EXIT_SUCCESS;
}

三、 转义字符

转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) 008
\f 换页(FF) 012
\n 换行(LF) 010
\r 回车(CR) 013
\t 水平制表(HT) 009
\v 垂直制表(VT) 011
\\ 反斜杠 092
\? 问号字符 063
\' 单引号字
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值