C语言课件 第8-9章_第1页
C语言课件 第8-9章_第2页
C语言课件 第8-9章_第3页
C语言课件 第8-9章_第4页
C语言课件 第8-9章_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

.假设己定义inta=5;下面对(1),(2)两个语句的正确解释是()int*p=&a;(2)*p=a;(A)语句(1)和⑵中的*p含义相同,都表示给指针变量p赋值(B)(1)和(2)语句的执行结果,都是把变量a的地址值赋给指针变量p(C)(1)在对p进行说明的同时进行初始化,使p指向a(2)将变量a的值赋给指针变量p(D)(1)在对p进行说明的同时进行初始化,使p指向a(2)将变量a的值赋于*p2.假设已定义:inta□:{0,123,4,5,6,7,8,9},*p=a,i;其中0WiW9,那么对a数组元素不正确的引用是A)alp-a]B)*(&a[ij)C)pli]D)a[10]3.下面程序运行时,如果从键盘上输入3,5〈回车,,程序输出的结果是main(){inta,b,*pa,*pb;pa=&a;pb=&b;scanf("%d,%d",pa,pb);*pa=a+b;*pb=a+b;printf(',a=%d,b=%d\n",a,b);)A)a=13,b=13B)a=8,b=8C)a=8,b=13D)出错.以下程序执行后的输出结果是ovoidsub(intx,inty,int*z){*z=y-x;)main(){inta,b,c;sub(l0,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\nM,a,b,c);)A)5,2,3B)-5,-12,-7C)-5,-12,-17D)5,-2,-7.下面程序应能对两个整型变量的值进行交换。以下正确的说法是()voidmainO(inta=10,b=20;pirntf(z,(1)a=%d,b=%d\nz,,a,b);swap(&a,&b);printf(,z(2)a=%d,b=%d\n〃,a,b);}swap(intp,intq){intt;t=p;p=q;q=t;)(A)该程序完全正确(B)该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可(C)该程序有错,只要将swap。函数中的形参p和q以及t均定义为指针(执行语句不变)即可(D)以上说法都不正确.以下程序执行后的输出结果是omain(){inta[3][3],i,*pmul;pmul=&a[0][0];for(i=0;i<9;i++)pmul[i]=i+l;printf(M%d\n",a[l][2]);}A)3B)6C)9D)随机数.设有数组说明“inta⑷⑷;”,那么不能等价表示的数组元素a⑶⑶是

D)(*(*(a+3))+3)D)(*(*(a+3))+3)D)(*(*(a+3))+3)A)*(a[3]+3)B)*(*(a+3)+3)C)*&a[引[3].有以下函数D)(*(*(a+3))+3)char*fun(char*p){returnp;}{returnp;}该函数的返回值是A)无确切的值C)一个临时存储单元的值{returnp;}该函数的返回值是A)无确切的值C)一个临时存储单元的值B)形参p中存放的地址值

D)形参p{returnp;}该函数的返回值是A)无确切的值C)一个临时存储单元的值B)形参p中存放的地址值

D)形参p自身的地址值A)*(p+9)B)*(p+8)C)*p+=9D)p+8.有如下程序main(){chars[l="ABCD",*p;for(p=s+l;p<s+4;p++)printf(n%s\n",p);)该程序的输出结果是。A)ABCDB)ATOC\o"1-5"\h\zBCDBCDCDDC)BD)BCDCCDDD.以下程序的输出结果是main(){chara[10]={9,8,7,654,3,2』,0},*p=a+5;printf("%d",*-p);)A)非法B)a⑷的地址C)5D)3

.设有定义语句“inta=3,b,*p=&a;”,那么以下语句中使b不为3的语句是B)b=*p;B)b=*p;C)b=a;C)b=a;D)b=*a;.假设有以下定义,那么数值为4C)b=a;inta[3][4]={{0,1),{2,4},{5,8}},(*p)[4]=a;B)p++,*(p+1)C)a[2][2].:char**s;正确的语句是A)s="computer";B)*s="computer";C)**s="computer";D)*s=rA.设有定义语句"chars[3][20],(*p)[20]=s;",那么以下语句中错误的选项是:A)scanf("%s",s[2]);A)scanf("%s",s[2]);B)gets(*(p+2));C)scanf("%s”,*(p+2)+0);D)gets(s[2][0]);.已有函数说明"intmin(inta,intb);",为了让函数指针p指向函数min,正确的赋值方式是B)p=minA)p=&minC)*p=minB)p=minC)*p=minC)*p=minD)*P=&min.以下程序的输出结果是C)*p=minmain(){charch[3][4]={,,123M,"456",“78"},*p[3];inti;for(i=();i<3;i++)p[i]=ch[i];for(i=0;i<3;i++)printf("%s”,p[i]);A)123456780B)123456780C)12345678D)147.假设指针p己正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是A)p=(int*)calloc(2,sizeof(int));B)p=(int*)malloc(2*sizeof(int));C)p=(int*)malloc(2*2);D)p=2*(int*)malloc(sizeof(int));.定义"char*a,b[5];",并执行了a=malloc(80);之后,以下语句中正确的选项是.A)scanf("%s",*a);B)b=a;C)b="good";D)a=,,goodM;.设有如下的程序段:chars[]=”girl”,*l;t=s;那么以下表达正确的选项是A)s和I完全相同B)数组s中的内容和指针变量I中的内容相等C)s数组长度和t所指向的字符串长度相等D)*t与s[0]相等.下面判断正确的选项是ochar*a=>>china”;等价于char*a;*a="chinawcharstr[10]={"china"};等价于charslr[10];slr[]={"china";)charC="china";等价于char*s;s="chinawcharc[4]=wabcw,d[4]=wabc”;等价于charc[4]=d[4]="abc”.以下程序求二维数组的平均值floataverage(float(*p)[4],intn)(floatsum=0;for(inti=0;;i++){for(j=0;j<4;j++)sum+二1p++;)returnsum/(n*4);)voidmain(){floatscore[3][4]={{56,65,70,76},{89,97,52,81},{90,99,91,86}};printf("平均值二%『',average());.程序填空题将字符串l(strl)复制到字符串2(str2),并输出字符串2.^include〃stdio.h〃main()(char*ch(char*,char*);charstrl口二〃Iamgladtomeetyou!”;charstr2[]=,,WelcomtostudyC!〃;printfCz%s/z,ch());)char*ch(char*strl,char*str2)(inti;char*p;if(*str2==NULL)exit(-l);do(*str2=*strl;strl++;str2++;}while(*strl!=NULL);return();).自定义函数fun的功能是:求两个形参的乘积和商,并通过形参返回调用程序。例如输入:61.82和12.65输出为:c=782.023000d=4.886957请改正fun函数中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include<stdio.h>/*********oilnd*********voidfun(doublea,b,doublex,y)/**********foun(J**********/x=a*b;y=a/b;)voidmain()fdoublea,b,c,d;printf("Entera,b:");scanf(n%lf%ir,&a,&b);fun(a,b,&c,&d);printf(nc=%fd=%f\n\c,d);).有如下结构类型定义以及有关的语句:structms{intx;int*p;}sl,s2;sl.x=l();s2.x=sl.x+10;sl.p=&s2.x;s2.p=&sl.x;*sl.p+=*s2.p;试问,执行以上语句后,sl.x和s2.x的值应该是A.10,30B.10,20C.20,20D.20,10.补充输入语句,使得结构体数组

温馨提示

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

最新文档

评论

0/150

提交评论