《C语言程序设计基础》单元总结与练习题及答案_第1页
《C语言程序设计基础》单元总结与练习题及答案_第2页
《C语言程序设计基础》单元总结与练习题及答案_第3页
《C语言程序设计基础》单元总结与练习题及答案_第4页
《C语言程序设计基础》单元总结与练习题及答案_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言程序设计单元总结与练习题答案单元一程序设计宏观认识单元总结提升本单元中,核心内容有C语言程序框架结构、程序的构成和程序开发过程。通过本单元 的学习,我们应该知道:1. C语言程序最基本的程序框架由两部分构成,分别是:(1) 编译预处理(2) 函数组2. C程序最大的特点就是所有的程序都是用函数来装配的,函数是构成C语言程序的 基本单位,函数包括主函数、库函数和自定义函数。函数的一般结构形式为:函数返回值类型函数名(形式参数)/函数首部说明语句:/函数体可执行语句:3标识符是用来标识程序中的某个对象名字的字符序列。C语言把标识符分为三类,即关键字、预定义标识符、用户自定义标识符。 对于用户

2、自定义标识符的命名C语言规定:(1) 所有的用户标识符必须先定义后使用;(2) 用户标识符由字母( AZ, az)、数字(09)、下划线_” 组成,并且首字符不 能是一数字(3) 区分大小写;(4) 不能用关键字作为用户自定义标识符,通常不使用预定义标识符作为用户自定义标识符。4 理论上讲,程序开发过程分为四个步骤,分别为:(1) 编辑源程序(2) 编译源程序,生成目标程序(3) 连接目标程序及其相关模块,生成可执行文件(4) 运行可执行文件5 简单描述使用 VC+6.0开发应用程序的步骤:如图所示:图 VC+6.0开发程序的步骤总之,通过本单元的学习,应该掌握C语言程序框架结构和程序开发过程

3、,还要对C语言程序设计的知识脉络有一定的了解。单元练习一.选择题1构成C语言程序的基本单位是()。A .框架B .预处理C.函数D .语句2 在程序开发过程中,把文本文件格式源程序转化为二进制格式的目标程序的过程称之为()A. 编辑B.编译C.连接D.运行3 关于主函数,下列说法不正确的是()A. 个完整的C语言应用程序有唯一的主函数B. 主函数的名称只能是mai nC. 主函数可以被其他自定义函数调用D. C语言程序的运行从主函数开始,以主函数为核心展开4 .关于标识符,下列说法不正确的是()A. 库函数名称为预定义标识符,不建议用作用户自定义标识符B. 关键字不能作为用户自定义标识符C.

4、用户自定义标识符中不区分大小写字母D. 标识符中可以出现下划线,且可以出现在标识符的任意位置5 .以下可用作用户自定义标识符的一组是()A. void、return、ifB. printf、in elude、fabsC. Max、_abc、MainD. 2abc、pay$、sum-10.填空题1. C语言程序一般由若干个函数构成,程序中应至少包含一个 ,其名称只能为。2. C语言程序中每条语句必须以 结束。3. C语言程序的注释是以 开头,以 结束的,在 VC+6.0编程环境中,可使用作为注释的起始标识,注释对程序的执行不起任何作用。4 .最初编写的 C语言程序称为 ,其扩展名为 ,编译后生成

