搜档网
当前位置:搜档网 › C语言指针知识点总结

C语言指针知识点总结

C语言指针知识点总结
C语言指针知识点总结

指针

★指针的重要性

表示一些复杂的数据结构 快速传递数据

使函数返回一个以上的值 能直接访问硬件 能方便处理字符串

是理解面向对象语言中引用的基础

总结:指针是C 语言的灵魂 ★指针的定义 ☆地址

内存单元的编号 从零开始的非负整数

范围:4G

☆指针

1.指针就是地址,地址就是指针

2.指针变量是存放地址的变量

3.指针和指针变量是两个不同的概念

4.叙述时通常把指针变量简称为指针,实际它们含义不一样

5.指针的本质就是一个操作受限的非负整数 ★指针的分类

☆基本类型指针(重要) #include int main(void) {

int *p; //p 是变量的名字,int*表示p 变量存放的是int 类型变量的地址 Int*p;不表示定义了一个名字叫做*p 的变量

Int*p;应该理解为:p 是变量名,p 变量的数据类型是int*类型

所谓int*类型,实际就是存放int 变量地址的类型 int i=3; char ch=’A ’ p=&i; //OK

1.p 保存了i 的地址,因此p 指向i

2.p 不是i ,i 也不是p ,修改p 的值不影响i 的值,修改i 的值也不影响p 的值

3.如果一个指针变量指向了某个普通变量,则*指针变量 完全等同于 普通变量 例:若p 指向i ,则*p=i (*p 和i 可互相替换) p=&ch;//error

//p=i; //error,因为类型不一致,p 只能存放int 类型变量的地址,不能存放int 类型变量 //P=55;//error,原因同上 return 0; }

Int f(int i,int j) {

return 100; // return 88;error }

Int main (void) {

Int a=3,b=5; a=f(a,b); b=f(a,b); }

只能返回一个值 # include Void g(int*p,int*q) {

*p=1; *q=2; }

Int main(void) {

Int a=3,b=5; g(&a,&b);

Printf(“%d%d\n ”,a,b); Return 0; }

指针使函数返回一个以上的值

△附注: ?*的含义: 1.乘法

2.定义指针变量

Int*p; //定义了一个名字叫做p 的变量,int*表示p 只能存放int 变量的地址 3.指针运算符

该运算符放在已经定义好的指针变量的前面 如果p 是一个已经定义好的指针变量 则*p 表示以p 的内容为地址的变量 ?如何通过被调函数修改主调函数普通变量的值 1.实参必须为该普通变量的地址 &... 2.形参必须为指针变量 *...

3.在被调函数中通过 *形参名=...... 的方式就可以修改主调函数相关变量的值 例子: 经典指针程序:互换数值 形参和实参是不同的变量,修改形参不会改变实参

#include void huhuan (int a, int b ) {

int t;

t=a;

a=b;

b=t;

return;

} int main(void) {

int a=3;

int b=5;

huhuan(a,b);

printf(“a=%d,b=%d/n ”,a,b); return 0;

} a=3,b=5 Press any key to continue 互换失败 #include void huhuan2(int *p, int *q ) { int *t;//如果要互换p 和q 的值, 则t 必须是int*,不能是int t=p; p=q; q=t; return; } int main(void) { int a=3; int b=5; huhuan2(&a,&b);

/*huhuan2(*p,*q);是错误的 huhuan2(a ,b);也是错误的*/ printf(“a=%d,b=%d\n ”,a,b); return 0; } a=3,b=5 Press any key to continue 互换失败 #include void huhuan3(int *p, int*q ) //形参的名字是p 和q ,接收实参数据的是p 和q ,而不是*p 和*q { int t;//如果要互换*p 和*q 的值, 则t 必须是int ,不能是int* t=*p;//p 是int*,*p 是int *p=*q; *q=t; return; } int main(void) { int a=3; int b=5; huhuan3(&a,&b); /*huhuan3(*p,*q)是错误的 huhuan3(a,b)也是错误的*/ printf(“a=%d,b=%d/n ”,a,b); return 0; } a=5,b=3 Press any key to continue 互换成功

?指针常见错误

#include

Int main(void)

{

Int i=5;

Int*p;

Int*q;

P=&i;

//*q=p;//error语法编译会出错

//*q=*p;//error

P=q;//q是垃圾值,q赋给p,p也是垃圾值

printf(“%d\n”,*q); //13行

/*q的空间是属于本程序的,所以本程序可以读写q的内容,

但是如果q内部是垃圾值,则本程序不能读写*q的内容

因为此时*q所代表的内存单元的控制限权并没有分配给本程序

所以本程序运行到13行时就会立即出错*/

return 0;

}

☆指针和数组

△指针和一维数组

?一维数组名

一维数组名是个指针常量

它存放的是一维数组第一个元素的地址

?下标和指针的关系

如果p是个指针变量,则p[i]永远等价于*(p+i)

?确定一个一维数组需要几个参数

(如果一个函数要处理一个一维数组,则需要接收该数组的哪些信息)

需要两个参数:

数组第一个元素的地址

数组的长度

# include

//f函数可以输出任何一个一维数组的内容

void f(int * pArr, int len)

