c语言复习概念要点ppt课件_第1页
c语言复习概念要点ppt课件_第2页
c语言复习概念要点ppt课件_第3页
c语言复习概念要点ppt课件_第4页
c语言复习概念要点ppt课件_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 C C语言提供的数据结语言提供的数据结构是以构是以数据类型数据类型的的形式出现的形式出现的 基本类型基本类型构造类型构造类型指针类型指针类型空类型空类型(void)数据类型数据类型 用指针、结构体还可构用指针、结构体还可构成链表、树、栈等复杂的数成链表、树、栈等复杂的数据结构据结构跟第四版书稍有不同基本数据类型基本数据类型整数,在目前绝大多数机器上占整数,在目前绝大多数机器上占4个字节。个字节。TC2中是中是2个字节个字节单精度浮点数,一般是单精度浮点数,一般是4个字节长个字节长双精度浮点数,一般是双精度浮点数,一般是8个字节长个字节长字符,一般是字符,一般是1个字节长个字节长用来表示用来表

2、示256个个ASCII字符,或者字符,或者0255的整数的整数字符常量字符常量 一些特殊字符(无法从键盘输入或者另有它用)一些特殊字符(无法从键盘输入或者另有它用)用转义字符表示用转义字符表示char c1, c2; c1=a; 可以可以 c2=“a” ; 错误错误 合法的字符常量合法的字符常量 ?变量类型变量类型 定义定义 字节数字节数 范围范围printf格式字符格式字符scanf格式字符格式字符v字符输字符输出出函数函数- 输出输出一个一个字符字符v字符输字符输入入函数函数- 无参数无参数 函数值为从输入设备接收的字符函数值为从输入设备接收的字符v字符串输字符串输出出函数函数- 输出输出

3、一个一个字符串字符串v字符串输字符串输入入函数函数- 输入输入一个一个字符串字符串字符输字符输出出函数函数-f 字符输字符输入入函数函数-f 字符串输字符串输出出函数函数-f 字符串输字符串输入入函数函数-f 分析题一:分析题一:1.在在C语言程序中,语言程序中,xyz与与Xyz是相同的变量,变量名的组成?是相同的变量,变量名的组成?2. 变量的类型通常指变量的类型通常指_?_和和 _?_。3. 字符串的结束符为字符串的结束符为 什么?什么?“n” 还是还是“0” ?。?。4. 以下语句:以下语句:int a=6; a+=a; printf(“%d”, a ); 输出结果输出结果? 5. C语

4、言规定以语言规定以-_字符作为字符串结束标志。字符作为字符串结束标志。6一个一个C语言程序是由若干个语言程序是由若干个 组成的,每个文件是由若组成的,每个文件是由若 干干 组成组成的。的。 C语言可以包括多个函数,且程序总是语言可以包括多个函数,且程序总是从从_开始执行。开始执行。 函数只能有一个。函数只能有一个。7. 在在C语言中,二维数组元素在内存中的存放顺序是语言中,二维数组元素在内存中的存放顺序是_。8定义符号常量定义符号常量price为为36的宏定义命令是的宏定义命令是 。9. 字符串常量字符串常量“abcd”在内存中的字节数是在内存中的字节数是 ? 。1. 已知已知: int b=

5、2;, 下列各表达式的值不为下列各表达式的值不为5的是的是 ? b2?5:1 +b+2 b%2+(b=5) b+=32sizeof 运算符作用于一个表达式上运算符作用于一个表达式上,则是则是 - 。 不可能不可能 求出该表达式的类型占内存的字节求出该表达式的类型占内存的字节 求出该表达式的值求出该表达式的值 强制该表达式的类型强制该表达式的类型 3. 对于下面程序段,执行的结果是对于下面程序段,执行的结果是?。 char str =” btn0fun0”; printf(“%d”, strlen(c) ); 15? 7? 4 字符串中有非法字符,输出值不确定字符串中有非法字符,输出值不确定?

