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)两个语句的正确解释是() (1)int*p=&a; (2)*p=a;(A)语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值(B)(1)和(2)语句的执行结果,都是把变量a的地址值赋给指针变量p(C)(1)在对p进行说明的同时进行初始化,使p指向a(2)将变量a的值赋给指针变量p(D)(1)在对p进行说明的同时进行初始化,使p指向a(2)将变量a的值赋于*p若已定义:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;______其中0≤i≤9,则对a数组元素不正确的引用是A)a[p-a]B)*(&a[i])C)p[i]D)a[10]下面程序运行时,如果从键盘上输入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=8下列程序执行后的输出结果是________。voidsub(intx,inty,int*z){*z=y-x;}main(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n”,a,b,c);}A)5,2,3B)-5,-12,-7C)-5,-12,-17D)5,-2下面程序应能对两个整型变量的值进行交换。以下正确的说法是() voidmain() { inta=10,b=20; pirntf("(1)a=%d,b=%d\n",a,b); swap(&a,&b); printf("(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)以上说法都不正确下列程序执行后的输出结果是________。main(){inta[3][3],i,*pmul;pmul=&a[0][0];for(i=0;i<9;i++)pmul[i]=i+1;printf("%d\n",a[1][2]);}A)3B)6设有数组说明“inta[4][4];”,则不能等价表示的数组元素a[3][3]是________。A)*(a[3]+3)B)*(*(a+3)+3)C)*&a[3][3]D)(*(*(a+3))+3)有以下函数char*fun(char*p){returnp;}该函数的返回值是_______。A)无确切的值B)形参p中存放的地址值C)一个临时存储单元的值D)形参p自身的地址值有如下说明inta[10]=[1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是________。A)*(p+9)B)*(p+8)C)*p+=9D)p+8有如下程序main(){chars[]="ABCD",*p;for(p=s+1;p<s+4;p++)printf("%s\n",p);}该程序的输出结果是________。A)ABCDB)ABCDBCDCDDC)BD)BCDCCDDD下列程序的输出结果是_______main(){chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);}A)非法B)a[4]的地址C)5D)3设有定义语句"inta=3,b,*p=&a;",则下列语句中使b不为3的语句是_______A)b=*&a;B)b=*p;C)b=a;D)b=*a;若有以下定义,则数值为4的表达式是_______inta[3][4]={{0,1},{2,4},{5,8}},(*p)[4]=a;A)*a[1]+1B)p++,*(p+1)C)a[2][2]D)p[1][1]已知:char**s;正确的语句是_______A)s="computer";B)*s="computer";C)**s="computer";D)*s='A设有定义语句"chars[3][20],(*p)[20]=s;",则下列语句中错误的是:_____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,正确的赋值方式是________A)p=&minB)p=minC)*p=minD)*P=&min以下程序的输出结果是______main(){charch[3][4]={"123","456","78"},*p[3];inti;for(i=0;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="good";设有如下的程序段:chars[]="girl",*t;t=s;则下列叙述正确的是_______A)s和t完全相同B)数组s中的内容和指针变量t中的内容相等C)s数组长度和t所指向的字符串长度相等D)*t与s[0]相等下面判断正确的是_______

A)char

*a=”china”;

等价于

char

*a;

*a=”china”

B)char

str[10]={“china”};

等价于

char

str[10];

str[

]={“china”;}

C)char

*s=”china”;

等价于

char

*s;

s=”china”

D)char

c[4]=”abc”,d[4]=”abc”;

等价于

char

c[4]=d[4]=”abc”

以下程序求二维数组的平均值

floataverage(float(*p)[4],intn){floatsum=0;for(inti=0;;i++) {for(j=0;j<4;j++)sum+=; p++;}returnsum/(n*4);}voidmain(){floatscore[3][4]={{56,65,70,76},{89,97,52,81},{90,99,91,86}};printf(”平均值=%f”,average(___));程序填空题将字符串1(str1)复制到字符串2(str2),并输出字符串2.#include"stdio.h"main(){char*ch(char*,char*);charstr1[]="Iamgladtomeetyou!";charstr2[]="WelcomtostudyC!";printf("%s",ch(_______));}char*ch(char*str1,char*str2){inti;char*p;_______;if(*str2==NULL)exit(-1);do{*str2=*str1;str1++;str2++;}while(*str1!=NULL);return(______);}

自定义函数fun的功能是:求两个形参的乘积和商,并通过形参返回调用程序。例如输入:61.82和12.65输出为:c=782.023000d=4.886957请改正fun函数中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include<stdio.h>/**********found**********/voidfun(doublea,b,doublex,y){/**********found**********/x=a*b;y=a/b;}voidmain(){doublea,b,c,d;printf("Entera,b:");scanf("%lf%lf",&a,&b);fun(a,b,&c,&d);printf("c=%fd=%f\n",c,d);}.有如下结构类型定义以及有关的语句: structms{ intx; int*p; }s1,s2; s1.x=10; s2.x=s1.x+10; s1.p=&s2.x; s2.p=&s1.x; *s1.p+=*s2.p; 试问,执行以上语句后,s1.x和s2.x的值应该是_______ A.10,30 B.10,20 C.20,20 D.20,10.

温馨提示

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

评论

0/150

提交评论