ImageVerifierCode 换一换
格式:DOC , 页数:12 ,大小:98.50KB ,
资源ID:1255466      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1255466.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言难点解析.doc)为本站会员(滴答)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

C语言难点解析.doc

1、C 语言难点分析整理!这篇文章主要是介绍一些在复习 C 语言的过程中笔者个人认为比较重点的地方,较好的掌握这些重点会使对 C 的运用更加得心应手。此外会包括一些细节、易错的地方。涉及的主要内容包括:变量的作用域和存储类别、函数、数组、字符串、指针、文件、链表等。一些最基本的概念在此就不多作解释了,仅希望能有只言片语给同是 C 语言初学者的学习和上机过程提供一点点的帮助。 变量作用域和存储类别: 了解了基本的变量类型后,我们要进一步了解它的存储类别和变量作用域问题。变量类别 子类别静态变量(离开函数,变量值仍保留)自动变量局部变量寄存器变量静态变量(只能在本文件中用)全局变量非静态变量(允许其他

2、文件使用)换一个角度变量类别 子类别静态局部变量(函数) 静态全局变量(本文件) 静态存储变量 非静态全局/外部变量(其他文件引用) 自动变量寄存器变量动态存储变量形式参数extern 型的存储变量在处理多文件问题时常能用到,在一个文件中定义 extern 型的变量即说明这个变量用的是其他文件的。顺便说一下,笔者在做课设时遇到 out of memory 的错误,于是改成做多文件,再把它 include 进来(注意自己写的*.h 要用“”不用字符串型 sprintf(char *,格式化输入)赋给字符串,而不打印出来。课设时用也比较方便注:对字符串是不允许做=或!=的运算的,只能用字符串比较函

3、数 指针: 指针可以说是 C 语言中最关键的地方了,其实这个“指针”的名字对于这个概念的理解是十分形象的。首先要知道,指针变量的值(即指针变量中存放的值)是指针(即地址)。指针变量定义形式中:基本类型 *指针变量名 中的“*”代表的是这是一个指向该基本类型的指针变量,而不是内容的意思。在以后使用的时候,如*ptr=a 时,“*”才表示 ptr所指向的地址里放的内容是 a。指针比较典型又简单的一应用例子是两数互换,看下面的程序,swap(int c,int d) int t; t=c; c=d; d=t; main() int a=2,b=3; swap(a,b); printf(“%d,%d”

4、,a,b); 这是不能实现 a 和 b 的数值互换的,实际上只是形参在这个函数中换来换去,对实参没什么影响。现在,用指针类型的数据做为参数的话,更改如下:swap(#3333FF *p1,int *p2) int t; t=*p1; *p1=*p2; *p2=t; main() int a=2,b=3; int *ptr1,*ptr2; ptr1= ptr2= swap(prt1,ptr2); printf(“%d,%d”,a,b); 这样在 swap 中就把 p1,p2 的内容给换了,即把 a,b 的值互换了。指针可以执行增、减运算,结合+运算符的法则,我们可以看到: *+s 取指针变量加

5、1 以后的内容*s+ 取指针变量所指内容后 s 再加 1(*s)+ 指针变量指的内容加 1指针和数组实际上几乎是一样的,数组名可以看成是一个常量指针,一维数组中 ptr= if(*s=+|*s=-) /*判断是否有符号*/ sign=(*s+=+)?1:-1; /*用到三目运算符*/ while(*s!=0) /*对每一个字符进行操作*/ m=m*10+(*s-0); s+; /*指向下一个字符*/ return m*sign; 指向多维数组的指针变量也是一个比较广泛的运用。例如数组 a34,a 代表的实际是整个二维数组的首地址,即第 0 行的首地址,也就是一个指针变量。而 a+1 就不是简单

6、的在数值上加上 1 了,它代表的不是 a01,而是第 1 行的首地址, void Output(ST *); void Bubble(ST *); void Find(ST *); void Failure(ST *); /*函数声明:这五个函数都是以一个指向 ST 型(事先定义过)结构的指针变量作为参数,无返回值。*/ void (*process5)(ST *)=Input,Output,Bubble,Find,Failure; /*process 被调用时提供 5 种功能不同的函数共选择(指向函数的指针数组)*/ printf(“nChoose:n?“); scanf(“%d“, if(

7、choice=0 int chinese; int maths; int phy; int total; ST; main() ST aN; /*存储 N 个学生信息的数组*/ FILE *fp; void (*process3)(ST *)=Output,Bubble,Find; /*实现相关功能的三个函数*/ int choice,i=0; Show(); printf(“nChoose:n?“); scanf(“%d“, while(choice=0 if(h=NULL) h=p; else q-next=p; ch+; q=p; q-next=NULL; /*链表结束*/ return h; 逆向建立:NODE *create()

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。