6、4. 已知已知: int x=1, y=2; ,下列下列 表达式表达式 中中哪些是哪些是合法合法? x=10.5%2 ; x+=y+2; (x+y) ; +(-x);5. 判断字符串判断字符串s1是否大于字符串是否大于字符串s2,写出相应的函数及表达式,写出相应的函数及表达式v语句是语句是算法实现的程序表示算法实现的程序表示,是算法实现的最小单位。,是算法实现的最小单位。v语句说明了一种行为,它是用计算语言编写的控制计算语句说明了一种行为,它是用计算语言编写的控制计算机完成确定操作的句子。机完成确定操作的句子。 空语句(空语句(;)复合语句(复合语句(一条或多条语句一条或多条语句)流程控制语句

7、流程控制语句结构化语句结构化语句条件语句(条件语句(if语句,语句,switch语句语句)while语句语句do-while语句语句 for语句语句非结构化语句非结构化语句 break语句语句continue语句语句 return语句语句 非限定转向语句非限定转向语句 (goto)C语言数据语言数据操作语句操作语句循环语句循环语句 简单语句简单语句函数调用语句(函数调用语句(函数名(参数表);函数名(参数表);)表达式语句(表达式语句(表达式;表达式;)if( )else条件语句条件语句for( )循环语句循环语句while( )循环语句循环语句dowhile( )循环语句循环语句contin

8、ue结束本次循环语句结束本次循环语句break中止中止switch或循环语句或循环语句switch多分支选择语句多分支选择语句goto转向语句转向语句return从函数返回语句从函数返回语句( )表示条件,表示内嵌的语句表示条件,表示内嵌的语句u顺序顺序结构结构u选择选择结构结构u循环循环结构结构u已经证明,任何程序均可只用这三种结构综已经证明,任何程序均可只用这三种结构综合描述合描述u只用这三种结构编制的程序,叫只用这三种结构编制的程序,叫结构化程序结构化程序u程序必须符合结构化规则程序必须符合结构化规则v分别用如下语句编程分别用如下语句编程whiledo-whilefor break 语句

9、语句continue 语句语句goto 语句语句return 语句语句有返回值的函数体内应加条有返回值的函数体内应加条_语句。语句。 break; 输出函数调用语句:输出函数调用语句:printf(”控制串控制串”,参数表,参数表); return; contnuin;数组数组(Array)int a10;定义一个有定义一个有10个元素的数组,每个元素的类型均为个元素的数组,每个元素的类型均为int使用使用a0、a1、a2、a9这样的形式访问每这样的形式访问每个元素。它们与普通变量没有任何区别个元素。它们与普通变量没有任何区别系统会在内存分配连续的系统会在内存分配连续的10个个int空间给此数

10、组空间给此数组数组下标可以是整型表达式数组下标可以是整型表达式直接对直接对a的访问,就是访问此数组的首地址的访问,就是访问此数组的首地址a数组首地址数组首地址a9a8a7a1a0数组的定义与初始化数组的定义与初始化v数组定义后的初值仍然是随机数,一般需要我们来初数组定义后的初值仍然是随机数,一般需要我们来初始化始化 int int a5 = 12, 34, 56 ,78 ,9 ; a5 = 12, 34, 56 ,78 ,9 ; int int a5 = 0 ; a5 = 0 ; int int a = 11, 22, 33, 44, 55 ; a = 11, 22, 33, 44, 55 ;

11、v数组大小最好用宏来定义,以适应未来可能的变化数组大小最好用宏来定义,以适应未来可能的变化 #define SIZE 10 int aSIZE;v数组大小定义好后,将永远不变数组大小定义好后,将永远不变数组的使用数组的使用v数组的下标都是从数组的下标都是从0开始开始v对数组每个元素的使用与普通变量无异对数组每个元素的使用与普通变量无异v可以用任意表达式作为下标,动态决定访问哪个元素可以用任意表达式作为下标,动态决定访问哪个元素 for (i=0; iSIZE; i+) ai = 2 * i;v下标越界是下标越界是大忌大忌!v使用大于最大下标的下标,将访问数组以外的空间。使用大于最大下标的下标,

12、将访问数组以外的空间。 那里的数据是未知的,可能带来严重后果那里的数据是未知的,可能带来严重后果vsizeof可以用来获得数组大小可以用来获得数组大小只能逐个对数组元素进行操作(字符数组例外)只能逐个对数组元素进行操作(字符数组例外)int a10,i;scanf( %d,&ai);for (i=0;i10;i+) scanf( %d ,&ai);printf( %d ,ai);for (i=0;i10;i+) printf( %d ,ai);一维数组的输入和输出一维数组的输入和输出二维数组的输入和输出二维数组的输入和输出数组的输入和输出只能逐个对数组元素进行操作数组的输入和输出只能逐个对数组

13、元素进行操作(字符数组例外)(字符数组例外)int a23,i,j;输入第输入第i行第行第j列元素:列元素:scanf(“%d”,&aij);输入整个数组元素:输入整个数组元素:for (i=0;i2;i+) for(j=0;j3;j+) scanf(“%d”,&aij);输出第输出第i行第行第j列列元素:元素:printf(“%d”,aij);输出整个数组元素:输出整个数组元素:for (i=0;i2;i+) for(j=0;j str2) /*错误错误*/ if (strcmp(str1,str2) 0) /*正确正确*/字符串不能直接整体复制!字符串不能直接整体复制!也不能用关系运算符比

14、较大小也不能用关系运算符比较大小注注: str, str1, str2是字符数组名或字符型指针变量名是字符数组名或字符型指针变量名char str =“BBI”; puts(str);char str =“ n bbi”puts(str);gets(str); 键入键入: bbi rchar c1 20=“I am”;char c2 =“a boy”printf(“% s”, strcat(c1, c2); strcpy(str1, “BBI”);char str2 =“bbi”;strcpy(str2, str1)strcmp( “CCTV”, ”BTV”);printf(“%dn”,str

15、len(“bbi”);puts(str或或字串字串) 在屏幕上显示一个字符串在屏幕上显示一个字符串(以以 0结束结束); 将结束标记转为将结束标记转为 n; 可含转义字符。可含转义字符。gets(str) 从键盘输入一个串给字符数从键盘输入一个串给字符数 组,返回是该数组在内存的组,返回是该数组在内存的 首地址首地址;字符串里可含空格;字符串里可含空格 strcat(str1, str2) 将串将串2接在串接在串1后后, 其结果其结果 放在字符数组中放在字符数组中strcpy(str1,字串字串) 将字符串拷贝到字符将字符串拷贝到字符 数组里数组里 strcmp(str1,str2) 两串相同

16、,返回值是两串相同,返回值是0; 串串1串串2,返回值是正整数,返回值是正整数 串串1串串2,返回值是负整数,返回值是负整数strlen(str) 返回不包括返回不包括0字符串的长度字符串的长度函数格式函数格式 功能功能 举例举例字符串处理函数字符串处理函数: 头文件是头文件是 1. 数组元素在内存中是怎样数组元素在内存中是怎样 ?按顺序存放的。?按顺序存放的。2. 变量名为函数参数与数组名作函数参数有何不同?变量名为函数参数与数组名作函数参数有何不同?3. 数组是一组共用同一个名字、具有一定顺序关系和相同数据数组是一组共用同一个名字、具有一定顺序关系和相同数据 类型的变量的集合。其中,共用的

17、名字称作类型的变量的集合。其中,共用的名字称作 ,集合中集合中 的变量称为的变量称为。4. C语言的数组名是一个地址常量,不能对它进行加减和赋值语言的数组名是一个地址常量,不能对它进行加减和赋值 运算;而指针是把另一个变量的运算;而指针是把另一个变量的 作为其值的变量。作为其值的变量。5要打印出以下的杨辉三角形要打印出以下的杨辉三角形(若打印出若打印出10行行), 要求要求:1 正确的定义一个数组正确的定义一个数组:1 1 1 2 1 给出虚线部分元素值的表达式给出虚线部分元素值的表达式1 3 3 1 , 1 4 6 4 1 给出第给出第i行第行第j列元素的表达式列元素的表达式1 5 10 1

18、0 5 1 6. 在下列对字符串的定义中在下列对字符串的定义中,正确的有正确的有()?。 char c 7 =student; char c = student ; char c = student ; char c = s, t, u, d, e, n, t, 0 ; #include”string.h” void main( ) chara = I am a student! ; int i; 1) putchar(a); 2) puts(a); 3) for( i=0; ai!=0; i+) printf( %c,a i ); 4) printf(%s,a ); 1; 1; 运行结果:运

19、行结果:pi=3.141397程序:程序:#include math.hVoid main ()int m, i, k;scanf(%d, &m ); /* 输入一个整数输入一个整数m */k = sqrt(m);for( i=2; i= k+1) printf(%d 是素数是素数n, m );else printf(%d 不是素数不是素数n, m );运行结果:运行结果: 17 17 is a prime number 数组这一章的应用数组这一章的应用v了解了在什么情况下使用数组这种数据类型了解了在什么情况下使用数组这种数据类型 v向函数传递一维数组和二维数组的方法向函数传递一维数组和二维数

20、组的方法 v用数组名作为函数参数和用简单变量作为函用数组名作为函数参数和用简单变量作为函数参数的不同之处数参数的不同之处 v程序设计常用算法:程序设计常用算法: 求最大值,求最大值,查找,统计,查找,统计1. 斐比数列的设计几种方法斐比数列的设计几种方法2. 逆序存放数据逆序存放数据3. 回文问题回文问题C 中库函数按功能分类:中库函数按功能分类: 在计算机高级语言中,引入函数(或子程序、过程),在计算机高级语言中,引入函数(或子程序、过程),称为称为标准函数标准函数,在,在C中称中称库函数库函数。 函数函数头文件头文件 输入、输出函数输入、输出函数 stdio.h 数学函数数学函数 math

21、.h 字符和字符串函数字符和字符串函数 string.h 动态分配函数动态分配函数 malloc.h .7. 在在C语言中,使用语言中,使用putchar库函数,需要用库函数,需要用include命令将头命令将头 文件文件_包含进来包含进来。8. 何谓全局变量?何谓全局变量? 在主函数内定义?局部变量?在主函数内定义?局部变量?只能被定义它的函数内部所识别的变量称为只能被定义它的函数内部所识别的变量称为_ 特点特点定义时不会自动初始化,除非程序员指定初值定义时不会自动初始化,除非程序员指定初值进入语句块时获得内存,仅能由语句块内语句访问,退进入语句块时获得内存,仅能由语句块内语句访问,退出语句

22、块时释放内存,不再有效出语句块时释放内存,不再有效 并列语句块各自定义的同名变量互不干扰并列语句块各自定义的同名变量互不干扰 特点特点在程序中定义它的位置以后都有效在程序中定义它的位置以后都有效在定义点之前或在其他文件中引用,应该进行如下声明:在定义点之前或在其他文件中引用,应该进行如下声明: 从程序运行起即占据内存,程序运行过程中可随时访问,程从程序运行起即占据内存,程序运行过程中可随时访问,程序退出时释放内存序退出时释放内存 使函数之间的数据交换更容易,也更高效使函数之间的数据交换更容易,也更高效但是并不推荐使用,尽量少用但是并不推荐使用,尽量少用因为谁都可以改写全局变量,所以很难确定是谁

23、改写了它因为谁都可以改写全局变量,所以很难确定是谁改写了它进入语句块时进入语句块时自动申请自动申请内存,退出时内存,退出时自动释放自动释放内存内存 动态局部变量动态局部变量缺省的存储类型缺省的存储类型不初始化时,值是不确定的不初始化时,值是不确定的v一般的内部变量一般的内部变量在函数退出后失效,再次进入函数,变量值重新初在函数退出后失效,再次进入函数,变量值重新初始化始化v静态变量静态变量在变量类型前面用在变量类型前面用static修饰修饰 变量的值可以保存到下次进入函数,使函数具有记变量的值可以保存到下次进入函数,使函数具有记忆功能忆功能v寄存器寄存器CPU的内部容量很有限、但速度极快的存储

24、器的内部容量很有限、但速度极快的存储器v使用频率比较高的变量声明为使用频率比较高的变量声明为register ,可以使程,可以使程序更小、执行速度更快序更小、执行速度更快 register 类型名类型名 变量名变量名; register int i;v现代编译器有能力自动把普通变量优化为寄存器变量,现代编译器有能力自动把普通变量优化为寄存器变量,并且可以忽略用户的指定,所以一般无需特别声明变并且可以忽略用户的指定,所以一般无需特别声明变量为量为register 1. C语言中变量的存储类别有自动语言中变量的存储类别有自动(auto)、静态、静态(static)、寄存、寄存 器器(registe

25、r) 和外部和外部(extern) 四种类型四种类型,其中形参变量的默其中形参变量的默 认类型是认类型是 。 2. 只能被定义它的函数内部所识别的变量称为只能被定义它的函数内部所识别的变量称为 。3. 实参与其对应的形参的特征是?实参与其对应的形参的特征是?4. 当变量名为函数参数,在函数调用时,当变量名为函数参数,在函数调用时, 形参是虚拟的,不占存储单元形参是虚拟的,不占存储单元 实参与其对应的形参共占同一个存储单元;实参与其对应的形参共占同一个存储单元; 只有当实参与其对应的形参同名时,才共占同一个存储单元;只有当实参与其对应的形参同名时,才共占同一个存储单元;.# #includein

26、clude int Average(int x, int y);int Average(int x, int y); / /* *声明声明Average()Average()函数函数* */ / mainmain() () intint a = 12; a = 12;intint b = 24; b = 24;intint ave; ave; ave = Average(a, b); ave = Average(a, b);printfprintf(Average of %d and %d is %d.n, a, b, ave);(Average of %d and %d is %d.n, a

27、, b, ave); / /* * 函数功能:函数功能: 计算平均数计算平均数 函数入口参数:函数入口参数: 整型整型x x,存储第一个运算数,存储第一个运算数 整型整型y y,存储第二个运算数,存储第二个运算数 函数返回值:函数返回值: 平均数平均数* */ /intint Average( Average(intint x, x, intint y) y) intint result; result;result = (x + y) / 2;result = (x + y) / 2;returnreturn result; result; 另:另:float average (float

28、array10) int ; float aver,sumarray0; for ( i1;i10;i+) ; /* 求总分之和求总分之和*/ aver sum10; return(aver); 例如例如:#define N 5 long fac(int n) long f=1; f=f*n; return(f); main( ) int i; for (i=1; i=N; i+) printf(“%d! = %ld n”, i, fac(i) ); 运行结果:运行结果:1!=1 2!=2=2 3!=3 4!=4 5!=5 运行结果:运行结果:1!=1 2!=23!=6 4!=245!=120

29、 static long f=1; 在语言中,允许用一个变量来在语言中,允许用一个变量来存放指针,这种存放指针,这种变量称为指针变量。变量称为指针变量。因此,因此,一个指针变量的值就是一个指针变量的值就是某个内存单元的地址或称为某内存单元的指针。某个内存单元的地址或称为某内存单元的指针。指针与指针变量v指针:一个变量的地址一个变量的地址v指针变量:声明为指针类型的变量,声明为指针类型的变量,专门存放变专门存放变量地址的变量即专门存放量地址的变量即专门存放地址数据地址数据的变量的变量指针也是一种数据类型指针也是一种数据类型对指针变量的定义包括对指针变量的定义包括三三个内容:个内容:(1)(1)

30、指针类型说明,即定义变量为一个指针变量;指针类型说明,即定义变量为一个指针变量;(2)(2) 指针变量名;指针变量名;(3)(3) 变量值变量值( (指针指针) )所指向的变量的数据类型。所指向的变量的数据类型。其一般形式为:其一般形式为: 类型说明符类型说明符 * *变量名;变量名; int * *p1 * *表示这是一个指针变量,变量名即为定义的指针变量名,表示这是一个指针变量,变量名即为定义的指针变量名,类型说明符表示本指针变量所指向的变量的数据类型。类型说明符表示本指针变量所指向的变量的数据类型。p1究竟指向哪一个整究竟指向哪一个整型变量,应由向型变量,应由向p1赋赋予的地址来决定。予

31、的地址来决定。 如何定义指针变量?如何定义指针变量?v指针变量初始化指针变量初始化p = &a;*p就像普通的变量一样使用,其值是就像普通的变量一样使用,其值是p指向的内存的内容指向的内存的内容(在上例和(在上例和a等价,但寻址方式不同)等价,但寻址方式不同)p可以可以动态(任意)地指向不同内存动态(任意)地指向不同内存,从而使,从而使*p代表不同的代表不同的变量变量(指针变量的赋值只能赋予地址,(指针变量的赋值只能赋予地址, 决不能赋予任何其它数据决不能赋予任何其它数据(除(除0 0以外),否则将引起错误。在语言中,变量的地址以外),否则将引起错误。在语言中,变量的地址是由编译系统分配的。)

32、是由编译系统分配的。) v两个有关的运算符:两个有关的运算符: &与与* *操作符操作符 1)1) &:&: 取地址运算符取地址运算符 2)2) * *:指针运算符(或称指针运算符(或称“间接访问间接访问” ” 运算符)运算符)例如:例如:int a10; / /* *定义定义a a为包含为包含1010个整型数据的数组个整型数据的数组* */ /int * *p; / /* *定义定义p p为指向整型变量的指针为指向整型变量的指针* */ /下面是对指针变量赋值:下面是对指针变量赋值: p=&a0; p=&a0; 即即p p指向指向a a数组的第数组的第0 0号元素号元素 把把a0a0元素的地

33、址赋给指针变量元素的地址赋给指针变量p pp,a,&a0均指向同一单元,它们均指向同一单元,它们是数组是数组a的首地址,也是的首地址,也是0号元素号元素a0的首地址。的首地址。 但但p是变量是变量, 而而a、&a0都是常量都是常量。二、通过指针引用数组元素二、通过指针引用数组元素 C C语言规定:语言规定:如果指针变量如果指针变量 p p 已指向数组中的一个元素,已指向数组中的一个元素,则则 p+1 p+1 指向同一数组中的下一个元素。指向同一数组中的下一个元素。 引入指针变量后,就可以用两引入指针变量后,就可以用两种方法来访问数组元素了。种方法来访问数组元素了。 如果如果p p的初值为的初值

34、为&a0&a0,则:,则: 1) p+i和和a+i就是就是ai的地址的地址, 或者说它们指向或者说它们指向a a数组的第数组的第i i个个元素。元素。2) *(p+i)或或*(a+i)就是就是p+i或或a+i所指向的数组元所指向的数组元素,即素,即ai。 例如例如: * *(p+5) 或或 * *(a+5) - a53) 指向数组的指针变量也可以带下标,指向数组的指针变量也可以带下标, 如如 pi 与与 * *(p+i )等价等价等价等价字符串与字符数组、字符指针字符串与字符数组、字符指针vC语言并没有为字符串提供任何专门的表示法,完全使用语言并没有为字符串提供任何专门的表示法,完全使用字符数

