已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计 第五讲 第八章 数 组 构造数据类型之一 数组:有序数据的集合,用数组名标识 元素:属同一数据类型,用数组名和下标确定 8.1 一维数组 一维数组的定义 v定义方式: 数据类型 数组名常量表达式; 合法标识符 表示元素个数 下标从0开始 :数组运算符 单目运算符 优先级(1) 左结合 不能用( ) 例 int a6; a0 0 1 4 5 a1 a2 a3 a4 a5 2 3 a 编译时分配连续内存 内存字节数=数组维数* sizeof(元素数据类型) 数组名表示内存首地址, 是地址常量 一维数组的引用 v数组必须先定义,后使用 v只能逐个引用数组元素,不能一次引用整个数组 v数组元素表示形式: 数组名下标 其中:下标可以是常量或整型表达式 例 int i=15; int datai; (不能用变量定义数组维数) 例 int a10; printf(“%d”,a); () 必须 for(j=0;j void fun(int a,int b) int t; t=a;a=b;b=t; main() int c10=1,2,3,4,5,6,7,8,9,0,i; for(i=0;k main() int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i; for(i=0;i2!1 例4 08/9 12以下程序按下面指定的数据给x数组的下三角置数,并按如下形式 输出,请填空。 4 3 7 2 6 9 1 5 8 10 #include main() int x44,n=0,i,j; for(j=0;j=j; 【12】) n+;xij= 【13】; for(i=0;i main() int a5=1,2,3,4,5, b5=0,2,1,3,0,i, s=0 for(i=0;i main() int b3 3=0,1,2,0,1,2,0,1,2,i,j,t=1; for(i=0; i main() int n,*p=NULL; *p= printf(“Input n:”); scanf(“%d”, printf(“output n:”); printf(“%dn”,p); 该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句 正确的是( ) A)int n,*p=NULL; B)*p= C)scanf(“%d”, 4、(05/9 28)设有定义:int n1=0,n2,*p=,以 下赋值语句中与n2=n1;语句等价的是( )。 A)*p=*q; B)p=q; C)*p= D)p=*q; 5、 (05/9(29)若有定义:int x=0, *p=,则语句 printf(“%dn“,*p);的输出结果是( )。 A)随机值 B)0 C)x的地址 D)p的地址 7.4 指针和函数 7.4.1 指针变量作函数参数 7.4.2 返回指针值的函数 7.4.3 指向函数的指针变量 swap(int *p1, int *p2) int p; p=*p1; *p1=*p2; *p2=p; main() int a,b; int *pointer_1,*pointer_2; scanf(“%d,%d“, pointer_1= pointer_2= if(a*y) return x; else return y; main() int a=2,b=3; int *p; p=f1( printf(“%dn“,*p); . 2000 2008 200A 2002 2004 2006 2 3 指针变量y 指针变量x (f1) 2002 2000 COPY 变量a 变量b (main) 指针变量p * 例 写一个函数,求两个int型变量中居于较大值的变量的地址 int *f3(int x,int y) if(xy) return else return main() int a=2,b=3; int *p; p=f3(a, b); printf(“%dn“,*p); . 2000 2008 200A 2002 2004 2006 2 3 变量y 变量x (f3) 3 2 COPY 变量a 变量b (main) 指针变量p * 例 写一个函数,求两个int型变量中居于较大值的变量的地址 不能返回形参或局部变量 的地址,思考为什么? . 2000 2008 200A 2002 2004 2006 2 变量a 变量b (main) 3 指针变量p * 200A int *f3(int x,int y) if(xy) return else return main() int a=2,b=3; int *p; p=f3(a,b); printf(“%dn“,*p); 7.4.3 指向函数的指针 函数在编译时被分配的入口地址(程序段的存储地址) 称为函数指针, 用函数名表示。我们将这一地址存到一个 指针变量里去,这个变量就是指向函数的指针变量。 max . 指令1 指令2 函数指针变量赋值:如p=max; 函数返回值的数据类型 专门存放函数入口地址 可指向返回值类型相同的不同函数 指向函数的指针变量 定义形式: 数据类型 (*指针变量名)(); 如 int (*p)(); 函数指针变量指向的函数必须有函数说明 函数调用形式: c=max(a,b); c=(*p)(a,b); c=p (a,b); 对函数指针变量pn, p+, p-无意义 ( )不能省 int (*p)() 与 int *p()不同 用函数指针变量作函数参数 例:用函数指针变量作参数,求最大值、最小值和两数之和void main() int a,b,max(int,int), min(int,int),add(int,int); void process(int,int,int (*fun)(); scanf(“%d,%d“, process(a,b,max); process(a,b,min); process(a,b,add); void process(int x,int y,int (*fun)() int result; result=(*fun)(x,y); printf(“%dn“,result); max(int x,int y) printf(“max=”);printf(“max=”); return(xy?x:y); return(xy?x:y); min(int x,int y) printf(“min=”);printf(“min=”); return(xy?x:y); return(xy?x:y); add(int x,int y) printf(“sum=”); printf(“sum=”); return(x+y); return(x+y); 08/4(40)设有定义语句int (*f)(int);,则以 下叙述正确的是( )。 A)f 是基类型为int 的指针变量 B)f 是指向函数的指针变量,该函数具有一个int 类型 的形态 C)f 是指向int 类型一维数组的指针变量 D)f 是函数名,该函数的返回值是其类型为int 类型的 地址 09/9(33)设有以下函数: void fun(int n,char *s) 则下面对函数指针的定义和赋值均正确的是 A)void (*pf)( );pf=fun; B)void *pf();pf=fun; C)void *pf();*pf=fun; D)void (*pf)(int,char);pf= int *p1= *p=*p1*(*p2); printf(“%dn“,c); 执行后的输出结果是 A)1 B)2 C)3 D)4 2、已定义以下函数 int fun(int *p) return *p; fun 函数返回值是 A)不确定的值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年潍坊辅警协警招聘考试真题含答案详解(黄金题型)
- 2025年秦皇岛辅警招聘考试题库附答案详解(夺分金卷)
- 2025年锦州辅警协警招聘考试真题含答案详解(达标题)
- 2025年营口辅警招聘考试题库附答案详解ab卷
- 2025年淄博辅警协警招聘考试备考题库含答案详解(培优)
- 2025年金华辅警招聘考试真题附答案详解(典型题)
- 2025年玉溪辅警招聘考试真题附答案详解(培优b卷)
- 2025年莆田辅警招聘考试题库附答案详解(精练)
- 2025上海市的加工合同
- 2025年淮安辅警招聘考试真题含答案详解(夺分金卷)
- 【管理会计师专业能力中级考试案例】
- 八年级数学上册整式的乘法多项式乘以多项式
- 呼麦专题知识
- 中考语文非连续性文本阅读10篇专项练习及答案
- 新闻学概论5:新闻与信息、宣传、舆论
- DB31-T 1343-2022 医用超声探头消毒卫生要求
- 24、小数加减法整理和复习课件苏教版五上数学
- 04-电缆绝缘电阻测试记录表
- 货代新手培训材料
- 《罗织经》全文及翻译
- 心脏肿瘤及心内异常回声
评论
0/150
提交评论