《大一c语言知识点总结c语言重点知识点总结》.docx

上传人:b****5 文档编号:4486918 上传时间:2022-12-01 格式:DOCX 页数:7 大小:16.64KB
下载 相关 举报
《大一c语言知识点总结c语言重点知识点总结》.docx_第1页
第1页 / 共7页
《大一c语言知识点总结c语言重点知识点总结》.docx_第2页
第2页 / 共7页
《大一c语言知识点总结c语言重点知识点总结》.docx_第3页
第3页 / 共7页
《大一c语言知识点总结c语言重点知识点总结》.docx_第4页
第4页 / 共7页
《大一c语言知识点总结c语言重点知识点总结》.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

《大一c语言知识点总结c语言重点知识点总结》.docx

《《大一c语言知识点总结c语言重点知识点总结》.docx》由会员分享,可在线阅读,更多相关《《大一c语言知识点总结c语言重点知识点总结》.docx(7页珍藏版)》请在冰豆网上搜索。

《大一c语言知识点总结c语言重点知识点总结》.docx

《大一c语言知识点总结c语言重点知识点总结》

《[大一c语言知识点总结]c语言重点知识点总结》

到当前的文件中

 多文件团队开发:

模块分别编译成.o都不能链接成功,合起来链接生成最终程序。

 链接:

把项目中所有相关联的.o目标文件、C语言函数库合并在一起,生成可执行文件

 ——函数的定义放.c文件,函数的声明放.h文件

 ——如果要使用某个.c文件中定义的函数,只需要#include这个.c文件对应的.h文件

 ——h文件的作用:

被别人拷贝。

编译链接的时候不需要管.h文件

 

◆知识点5:

数组的几种初始化方式如下:

 inta[3]={10,9,6};

 inta[3]={10,9};

 inta[]={11,7,6};

 inta[4]={[1]=11,[0]=7};(知道有此种初始化方式即可)

 

◆知识点6:

数组的内存分析和注意点

 存储空间的划分(内存的分配是从高地址到低地址进行的,但一个数组内部元素又是从低到高进行的)注:

对于以后学习重要

 数组名的作用,查看元素地址

 注意数组不要越界

 

◆知识点7:

字符串知识点

 123”其实是由’1’、’2’、’3’、’\0’组成

 字符串的输出”%s”,’\0’是不会输出的

 

◆知识点8:

字符串处理函数:

strlen()

 计算的是字符数,不是字数

 计算的字符不包括’\0’,一个汉字相当于3个字符

 例子:

哈haha字符数为7

 从某个地址开始的数字符个数,知道遇到’\0’为止

 指针部分在C语言中占据重要地位,所以重点学习与整理了指针的知识:

 

◆知识点9:

指针定义的格式

 变量类型*变量名

 如:

Int*p

 

◆知识点10:

指针作用

 能够根据一个地址值,访问对应的存储空间

 例:

 Int*p;

 Inta=90;

 P=a;

 *p=10;//把10赋值给p所指的存储空间

 

◆知识点11:

指针使用注意

 Int*p只能指向int类型的数据

 指针变量只能存储地址

 指针变量未经初始化不要拿来间接访问其他存储空间

 

◆知识点12:

指针与数组

 遍历数组

 intages[5]={10,4,9,44,99};

 for(inti=0;i5;i++)

 {

 printf(%d

ages[i]);

 }

 使用指针遍历数组:

 int*p;

 //指针变量P指向了数组的首地址

 p=ages[0];

 //使用指针遍历数组

 for(inti=0;i5;I++)

 {

 printf(ages[%d]=%d

i,*(p+i));

 }

 注:

指针+1取决于指针的类型

 注:

数组的访问方式

 数组名[下标]

 指针变量名[下标]

 *(p+i)

 

◆知识点12:

指针与字符串

 定义字符串的两种方式:

 1、利用数组

 Charname[]=“Andyzhao”

 特点:

字符串里的字符可以修改

 适用场合:

字符串内容需要经常修改

 2、利用指针

 Char*name=“itcast”

 特点:

字符串是一个常量,字符串里面的字符不能修改

 使用场合:

字符串的内容不需要修改,而这个字符串经常使用

 

◆知识点13:

预处理指令(三种):

 宏定义

 条件编译

 文件包含

 1、宏定义的配对使用和带参数的宏:

 #define

 ...

 #undef

 带参数的宏:

 #definesum(v1,v2)((v1)+(v2))//括号是必须的

 例如:

 #definepingfang(a)a*a

 #definepingfang(a)(a*a)

 调用时

 pingfang(10)/pingfang

(2)//不正确

 pingfang(5+5)//不正确

 带参数的宏效率比函数高

 2、条件编译(一般是判断宏的值)

 #if条件

 ...

 #elif条件

 ...

 #else

 ...

 #endif(非常重要)不然后面的代码全部无效

 3、文件包含:

 表示系统自带的文件,表示自定义文件

 不允许循环包含,比如a.h包含b.h,b.h又包含a.h

 

◆知识点14:

typedef只是给类型起了个别名并不是定义新类型

 structStudent{

 intage;

 char*name;

 };

 typedefstructStudentStudent;

 等价于

 typedefstructStudent{

 intage;

 char*name;

 }Student;

 也等价于

 typedefstruct{

 intage;

 char*name;

 }Student;

 类似的给枚举类型起名

 typedefenumSex

 {

 Man,Women

 }Sex;

 下面这种情况的写法比较特殊

 //下面是函数指针类型的自定义数据类型,返回值类型和参数类型要匹配

 #include

 typedefint(*TypeFuncPointer)(int,int);

 intadd(inta,intb)

 {

 returna+b;

 }

 intminus(inta,intb)

 {

 returna-b;

 }

 intmain()

 {

 TypeFuncPointerp=add;//使用自定义类型

 TypeFuncPointerp2=minus;//使用自定义类型

 printf(add=%d

p(1,2));

 printf(minus=%d

p2(1,2));

 return0;

 }

 下面是定义结构体的指针类型

 typedefstructStudent{

 intage;

 char*name;

 }*PtrStu;

 //使用方式

 Studentstu={18,zhangsan};

 PtrStup=stu;

 宏定义也是可以为类型起名的

 #defineIntegerint

 相当于

 typedefintInteger

 注意和typedef的区别

 例如:

 typedefchar*String

 #defineString2char*

 

◆知识点15:

static和extern区别是能否进行跨文件访问

 ①.函数

 ②.变量

 1、对函数的作用:

 外部函数:

定义的函数能被本文件和其他文件访问

 内部函数:

定义的函数只能被本文件访问

 默认情况下,所有函数都是外部函数(相当于带关键字extern),所以可以省略

 extern作用:

 完整的定义和引用一个外部函数都加extern

 引用时也是默认是外部函数所以也省略extern

 static作用:

定义一个内部函数

 使用:

static返回类型函数名(参数列表)

 不能被其他文件调用

 一个项目中,本文件的外部函数名不能和其他文件的外部函数同名(error)

 本文件中的内部函数(static)可以和其他文件的函数名同名的

 2、对变量的作用:

 全局变量分为两种:

 外部变量:

定义的变量可以被其他文件访问

 ①.默认情况下所有的全局变量都是外部变量

 ②.不同文件中的同名外部变量都代表同一个

 ③.定义一个外部变量不加extern,声明才加extern

 同样的声明是没有错误的

 内部变量:

定义的变量不能被其他文件访问

 不同文件的同名内部变量互不影响

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1