35、组和字符指针来处理字符数组和字符指针来处理v字符串字符串一串以一串以0结尾的字符结尾的字符v字符数组字符数组每个元素都是字符类型的数组每个元素都是字符类型的数组 char string100;v字符指针字符指针指向字符类型的指针指向字符类型的指针 char *p;v数组和指针虽不同,介可以等同看待,上面三者本质上数组和指针虽不同,介可以等同看待,上面三者本质上是一回事是一回事字符指针变量与字符数组的区别字符指针变量与字符数组的区别v定义方法不同定义方法不同 char str10; char *ptr;v赋值方法不同赋值方法不同 char str10; str = ”china”; /*错误错误

36、*/ strcpy(str, ”china”);/*正确正确*/v字符指针是变量,而数组名是地址常量字符指针是变量,而数组名是地址常量char *ptr; ptr = ”china”;输入输出数组的全部元素输入输出数组的全部元素main() int a10; int i; for (i=0; i10; i+) scanf(%d, &ai); for (i=0; i10; i+) printf(%d , ai); 方法方法1: :下标法下标法main() int a10; int *p, i; for (p=a; p(a+10); p+) scanf(%d, p); for (p=a; pno=

37、12348. 定义char *p 且执行 p =malloc(255) 之后, 能正确输入一 个串的是? scanf(%s, &p ); scanf(%c, &p0 ); scanf(%s, *p ); scanf(%s, p );9、在在C程序中有如下语句:程序中有如下语句:float *sum(int x,char y); 它是它是 ( ) 。 对函数对函数sum的定义。的定义。 对函数对函数sum的调用。的调用。 对函数对函数sum的原型说明。的原型说明。 不合法的。不合法的。10若有若有 Char text = “ABCDEFG”, *p=text; , 则表达则表达式式 *(p+7)

38、的值是的值是【 】。 G 0 G 不确定不确定11设有以下一程序段:设有以下一程序段: main()() int *p, *pa, a=100; pa=&a; p=&pa; printf(“%dn”, *p ); 执行上面的程序段后执行上面的程序段后,上面的程序的输出结果是上面的程序的输出结果是【 】。 100 pa的地址的地址 a的地址的地址 运行错误运行错误12若有以下定义和语句,则通过指针若有以下定义和语句,则通过指针p对值为对值为8的数组元素的的数组元素的引用的表达式是引用的表达式是 。 int a10=1, 2, 3, 4, 5, 6, 7, 8, 9 , *p; p=&a1;13C

39、语言的数组名是一个地址常量,不能对它进行加减和赋语言的数组名是一个地址常量,不能对它进行加减和赋值运算;而指针是把另一个变量的值运算;而指针是把另一个变量的 作为其值的变量。作为其值的变量。有关指针的数据类型有关指针的数据类型 和指针运算的小结和指针运算的小结一、有关指针的数据类型的小结一、有关指针的数据类型的小结 定义 含 义int i;定义整型变量定义整型变量iint * *pp为指向整型数据的指针变量为指向整型数据的指针变量int an;定义整型数组定义整型数组a,它有,它有n个元素个元素int * *pn;定义指针数组定义指针数组p,它由,它由n个指向整型数据的指针元素组成个指向整型数据的指针元素组成int (* *p)n;p为指向含为指向含n个元素的一维数组的指针变量个元素的一维数组的指针变量int f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论