1.基本程序框架
#include <stdio.h>
int main()
{
return 0;
}
在学习C语言之初咱们不用理解它 只知道咱们须要把一条条须要执行的语句添加在这个框架以内
2.变量类型和表达式
量能够分为常量和变量
常量是出如今源文件中的能够被直接识别利用的量
好比三、5.二、'h' 分别为整数 浮点数 字符常量
变量是须要通过声明的 可以存储相应类型数据的量
int a;(声明语句) 这样声明了一个变量 它的名称(标识符)为a
变量的声明是开辟内存空间的过程 变量声明是一种语句(指令)
包括 类型 和 标识符 int(类型) a(标识符);(分号表示这是一个语句)
不一样类型的数据须要用相应类型的变量去存储 这是由于不一样类型数据的存储方式(解释方式)不一样
声明变量的过程也是开辟内存空间的过程 变量把数据以二进制存储在内存中
而一串二进制数1101101010001存储在int型变量中和存储在double型变量中表明的意义不一样
也就是说int和double解释数据的方式不一样
这也就是格式说明符的做用了
printf中要求咱们用%d输出整数变量 用%f输出浮点数变量 其实是让咱们决定以哪一种方式解释那串二进制数
表达式
表达式是有值的式子 好比 3 就是一个表达式 3 + 5也是一个表达式 它的值为8
表达式中常常含有变量 而这些变量不必定是一个类型的 这就要说到类型转换
int a = 3; double b = 5.4;
辣么(a + b) / 2.5 在运算过程当中就会先把a转化为double型的3.0再参与以后的运算
全部的类型转化 都是表示范围低的数向表示范围高的数转化 只要式子中含有表示范围更高的数据类型
因为全部浮点数的范围高于整数 所以整数总会被转化为浮点数 而float又会被转化为double
须要注意含有赋值符号的式子也是有值的 好比 a = 5 + 26; 这是一个赋值语句
赋值语句的组成形式是 a(标识符) =(赋值符号) 5 + 26(表达式);(分号表示语句)
也能够这样解释它 a = 5 + 26(赋值表达式);(分号表示语句) 赋值表达式的值就是它的左值 其实没差
表示比较的式子也是表达式 好比a > 五、 b == 8 等 若是它是对的 值就是1 错的就是0
另外C把任何非0数都看做真 所以while(-26){ }是一个无限循环
3.基本输入输出和语句
这里只要了解两个函数printf和scanf就好
语句就是C程序切实执行的指令 它的标志是分号结尾
语句分为不少种 好比赋值语句 调用语句 返回语句 if语句 while语句等
4.图灵完备
这里讲的是全部编程语言都有的部分
程序的执行顺序分为 顺序结构 循环结构(while语句for语句实现) 分支结构(if else语句和switch语句实现)
5.函数
函数分3步
函数声明(经过声明语句完成 由于是语句因此要加;)
函数调用(经过调用语句完成 由于是语句因此要加;)
函数定义(这不是一个语句 它是一个定义了函数内容 也就是函数如何工做的代码块)
代码块是含有一条或者多条语句的一个总体 好比跟在while和for还有if以后的大多都是代码块 以{}花括号为标志
6.地址 指针 数组 字符串
了解地址和指针是理解数组和字符串的基础
内容较多 不便详述T_T
7.结构体
结构体是内部能够含有各类类型变量的特殊复合结构
分为 结构体模板 结构体变量的声明(建立) 结构体变量的使用(经过"成员"去实用) 3部分
结构体是理解C++和C的区别的基础 C++最重要的概念是类class 它和结构体特别相似
而java又将C++中的struct祛除了 java中的类兼容告终构体
8.其余
C语言中的其余部分还有不少 可是对向上继续学习高级语言帮助不大 下面列举出更偏向底层的内容
预处理指令 即#include #define等指令
须要记住的是 预处理指令不是语句 预处理发生在编译以前 它处理的内容是纯文本
好比#include <stdio.h> 就是把头文件<stdio.h>中的内容彻底复制粘贴到当前文件的相应位置
而#define MAXN 100010 则是把你定义的标记MAXN所有替换成100010 处理的都是字符罢了
位操做
它容许你在bit单位上操做数据 涉及的操做符有 << >> ^ | ~
java