C语言基础杂记(一)

  • 头文件里的 < stdio.h > 相当于工具箱,这是个库文件,里面有printf,scanf…..等功能

  • ·#include是导入头文件的预编译的指令,作用是导入如上面的< stdio.h >这种库

  • < stdio.h > 和 “stdio.h” 头文件是有区别的,< >是系统里面的库文件,“ ”着重于用户自定义的库。他们的搜索方式也不同,< >直接去找系统自提供的库,“ ”先找用户自定义的库,找不到就去系统再找

  • main() 函数,作为程序的唯一入口,有且仅有一个

  • \n表示换行,是转义字符

  • //是单行注释,/*……*/里面可以写多行注释

  • C的数据类型

  • 一个最基本的内存单元是1Byte(字节), 1Byte = 8bit(位)

  • 整数分为有符号整数和无符号整数,有符号整数(2个字节)它的范围是2^-15——2^15-1 .那为什么不是16(2字节 * 8位)呢?因为一最高位拿来表示符号了

  • 无符号整型:unsigned int . 像int , float , char前面没有unsigned都是无符号的,无符号默认是正数

  • 16位编译器

    char :1个字节 char*(即指针变量): 2个字节 short int : 2个字节 int: 2个字节 unsigned int : 2个字节 float: 4个字节 double: 8个字节l ong: 4个字节 long long: 8个字节 unsigned long: 4个字节

  • 32位编译器

    char :1个字节char*: 4个字节 short int : 2个字节int: 4个字节 unsigned int : 4个字节 float: 4个字节 double: 8个字节 long: 4个字节 long long: 8个字节 unsigned long: 4个字节


  • 常量:取值不可变的量
    1.整形常量
    2.实型常量
    3.字符型常量
    4.符号常量

  • 序列(字符串)

这里写图片描述
假如把这个序列打引下来,你会发现只有abc,\0是空字符是转义字符是结束的标志

printf("abc\0ef\n")
  • 转义字符
    转义字符

printf("I am W\n")
  • 内存里是:
    这里写图片描述
    序列的空格也在内存中,\n是转义字符换行,\0是序列结束标志,写了7个字符其实内存有8位,最后一位是\0

  • 符号常量:用一个标识符表示常量,#define NUM 7;
    ,#define是预编译指令,凡是以#开头的指令在程序执行进行前就执行了,这就是全局变量的原理,改了前面的数字就改变了全部,列如下面的代码:

#define NUM 7
int a = NUM;
int b = NUM;

#define NUM2 7
printf("He say,he is %d years old\n",NUM2);
%d          十进制整数占位符
%c          字符占位符
%f(.2f)     浮点类型占位符(小数部分占2位)
%i          十进制、八进制、十六进制整数占位符
%p          地址占位符(指针占位符)
%s          字符串占位符
%x(X)       十六进制整数占位符
%o          八进制整数占位符
%%          输出%
  • 标识符:是用户在编程时通过C语言的字符为变量以及函数指定名子
    标识符是由数字,字母,下划线组成,首字母不能是数字,还不能和关键词重复

1 数据类型关键字(12个):
(1) char :声明字符型变量或函数
(2) double :声明双精度变量或函数
(3) enum :声明枚举类型
(4) float:声明浮点型变量或函数
(5) int: 声明整型变量或函数
(6) long :声明长整型变量或函数
(7) short :声明短整型变量或函数
(8) signed:声明有符号类型变量或函数
(9) struct:声明结构体变量或函数
(10) union:声明联合数据类型
(11) unsigned:声明无符号类型变量或函数
(12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)

(2)控制语句关键字(12个):
A循环语句
(1) for:一种循环语句(可意会不可言传)
(2) do :循环语句的循环体
(3) while :循环语句的循环条件
(4) break:跳出当前循环
(5) continue:结束当前循环,开始下一轮循环
B条件语句
(1)if: 条件语句
(2)else :条件语句否定分支(与 if 连用)
(3)goto:无条件跳转语句
C开关语句
(1)switch :用于开关语句
(2)case:开关语句分支
(3)default:开关语句中的“其他”分支
D
return :子程序返回语句(可以带参数,也看不带参数)

3 存储类型关键字(4个)
(1)auto :声明自动变量 一般不使用
(2)extern:声明变量是在其他文件正声明(也可以看做是引用变量)
(3)register:声明积存器变量
(4)static :声明静态变量

4 其它关键字(4个):
(1)const :声明只读变量
(2)sizeof:计算数据类型长度
(3)typedef:用以给数据类型取别名(当然还有其他作用
(4)volatile:说明变量在程序执行中可被隐含地改变


  • 变量的定义
    int a ; // 数据类型说明 + 标识符
    定义一个整型变量,定义的过程就是申请内存的过程,根据数据类型决定内存大小,这个内存是在栈中,我们给这个变量定义的数据在数据区,当printf的时候从数据区赋值出一份给a

  • 变量的初始化
    1.给定一个有意义的初始量
    2.清理内存的垃圾值

int a=0; //a = 0表是清理了垃圾值,如果是非0就是正常赋值
  • 变量的赋值
    1.初始化定义时直接赋值
    2.赋值是变量的定义和赋值分开
int a;
...
...
a = 7;

猜你喜欢

转载自blog.csdn.net/qq_35680144/article/details/82532669