导图社区 C语言基础知识
C语言是一种通用的、面向过程式的计算机程序设计语言,该导图详细的整理了C语言知识指针前所有的类容,快速让你对C语言基础知识有个全面了解。希望能给大家带来帮助。
编辑于2021-04-03 08:32:57C语言基础知识
C语言特点
开发环境
C语言的组成
函数,有且仅有一个主函数和若干其他函数 函数名和函数体{}
语句结束符 分号
注释符
单行注释://
块注释/* */
数据类型
基本类型
整型
int 4个字节 有范围
[unsigned]long
[signed]short
实型
单精度 float
双精度 double
字符型
char
ASCII表
‘A'-65
'a'-97
'0'-48
布尔类型 bool
构造类型
数组
结构体(struct)
共同体(unlon)
枚举类型(enum)
空类型 Void
指针类型 *
文件类型 file
标识符
关键字
关键字是具有固定名字和特定含义的特殊标识符,也称保留字,不允许将它们另作别用。
(1)数据类型定义:typedef
(2)数据类型:char,double,enum,float,int,long,short,struct,union,unsigned. void,signed,volatile,auto,extern,register,static,const
(3)运算符:sizeof
(4)语句:break, case, continue, default, do, else, for, goto, if, return, switch, while
自定义标识符
标识符是对变量名,函数名,标号和其他各种用户定义的对象命名。
命名规则:标识符由字母、数字或者下划线组成,且第一个字符必须是字母或下划线
(1)标识符区分大小写
(2)标识符的有效长度取决于具体的C编译系统
(3)标识符的书写一般采用具有一定实际含义的单词,这样可提高程序的可读性;
(4)标识符不能与c语言的关键字同名,也不能与自定义函数或c语言库函数同名;
常量
数值型常量
整型常量
十进制常量
八进制常量
以“0”开头
十六进制常量
以“0X”开头,0~9、A~F
实型常量
(1)十进制数形式:(必须有小数点),如0.123、.123、123.0、0.0都属于合法的。
(2)指数形式:(e或e之前必须有数字,指数必须为整数),如12.3e3、123e2、1.23e4 属于合法的;而 e-5、1.2e-3.5属于不合法的。
字符型常量
字符常量是用单引号括起来的一个字符。
(1)字符常量只能用单引号括起来,不能用双引号或其它括号。 如‘a’、‘b’、‘=’、‘+’、‘?’ 都属于合法的。
(2)字符常量只能是单个字符,不能是字符串。
(3)字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与数值运算。 如'5'和 5 是不同的。
字符串常量
双引号 多个 字符 \0
符号常量
一般形式:#define 标识符 常量
(1)宏定义必须以#define开头,标识符和常量之间不加等于号,行末不加分号。
(2)宏定义#define应该放在函数外部,这样可以控制到程序结束。
(3)符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。
转义字符
\+字符或数字:表示特殊含义
p
变量
必须先定义在使用
整形、实型,字符型
运算符与表达式
算术运算符
+ - * / % ++ --
1。除法运算符
两个运算都为整则整型运算
2。% 取余运算 (唯一一个整形运算符)
3。++ --
前置、后置,谁在前先用谁
自增自减和其它运算符混合使用时有区别
关系运算符
大于,小于,大于等于,小于等于,等于,不等于
逻辑运算符
&& || !
逗号运算符
条件运算符
赋值运算符
输入 输出函数
# include<stdio.h> printf, scanf %d,%c,%s,%f,%e getchar, putchar gets, puts
注意:printf("格式说明",输出表列) scanf("格式说明",地址表列) scanf("a=%d,b=%d",&a,&b)
普通字符 格式说明符
选择结构
if语句
单分支 if( )语句1; 双分支 if( )语句1;else 语句2 多分支
switch 语句
switch(值) {case 常量1;语句1 case 常量2;语句2; default 语句n;}
注:常量必须不同 break 跳出所属循环
循环结构
循环三要素:1.循环起始条件 2.循环终止条件 3.循环变换条件
循环语句
当型循环
while( ){ ] for( ; ; ){ }
直到型循环
do{~}while( ) continue:结束多次循环,去执行下一次
数组
相同性质 有规律 一维数组 例 int a【10】; 循环 二维数组 int b【3】【2】; 循环 多维数组
C语言行优先
循环嵌套 :外层循环执行一次,内层循环一周
字符数组
strcmp比较字符串s1和s2
当s1<s2时,返回为负数; 当s1==s2时,返回值= 0; 当s1>s2时,返回正数。 即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如: "A"<"B" "a">"A" "computer">"compare" 特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。
strcat strcat是连接字符串的函数。函数返回指针,两个参数都是指针,第一个参数所指向的内存的地址必须能容纳两个字符串连接后的大小。
strcpy 字符串复制
strlen计算给定字符串的长度