初始c语言
?
1.文件
可执行文件:扩展名为:*exe,*bat,*com等的文件
不可执行文件:由数据构成
*.cpp,源文件,*.h头文件,*.i预编译文件,*.s汇编文件,*.o/.obj二进制目标文件
*.exe可执行文件
?2.c语言的结构特点
由一个或多个函数构成;无论有多少文件组成,(主函数)有且只有一个main函数;有预处理指令,以分号结尾;标识符:关键字之间有空格以示间隔
3.数据类型
int:整型类型:4字节;char:字符类型:1;double,float:浮点型:8.4;bool:1个字节
short:短整型2个字节;long:长整型4个字节;longlong长整型8个字节;longdouble长浮点型16个字节
4.定义与声明
定义是为一个变量分配一块内存并给他取一个名字,其实就是创建了对象并给对象分配了一块内存声明是告诉编译器这块内存已经有名字了,不能给其他名字,但实际上还并没有给对象分配这块内存
5.变量
全局变量:在函数外定义的变量
局部变量:在函数内定义的变量
定义一个float类型,=右边是告知几位数及它的类型
6.单引号是字符的定界符
双引号是字符串的定界符
?转义字符
\n为换行符,\r为回车符,将当前位置移到开头位置,\t制表符,\0为空字符,\后跟三位任意数也是代表一位字符
转义字符只能使用小写字母? ? ? ;转义字符还可以把字符转换为其他意义,可以把定界符转换具有字符意义
7.操作数是程序操作的数据实体,可以是数值,数值类型,逻辑值,既可以是常量也可以为变量
运算符是对数据进行相应操作的符号,如求和,积;
运算符可分为单目操作符,双目操作符,三目操作符
8.数组
是包含给定类型的一组数据,即一组相同类型元素的集合
9.运算符举例
%, *=,? += ,? 三目运算符,前置++,后置++
%就是求余数,在之后的c语言学习中非常重要
?*=由于+的运算等级高于*所以先加后乘
三目运算符:(a+b)?(a:b);
前置++,后置++具有回写能力在C语言中具有独特的地位,也是c语言中唯一具有回写能力的运算符
前置++? : 先增值后使用;? ? ? 后置++? :先使用后增值
10.左值:以赋值符号 =左边的数就是左值,表示内存可以寻址(目前我还不了解左值会在那用到据说是c++),可以给他赋值(const常变量除外)
右值:以赋值符号 =右边的数就是右值,右值可取但不可赋值,表示具体的一个值如常数
11.顺序语句,循环语句,选择语句
选择语句:if else语句
循环语句:while(? ){? }? ? ? ,先判断后循环
? ? ? ? ? ? ? ? ?for(?; ; ){? }
? ? ? ? ? ? ? ? ??do{? }while(? )? ? ? ?,先循环后判断
顺序语句:
无限循环? ?while(1){ }
? ? ? ? ? ? ? ? ? ?do{ }while(? 1 )
如图,使用 getchar时,字符会先到缓冲区,当要EOF也就是ctrl+c时,要先打出回车,使缓冲区
当程序调用getchar时.程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中。直到用户按回车为止(回车字符也放在缓冲区中)。当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符。
?
12.函数
作用域和生命期
作用域:针对编译和链接过程
?生命期:从程序开始运行时被创建具有了存储空间,到程序结束时,释放空间的阶段
局部变量的生命期:函数被调用,分配存储空间到程序结束释放存储空间,存储在栈区中
全局变量的生命期:从开始敲下的第一代码到执行结束,整个过程都在数据区
动态生命期在.heap堆中
|