c语言学习笔记

C语言笔记


语言的发展:

第一代(机器语言 ) 第二代语言(汇编)第三代语言(c语言,貌似还有其他的)第四代(c/c++)第五代语言 java c# python vb php等


c语言特点

优点:

**代码量小 **

执行速度快

功能强大

编程自由

(这个不就是梦寐以求的吗)

缺点:

  • 写代码实现周期长
  • 可移植性差
  • 过于自由,经验不足容易出问题
  • 对平台库依赖较多
#include <studio.h>//包含头文件,就是相当于java的导入相对的包中的类,这个就是io,输入与输出库
//c语言中注释有两种一种是行注释,一种是块注释,这句就是行注释
/*
我就是块注释
*/
/*
主函数main就是相当于java中的main,不同的是这里main在c语言文件里面就只能有一个,在java中如果是不同.java文件里面是可以同时存在的
函数的返回值类型 int整型
函数的参数类型 void空类型
{}为程序体代码体 函数体
*/
int main(void){
    //打印函数“”引起来的成为字符串常量
    //转义字符\n换行 \t ;代表一条语句的结束,多个分号代表多条语句
    printf("hello world")
     //函数的返回值 如果在主函数中遇到了return代表程序结束   
    return 0;  
    //这是一行代码
}


关键字

在c语言里面有32位关键字,分为两类,一类是数据类型关键字,一类是流程控制关键字

基本数据类型:

  1. void 声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果
  2. char字符类型数据,属于政类型的一种
  3. int 整型数据,通常为编译器指定的机器字长
  4. float单精度浮点型数据,小数点保留后6位
  5. double双精度浮点型数据,小数点保留16位

修饰关键字:

  1. short 修饰int,短整型数据,可省略被修饰的int
  2. long 修饰int ,长整型数据,可省略被修饰的int
  3. signed修饰整型数据,有符号数据类型
  4. unsigned修饰整型数据,无符号数据类型

复杂类型关键字:

  1. struct结构体声明
  2. union共用体声明
  3. enum枚举声明
  4. typedif声明类型别名
  5. sizedof得到特定类型或特定类型变量的大小

存储级别:

  1. auto指定自动变量,由编译器自动分配及释放。通常在栈上分配

c的内存映像

第一个是含有程序代码,相邻的内存区域用于存放全局变量,另一个是栈用来处理程序运行的许多失误:保存函数调用时的返回地址,函数的变元,局部变量以及cpu的当前状态,最后一个堆是自由的内存区域,程序可以c语言动态分配它


c表达式

c语言最基本元素-表达式,表达式为数据和操作符构成

c89定义了5种的基础数据类型:字符型,整型,浮点型,双精度浮点型和无值型分别为:char,int,float,double,void。(这些数据类型构成了其他几种类型的基础)这些数据类型的尺寸和域可以在处理器类型·和编译程序中改变,然而类型char的对象在任何情况下都是1个字节,但是int的尺寸通常于执行环境有关,c语言只规定每种数据类型的最小范围而不是字节大小

void型既可明确表示无返回值,又生成适于各种元素的指针


修饰基本类型

除了void型之外,基本数据类型之前都可以加各种修饰符

signed(有符号)unsigned无符号,long长型,short短型

ANSI标准定义的全部数据类型有:

char,unsigned char,signed char,int,unsighed int,signed int,unsigned short int,signed short int,long int,long long int,signed long int,unsigned long int,unsigned long long int,float,double,long double


c语言中的令牌是c语言中创建程序时最重要的元素,就是经常使用到的,令牌是c语言中最小的元素,如果不用令牌就不能够创建c语言

当然所谓的令牌就是,关键字,标识符,字符串,运算符,常量,特殊字符(这些在java中也是经常出现但是java中没有令牌这个概念,顶多说成基础知识,当然这里在c里面也是基础,c语言是面向过程的语言没有对象的概念)

函数是c语言程序的主要组成部分,一个函数可以调用其他函数,函数体包含可以循环执行的语言,语句也可以聚集到一起,称为语句块,在c语言中除了可以使用标准链接库中的函数,如果没有标准的函数可以满足需求也可以使用自己的编写的函数,除了标准的c链接库外还有很多特殊的链接库使用如图形函数

在c语言中;分号就是语句的结束符

注释:c语言中注释分为单行注释//,多行注释/* */

之前简单提过头文件,当需要在多个地方方便引用相关性文件可以将这些信息保存到一个独立的头文件中,然后每个源文件使用#include指令来引用此头文件,头文件习惯上使用扩展名".h",每个c程序源代码文件连同被包含的头文件,构成一个翻译单元,编译器循环地处理单元内容,把源代码解析成标记,也就是上面所说的令牌.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值