- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c指针练习题总结.doc
C指针练习题总结
2008-4-17
使用的编译软件是visual c++ 6.0软件。练习的结果还没仔细检测,对程序的质量还待考虑。对指针的程序还没很好理解,先了解指针的含义及格式。
及理解指针的灵活之处,多上机做题培养指针的思维方式。
在信息工程中指针是一个用来指示一个内存地址的计算机语言的变量或中央处理器(CPU)中寄存器(Register)。指针一般出现在比较近机器语言的语言,如汇编语言或C语言。面向对象的语言如Java一般避免用指针。指针一般指向一个函数或一个变量。在使用一个指针时,一个程序既可以直接使用这个指针所储存的内存地址,又可以使用这个地址里储存的变量或函数的值。*和两个地方要注意:? ? 在程序声明变量的时候的*,只是表明“它是一个整数,这个整数指向某个内存地址,一次访问sizeof(type)长度”。这点不要和(*)操作符混淆;? ? 在C++程序声明变量的时候的,只是表明“它是一个引用,这个引用声明时不开辟新空间,它在内存分配表加入新的一行,该行内存地址等于和调用时传入的对应参数内存地址”。? ? 这点不要和(*)声明符,()操作符混淆。双重指针(指向指针的指针)? ? 指针数组:就是一个整数数组,那个数组的各个元素都是整数,指向某个内存地址。? ? 数组指针:数组名本身就是一个指针,指向数组的首地址。注意这是一个常数。? ? 指向函数的指针:从二进制角度考虑,数组名是该数组数据段首地址,函数名就是该代码段的首地址,可以用“int *fun()”。在二进制层面,代码段和数据段什么区别?没什么区别。#include stdio.h
void main()
{
void swap(int *p1,int *p2);
int n1,n2,n3;
int *p1,*p2,*p3;
printf(input three interger n1,n2,n3);
scanf(%d,%d,%d,n1,n2,n3);
p1=n1;
p2=n2;
p3=n3;
if (n1n2) swap(p1,p2);
if (n1n3) swap(p1,p3);
if (n2n3) swap(p2,p3);
printf(Now ,the order is:%d,%d,%d\n,n1,n2,n3);
}
void swap(int *p1,int *p2)
{
int temp;
temp=*p1;*p1=*p2;*p2=temp;
}
了解一些c语言的历史
C,是一种通用的程序设计语言,它主要用来进行系统程序设计。具有高效、灵活、功能丰富、表达力强和移植性好等的特点,在程序员中备受青睐。
C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)和肯·汤普逊(Ken Thompson)于1970年研制出的B语言的基础上发展和完善起来的。C语言可以广泛应用于不同的操作系统,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C语言是一种面向过程的语言,同时具有高级语言和汇编语言的优点。在C语言的基础上发展起来的有支持多种程序设计风格的C++语言,网络上广泛使用的Java、JavaScript,微软的C#等。
1983年,美国国家标准委员会(ANSI)对C语言进行了标准化,于1983年颁布了第一个C语言标准草案(83 ANSI C),后来于1987年又颁布了另一个C语言标准草案(87 ANSI C)。最新的C语言标准是在1999年颁布并在2000年3月被ANSI采用的 C99 ,但由于未得到主流编译器厂家的支持,直到2004年C99 并未被广泛使用,增加了若干新特性后 C99 已经逐渐让C语言和C++分道扬镳。
C语言的特色
C语言是系统程序语言。流行的操作系统核心部分几乎无一例外的选择了C语言。
C语言保留了低级语言的特性,例如C语言允许使用指针来对任意内存做直接修改。
C语言使用了预处理机制,使得程序员可以在编译源程序之前对程序结构做出控制。常用的预处理机制包括宏与编译选择等。
C语言的主要不足是缺乏对真实事物的描述手段。用C语言表达复杂的逻辑系统将会十分困难,而且代码量也明显高于C++语言。同时C语言过度的信赖程序员的做法也一直存在很大争议,是否允许程序员随意修改内存中的任何东西一直都是争论的焦点所在。C语言的不足可以由C语言发展而来的新的编程语言所改进。Cyclone语言拥有提防内存错误的特性。C++和Objective C提供了用于面向对象的编程结构。Java和C#在提供面
文档评论(0)