{

int i;

for(i=0,i

printf( “%d”,*(pArr+i) )

//*(pArr+i)等价于pArr[i] b[i] *(b+i) printf(“\n”);

} int main(void)

{

int a[5]={1,2,3,4,5};

int b[6]={-1,-2,-3,4,5,-6};

int c[100]={1,99,22,33};

f(a,5);//a是int*

f(b,6);

f(c,100);

return 0;

}

1 2 3 4 5

-1 -2 -3 4 5 -6

1 99 2

2 3

3 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0

Press any key to continue

# include

void f(int * pArr,int len)

{ pArr[3]=88; //10行

}

int main(void)

{

int a[6]={1,2,3,4,5,6}

printf(“%d\n”,a[3]); //17行

f(a,6);

printf(“%d\n”,a[3]);

//19行若写为&a[3]则输出结果为a[3]的地址return 0;

}

/*在VC++6.0中输出结果是

4

88*/

一定要明白10行的pArr[3]和

17行19行的a[3]是同一个变量#include

Void f(int*pArr,int len)

{ pArr[2]=10;

//pArr[2]==*( pArr+2)==*(a+2)==a[2] }

Int main(void)

{

int a[6]={1,2,3,4,5,6}

printf(“%d\n”,a[2]);

f(a,5);

printf(“%d\n”,a[2]);

//a=&a[2];//error 因为a是常量

//printf(“%#X,%#X\n”,a,&a[0]);

//a==&a[0]

Return 0;

}

3

10

Press any key to continue

# include

Void OutArr(int*pArr,int len) {

Int i;

For(i=0;i

Printf(“%d\n”,pArr[i]); }

Int main(void)

{

Itn a[5]={1.2.3.4.5}; OutArr(a,5);

Return 0;

}

1

2

3

4

5

Press any key to continue

?指针变量的运算

指针变量不能相加,不能相乘,不能相除 可以相减(仅当两个指针变量指向的是同一块连续空间中的不同存储空间)

?一个指针变量到底占几个字节 预备知识: sizeof (数据类型)

功能:返回值就是该数据类型所占的字节数

例子:sizeof (int )=4 sizeof (char )=1 sizeof (double )=8

sizeof (变量名)

功能:返回值是该变量所占的字节数 假设p 指向char 类型变量(1个字节)

假设q 指向int 类型变量(4个字节) 假设 r 指向double 类型变量(8个字节)

△指针和二维数组

#include Int main(void) { int i=5; Int j=10; Int*p=&i; Int*q=&j; //p-q 没有实际意义 Return 0;

} #include

Int main(void)

{ int i=5;

Int j=10;

Int*p=&i;

Int*q=&j;

Int a[5];

p=&a[1]; q=&a[4];

Printf(“p 和q 所指向的单元相隔%d 个单元\n ”,q-p);

}

p 和q 所指向的单元相隔3个单元

Press any key to continue

#include Int main(void) { char ch=’A ’;

Int i=99;

Double x=66.6

Char * p=&ch;

Int *q=&i;

Double * r=&x;

Printf(“%d%d%d\n ”,sizeof(p),sizeof(q),sizeof(r))

Return 0;

}

4 4 4

Press any key to continue

☆指针和函数

☆指针和结构体

☆多级指针

专题:

动态内存分配(重难点)

传统数组的缺点:

1.数组长度必须事先制定,且只能是常整数,不能是变量。

例子:int a[5]; //OK

Int len=5; int a[len];//error

Int a[5.6];//error

2.传统形式定义的数组,该数组的内存程序员无法手动释放

为什么需要动态分布内存

动态内存分配举例-动态数组的构造

静态内存和动态内存的比较

跨函数使用内存的问题

大物知识点总结

大物知识点总结 第一部分声现象及物态变化 (一)声现象 1. 声音的发生:一切正在发声的物体都在振动,振动停止,发声也就停止。声音是由物体的振动产生的,但并不是所有的振动都会发出声音。 2. 声音的传播:声音的传播需要介质,真空不能传声 (1)声音要靠一切气体,液体、固体作媒介传播出去,这些作为传播媒介的物质称为介质。登上月球的宇航员即使面对面交谈,也需要靠无线电,那就是因为月球上没有空气,真空不能传声 (2)声间在不同介质中传播速度不同 3. 回声:声音在传播过程中,遇到障碍物被反射回来人再次听到的声音叫回声 (1)区别回声与原声的条件:回声到达人的耳朵比原声晚0.1秒以上。 (2)低于0.1秒时,则反射回来的声间只能使原声加强。 (3)利用回声可测海深或发声体距障碍物有多运 4. 音调:声音的高低叫音调,它是由发声体振动频率决定的,频率越大,音调越高。 5. 响度:声音的大小叫响度,响度跟发声体振动的振幅大小有关,还跟声源到人耳的距离远近有关 6. 音色:不同发声体所发出的声音的品质叫音色 7. 噪声及来源 从物理角度看,噪声是指发声体做无规则地杂乱无章振动时发出的声音。从环保角度看,凡是妨碍人们正常休息、学习和工作的声音都属于噪声。 8. 声音等级的划分 人们用分贝来划分声音的等级,30dB—40dB是较理想的安静环境,超过50dB 就会影响睡眠,70dB以上会干扰谈话,影响工作效率,长期生活在90dB以上的噪声环境中,会影响听力。 9. 噪声减弱的途径:可以在声源处、传播过程中和人耳处减弱 (二)物态变化 1 温度:物体的冷热程度叫温度

2摄氏温度:把冰水混合物的温度规定为0度,把1标准大气压下沸水的温度规定为100度。 3温度计 (1)原理:液体的热胀冷缩的性质制成的 (2)构造:玻璃壳、毛细管、玻璃泡、刻度及液体 (3)使用:使用温度计以前,要注意观察量程和认清分度值 4.使用温度计做到以下三点 ①温度计与待测物体充分接触 ②待示数稳定后再读数 ③读数时,视线要与液面上表面相平,温度计仍与待测物体紧密接触 5.体温计,实验温度计,寒暑表的主要区别 构造量程分度值用法 体温计玻璃泡上方有缩口 35—42℃ 0.1℃①离开人体读数 ②用前需甩 实验温度计无—20—100℃ 1℃不能离开被测物读数,也不能甩 寒暑表无—30 —50℃ 1℃同上 6.熔化和凝固 物质从固态变成液态叫熔化,熔化要吸热 物质从液态变成固态叫凝固,凝固要放热 7.熔点和凝固点 (1)固体分晶体和非晶体两类 (2)熔点:晶体都有一定的熔化温度,叫熔点 (3)凝固点:晶体者有一定的凝固温度,叫凝固点 同一种物质的凝固点跟它的熔点相同 8.物质从液态变为气态叫汽化,汽化有两种不同的方式:蒸发和沸腾,这两种方式都要吸热 9.蒸发现象 (1)定义:蒸发是液体在任何温度下都能发生的,并且只在液体表面发生的汽化现象 (2)影响蒸发快慢的因素:液体温度高低,液体表面积大小,液体表面空气流动的快慢

c语言公共基础知识

二级公共基础知识总结 第一章数据结构与算法 1.1 算法算法:是指解题方案的准确而完整的描述。算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括: (1)可行性; (2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性; (3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义; (4)拥有足够的情报。算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。指令系统:一个计算机系统能执行的所有指令的集合。基本运算包括:算术运算、逻辑运算、关系运算、数据传输。算法的控制结构:顺序结构、选择结构、循环结构。算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。算法复杂度:算法时间复杂度和算法空间复杂度。算法时间复杂度是指执行算法所需要的计算工作量。算法空间复杂度是指执行这个算法所需要的内存空间。 1.2 数据结构的基本基本概念数据结构研究的三个方面: (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;

(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; (3)对各种数据结构进行的运算。数据结构是指相互有关联的数据元素的集合。数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。数据的存储结构有顺序、链接、索引等。线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。非线性结构:不满足线性结构条件的数据结构。 1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。非空线性表的结构特征:(1)且只有一个根结点a1,它无前件; (2)有且只有一个终端结点an,它无后件; (3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。结点个数n称为线性表的长度,当n=0时,称为空表。线性表的顺序存储结构具有以下两个基本特点:(1)线性表中所有元素的所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。顺序表的运算:插入、删除。 (4)1.4 栈和队列栈是限定在一端进行插入与删除的线性表,允许

(完整版)非常实用的数据结构知识点总结

数据结构知识点概括 第一章概论 数据就是指能够被计算机识别、存储和加工处理的信息的载体。 数据元素是数据的基本单位,可以由若干个数据项组成。数据项是具有独立含义的最小标识单位。 数据结构的定义: ·逻辑结构:从逻辑结构上描述数据,独立于计算机。·线性结构:一对一关系。 ·线性结构:多对多关系。 ·存储结构:是逻辑结构用计算机语言的实现。·顺序存储结构:如数组。 ·链式存储结构:如链表。 ·索引存储结构:·稠密索引:每个结点都有索引项。 ·稀疏索引:每组结点都有索引项。 ·散列存储结构:如散列表。 ·数据运算。 ·对数据的操作。定义在逻辑结构上,每种逻辑结构都有一个运算集合。 ·常用的有:检索、插入、删除、更新、排序。 数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。 ·结构类型:由用户借助于描述机制定义,是导出类型。 抽象数据类型ADT:·是抽象数据的组织和与之的操作。相当于在概念层上描述问题。 ·优点是将数据和操作封装在一起实现了信息隐藏。 程序设计的实质是对实际问题选择一种好的数据结构,设计一个好的算法。算法取决于数据结构。 算法是一个良定义的计算过程,以一个或多个值输入,并以一个或多个值输出。 评价算法的好坏的因素:·算法是正确的; ·执行算法的时间; ·执行算法的存储空间(主要是辅助存储空间); ·算法易于理解、编码、调试。 时间复杂度:是某个算法的时间耗费,它是该算法所求解问题规模n的函数。 渐近时间复杂度:是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。 评价一个算法的时间性能时,主要标准就是算法的渐近时间复杂度。 算法中语句的频度不仅与问题规模有关,还与输入实例中各元素的取值相关。 时间复杂度按数量级递增排列依次为:常数阶O(1)、对数阶O(log2n)、线性阶O(n)、线性对数阶O(nlog2n)、平方阶O (n^2)、立方阶O(n^3)、……k次方阶O(n^k)、指数阶O(2^n)。

c语言基础知识及考点整理

第一周 int定义整型变量所有字母都要先定义再使用。 算法:描述完成任务的步骤序列。 算法的三个基本结构:顺序、分支、循环。 算法的表示:自然语言、程序流图、N-S图 程序流图中判定框用菱形,开始结束用圆角矩形,赋值用矩形。 main:主函数,后面一定是英文输入法下的() int:定义“整形变量” printf:输出语句 scanf:输入语句 %:占位符一个占位符就是占据一个字符的位置,格式化输出时显示为个空格. 具体用法如下: %a,%A 读入一个浮点值(仅C99有效) %c 读入一个字符 %d 读入十进制整数 %i 读入十进制,八进制,十六进制整数 %o 读入八进制整数%x,%X 读入十六进制整数 %s 读入一个字符串,遇空格、制表符或换行符结束。 %f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。 %p 读入一个指针 %u 读入一个无符号十进制整数 %n 至此已读入值的等价字符数 %[] 扫描字符集合

%% 读%符号(c此内容来自baidu) &:“取地址”运算符:这个运算发可以这样理解,比如说&a的含义就是a在内存中的地址。因为&运算符能够取出一个变量在内存中的地址,所以叫做取地址运算符。 输入语句scanf("%d %d",&a,&b); 输出语句printf("%d", c); 输出内容由“”引出 注意一个;就是一个语句,每句话后都要有分号,不能丢。括号是英文的, 一个程序主要由顺序分支循环3种结构构成 { }不能忘,限制变量作用范围 进入CodeBlocks之后新建一个项目,在project选项中选择控制台应用程序Console application进行编写。 输入语句scanf和输出语句printf中的“f”指的是format格式。 程序编写完成后点击Build——Build and run 或F9进行运行,并可点击View——log看到编程日志,检查错误。 分号;不能少 .如果觉得编写过程中字符显示太小可以按住ctrl并将鼠标滚轮向下滚来放大~ 第二周 计算一元二次方程的根的题目中,遵守四则运算法则,求根公式.../2a中的2a要用()括起来 华氏温标(Fahrenheit temperature scale)符号℉,1724年,德国人华伦海特制定了华氏温标,他把一定浓度的盐水凝固时的温度定为0℉,把纯水凝固时的温度定为32 ℉,把标准大气压下水沸腾的温度定为212℉,中间分为180等份,每一等份代表1度,这就是华氏温标,用符号F表示,这就是华氏温度 摄氏温度(℃)和华氏温度(℉)之间的换算关系为: 华氏度(℉)=32+摄氏度(℃)×,摄氏度(℃)=(华氏度(℉)-32)÷。

C语言指针知识点总结精编版

C语言指针知识点总结公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-

指 针 ★指针的重要性 表示一些复杂的数据结构 快速传递数据 使函数返回一个以上的值 能直接访问硬件 能方便处理字符串 是理解面向对象语言中引用的基础 总结:指针是C 语言的灵魂 ★指针的定义 ☆地址 内存单元的编号 从零开始的非负整数 范围:4G ☆指针 1.指针就是地址,地址就是指针 2.指针变量是存放地址的变量 3.指针和指针变量是两个不同的概念 4.叙述时通常把指针变量简称为指针,实际它们含义不一样 5.指针的本质就是一个操作受限的非负整数 ★指针的分类 ☆基本类型指针(重要) Int f(int i,int j) { return 100; // return 88;error } Int main (void) { # include Void g(int*p,int*q) { *p=1; *q=2; } Int main(void) {

#include int main(void) { int *p; //p是变量的名字,int*表示p变量存放的是int类型变量的地址 Int*p;不表示定义了一个名字叫做*p的变量 Int*p;应该理解为:p是变量名,p变量的数据类型是int*类型 所谓int*类型,实际就是存放int变量地址的类型 int i=3; char ch=’A’ p=&i; //OK 1.p保存了i的地址,因此p指向i 2.p不是i,i也不是p,修改p的值不影响i的值,修改i 的值也不影响p的值 3.如果一个指针变量指向了某个普通变量,则*指针变量完全等同于普通变量 例:若p指向i,则*p=i (*p和i 可互相替换) p=&ch;//error //p=i; //error,因为类型不一致,p只能存放int类型变量的地址,不能存放int类型变量

大学物理下册知识点总结(期末)

大学物理下册 学院: 姓名: 班级: 第一部分:气体动理论与热力学基础 一、气体的状态参量:用来描述气体状态特征的物理量。 气体的宏观描述,状态参量: (1)压强p:从力学角度来描写状态。 垂直作用于容器器壁上单位面积上的力,是由分子与器壁碰撞产生的。单位 Pa (2)体积V:从几何角度来描写状态。 分子无规则热运动所能达到的空间。单位m 3 (3)温度T:从热学的角度来描写状态。 表征气体分子热运动剧烈程度的物理量。单位K。 二、理想气体压强公式的推导: 三、理想气体状态方程: 1122 12 PV PV PV C T T T =→=; m PV RT M ' =;P nkT = 8.31J R k mol =;23 1.3810J k k - =?;231 6.02210 A N mol- =?; A R N k = 四、理想气体压强公式: 2 3kt p nε =2 1 2 kt mv ε=分子平均平动动能 五、理想气体温度公式: 2 13 22 kt mv kT ε== 六、气体分子的平均平动动能与温度的关系: 七、刚性气体分子自由度表 八、能均分原理: 1.自由度:确定一个物体在空间位置所需要的独立坐标数目。 2.运动自由度: 确定运动物体在空间位置所需要的独立坐标数目,称为该物体的自由度 (1)质点的自由度: 在空间中:3个独立坐标在平面上:2 在直线上:1 (2)直线的自由度: 中心位置:3(平动自由度)直线方位:2(转动自由度)共5个 3.气体分子的自由度 单原子分子 (如氦、氖分子)3 i=;刚性双原子分子5 i=;刚性多原子分子6 i= 4.能均分原理:在温度为T的平衡状态下,气体分子每一自由度上具有的平均动都相等,其值为 1 2 kT 推广:平衡态时,任何一种运动或能量都不比另一种运动或能量更占优势,在各个自由度上,运动的机会均等,且能量均分。 5.一个分子的平均动能为: 2 k i kT ε=

C语言基础知识整理

C 语言基础知识 1. 每个C 程序有且只有一个主函数main() ,且程序必须从main() 函数开始执行,并在main() 函数中结束。 2. 在C语言中,用e来表示科学计数法时,规定在e的前面必须有数字,后面必须为整数。 3. 用单引号括起来的一个字符常量只能存放一个字符;C 语言中没有字符串变量,只能用字符数组来存储字符串。 4. 外部变量在编译时由系统分配永久的内存空间,所以外部变量的类型不是自动存储类别。 5. 在一个函数内的复合语句中定义的变量,只能在这个复合语句范围内有效。 6. 用sizeof(int) 计算int 类型数据的字节数。 7. C语言运行时,首先系统检查语法的正误,再运行程序的语法;C语言中,可以在一个函数中嵌套一个函数,但是不能在一个函数中定义一个函数;只有在函数外部定义的函数才是外部函数;C语言的子程序有过程和函数两种。 8. 预处理命令行的位置没有规定,只是习惯放在前面;在源文件中的可以有多条预处理命令,但一行只能写一条;宏名的大写只是习惯性的表示;宏替换不仅不占用运行时间还不分配内存空 间。 9. feo f函数的作用是检查文件是否结束,当结束时返回的值为非零,否则为零。 10. 当定义了数组后,在给其赋值时,不能直接把字符串赋给数组名。 11. 在赋值表达式中,赋值运算符"=”右侧不能为表达式;在求余运算符中的两侧都必须为整型;在强制类型转换时,类型名应用括号括起来。 12. 静态局部变量,只有当程序结束后,其值才释放。 13. 当调用函数时,实参是一个数组名,则向函数传送的是数组每一个元素的地址。 14. 算法的特点为有零个或多个输入,有一个或多个输出,当相同的输入时,其结果相同;算法 正确的程序最终一定会结束。15. 在 C 语言中,预处理命令行都以“#”开头;当需要时才用 #include; 预处理的作用就是实现宏定义和条件编译。16. 当数组元素的下标超出了定义 的下标范围时,系统不给出“下标越界”的字样,而是得出错误的答案,因此在编程时务必检查下标是否越界。 17. 共用体变量不能作为函数的参数,也不能使函数带回共用体变量。 18. 指向函数的指针变量的定义形式为:数据类型(* 指针变量)();,因此其为指向函数的 指针变量。 19. 用C 语言编写的代码程序是源程序,只有通过编译、连接才能进行。 20. 在说明为static 时,其生存期得到延长,而其作用域并没有改变,在定义后系统会自动帮它赋值为0,static 为关键字不能被用作它用。 21. 频繁地使用空语句会降低程序的可读性和运算速度。22. 运算符%两边都应是整数,赋值语 句左边应该是变量,而非表达式,强制转换语句强制类型应加括号。 23. 在逻辑运算符中,其两侧的运算符对象为任意合法的表达式即可。 24. 函数fread (&larray,2,16,fp)的功能是,从fp所指的数据文件中读取16次2字节的数据 存储到数组larray中。25.整个流式文件也可以随机存取数据,C语言文件中有好多函数可以达 到写入数据时,未经输入数据,达到不覆盖的目的,在进行写操作时,系统会自动关闭文件。 26. 使用putchar、getchat、puts、gets、printf、seanf函数时,必须在程序的开头岀现包含头文件 #inelude "stdio.h ”的命令行,而使用字符串处理函数时,必须在程序的开头岀现包含头文件 #include”string.h ”命令行,而使用数学函数时,必须在程序的开头岀现包含头文件#include”math.h” 的命令行。 27. 一个斜杠与小于等于127 任意数字按一个字符计算,一个斜杠与任意一个字符按一个字符计 28. 一个C 程序可以有一个或多个程序文件,也可以有一个或多个函数,所以一个C 语言程序可以实现

数组及指针 知识点总结

第9章数组 第1课 知识点一 定义一维数组 格式: 类型名数组名[元素个数] 例1 定义一个包含4个整数的数组a int a[4]; 例2 定义一个包含3个双精度数的数组b double b[3]; 注意: C语言中数组的下界从0开始计数。 例如: a[4]的4个元素分别为a[0]、a[1]、a[2]、a[3] 知识点二 一维数组的初始化 用一对大括号将数组的初值括起来。 例1 int a[3]={1, 2, 3}; 此例中a[0]值为1、a[1]值为2、a[2]值为3

例2 int a[5]={0}; 此例中数组a的全部元素值均为0 例3 int a[3]={1, 2, 3, 4}; 此例中由于初值个数多于数组元素个数,所以非法。例4 int a[ ]={0, 0, 0, 0}; 此例中省略数组元素个数,初值为4个0 等价于int a[4]={0}; 注意: 数组名是一个常量值,不能对它赋值。 例如: int a[3]; a=5; 此语句非法,应改为a[0]=5; 知识点三 一维数组应用 例1 从键盘上输入10个整数,输出最大数和最小数。 #include main() { int a[10],i,max,min; printf("请输入10个整数:\n");

for(i=0;i<=9;i++) scanf("%d",&a[i]); max=a[0]; min=a[0]; for(i=1;i<=9;i++) { if(a[i]>max) max=a[i]; if(a[i]

void指针小结

C/C++语言void及void指针深层探索 1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。 2.void的含义 void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。 void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义: 这行语句编译时会出错,提示“illegal use of type 'void'”。不过,即使void a的编译不会出错,它也没有任何实际意义。 void真正发挥的作用在于: (1)对函数返回的限定; (2)对函数参数的限定。 我们将在第三节对以上二点进行具体说明。 众所周知,如果指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋值;如果p1和p2指向不同的数据类型,则必须使用强制类型转换运算符把赋值运算符右边的指针类型转换为左边指针的类型。 例如: 其中p1 = p2语句会编译出错,提示“'=' : cannot convert from 'int *' to 'float *'”,必须改为: 而void *则不同,任何类型的指针都可以直接赋值给它,无需进行强制类型转换: 但这并不意味着,void *也可以无需强制类型转换地赋给其它类型的指针。因为“无类型”可以包容“有类型”,而“有类型”则不能包容“无类型”。道理很简单,我们可以说“男人和女人都是人”,但不能说“人是男人”或者“人是女人”。下面的语句编译出错: 提示“'=' : cannot convert from 'void *' to 'int *'”。 3.void的使用

C语言指针知识点总结

指 针 ★指针的重要性 表示一些复杂的数据结构 快速传递数据 使函数返回一个以上的值 能直接访问硬件 能方便处理字符串 是理解面向对象语言中引用的基础 总结:指针是C 语言的灵魂 ★指针的定义 ☆地址 内存单元的编号 从零开始的非负整数 范围:4G ☆指针 1.指针就是地址,地址就是指针 2.指针变量是存放地址的变量 3.指针和指针变量是两个不同的概念 4.叙述时通常把指针变量简称为指针,实际它们含义不一样 5.指针的本质就是一个操作受限的非负整数 ★指针的分类 ☆基本类型指针(重要) #include int main(void) { int *p; //p 是变量的名字,int*表示p 变量存放的是int 类型变量的地址 Int*p;不表示定义了一个名字叫做*p 的变量 Int*p;应该理解为:p 是变量名,p 变量的数据类型是int*类型 所谓int*类型,实际就是存放int 变量地址的类型 int i=3; char ch=’A ’ p=&i; //OK 1.p 保存了i 的地址,因此p 指向i 2.p 不是i ,i 也不是p ,修改p 的值不影响i 的值,修改i 的值也不影响p 的值 3.如果一个指针变量指向了某个普通变量,则*指针变量 完全等同于 普通变量 例:若p 指向i ,则*p=i (*p 和i 可互相替换) p=&ch;//error //p=i; //error,因为类型不一致,p 只能存放int 类型变量的地址,不能存放int 类型变量 //P=55;//error,原因同上 return 0; } △附注: ?*的含义: 1.乘法 Int f(int i,int j) { return 100; // return 88;error } Int main (void) { Int a=3,b=5; a=f(a,b); b=f(a,b); } 只能返回一个值 # include Void g(int*p,int*q) { *p=1; *q=2; } Int main(void) { Int a=3,b=5; g(&a,&b); Printf(“%d%d\n ”,a,b); Return 0; } 指针使函数返回一个以上的值

c语言指针实验报告

C语言实习报告 题目:指针及其应用 系别: 专业: 姓名: 学号: 日期:

一实验名称:指针及其应用 二实验目的: (1)掌握变量的指针及其基本用法。 (2)掌握一维数组的指针及其基本用法。 (3)掌握指针变量作为函数的参数时,参数的传递过程及其用法。 三实验内容: (1)运行以下程序,并从中了解变量的指针和指针变量的概念。 (2)运行以下程序,观察&a[0]、&a[i]和p的变化,然后回答以下问题: 1.程序的功能是什么? 2.在开始进入循环体之前,p指向谁? 3.循环每增加一次,p的值(地址)增加多少?它指向谁? 4.退出循环后,p指向谁? 5.你是否初步掌握了通过指针变量引用数组元素的方法? (3)先分析以下程序的运行结果,然后上机验证,并通过此例掌握通过指针变量引用数组元素的各种方法。

(4)编写函数,将n个数按原来的顺序的逆序排列(要求用指针实现),然后编写主函数完成: ①输入10个数; ②调用此函数进行重排; ③输出重排后的结果。 四分析与讨论: (1)指针的定义方法,指针和变量的关系。 定义方法: 数据类型 *指针变量名; 如定义一个指向int型变量的指针—— int *p;

则我们可以继续写如下代码—— int a = 4; p = &a; printf("%d", *p); 在这里,我们定义了一个变量a,我们把它理解为内存空间连续的4个字节(int型占用4字节),则这4个字节的空间保存着一个数4。&是取地址符号,即把变量a的地址(即这4个字节的首地址)赋给指针p (记住指针p的类型和变量a的类型要保持一致,否则的话,要进行类型转换)。这样子,指针p就保存着变量a的地址。我们如果把指针p当做内存空间里面另外一个连续的4个字节,那么这4个字节保存的数就是变量a的地址。printf("%d",*p)和printf("%d",a)的结果是一样的。这里的*是取变量符号(与&刚好作用相反,通过变量的地址找到变量),与定义时int *p的*号作用不同(定义时的*表示该变量是个 指针变量,而非是取它指向的变量)。 (2)数组和指针的关系。 指针与数组是C语言中很重要的两个概念,它们之间有着密切的关系,利用这种关系,可以增强处理数组的灵活性,加快运行速度,本文着重讨论指针与数组之间的联系及在编程中的应用。 1.指针与数组的关系 当一个指针变量被初始化成数组名时,就说该指针变量指向了数组。如: char str[20], *ptr; ptr=str; ptr被置为数组str的第一个元素的地址,因为数组名就是该数组的首地址,也是数组第一个元素的地址。此时可以认为指针ptr就是数组str(反之不成立),这样原来对数组的处理都可以用指针来实现。如对数组元素的访问,既可以用下标变量访问,也可以用指针访问。 2.指向数组元素的指针 若有如下定义: int a[10], *pa; pa=a; 则p=&a[0]是将数组第1个元素的地址赋给了指针变量p。 实际上,C语言中数组名就是数组的首地址,所以第一个元素的地址可以用两种方法获得:p=&a[0]或p=a。 这两种方法在形式上相像,其区别在于:pa是指针变量,a是数组名。值得注意的是:pa是一个可以变化的指针变量,而a是一个常数。因为数组一经被说明,数组的地址也就是固定的,因此a是不能变化的,不允许使用a++、++a或语句a+=10,而pa++、++pa、pa+=10则是正确的。由此可见,此时指针与数组融为一体。 3.指针与一维数组 理解指针与一维数组的关系,首先要了解在编译系统中,一维数组的存储组织形式和对数组元素的访问方法。 一维数组是一个线形表,它被存放在一片连续的内存单元中。C语言对数组的访问是通过数组名(数组的起始地址)加上相对于起始地址的相对量(由下标变量给出),得到要访问的数组元素的单元地址,然后再对计算出的单元地址的内容进行访问。通常把数据类型所占单元的字节个数称为扩大因子。 实际上编译系统将数组元素的形式a[i]转换成*(a+i),然后才进行运算。对于一般数组元素的形式:<数组名>[<下标表达式>],编译程序将其转换成:*(<数组名>+<下标表达式>),其中下标表达式为:下标表达式*扩大因子。整个式子计算结果是一个内存地址,最后的结果为:*<地址>=<地址所对应单元的地址的内容>。由此可见,C语言对数组的处理,实际上是转换成指针地址的运算。 数组与指针暗中结合在一起。因此,任何能由下标完成的操作,都可以用指针来实现,一个不带下标的数组名就是一个指向该数组的指针。

C语言指针知识点总结

指 针 ★指针的重要性 表示一些复杂的数据结构 快速传递数据 使函数返回一个以上的值 能直接访问硬件 能方便处理字符串 是理解面向对象语言中引用的基础 总结:指针是C 语言的灵魂 ★指针的定义 ☆地址 内存单元的编号 从零开始的非负整数 范围:4G ☆指针 1.指针就是地址,地址就是指针 2.指针变量是存放地址的变量 3.指针和指针变量是两个不同的概念 4.叙述时通常把指针变量简称为指针,实际它们含义不一样 5.指针的本质就是一个操作受限的非负整数 ★指针的分类 ☆基本类型指针(重要) #include<> int main(void) { int *p; 果一个指针变量指向了某个普通变量,则*指针变量 完全等同于 普通变量 例:若p 指向i ,则*p=i (*p 和i 可互相替换) p=&ch;法 2.定义指针变量 Int*p; 针运算符 该运算符放在已经定义好的指针变量的前面 如果p 是一个已经定义好的指针变量 则*p 表示以p 的内容为地址的变量 ?如何通过被调函数修改主调函数普通变量的值 1.实参必须为该普通变量的地址 &... 2.形参必须为指针变量 *... 3.在被调函数中通过 *形参名=...... 的方式就可以修改主调函数相关变量的值 例子: 经典指针程序:互换数值 形参和实参是不同的变量,修改形参不会改变实参 ?指针常见错误 #include<> #include<> void huhuan (int a, int b ) { int t; t=a; a=b; b=t; #include<> void huhuan2(int *p, int *q ) { int *t;//如果要互换p 和q 的值, 则t 必须是int*,不能是int t=p; p=q; #include<> void huhuan3(int *p, int*q ) //形参的名字是p 和q ,接收实参数据的是p 和q ,而不是*p 和*q { int t;//如果要互换*p 和*q 的值, 则t 必须是int ,不能是int* t=*p;//p 是int*,*p 是int Int f(int i,int j) { return 100; // return 88;error } Int main (void) { Int a=3,b=5; a=f(a,b); b=f(a,b); } 只能返回一个值 # include <> Void g(int*p,int*q) { *p=1; *q=2; } Int main(void) { Int a=3,b=5; g(&a,&b); Printf(“%d%d\n ”,a,b); Return 0; } 指针使函数返回一个以上的值

C语言基础知识归纳

C语言基础知识 1.每个C程序有且只有一个主函数main(),且程序必须从main() 函数开始执行,并在main()函数中结束。 2.在C语言中,用e来表示科学计数法时,规定在e的前面必 须有数字,后面必须为整数。 3.用单引号括起来的一个字符常量只能存放一个字符;C语言中 没有字符串变量,只能用字符数组来存储字符串。 4.外部变量在编译时由系统分配永久的内存空间,所以外部变 量的类型不是自动存储类别。 5.在一个函数内的复合语句中定义的变量,只能在这个复合语 句范围内有效。 6.用sizeof(int)计算int类型数据的字节数。 7.C语言运行时,首先系统检查语法的正误,再运行程序的语法; C语言中,可以在一个函数中嵌套一个函数,但是不能在一个函数中定义一个函数;只有在函数外部定义的函数才是外部函数;C语言的子程序有过程和函数两种。 8.预处理命令行的位置没有规定,只是习惯放在前面;在源文 件中的可以有多条预处理命令,但一行只能写一条;宏名的大写只是习惯性的表示;宏替换不仅不占用运行时间还不分配内存空间。 9.feof函数的作用是检查文件是否结束,当结束时返回的 值为非零,否则为零。

10.当定义了数组后,在给其赋值时,不能直接把字符串赋给数 组名。 11.在赋值表达式中,赋值运算符“=”右侧不能为表达式;在 求余运算符中的两侧都必须为整型;在强制类型转换时,类型名应用括号括起来。 12.静态局部变量,只有当程序结束后,其值才释放。 13.当调用函数时,实参是一个数组名,则向函数传送的是数组 每一个元素的地址。 14.算法的特点为有零个或多个输入,有一个或多个输出,当相 同的输入时,其结果相同;算法正确的程序最终一定会结束。 15.在C语言中,预处理命令行都以“#”开头;当需要时才用 #include;预处理的作用就是实现宏定义和条件编译。 16.当数组元素的下标超出了定义的下标范围时,系统不给出“下 标越界”的字样,而是得出错误的答案,因此在编程时务必检查下标是否越界。 17.共用体变量不能作为函数的参数,也不能使函数带回共用体 变量。 18.指向函数的指针变量的定义形式为:数据类型(*指针变量) ();,因此其为指向函数的指针变量。 19.用C语言编写的代码程序是源程序,只有通过编译、连接才 能进行。 20.在说明为static时,其生存期得到延长,而其作用域并没有改

C语言指针教学中的知识点分析与总结-最新教育文档

C语言指针教学中的知识点分析与总结 C语言是一门重要的计算机基础课程,指针是C语言的精华。 而指针应用范围广、使用灵活等特点时常让初学者感到困惑。 用指针可以访问各种类型的数据,能够实现动态存储分配,提高编程效率,加深对数据存储方式的理解。本文从指针的基本概念,指针在数组、函数、字符串、动态存储分配等方面的应用入手,剖析指针与各部分基础知识相结合时的教学重点和难点。利用对比的方法指出初学者在学习指针过程中易混的概念及注意事项,有利于初学者对指针的理解和掌握。 1指针基本概念的理解 指针学习首先应掌握其基本概念。指针即地址、地址即指针。 程序运行过程中,变量、数组、函数等都存放在内存的存储单元中,每个存储单元都有地址。使用变量、数组、函数既可以直接访问,又可以利用其存储单元地址进行间接访问,这种间接访问便是借助指针来完成的。 1.1对指针类型的理解 理解指针概念要从指针类型入手,教师在教学中应着重讲述 指针类型的含义,以及与普通变量类型的区别。指针定义时的类型称为指针的基础类型,理解上应区别于普通变量的类型。如定义: 由上表可以看出,普通变量的数据类型决定了其占用内存单 元的字节数以及存放数值的范围。而指针变量不论其基础类型为何种类型,均占用4 个字节的存储空间。并且指针变量与普通变量最大的区别在于,指针变量存地址值,而普通变量存数值。 1.2指针运算符的理解 1.2.1对取地址符“ &”的理解 指针变量定义后应为其赋一个有效地址值,让它指向有效的存储空间。未赋值的指针变量称为“悬空”指针,使用悬空指针非常危险,可能会导致系统崩溃。为指针变量赋值时常要用到取地址运算符“ &”。令

C语言最重要的知识点总结

C语言最重要的知识点 总体上必须清楚的: 1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。 byte是指字节, 一个字节 = 八个位. 概念常考到的: 1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、define PI 3.1415926; 这个写法是错误的,一定不能出现分号。 3、每个C语言程序中main函数是有且只有一个。 4、在函数中不可以再定义函数。 5、算法:可以没有输入,但是一定要有输出。 6、break可用于循环结构和switch语句。 7、逗号运算符的级别最低,赋值的级别倒数第二。 第一章C语言的基础知识 第一节、对C语言的基础认识 1、C语言编写的程序称为源程序,又称为编译单位。 2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。 3、一个C语言程序有且只有一个main函数,是程序运行的起点。 4、C语言本身没有输入输出语句,输入输出操作是调用系统提供的输入输出函数来完成的。 第二节、熟悉vc++ 1、VC是软件,用来运行写的C语言程序。 2、每个C语言程序写完后,都是先编译,后链接,最后运行。(.c---→.obj---→.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。(常考!) 第三节、标识符 1、标识符(必考内容): 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了 2、标识符分为关键字、预定义标识符、用户标识符。 关键字:不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If 是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 预定义标识符:背诵define scanf printf include。记住预定义标识符可以做为用户标识符。 用户标识符:基本上每年都考,详细请见书上习题。 第四节:进制的转换 十进制转换成二进制、八进制、十六进制。 二进制、八进制、十六进制转换成十进制。 第五节:整数与实数 1)C语言只有八、十、十六进制,没有二进制。但是运行时候,所有的进制都要转换成二进制来进行处理。(考过两次) a、C语言中的八进制规定要以0开头。018的数值是非法的,八进制是没有8的,逢8进1。 b、C语言中的十六进制规定要以0x开头。

力学知识点归纳总结归纳

力学知识点总结 一、力知识归纳 1.什么是力:力是物体对物体的作用。 2.物体间力的作用是相互的。(一个物体对别的物体施力时,也同时受到 后者对它的力)。 3.力的作用效果:力可以改变物体的运动状态,还可以改变物体的形状。 (物体形状或体积的改变,叫做形变。) 4.力的单位是:牛顿(简称:牛),符合是N。1牛顿大约是你拿起两个鸡蛋 所用的力。 5.弹力弹簧测力计 弹性:物体受力发生形变,不受力时又恢复到原来的形状,物体的这种性质叫弹性。 塑性:物体受力后不能自动恢复原来的形状,物体的这种性质叫塑性。 弹力:物体由于发生弹性形变而产生的力。 实验室测力的工具是:弹簧测力计。 (1)弹簧测力计原理:在弹性限度内,弹簧受到的拉力越大,弹簧的伸长就越长。(或在弹性限度内,弹簧的伸长的长度(△L)跟受到的拉力成正比) (2)弹力的计算:胡克定律:在弹性限度内,弹簧弹力的大小和弹簧的伸长(或缩短)成正比。 其数学表达式为:F=k△X,其中k称为弹簧的劲度系数(一般是常数),单位式N/m。F是拉力,△X是弹簧的伸长或缩短。 (3)弹簧测力计的使用注意事项: ①使用前,要先估计被测力的大小,以免被测力太大,损坏弹簧; ②使用前,认清分度值和量程; ③使用前,要检查指针是否指在零刻度处,如果不是,则要先调零; ④挂物前,来回拉动弹簧的挂钩几次(防止指针卡在外壳上),并观察每次松手后,指针是否回到零刻度线处; ⑤测量时,力要沿着弹簧的轴线方向,勿使弹簧或弹簧指针与外壳接触摩擦; ⑥测量时,力不能超过弹簧测力计的量程; ⑦待指针稳定后再读数;读数时,视线必须与刻度盘垂直。 (4)弹簧测力计的构造:提环、弹簧、指针、刻度盘、挂钩; 注:假如弹簧测力计无法调零,则采用如下方法:测量前先读出指针示数,然后测量力后再读出示数,用第2次示数减去第1次示数即为被测力的大小。 6.力的三要素是:力的大小、方向、作用点,叫做力的三要素,它们都能影响力的作用效果。 7.力的示意图就是用一根带箭头的线段来表示力。具体的画法是: (1)用线段的起点表示力的作用点; (2)延力的方向画一条带箭头的线段,箭头的方向表示力的方向; (3)若在同一个图中有几个力,则力越大,线段应越长。有时也可以 在力的示意图标出力的大小, 8.万有引力:宇宙间任何两个物体,大到天体,小到灰尘之间,都存在互相吸引的力。 重力:地面附近物体由于地球吸引而受到的力叫重力。重力的方向总是竖直向下的。 (1)重力的计算公式:G=mg,(式中g是重力与质量的比值:g=9.8牛顿/千克,在粗略计算时也可取g=10牛顿/千克);重力跟质量成正比。 (2)重垂线是根据重力的方向总是竖直向下的原理制成。 (3)重力的作用点(重心):地球吸引物体的每一个部分,但是,对于整个物体,重力的作用好像作用在一个点,这个点叫重心。(形状规则、质地均匀的物体的重心在它的几何中心)

大物知识点梳理完整版

大物知识点整理 第一章︰质点运动学 1质点运动的描述 位置矢量︰从所指定的坐标原点指向质点所在位置的有向 线段。 运动方程︰ 位移︰从质点初始时刻位置指向终点时刻位置的有向线段 速度︰表示物体运动的快慢。 瞬时速率等于瞬时速度的大小 2圆周运动 角加速度α=Δω / Δt 角速度ω=Φ/t=2π/T=2πf 线速度V=s/t=2πR/T, ω×r=V 切向加速度沿切向方向 法向加速度 指向圆心 加速度 k z j y i x r ++=2 2 2 z y x r ++=

例题 1 已知质点的运动方程x=2t,y=2-t^2,则t=1时质点的位置矢量是()加速度是(),第一秒到第二秒质点的位移是(),平均速度是()。(详细答案在力学小测中) 注意:速度≠速率 平时作业:P36 1.6 1.11 1.13 1.16 (1.19建议看一下) 第二章:牛顿定律 1、牛顿第一定律:1任何物体都具有一种保持其原有运动状态 不变的性质。 2力是改变物体运动状态的原因。 2、牛顿第二定律:F=ma 3、牛顿第三定律:作用力与反作用力总是同时存在,同时消失,分别作用在两个不同的物体上,性质相同。 4、非惯性系和惯性力 非惯性系:相对于惯性系做加速运动的参考系。 惯性力:大小等于物体质量与非惯性系加速度的乘积,方向与非惯性加速度的方向相反,即F=-ma 例题: P51 2.1 静摩擦力不能直接运算。 2.2 对力的考察比较全面,类似题目P64 2.1 2.2 2.6 2.3运用了微积分,这种题目在考试中会重点考察,在以后

章节中都会用到,类似P66 2.13

该章节对惯性力涉及较少,相关题目有P57 2.8 P65 2.7(该题书 中的答案是错的,请注意,到时我会把正确答案给你们。)P67 2.17. 第三章 动量守恒定律与能量守恒定律 1动量P=mv 2冲量 其方向是动量增量的方向。 Fdt=dP 3动量守恒定律P=C (常量) 条件:系统所受合外力为零。若系统所受合外力不为零,但沿某一方向合力为零时,则系统沿该方向动量守恒。 4碰撞:⑴完全弹性碰撞 动量守恒,动能守恒 ⑵非弹性碰撞 动量守恒,动能不守恒 ⑶完全非弹性碰撞 动量守恒,动能不守恒 详细参考P115 5质心运动定律 ⑴质心位置矢量 1)对于密度均匀,形状对称的物体,其质心在物体的几何中心处; ?=-21 12 t t dt F I P P =1 2v m v m dt F I -=?=??? ?= ==zdm M z ydm M y xdm M x c c c 1 ,1 ,1?=dm r M r c 1

相关主题