5、的文件为,其扩展名是,连接后生成的文件是 ,其扩展名是5. C语言规定,标识符只能由 、和三种字符组成,而且,首字符只能是或。*习题答案:一. 选择题1 . C 2. B 3. C 4. C 5. C二. 填空题1 .主函数 mai n2 .分号;3. /*/4 .源程序 .cpp或.c 目标文件(或目标程序).obj可执行文件(或可执行程序) .exe5 .字母(AZ, az)、数字(09 )、下划线_”字母或下划线*单元二程序设计基础知识单元总结提升本单元中,核心内容有C语言中基本的数据类型、常量和变量、运算符和表达式以及算法的概念。通过本单元的学习,我们应该知道:1. C语言中最基本的数

6、据类型有:整型、字符型、浮点型 。2. C程序中使用的常量按照表现形式可分为直接常量和符号常量。(1) 直接常量1) 整型常量,有十进制、八进制和十六进制三种描述方式,其中,八进制的前置符号标志为0,十六进制的前置符号标志为Ox或0X 。2) 浮点型常量,有十进制小数和指数两种描述方式,指数形式的符号标志是e或E 3) 字符型常量,是用单撇引号括起来的单一字符,对一些特殊字符和控制字符用 的形式表示。4) 字符串常量,是用双撇引号括起来的一串字符序列。字符串的结束标志为 0 (2) 符号常量符号常量是使用某个符号代表的常量,符号常量使用编译预处理中的宏定义命令 定义。3. C程序中使用变量,必

7、须先 定义,后使用。变量定义后,系统会根据变量的类 型分配相应的存储空间。4. C语言有丰富的运算符,其中算术运算符包括+、-、*、/、,运算符中的仅用于整数间的运算;赋值运算符包括“=”和相应的复合赋值运算符+=、-=、*=、匸 :赋值运算的含义是将“=”右侧的表达式的计算结果赋值给“=”左侧的变量,这与数学中“=”的含义不同,需要注意。5由运算符和数据构成表达式,若表达式中各数据的类型不同,则存在类型自动转换问题,必要时也可以使用强制类型转换。6对于面向过程的程序设计来说,程序=数据结构 +算法。7在C语言中,对于每一个程序设计单元可采用结构化程序设计方法,有三种基本的程序结构,分别为:顺

8、序 、 选择 和 循环。通过本单元的学习,应该掌握C语言程序设计所需要的基本知识,为后续内容的学习打下坚实的基础。单元练习选择题1在C语言中,int、short、char三种类型数据所占用的存储空间是()。A .均为2个字节B int和short占2个字节,char占1个字节C.与编译环境有关D .由用户自己定义2. 下面定义字符型变量ch的语句不正确的是()。A. char ch= X2A B . char ch=c;C. char ch=65;D. char ch=NULL;3. 已知大写字母 A的ASCII是65,小写字母a的ASCII是97,以下不能将字符型变量c中的大写字母转换成对应

9、的小写字母的语句是()。A . c= (c-A)%26+a:B . c2=tolower(c);C. c= c-A+a;D . c=(A+c)%26-a;4. 设有定义:double d,h;,其中d为三角形的底边长,h为三角形的高,则以下C语言表达1式与其面积公式dh计算结果不相符的是()。2A . d*h/2B. 1/2*d*hC . d*h*1/2D . d/2*h5.以下选项中,与k=n+;完全等价的语句是()。A . k=n;n=n +1;B . n=n +1;k =n;C . k=+n;D. k+=n+1;二 .填空题1 .写出整型变量a、无符号长整型变量 b、双精度浮点型变量 c

10、和字符型变量d的定义语句:2. 常量和”分别占用 个字节和 个字节的存储空间。3. 有定义int a=1234 ;,获取其百位数码的表达式为 4. 若有定义:char a=97,c;,则表达式 c=a+8-3的值为。5 .已知int x=6;,则执行x+=x-=x-3;语句后,x的值是。6 将一个浮点型变量 n四舍五入精确到小数点后两位,其表达式为: 7. C语言中基本的数据类型有 、。&结构化程序设计中基本的程序结构有 、*习题答案:.选择题1 . C 2. B 3. D 4. B 5. A.填空题1. int a;unsigned long b; double c; char d;2. 1

11、 23 . a/100%104 . f5 . 66 . (i nt)( n*100+0.5)/100.0;7.整型、浮点型、字符型&顺序、选择、循环*单元三顺序结构程序设计单元总结提升本单元中,核心内容是顺序程序结构程序设计中标准输入输出库函数的使用。通过本单元的学习,我们应该知道:1. C语言提供了标准输入输出库函数用于实现数据输入输出操作,其对应的头文件为stdio.h 。2. 单字符输入和输出函数分别为getchar()和putchar()。3. 格式化输入和输出函数分别为scanf() 和printf()。4. 格式化输出函数有两种调用格式:(1) printf(”字符串常量);(2)

12、 printf(”格式控制字符串,输出项列表);5格式化输入/输出中,格式控制符由 _%_开头。常用的格式控制符有:整型int格式符%d、float浮点型格式符 %f、double浮点型格式符%lf、字符型格式符%c ;对于浮点型格式可以用m.n形式的附加格式说明小数的宽度和小数位数。6. 格式化输入中的输入项为地址列表,对变量取地址的运算符为_&。通过本单元的学习,应对顺序结构程序设计的特点和设计思路有所了解,同时重点学会单字符输入函数getchar()、单字符输出函数putchar()、格式化输出函数 printf()和格式化输入函数scanf()的正确使用。单元练习一.选择题1. 已定义

13、x为float型变量,其值为213.45678,贝U printf(%-4.2fn,x);的输出结果为 ()。A . 213.46B . 213.45C. -213.45D .输出格式控制说明的域宽不够,不能输出2. 有以下程序,程序运行时输入:1,2,3回车,则输出的结果为()。#include void main() int a,b,c;scanf(%d%d%d, &a,&b, &c); printf(a+b+c=%dn,a+b+c);A. 6B. a+b+c=6C.123D .不确定的值3下面输入语句中,正确的是()。A. scanf(a=b=%d,&a,&b);B.scanf(%d,%

14、d,&a,&b);C. scanf(%c,c);D .scan f(%d %dn, &f1,f2)4.在VC+6.0环境中,下列说法正确的是()。A .输入函数scanf()输入多个数据时,有时数据间不必加间隔符。B .输入函数scanf()中单精度或双精度浮点型数据都要用%f作为格式控制符。C.使用输出函数printf()输出字符或字符串都用格式控制符s。D .输出函数printf()中单精度或双精度浮点型数据都要用%f作为格式控制符。5. 下面程序的功能是实现两个字符变量互换值,若为ch1输入a, ch2输入b,则程序运行时正确的输入是()。#include void main() cha

15、r ch1,ch2,ch;scanf(%c%c, &ch1, &ch2);ch=ch1;ch1=ch2;ch2=ch;printf(ch1=%c,ch2=%cn,ch1,ch2);A . a,b B . abC. abD. ab二.填空题1有语句putchar(getchar(),程序运行时输入:A,则输出结果是 。2. printf(%6.2f%,1.0/ 3);的输出结果是 。3 .补充程序:int n1=10,n2=20; printf( ,n 1,n2);要求按以下格式输出n1和n2的值,每个输出行从第一列开始。n仁 0010n2=00204有以下程序,程序运行时输入:1234回车,执

16、行后输岀的结果是。#include void main() char ch1,ch2;int n1,n2;ch1=getchar();ch2=getchar();n仁 ch1-0;n2=n1*10+(ch2- 0;printf(n 1=%d,n2=%d.n,n1,n2);5. 输入多个非字符型的数值数据时,数据输入时可用为间隔符。*习题答案:一. 选择题1 . A 2. D 3. B 4. A 5. C二. 填空题1. A2.0.33%3. n 1=%04dn n2=%04d4. n 1=1, n2=125. 空格,TAB键,回车*单元四选择结构程序设计单元总结提升在选择结构程序设计中,条件判

17、断表达式和选择结构实现语句是两个核心内容。通过本单元的学习,我们应该知道:1 条件判断表达式由关系运算符及其表达式、逻辑运算符及其表达式构成,其中:(1) 关系运算符有: 、=、=0)if(x0) y=1;else y=-1;printf( y=%d,y);A. 1B. -1C. 0D.不确定4 .下列语句将小写字母转化为大写字母,正确的语句为()。A. if(z=ch=ach=ch-32;B. if(ch= a&ch=ch=a )?ch-32:ch;D. ch=( ch=a&ch= z?ch:ch-32;5 .关于与switch语句配套的case语句中所使用的表达式,说法正确的是()。A.

18、可以是变量B. 可以是常量或变量C. 只能是常量或常量表达式D. 无论是何种表达式,只要在执行时有确定的值就行.填空题1. 在算术运算符、关系运算符、逻辑运算符和赋值运算符中,运算优先级最高的运算符 是,最低的是。2 .正确表示数学关系“ 1a= &)else if()putchar(ch);5. 以下程序段功能是根据学生考试成绩,确定其成绩等级,成绩与等级对应情况与【例4-7】中表格相同,请将程序段补充完整。char level; /成绩等级float score; / 考试成绩scanf( %f,&score);switch():level= A ;case 8: level=B;brea

19、k;case 7: level=C;break;case 6: level=D;break;default:printf(考试成绩等级为: .”evel);*习题答案:选择题1. D 2. D 3. C 4. B 5. C填空题1 . !(非)=2. a1 &a= A& ch=U&ch=Z)ch=ch-20:putchar(ch);5 . char level;成绩等级float score; / 考试成绩scanf( %f,&score);switch(i nt(score/10) case 10: case 9 :level= A :break :case 8: level=B;break

20、;case 7: level=C;break;case 6: level=Dbreak;default: level=E:*单元五循环结构程序设计单元总结提升在本单元中,如何理解循环的本质、如何分析循环的三个要素以及如何描述循环结构语 句是核心内容。通过本单元的学习,我们应该知道:1. 循环的本质是将程序员从大量重复编写相同代码的工作中解放出来,减少程序源代 码的存储空间,提高程序的质量,提高程序编写的工作效率,但计算机执行程序的 工作量并没有减少。2. 循环结构的三要素包括:(1) 循环变量初值(2) 循环控制条件表达式(3) 循环体3. 循环结构描述语句有三种:while 、 do-whi

21、le 和 for 。其中while和do-while的区别在于 不管循环条件是否成立, do-while循环都先执行一 次循环体,所以 do-while 循环的循环体至少执行一次,而 while 循环的循环体可能一次 都不执行。4. 循环结构控制语句 break的作用是:结束循环;循环结构控制语句 continue的作用是:提前结束本次循环。5. 在一个循环结构语句中又包含了一个循环结构语句称之为循环的嵌套。程序执行时,外层循环每执行一次,内层循环就要完整的执行完,直至内层循环执行结束,再 开始执行下一次外层循环。学习完本单元,应该掌握C语言循环结构程序设计的思路和基本语句的用法。至此,我们就

22、学完了结构化程序设计中的三种基本结构:顺序、选择和循环。单元练习一.选择题1. 下面说法正确的是()。A. while语句不管条件表达式是否为真,都将执行一次循环体。B. do-while语句构成的循环,一定要有能使while后面表达式的值为 0的操作,或在 循环体中使用break语句。C. for循环只能用于循环次数确定的情况,且先执行循环体语句,后判断条件表达式。D. break语句的作用是从最近的循环体内跳出来,而continue语句的作用是继续执行 循环体中尚未执行的语句。2. 对for(表达式1;表达式3),可理解为()。A . for(表达式1;0;表达式3)B. for(表达式1

23、;1;表达式3)C. 语法错误D.仅执行循环一次3. 以下程序的功能为()。#include void main()int i,k=0;for(i=1;i10;i+=2)k+=i+1; printf(%dn,k);A .计算自然数19的累加和B .计算自然数110的偶数之和C .计算自然数19的奇数之和D .计算自然数110的累加和4.以下能正确计算 1*2*3*4*5*6*7*8*9*10的程序段是()。A .doi=1;s=1;B .doi=1;s=0;s=s*i;s=s*i;i+;i+;while(i=10);while(i=10);C .i=1;s=1;D .i=1;s=0;dodos

24、=s*i;s=s*i;i+;i+;while(i=10);while(i=10);5.有以下程序段int k=0;while(k=1) k+;while循环执行的次数是()。A.无限次C.语法错误,不能执行D . 一次也不执行填空题1. 若输入字符串:abcde回车,则以下while循环体将执行 次。while(ch=getchar()= e)printf(2 以下程序执行后的输出结果是。#include void main()int i;for(i=0;i3;i+)switch(i) case 1: printf(%d,i);case 2: printf(%d,i);default: pri

25、ntf(%d,i);3. 下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。#include void main()int i,j;for(i=0;i+)j=i*10+6;if()continue;printf(%dn,j);4 有以下程序#include void main() int x=23;do printf(%d,x-);while(!x);该程序执行的结果为 。5.以下程序的功能是计算1-3+5-7+-99+101的值,请将程序补充完整。#include void main()int i,t=1,s=0;for(i=1;i=101;i+=2)s=s+ ; p

26、rintf(%dn,s);*习题答案:选择题1 . B 2. B 3. B 4. C 5. A填空题1.02.0111223.istr2)C. if(strcmp(str2,str1)0)B. if(strcmp(str1,str2)0)A . 2B . 4C. 65.下列程序段的功能是给数组所有的元素输入数据,然后输出,请选择正确答案填空(#i nclude void mai n()int a10,i=0;while(i10)scan f(%d,);for(i=0;i10;i+)prin tf(%4d,ai);A .a+(i+)B . & ai+1C . a+iD . &a+i.填空题0,定

27、1. 定义一个名为a的单精度浮点型一维数组,数组的长度为4,所有元素的初值均为义语句为 ,引用该数组元素时,下标的范围是,该数组占用的存储空间为 字节。2. 设有数据定义语句int i=3,x4=1,2,3;,则数组元素xi的值是.、刖3. 下列程序的功能是读取10个实数,然后依次输出前1个实数和、前2个实数和、9个实数和、前10个实数和。请将程序补充完整。#include void main() float f10,x=0;int i;for(i=0;i10;i+)scanf(%f, &fi);for(i=0;i10;i+) ;printf(sum of No.%2d is %.2f.n,i

28、,x);4 下列程序的功能是求两个矩阵的和,请将程序补充完整。#include void main() int a34,b34,c34;/数组 c存放矩阵 a 与 b 的和int i,j;for(i=0;i3;i+)for(j=0;j4;j+)scanf(%d, &aij);for(i=0;i3;i+)for(j=0;j4;j+) scanf(%d,);for(i=0;i3;i+)for(j=0;j4;j+)printf(%d ,cij);putchar(n);5 阅读下列程序,程序运行后的输出结果是 #include #include void main() char s320= 1234

29、”234567 ”6789”;int i,k;for(k=0,i=1;i3;i+)if(strcmp(sk,si)0) k=i;puts(sk);*习题答案:一.选择题1 C 2. C3. C 4. D 5. A填空题1. float a4=00 至 3162. 03. x+=fi;或 x=x+fi;4 & bijcij=aij+bij5. 6789*单元七函数的使用单元总结提升在本单元中,如何使用自定义函数是核心内容。通过本单元的学习,我们应该知道:1. 函数是构成C程序的基本单位,函数的使用为模块化程序设计奠定了基础。从用户 使用的角度,函数分为 库 函数、自定义 函数两种。2. 库函数的

30、使用包括头文件包含和库函数调用两个环节;用户自定义函数的使用包括 函数声明、函数定义和函数调用三个环节。3. 从函数的外观形式看,函数分为有参函数、 无参 函数两种。当主调函数调用无参 函数时,不需要向这些函数传递参数;当主调函数调用有参 函数时,需要传递参数。4. 用户自定义函数的一般形式为:函数返回值类型 函数名(形式参数列表)/函数首部函数体;其中第一行称为 函数首部,大括号“ ”括起来的部分称为 函数体,对于有返 回值的函数,函数体中要包括retur n 语句。5 函数首部也称为函数原型,用函数原型声明函数时,形参名可以省略不写,而只写 形参的类型,但形参的 类型和数量必须与函数首部保

31、持一致。6函数要先声明,然后才能使用,函数声明在程序中的位置有以下几种情况:(1)函数声明写在主调函数的外部,这时的函数声明为全局声明。(2)函数声明写在主调函数 的说明语句中,这时的函数声明为局部声明。(3)函数的定义出现在主调函数之前,贝U函数声明可以省略。7函数的调用形式为:函数名(实际参数列表)。若调用无参函数,则实参为空;若调 用有参函数,则在()内写出与形参类型、数量一致的实参。对于有参函数,函数调用过 程中存在着参数传递的问题,参数传递有两种情况, 其一为 值传递,其二为 地址传递。&函数在函数体中出现了对自身调用的语句,就称为函数递归调用。使用递归方法解 决问题的关键是如何找出

32、 递归关系,以及找出递归调用的 终止条件 。9.带参宏定义的一般形式为:#define 宏名(形参列表)字符串。通常用带参数的宏定义代替简单公式型函数。10 .函数的存储类型有 static和extern两种。extern型函数称为外部函数”,可以被 其他编译单位中的函数调用;static型函数称为“内部函数”,只能被本编译单位的函数调用。11. 程序中变量的使用范围称为变量的作用域,每个变量都有自己的作用域。按照作用域的范围可分为两种:局部变量 和全局变量。12. 变量的存储方式可分为“动态存储”和“静态存储”两种。动态存储变量包括auto 和 regiest 两种类型;静态存储变量包括 s

33、tatic和extern两种类型。静态 存储变量若没有初始化, 则默认初始值为 0。static类型变量的值具有继承性, 即本次调用的初值是上次调用结束时变量的值。单元练习一.选择题关于使用函数的目的,以下不正确的说法是(A. 提高程序的执行效率B. 提高程序的开发效率C.减少程序文件所占内存D.提高程序可读性以下正确的函数首部是(A. void fun(int x,int y)B.void fun (i nt x;i nt y)C. void fun(int x,y)D.void fun (x,y)设函数fun的定义形式为:void fun( char ch, float x) 则以下对函数

34、fun的调用正确的是(A. fun(abc,3.0);B.t=fu n( D,12.3);C. fun(65,3.7);D.fun (65,65);关于函数的实参和形参,以下正确的说法是(A. 实参和对应的形参各占用独立的存储单元B. 实参和对应的形参共同占用同一存储单元C. 只有当实参与形参重名时才共同占用存储单元D.形参是虚拟的,不占用存储单元5 .当调用函数时,实参是一个数组名,则向函数传递的是()。A. 数组的长度B.数组的首地址C. 数组的每一个元素的地址D. 数组的每一个元素的值6 .将一个函数指定为static存储类别后,该函数将()。A. 既可以被同一源文件中的函数调用,也可以

35、被其他源文件中的函数调用B. 只能被同一源文件中的函数调用,不能被其他源文件中的函数调用C. 只能被其他源文件中的函数调用,不能被同一源文件中的函数调用D. 既不能被同一源文件中的函数调用,也不能被其他源文件中的函数调用7 .以下叙述正确的是()。A. 全局变量的作用域一定比局部变量的作用域作用范围大B. 静态static类型变量的生存期贯穿于整个程序的运行期间C. 函数的形参都属于全局变量D. 未在定义语句中赋初值的auto变量和static变量的初值都是随机值.填空题1 .假设已有#define M(r) r*r,则语句printf( %d,M(2+3);的执行结果为 2以下程序输出结果为

36、。#include void fun(int x,int y) x=x+y;y=x_y;x=x_y;printf(%d,%dn,x,y);void main() int x=2,y=3;fun(x,y);printf(%d,%dn,x,y);3.以下程序输出结果为。#include int a,b;void fun()a=10;b=20;void main()int a=3,b=9;fun();printf(%d,%dn,a,b);4.以下程序输出结果为。#include int f()/定义f函数,a为形参int b=0;/定义b为自动变量static int c=3;/定义c为静态局部变量

37、b=b+1;c=c+1;return b+c;void main()int a1,a2;a1=f();a2=f();printf(%d,%d,a1,a2);5 以下程序输出结果为 。#include int fun(int n)if(n=1) return 1;else return fun(n-1)+1;void main() int i,j=0;for(i=1;i3;i+)j+=fun(i);printf(%dn,j);6 以下程序输出结果为 。#include void fun(int a , int n) for(int i=0;i0) ai*=2;void main() int b5

38、=1,2,3,4,5;fun(b,5);for(int i=0;i5;i+)printf(%dt,bi);*习题答案:选择题1. A 2. A 3. D 4. A 5. B 6. B 7. B二填空题1 . 112. 3,22,33. 3,94. 5,65. 38 106. 246*单元八指针的使用单元总结提升在本单元中,对指针的理解,以及利用指针访问不同形式的数据是核心内容。通过本单元的学习,我们应该知道:6. 内存地址就称为指针。C语言允许用一个变量来存放指针,这种变量称为指针变量, 而指针变量的值就是某个内存单元的地址。7. 定义指针变量的一般格式为:类型标识符 *指针变量名,其中:(1

39、) “指针变量名”前面的“ *”,表示该变量是指针变量,不能省略。(2) “类型标识符”表示该指针变量所指向的变量的数据类型。(3) 当一个指针变量已确定指向某类型的变量时,不能再指向另一种类型的变量。3指针变量被赋值后即可引用,引用指针变量的一般方法为:*指针变量名。4指针和数组有着密切的关系,任何通过控制数组下标实现的对数组的操作,都可用指针来实现。要通过指针操作数组,首先要建立指针变量与数组之间的关系,然后才能通过指针变量访问数组元素。若有语句段:int a10; int *p; p=a;,则对于数组元素的访问方式有 ai、*(p+i)、pi,对数组元素地址的表示方式有a+i、p+i、&

40、ai。5 数组名代表数组的首地址, 利用函数处理一维数组数据时,函数之间的参数传递为 -数组首地址。将数组的首地址作为实参传递给函数的形参以后,实参数组和形参数组其实是同一段内存中的数据。6字符串是存放在某存储区域的一串字符序列,可通过字符数组和字符指针两种方式操作字符串。7函数返回值可以是地址(指针类型),返回值为地址的函数定义形式为:类型标识符 *函数名 (形参列表);。通过本单元的学习,应明确地址和指针的关系,掌握使用指针访问内存数据的基本方法。单元练习选择题1 假设整型变量 a的值是12, a的地址是2200,若想使整型指针变量 p指向a,正确的是()。A.& a=2200;B.*p=12;C. *p=2200;D

温馨提示

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

评论

0/150

提交评论