------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------
\ddd 代表三位8进制,eg:\141
开发过程:
编写->编译(只编译源文件,编译成*.o 只会检测语法是否合理,不会检测函数是否存在)->链接(将所有相关的.o文件和C函数库整合成可执行文件 会检测函数是否定义)->运行
1.预处理指令:在编译之前执行的指令(eg:include <stdio.h>)。
2.如果没有返回值,则默认返回int类型。不知道返回值可使用void(void代表不需要返回值).
3.函数问题:
(1)只能有一个主函数(main函数 主函数是整个语言的入口)
(2)自定义函数一般要放到main函数前(如果放在主函数后,则要在主函数前对自定义函数进行声明)。
(3)不能重复定义函数。可重复声明函数。
注:如果要将自定义函数放main函数后,则首先要在main函数前声明,然后在main函数中调用。
头文件用来声明函数,普通文件用来定义函数。
4.字符问题
数据类型所占用编译器长度(单位:字节 )
字节分配规则:由大到小,优先分配地址大的(只要变量被定义,变量地址就被分配 每个字节8位)。
逗号表达式: 用逗号连接起来的表达式,形式为 表达式1,表达式2,表达式3,.....,表达式n
运算方法为从左至右,返回值为最后一个表达式的值。
sizeof( ):用来计算一个变量、常量或数据类型所占用的内存字节数。
注:系统自带文件用< >,自己写的用"".( eg:include "1.txt");
.h是头文件,用来函数声明
地址:每个字节的系统编号。
.h是头文件,用来函数声明
地址:每个字节的系统编号。
注:变量和函数名 由字母、数字、下划线组成,第一个必须是字母或下划线。
2.如果没有返回值,则默认返回int类型。不知道返回值可使用void(void代表不需要返回值).
3.函数问题:
(1)只能有一个主函数(main函数 主函数是整个语言的入口)
(2)自定义函数一般要放到main函数前(如果放在主函数后,则要在主函数前对自定义函数进行声明)。
(3)不能重复定义函数。可重复声明函数。
注:如果要将自定义函数放main函数后,则首先要在main函数前声明,然后在main函数中调用。
头文件用来声明函数,普通文件用来定义函数。
4.字符问题
数据类型所占用编译器长度(单位:字节 )
字节分配规则:由大到小,优先分配地址大的(只要变量被定义,变量地址就被分配 每个字节8位)。
5.基础运算:
逗号表达式: 用逗号连接起来的表达式,形式为 表达式1,表达式2,表达式3,.....,表达式n
运算方法为从左至右,返回值为最后一个表达式的值。
sizeof( ):用来计算一个变量、常量或数据类型所占用的内存字节数。
printf() 函数从右往左进行运算。
a++,++在后面的是碰到;号才加1,但是加了括号,就先运算,不碰到;也可以先加。
注:任何非0值都为真。
signed和unsigned的区别:
signed:有符号位,最高位表示符号;0为整数,1为负数。eg:32位的最大有效数是2的31次方减1。
unsigned:无符号位,最高位继续为有效位。eg:32位的最大有效数是2的32次方减1。
注:相同类型的类型说明符不能放一起修饰,例如short和long不能放一起使用。
6.字符类型
%d int
%f float、double
%ld long
%lld long long
%c char
%s 字符串
%zd unsigned long
7.getchar,putchar,gets,puts区别
getchar:输入一个字符。
缺点:
输入流程:输入设备->内存缓冲区->程序getchar
用户输入的字符会首先存放在缓冲区中,直到用户按回车为止(回车字符也放在缓冲区中),然后再使用getchar读取缓冲区中的内容,也就是说getchar( )会将回车建输出
putchar:输出一个字符
gets:输入一个字符串
puts:输出一个字符串
8.scanf特别注意点
1>scanf语句从前往后开始匹配,如果匹配到不相同的,则结束输入。
2>当scanf中参数之间分隔符是空格是,输入点可以用空格、tab和回车键代替。
3>如果指定了接受数据长度,则最后多余长度的会自动省略