基础恢复1-c语言

用书:c primer plus

先恢复框架骨干,再填充血肉

学习时间:21-28

重点知识:

1.编译-链接-运行

编译:编译器将源码转换为可执行代码

链接:编译器从c库中获取标准例程放入源码中一同编译

运行:运行可执行文件

2.关键字


数据类型:
int:有符号整数,-32768到32767
short int: 小数值有符号整数
long int 以及 long long int:大数值有符号整数
unsigned int:无符号整数 0到65535
char:字符类型,存储整数以表示字符,unicode是一个能够表示全世界多种字符集的系统。
_Bool:布尔值,0或1,实际也是整数类型
float:浮点数,能够表示更大的数,至少表示6位有效数字
double:双精度浮点数,至少表示10位有效数字
long double:至少同double精度同一水准
float _Complex,double _Complex,long double _Complex:表示复数

3.常量/变量声明

常量:
c预处理器定义常量

#define Name value

const修饰符

const int MONTHS=12

4.输入输出格式化

printf、scanf。

 5.运算符

常用运算符

 sizeof:返回操作数大小

%:取余数

++、--:增量与减量

6.循环语句

while(expression)

{

statement

}

for (初始;条件;更新)

{

statement

}

do

{

statement
}while(expression)

do while能够先执行一次循环内容,再进行判断

7数组

int array[numbers] = {31,288,31,30,31,30,31,31}//数组初始化
array[1]=33//赋值
//C不支持把数组作为一个整体来赋值,也不支持用花括号(初始化除外)赋值
float rain[5][12]//多维数组

8函数

void starbar(void)//函数原型声明函数种类
int main{
starbar();//函数调用,执行函数
}
void starbar(void)//定义函数
{
...
}

1.每个函数内部都可以调用其它函数。

2.形参,实参,返回参数

3.将函数原型与常量定义放在一个头文件中,就不必每次使用这些函数以及常量时输入其原型声明

9指针

指针式一个其数值为地址的变量

取地址运算符&,取值运算符*

int *pi//指针声明,*表示变量pi是指针,int表示该指针指向的变量类型

1.使用指针作为函数参数能够建立函数间的通信。

2.数组-指针

flizny==&flizny[0]//数组名是该数组首元素的地址
dates+2==&date[2]//对一个指针加1的结果是对该指针增加1个存储单元(根据指针指向变量类型)
int sum(int *ar,int n);//数组参数
int sum(int ar[],int n);//数组参数
int sum(const int ar[],int n);//保护数组不被改变

3.指针与多维数组与变长数组

void somefunction(int (*pt) [4]);
void somefunction(int pt[][4]);

数组的行可以在函数调用时传递,但是数组的列只能被预置在函数内部

变长数组的变体现在行列用变量定义

10内存管理

作用域:代码块作用域、函数原型作用域、文件作用域

链接:外部链接、内部链接、空链接

五种存储类型

 存储类说明符

auto、register、static、extern、typedef

分配内存的malloc()以及free()
double *ptd;
ptd=(double *)malloc(30*sizeof(double));//(double *)指示返回的指针,malloc()里放字节数
free(ptd);//释放内存块,在复杂程序中是有必要的

11结构体

struct book{
        char title[MAXTITL];
        char author[MAXAUTL];
        float value;
};//结构声明
struct book library;//结构变量声明
struct book library ={
    "The Pirate and the Devious Damsel",
    "Renee Vivotte",
    1.95
};//结构变量初始化
gets(library.title);//使用.访问结构体成员
struct book surprise={.value=10.99};//指定初始化
struct book library[MAXBKS];//结构数组
struct guy *him;//结构指针声明
him->imcome=(*him).income;//后跟->运算符的结构指针和后跟.运算符的结构名是一样的

12枚举

enum kids {nippy,slats,skippy,nina,liz};//整数类型,nippy==0,slates==1
enum kid AA;//枚举变量声明

13位操作

~(10011010);//按位取反
(10010011)|(00111101);//位或
(10010011)^(00111101);//位异或等等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值