文档库 最新最全的文档下载
当前位置:文档库 › 六、指针_选择题(答案)

六、指针_选择题(答案)

六、指针_选择题(答案)
六、指针_选择题(答案)

六、指针

183.下程序的运行结果是(A)。

void ast (int x,int y,int *cp,int *dp)

{ *cp=x+y; *dp=x-y;

}

main()

{ int a=4,b=3,c,d;

ast(a,b,&c,&d);

printf("%d,%d\n",c,d);

}

A.7,1

B.1,7

C.7,-1

D.c、d未赋值,编译出错

执行ast(a,b,&c,&d);调用ast 函数,把a传递给x,b传递给y,c 的地址传递给cp,d的地址传递给dp.

因为cp=&c(cp的值为c变量的地址),所以*cp等价于c,

执行*cp=x+y ;后c=4+3=7

同理,因为dp=&d,所以*dp等价于d,

执行*dp=x-y;后d=4-3=1

执行printf("%d,%d\n",c,d);后输出7,1

184.有以下语句:

int a[5]={0,1,2,3,4,5},i;

int *p=a;

设0≤i<5,对a数组元素不正确的引用是(C)。

A.*(&a[i])

B.a[p-a]

C.*(*(a+i))

D.p[i]

1.指针运算符

取地址运算符&:其功能是取变量的地址。

2.取内容运算符*:用来表示指针变量所指的变量。在*运算符之后

跟的变量必须是指针变量。

A . *(&a[i]) 等价于a[i]

B. a[p-a]等价于a[0]

C. 因为*(a+i) 等价于a[i] 所以*(*(a+i))等价于*(a[i]) ,又因为在*运算符之后跟的变量必须是指针变量,我们断定*a[i]是错的,所以*(*(a+i))也是错。

D.因为P=a,所以P[i]等价于a[i]

185.若有定义int *p1,*p2; 则错误的表达式是(A)。

A.p1+p2

B.p1-p2

C.p1

D.p1=p2

两个指针变量可以相减(结果表示介于二者之间元素的个数),可以比较大小,但不能相加。186.以下叙述错误的是(D)。

A.存放地址的变量称为指针变量

B.NULL可以赋值给任何类型的指针变量

C.一个指针变量只能指向类型相同的变量

D.两个相同类型的指针变量可以作加减运算

D两个相同类型的指针变量相加没有意义,所以不可以作加运算,所以D错。

187.以下程序段运行后,表达式*(p+4)的值为( B )。

char a[]="china";

char *p;

p=a;

A.'n'

B.'a'

C.存放'n'的地址

D.存放'a'的地址

a是一维数组名,表示数组首地址,即等价于&a[0]

因为p=a;即p=&a[0],所以*p等价于a[0]

因为p=a;所以p+i等价于a+i, 而a+i是a[i]的地址,*(a+i)等价于a[i]

所以*(p+i)等价于a[i]

*(p+4)=a[4]=’a’

188.以下程序段运行后,表达式*(p++)的值为(A)。

char a[5]="work";

char *p=a;

A.'w'

B.存放'w'的地址

C.'o'

D.存放'o'的地址

printf( "%3d\n", (*p)++ ); /*先输出*p,再进行(*p)++ */

printf( "%3d\n", *p++ ); /*先输出*p,再进行p++ */

printf( "%3d\n", *++p ); /*先进行++p,再输出*p */

printf( "%3d\n", ++*p ); /*先进行++(*p),再输出*p */

*(p++) 的值等于*p ,然后p++

因为p等于a所以*p等于a[0]

189.若有定义:

int *p,k=4; p=&k;

以下均代表地址的是(C)。

A.k, p

B.&k, &p

C.&k, p

D.k, *p

A.k不是地址

B.k,p都是变量所以&k, &p都代表地址(&p是指针变量p的地址),所以B也是正确的C.&k和p都是代表变量k的地址,所以C正确

D.K,*p都等于4,都不是地址

190.若有定义:double *q,p;则能给输入项读入数据的正确程序段是(B)。

A.q=&p;scanf("%lf",*q);

B.q=&p;scanf("%lf",q);

C.*q=&p;scanf("%lf",q);

D.*q=&p;scanf("%lf",*q);

根据课本P37,调用scanf函数的语法格式为:

scanf(格式控制字符串,地址列表);所以

A. *q不是地址,所以A错

B.因为q=&p,即q等于p的地址,所以B正确

C.D. *q=&p错误

191.若已定义: int q=5; 对①int *p=&q;和②p=&q; 这两条语句理解错误的是(C)。

A.①是对p定义时初始化,使p指向q;而②是将q的地址赋给p

B.①和②中的&q含义相同,都表示给指针变量赋值

C.①是对p定义时初始化,使p指向q;而②是将q的值赋给p所指向的变量

D.①和②的执行结果都是把q的地址赋给p

①int *p=&q; 是对p定义时初始化,使p的值等于q的地址

②p=&q;是将q的地址赋值给p.

C中②理解错误。应该是将q的地址赋值给p.

192.下面语句错误的是(A)。

A.int *p; *p=20;

B.char *s="abcdef"; printf("%s\n",s);

C.char *str="abcdef"; str++;

D.char *str;str="abcdef";

见课本P153,未经赋值的指针变量其值是随机的,可能指向系统或其他已使用的数据区,对它进行写入操作将可能出现不可预知的情况,严重时将造成系统混乱,甚至死机。

A 没有对P赋值,就执行*p=20;对p所指向的单位进行写操作,可能会造成不可预知的错误,所以A错。

193.若有定义int a[2][3],*p=a;,则能表示数组元素a[1][2]地址的是(D)。

A.*(a[1]+2)

B.a[1][2]

C.p[5]

D.p+5

A.a[1]是第1行的首地址(行号从0开始计算),也是第1行的首个元素(第0个元素)的地址,即&a[1][0]

a[1]+2 是表示从a[1][0]开始往移动2个位置,即a[1][2]的地址,

所以*(a[1]+2)等价于*(&a[1][2])等价于a[1][2],所以不能选A。

B.显然是错的

D. 因为p=a,&a[i][j] 等价于p+i*3+j 其中3是数组a的列数

所以&a[1][2]等价于p+1*3+2,即p+5。所以答案选D

因为p=a,即p等于a[0][0]的地址(指向a[0][0]),所以p+5是从a[0][0]开始往后偏移5个位置元素的地址,即p+5是a[5]的地址

a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] a[2][0] .....

p p+1 p+2 p+3 p+4 p+5 p+6 .....

194.若已定义: int a=5,*p; 且p=&a; 则以下表示中不正确的是(B)。

A.&a==&(*p)

B.*(&p)==a

C.&(*p)==p

D.*(&a)==a

因为p=&a;所以*p==a,所以B错

195.若有以下程序段,则叙述正确的是(C)。

char s[]="computer";

char *p;

p=s;

A.s和p完全相同

B.数组s的长度和p所指向的字符串长度相等

C.*p与s[0]相等

D.数组s中的内容和指针变量p中的内容相等

A.s是数组名,代表一个固定的地址(指针常量),s的值是不能改变的。P的是指针变量,可以对p的进行赋值(p的值可程序运行过程中可以修改),所以A错。

B 数组长度和字符串长度是两个不同的概念。

数组长度是所有元素个数,char s[]="computer";数组长度为9(a[8]==’/0’)

字符串商都是指字符串中字符的个数(不包括字符串结束标志/0), p所指向的字符串是"computer",有8个字符,所以字符串长度为8

所以B错

C.s等价于&s[0] ,所以*p等价于s[0],所以答案选C

D. 数组s中的内容:

s[0]=’c’,s[1]=’o’,....,s[7]=’r’,s[8]=’\0’

指针变量p中的内容是s,即数组s的首地址(&s[0]),所以D是错的。

196.以下程序段的运行结果是( B )。

enum weekday{ aa,bb=2,cc,dd,ee }week=ee;

printf("%d\n",week);

A.ee

B. 5

C. 2

D. 4

课本P277

week是枚举类型变量,它的取值为ee,

因为bb=2,所以cc=3,dd=4,ee=5

以%d格式输出ee,结果为5

197.若有以下程序段,则不能正确访问数组元素a[1][2]的是(A)。

int (*p)[3];

int a[][3]={1,2,3,4,5,6,7,8,9};

p = a;

A.p[1]+2

B.p[1][2]

C.(*(p+1))[2]

D.*(*(a+1)+2)

P是指向一维数组(有3个元素)的指针变量,详细见课本P164——3。

因为p=a;所以p[1]+2等价于a[1]+2,而a[1]+2等价于&a[1][2],所以p[1]+2等价于&a[1][2] 所以A错

198.以下程序段的运行结果是(A)。

int a[]={1,2,3,4,5,6,7},*p=a;

int n,sum=0;

for(n=1;n<6;n++) sum+=p[n++];

printf("%d",sum);

A.12

B.15

C.16

D.27

因为p=a,所以p[n]等价于a[n]

执行for(n=1;n<6;n++) sum+=p[n++];

当n=1时满足n<6 所以执行循环体

sum=sum+p[1]=0+2=2,然后n自增1两次,n的值变为3

当n=3时满足n<6 所以执行循环体

sum=sum+p[3]=2+4=6,然后n自增1两次,n的值变为5

当n=5时满足n<6 所以执行循环体

sum=sum+p[5]=6+6=12,然后n自增1两次,n的值变为7 当n=7时不满足n<6 所以结束循环。

最后sum的值为12。所以答案选A

199.下面程序的运行结果是(A)。

main( )

{ int a,b;

int *p1=&a,*p2=&b,*t;

a=10; b=20;

t=p1; p1=p2; p2=t;

printf("%d,%d\n",a,b);

}

A.10,20

B.20,10

C.10,10

D.20,20

因为

int *p1=&a,*p2=&b,*t;

a=10; b=20;

所以p1指向变量a, p2指向变量b,

这时候a等于10,b等于20,*p1等于10,*p2等于20 执行t=p1; p1=p2; p2=t;后

P1指向变量b, p2指向变量a,

这时候a等于10,b等于20,*p1等于20,*p2等于10 所以答案选A

200.以下程序段运行后变量s的值为(C)。

int a[]={1,2,3,4,5,6,7};

int i,s=1,*p;

p=&a[3];

for(i=0;i<3;i++)

s*=*(p+i);

A. 6

B.60

C.120

D.210

p=&a[3];p指向a[3]

当i=0时

s=s*(*(p+0))=s*a[3]=1*4=4;

当i=1时

s=s*(*(p+1))=s*a[4]=4*5=20;

当i=2时

s=s*(*(p+2))=s*a[5]=20*6=120;

所以最后s=120,答案选C

201.以下程序段运行后变量ans的值为( B )。

int a[]={1,2,3},b[]={3,2,1};

int *p=a,*q=b;

int k,ans=0;

for(k=0;k<3;k++)

if(*(p+k)==*(q+k))

ans=ans+*(p+k)*2;

A. 2

B. 4

C. 6

D.12

int a[]={1,2,3},b[]={3,2,1};

int *p=a,*q=b;

p指向a[0] q指向b[0]

执行

for(k=0;k<3;k++)

if(*(p+k)==*(q+k))

ans=ans+*(p+k)*2;

当k=0时

*(p+k)=a[k]=a[0]=1

*(q+k)=b[k]=a[0]=3

所以*(p+k)==*(q+k)不成立,

k++,满足k<3,所以进入下一次循环

当k=1时

*(p+k)=a[k]=a[1]=3

*(q+k)=b[k]=a[1]=1

所以*(p+k)==*(q+k)成立,执行ans=ans+*(p+k)*2; ans=ans+*(p+k)*2=0+a[k]*2=0+a[1]*2=0+2*2=4

然后k++,满足k<3,所以进入下一次循环

当k=2时

*(p+k)=a[k]=a[2]=1

*(q+k)=b[k]=a[2]=3

所以*(p+k)==*(q+k)不成立,

k++,不满足k<3,所以结束循环

最后ans=4,答案选B

202.以下程序运行结果是(A)。

main( )

{ char a[]="abc",*p;

for(p=a;p

printf("%s",p);

}

A.abcbcc

B.abc

C.cbabaa

D.cba

printf("%s",p); 是输出p所指向的字符串

a+i 等价于&a[i]

for(p=a;p

printf("%s",p);

当p==a时

p指向a[0],所以printf("%s",p);输出以地址&a[0]开始的字符串,即输出”abc”当p==a+1时

p指向a[1],所以printf("%s",p);输出以地址&a[1]开始的字符串,即输出”bc”当p=a+2时

p指向a[2],所以printf("%s",p);输出以地址&a[2]开始的字符串,即输出”c”所以最后输出结果为:abcbcc,答案选A

203.以下程序的输出结果是(B)。

#include

void main()

{int i;

char *s="ABCD";

for(i=0;i<3;i++)

printf("%s\n",s+i);

}

A.CD

BCD

ABCD

B.ABCD

BCD

CD

C.AB

ABC

ABCD

D.ABCD

ABC

AB

s+i 第i个字符的地址

执行

for(i=0;i<3;i++)

printf("%s\n",s+i);

当i=0时

printf("%s\n",s+i); 输出”ABCD”,然后回车换行

当i=1时

printf("%s\n",s+i); 输出”BCD”,然后回车换行

当i=2时

printf("%s\n",s+i); 输出”CD”,然后回车换行

所以答案选B

204.以下程序的输出结果是(B)。

#include

void main()

{char *p="ABCDE",*q=p+3;

printf("%c\n",q[-2]);

}

A. A

B. B

C. C

D. D

q[i]等价于*(q+i)

所以q[-2]等价于*(q-2)

因为q=p+3,所以*(q-2)等于*(p+3-2)即*(p+1)即B

答案选B

205.下面程序执行时,若输入5 4 3 2 1<回车>,则输出为:B #include

#define N 5

void main()

{int a[N];

int *p=a;

while(p

scanf("%d",p++);

while(p>a)

printf("%d ",*(--p));

}

A. 5 4 3 2 1

B. 1 2 3 4 5

C. 3 4 5 1 2

D. 3 2 1 5 4

int *p=a;

p指向a[0],

while(p

scanf("%d",p++);

第一次循环:

scanf("%d",p++);把5赋值给a[0],然后p++,(p值变为a+1),p指向a[1]

第二次循环:

scanf("%d",p++);把4赋值给a[1],然后p++,(p值变为a+2),p指向a[2]

第三次循环:

scanf("%d",p++);把3赋值给a[2],然后p++,(p值变为a+3),p指向a[3]

第四次循环:

scanf("%d",p++);把2赋值给a[3],然后p++,(p值变为a+3),p指向a[4]

第五次循环:

scanf("%d",p++);把1赋值给a[4],然后p++,(p值变为a+5),不满足pa)

printf("%d ",*(--p));

p的值为a+5,满足p>a ,执行循环体

第一次循环:

printf("%d ",*(--p));p自减1(值变为a+4),然后输出*p(输出a[4])

p的值为a+4,满足p>a ,执行循环体

第二次循环:

printf("%d ",*(--p));p自减1(值变为a+3),然后输出*p(输出a[3])

p的值为a+3,满足p>a ,执行循环体

第三次循环:

printf("%d ",*(--p));p自减1(值变为a+2),然后输出*p(输出a[2])

p的值为a+2,满足p>a ,执行循环体

第四次循环:

printf("%d ",*(--p));p自减1(值变为a+1),然后输出*p(输出a[1])

p的值为a+1,满足p>a ,执行循环体

第五次循环:

printf("%d ",*(--p));p自减1(值变为a),然后输出*p(输出a[0])

p的值为a,不满足p>a ,结束循环。

最后输出1 2 3 4 5所以答案选B

206.下面程序段的运行结果是(C)。

int a[]={1,2,3,4,5,6},*p=a;

int i,sum=0;

for(i=1;i<6;i++) sum+=*(p++);

printf("%d",sum);

A.10

B.12

C.15

D.20

*(p++); /*先输出*p,再进行p++*/

p=a;p指向a[0]

for(i=1;i<6;i++) sum+=*(p++);

当i=1时

sum=sum+*p=sum+a[0]=0+1=1;然后p++,p的值变为a+1,即p指向a[1] 当i=2时

sum=sum+*p=sum+a[1]=1+2=3;然后p++,p的值变为a+2,即p指向a[2] 当i=3时

sum=sum+*p=sum+a[2]=3+3=6;然后p++,p的值变为a+3,即p指向a[3] 当i=4时

sum=sum+*p=sum+a[3]=6+4=10;然后p++,p的值变为a+4,即p指向a[4] 当i=5时

sum=sum+*p=sum+a[4]=10+5=15;然后p++,p的值变为a+5,即p指向a[5] 最后printf("%d",sum);输出15,答案选C

207.下面程序运行结果是(D)。

main( )

{ int a[]={1,2,3,4,5},*p,*q,i;

p=a; q=p+4;

for(i=1;i<5;i++)

printf("%d%d",*(q-i),*(p+i));

}

A.24334251

B.51423324

C.15243342

D.42332415

p=a; p指向a[0]

q=p+4;q指向a[4]

for(i=1;i<5;i++)

printf("%d%d",*(q-i),*(p+i));

当i=1时

printf("%d%d",*(q-i),*(p+i));输出a[3]和a[1],即输出42

当i=2时

printf("%d%d",*(q-i),*(p+i));输出a[2]和a[2],即输出33

当i=3时

printf("%d%d",*(q-i),*(p+i));输出a[1]和a[3],即输出25

当i=4时

printf("%d%d",*(q-i),*(p+i));输出a[0]和a[4],即输出15

最后输出结果:42332515 ,所以答案选D

208.下面程序运行结果是(B)。

main( )

{ static char a[]="abcdefg",b[]="adcbehg";

char *p=a,*q=b;

int i;

for(i=0;i<=6;i++)

if(*(p+i)==*(q+i))

printf("%c",*(q+i));

}

A.geca

B.aceg

C.bdf

D.Fdb

这个程序的功能是比较数组a和数组b中相同位置上相等的元素是否相等,如果相等则输出该元素。

char *p=a,*q=b;p指向a[0],q指向b[0]

*(p+i)等价于a[i]

*(q+i)等价于b[i]

for(i=0;i<=6;i++)

if(*(p+i)==*(q+i))

printf("%c",*(q+i));

当i=0时

*(p+i)的值为’a’

*(q+i)的值为’a’

满足*(p+i)==*(q+i),所以执行printf("%c",*(q+i));输出’a’

当i=1时

*(p+i)的值为’b’

*(q+i)的值为’d’

不满足*(p+i)==*(q+i),所以不执行printf("%c",*(q+i)); 当i=2时

*(p+i)的值为’c’

*(q+i)的值为’c’

满足*(p+i)==*(q+i),所以执行printf("%c",*(q+i));输出’c’当i=3时

*(p+i)的值为’d’

*(q+i)的值为’b’

不满足*(p+i)==*(q+i),所以不执行printf("%c",*(q+i)); 当i=4时

*(p+i)的值为’e’

*(q+i)的值为’e’

满足*(p+i)==*(q+i),所以执行printf("%c",*(q+i));输出’e’当i=5时

*(p+i)的值为’g’

*(q+i)的值为’g’

满足*(p+i)==*(q+i),所以执行printf("%c",*(q+i));输出’g’最后输出结果为:aceg,答案选B

C指针函数习题

C++指针函数习题 一、选择题 1.以下程序的运行结果是()。 sub(int x, int y, int *z) { *z=y-x; } void main() { int a,b; sub(10,5,&a); sub(7,a,&b); cout< #include<>

中考数学选择题专项训练

x y O 图3 中考定时专项训练 选择填空篇01 时间:15分钟 分数:42分 一、选择题(本大题共12个小题,每小题2分,共24分.在每小题给出的四个选项中,只有一项是符合题目要求的) 1.3 (1)-等于( ) A .-1 B .1 C .-3 D .3 2.在实数范围内,x 有意义,则x 的取值范围是( ) A .x ≥0 B .x ≤0 C .x >0 D .x <0 3.如图1,在菱形ABCD 中,AB = 5,∠BCD = 120°,则对角线AC 等于( ) A .20 B .15 C .10 D .5 4.下列运算中,准确的是( ) A .34=-m m B .()m n m n --=+ C .236m m =() D .m m m =÷225.如图2,四个边长为1的小正方形拼成一个大正方形,A 、 B 、O 是小正方形顶点,⊙O 的半径为1,P 是⊙O 上的点, 且位于右上方的小正方形内,则∠APB 等于( ) A .30° B .45° C .60° D .90° 6.反比例函数1 y x =(x >0)的图象如图3所示,随着x 值的 增大,y 值( ) A .增大 B .减小 C .不变 D .先减小后增大 7.下列事件中,属于不可能事件的是( ) A .某个数的绝对值小于0 B .某个数的相反数等于它本身 C .某两个数的和小于0 D .某两个负数的积大于0 8.图4是某商场一楼与二楼之间的手扶电梯示意图.其中AB 、CD 分别表示一楼、二楼地面的水平线, ∠ABC =150°,BC 的长是8 m ,则乘电梯从点B 到点C 上升的高度h 是( ) A .833 m B .4 m C .3m D .8 m 9.某车的刹车距离y (m )与开始刹车时的速度x (m/s )之间满足二次函数2 120 y x =(x >0),若该车某次的刹车距离为5 m ,则开始刹车时的速度为( ) A .40 m/s B .20 m/s C .10 m/s D .5 m/s 10.从棱长为2的正方体毛坯的一角,挖去一个棱长为1的小正方 体,得到一个如图5所示的零件,则这个零件的表面积是( ) A .20 B .22 C .24 D .26 B A C D 图1 P O B A 图2 图5 A B C D 150° 图4 h

实验六 指针.

实验六指针 ●实验目的 1、进一步掌握指针的概念,会定义和使用指针变量。 2、能正确使用数组的指针和指向数组的指针变量。 3、能正确使用字符串的指针和指向宇符串的指针变量。 4、了解指向指针的指针的概念及其使用方法。 5、通过实验进一步理解指针和函数的几种关系。 ● 实验内容 1、输入两个整数,按由大到小的顺序输出。 输入以下程序并调试运行。 #include int main() { int a,b; int *p=&a,*q=&b,*t; cout<<"请输入a和b:"; cin>>a>>b; if(a

char *temp; int i,j,n=4; for(i=0;i0) { temp=p[j]; p[j]=p[j+1]; p[j+1]=temp; } //排序 for(i=0;i

六年级数学选择题(50题含答案)

1、一个三角形,三个内角度数的比为2:5:3,则此三角形为() A.锐角三角形 B.直角三角形 C.锐角三角形 D.无法确定 2、圆柱体底面半径扩大到原来的2倍,则体积() A.扩大8倍 B.扩大2倍 C.扩大4倍 D.不变 3、80×☆+5与80×(☆+5)相差() A.75 B.5 C.400 D.395 4、一批水泥,用去4/9,剩下的是用去的() A. 5/9 B. 4/5 C. 5/4 D. 10/9 5、在一个正方形里画一个最大的圆,圆的面积是正方形面积的()。 A. 1/2 B. 3/4 C. ∏/4 D. ∏ 6.两根同样长的钢筋,从一根截去它的2 3,从另一根截去 2 3米,余下的部分()。 A、第一根长 B、第二根长 C、相等 D、无法比较 7.小麦的出粉率一定,小麦的重量和磨成的面粉的重量() A、成反比例 B、成正比例 C、不成比例 8.一个三角形三个内角度数比是2:3:5,这个三角形是() A、锐角三角形 B、直角三角形 C、钝角三角形 9.一个数按“四舍五入”法则保留一位小数是3.0,这个数可能是()。 A、3.81 B、3.04 C、2.896 D、2.905 10.在含糖率是20%的糖水中,加入5克糖和20克水,这时的糖水比原来() A.更甜了 B.不那么甜了 C.一样甜 11.估计下面四个算式的计算结果,最大的是() A.2011×(1+ 1 2011) B. 2011×(1- 1 2011) C. 2011+(1+ 1 2011) D. 2011+(1- 1 2011) 12.从A城到B城,甲车要用4小时,乙车要用5小时,那么,甲车速度比乙车 () A.快25% B. 慢25% C. 快20% D. 慢20% 13.投3次硬币,有2次正面朝上,1次反面朝上,那么,投第4次硬币正面朝上的可能性是() A. 1 4 B. 2 3 C. 1 3 D. 1 2 14.一根绳子被剪成两段,第一段长2 3米,第二段占全长的 2 3,这两段绳子相比, () A. 第一段长 B. 第二段长 C. 两段一样长 D. 无法比较 15、在比例尺是1:150000的地图上,3厘米表示实际距离的()千米。 A、15 B、45 C、4.5 D、30 16、甲每4天去少年宫一次,乙每6天去一次,丙每8天去一次,如果6月1日,甲乙丙同时去少年宫,则下次同去少年宫应是() A、6月9日 B、6月19日 C、6月15日 D、6月25日

函数及指针练习题

函数练习题 【1.54】对函数形参的说明有错误的是____。 A) int a(float x[],int n) B) int a(float *x,int n) C) int a(float x[10],int n) D) int a(float x,int n) 【1.55】如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类型应该被说明为____。 A)静态变量B) 动态变量C) 外部变量D) 内部变量 【1.56】在一个C源程序文件中,?若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要使用的存储类别是。 A) extern B) register C) auto D) static 【1.57】在C语言中,函数的数据类型是指____。 A)函数返回值的数据类型B) 函数形参的数据类型 C) 调用该函数时的实参的数据类型D) 任意指定的数据类型 【1.58】已知如下定义的函数: fun1(a) { printf("\n%d",a); } 则该函数的数据类型是____。 A)与参数a的类型相同B) void型 C) 没有返回值D) 无法确定 【1.59】定义一个函数实现交换x和y的值,并将结果正确返回。能够实现此功能的是____。 A) swapa(int x,int y) B) swapb(int *x,int *y) { int temp;{ int temp; temp=x;x=y;y=temp;temp=x;x=y;y=temp; } } C) swapc(int *x,int *y) D) swapd(int *x,int *y) { int temp;{ int *temp; temp=*x;*x=*y;*y=temp;temp=x;x=y;y=temp; } } 【1.60】求一个角的正弦函数值的平方。能够实现此功能的函数是____。 A) sqofsina(x) float x; { return(sin(x)*sin(x)); } B) double sqofsinb(x) float x; { return(sin((double)x)*sin((double)x)); } C) double sqofsinc(x) { return(((sin(x)*sin(x)); } D) sqofsind(x) float x;

选择题专项训练三

选择题专项训练(三) 山东某校地理兴趣小组于3月21日前往图4所示区域进行地理观测,图中等高距为200米。据此完成1~3题。 1.图中Q地的海拔高度可能是 A.160米 B.380米 C.680米 D.980米 2.15时(地方时)Q地的观测者看到太阳在P地落下,据此判断河流干流大致的流向是 A.东北流向西南 B.西南流向东北 C.西北流向东南 D.东南流向西北 3.若图示森林急剧减少,对当地水循环的影响将主要有 ①坡面汇流速度加快②水汽输送量减少③蒸腾、蒸发量加大④地下径流减少 A.①② B.③④ C.②③ D.①④ 下图是我国东部4城市日照时数(曲线)和降水量的年变化图。回答4~5题。 4.图中4城市纬度由高到低依次是 A.丙甲乙丁 B.乙丙丁甲 C.丙甲丁乙 D.丁丙乙甲[来源:] 5.5月份,丙地日照时数大于丁地的主要原因是 A.太阳辐射强度大 B.正午太阳高度大 C.受低气压控制 D.白昼时间长且多晴天 6日0时20分。据此完成6~7题。 6、图中甲地时间为() A.5日5时20分B.6日6时20分C.6日5时20分D.5日6时20分 7、当日下列城市白昼最长的是() A.悉尼B.上海C.雅加达D.莫斯科

水量盈余率是衡量水库蓄水量变化的重要指标(水量盈余率=流入量/流出量)。右图为北半球某水库各月水量盈余率统计图,读图完成8~9题。 8.下列说法正确的是( ) A .12月份水库的储水量最大 B .3月份水库的储水量最大 C .6月份水库的储水量最小 D .9月份水库的储水量最大 9.该水库库区所处的自然带最有可能是( ) A .亚热带常绿阔叶林带 B .亚热带常绿硬叶林带 C .温带落叶阔叶林带 D .温带针叶林带 下图示意欧州部分城市冬、夏季气温状况。读图完成10~11题。 10.城市a ~c ( ) A .气候大陆性自东向西逐渐增强 B .年降水量自西向东呈递减趋势 C .夏季温和,冬季寒冷,全年湿润 D .年太阳辐射量自东向西逐渐变大 11.影响城市a ~e 气温差异的主要因素是 ( ) A .大气环流、海陆位置 B .纬度位置、海陆位置 C .大气环流、地形地势 D .纬度位置、地形地势 图3为“世界某区域图”,图4是风力统计曲线,其中两条折线对应图中甲、乙两地,读图回答12~13题 图5 图6 12.甲、乙两地对应的风力统计曲线是 A .甲—①、乙—② B .甲—③、乙—② C .甲—②、乙—③ D .甲—②、乙—① 13.造成甲、乙两地一年中风力大小差异的原因是 ①气压带、风带的季节移动 ②地形起伏 ③海陆热力性质差异 ④海陆位置 A .①②④ B .①③④ C .①②③ D .②③④ 1 2 3 4 5 6 7 (月份) 8 9 10 11 12 0 1 3 2 4 6 5 风 力 (级 )

(完整版)六年级数学典型应用题专项练习题

六年级数学典型应用题专项练习题 1、两桶油共重45千克,把A桶的1/6倒入B桶后,这时A桶与B桶油重量相等,求A、B两桶原来各有多少千克油? 2、一批零件,师傅单独加工需要12小时,徒弟单独加工需要15小时。师徒二人合作,完成任务时,师傅比徒弟多加工20个。问这批零件共有多少个? 3、一段路两队合修15天能完成。甲队单独修6天,乙队单独修7天,共完成全部工程的。 ①乙队单独修完这段路需要多少天?②甲队单独修完这段路的需要多少天? 4、列快车从甲地开往乙地需要10小时,一列慢车从乙地开往甲地需要12小时。快车和慢车同时开出,快车开出后因修车在路上停了2小时,多少小时后两才车相遇? 5、一根圆柱形水管,外直径是32厘米,管壁厚1厘米,水在管内的流速是每秒4.5米。这根水管每秒钟能流出多少千克水?(1立方厘米水重1克) 6、堆煤共有1680千克。第一堆用去1/3,第二堆用去1/4 后,两堆煤所余下的相等。问原来这两堆煤各有多少千克? 7、一份稿件,甲独抄10小时抄完,乙独抄12小时抄完。现在由甲乙两人合抄2小时,抄完这份稿件的3/4 还差20页,这份稿件有多少页? 8、甲乙两辆汽车同时从两地相向而行。甲车每小时行56千米,乙车每小时行48千米,两车在距中点32千米处相遇。求两地间的路程是多少千米? 9、加工一批零件,甲乙合做12小时完成,乙单独做20小时完成。甲乙合做完成任务时,乙给甲87个零件,两人零件的个数相等。这批零件有多少个? 10、甲、乙两车从A、B两地同时出发7小时相遇后,甲车每小时比乙车快6千米,两车的速度比是5:6,求A、B两地相距多少千米?

11、一项工程,甲乙两队合做12天可以完成。如果要甲队先做6天,乙队接着做8天,只能完成全部工作的2/3 。这项工程由乙单独做,多少天可以完成? 12、一项工程,甲独做要10天,乙独做要20天,现在由甲、乙两人合做2天,余下的由乙独做,还要多少天可以完成全工程的一半? 13、一辆客车到某站有7/10的乘客下车,又有10人上车,这时车上人数是原来的2/5,原来这辆车上有乘客多少人? 14、有两袋米,甲袋装米10千克,如果从乙袋倒入1/3给甲袋两袋米一样重,乙袋原来装米多少千克? 15、某工厂有3个车间,第一车间人数占全厂职工总数的30%,第二、三车间人数的比是5:2 。已知第二车间比一车间多20人,这个工厂共有职工多少人? 16、有一个圆环,外圆周长62.8厘米,内圆周长56.52厘米,圆环的面积是多少? 17、加工一批零件,甲单独加工要10小时,乙每小时加工60个,现在甲、乙两人同时合做,完成时甲与乙加工零件个数的比是3:2,甲加工零件多少个? 18、新圩修一条路,原计划每天修60米,20天修完,实际每天多修1/3,实际多少天修完?19一根钢筋第一次用去全长的1/4,第二次比第一次多用15米,结果还剩45米,这根钢筋原来长多少米? 20、一台压路机,前轮直径1米,轮宽1.2米,工作时每分钟滚动15周。前进20分钟压过的路面是多少平方米? 21、甲乙两车同时从相距375千米的两地相对开出,甲每小时行52千米,3.5小时后与乙车还相距25千米,乙车每小时想多少千米? 22、甲乙两校共有1900人,从甲校毕业230人,从乙校毕业425人,这时甲校人数是乙校人数的2倍。甲、乙两校原来各有多少人?

c语言指针习题及答案69923

指针习题及答案 一.选择题 1.变量的指针,其含义是指该变量的 B 。 A)值B)地址C)名D)一个标志 2.已有定义int k=2;int *ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是 B 。 A)k=*ptr1+*ptr2 B)ptr2=k C)ptr1=ptr2 D)k=*ptr1*(*ptr2) 3.若有说明:int *p,m=5,n;以下程序段正确的是 D 。 A)p=&n ; B)p = &n ; scanf(“%d”,&p); scanf(“%d”,*p); C)scanf(“%d”,&n); D)p = &n ; *p=n ; *p = m ; 4.已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的输出结果是 D 。 void print_value(int *x) { printf(“%d\n”,++*x); } A)23 B)24 C)25 D)26 5.若有说明:int *p1, *p2,m=5,n;以下均是正确赋值语句的选项是 C 。 A)p1=&m; p2=&p1 ; B)p1=&m; p2=&n; *p1=*p2 ; C)p1=&m; p2=p1 ; D)p1=&m; *p1=*p2 ; 6.若有语句:int *p,a=4;和p=&a;下面均代表地址的一组选项是 D 。 A)a,p,*&a B)&*a,&a,*p C)*&p,*p,&a D)&a,&*p,p 7.下面判断正确的是 C 。 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” ; 8.下面程序段中,for循环的执行次数是 C 。 char *s=”\ta\018bc” ; for ( ; *s!=’\0’ ; s++) printf(“*”) ; A)9 B)7 C)6 D)5 9.下面能正确进行字符串赋值操作的是 C 。 A)char s[5]={“ABCDE”}; B)char s[5]={‘A’,’B’,’C’,’D’,’E’}; C)char *s ; s=”ABCDE” ; D)char *s; scanf(“%s”,s) ; 10.下面程序段的运行结果是 C 。 char *s=”abcde” ; s+=2 ; printf(“%d”,s); A)cde B)字符’c’C)字符’c’的地址D)不确定11.设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是 B 。 A)c=*p1+*p2 B)p2=c C)p1=p2 D)c=*p1*(*p2) 12.设有程序段:char s[ ]=”china”; char *p ; p=s ;则下面叙述正确的是 D 。A)s和p完全相同

2013选择题专项训练

选择题专项训练 1.能源、信息和材料是现代社会发展的三大支柱,关于他们的下列说法正确的是() A.光电池和VCD光碟都应用了磁性材料 B.光导纤维是利用超声波来传递信息的。 C.核能是可再生能源 D.雷达是利用电磁波来进行定位和导航的 2.关于声现象下列说法不正确的是() A.真空不能穿省市通过实验与推理的方法获得的 B.发出较强声音的喇叭能使他前面的主演“跳舞”,说明声波能传递能量 C.课堂上听到老师的讲话声,说明声音可以在空气中传播 D.声音在不同介质中传播的速度相同 3.在研究平面及成像特点的实验中,在竖起的玻璃板前后各方一支蜡烛,对着玻璃板既可看到前面蜡烛在玻璃板后所成的像,同时又可看到放在玻璃板后的“蜡烛”。下列说法正确的是() A.两者都是光的反射所成的像 B.两者都是光的折射所成的像 C.前者是光的折射形成的像,后者是光的反射形成的像 D.前者是光的反射形成的像,后者是光的折射形成的像 4.在实验探究活动中,某同学将微小压强计的探头线后放入两种不同的液体中,根据如图所示的信息能够探究的是() A.液体内部的压强跟液体密度的关系 B.液体压强跟液体深度的关系 C.在同一深度,液体向各个方向的压强大小是否相等 D.液体内部向各个方向是否都有压强 5.中国科学考察队成功登上珠穆朗玛峰,并测量出这座 世界最高峰的“身高”为8848.43米,如果科考队员某天 测得山脚的大气压为1个标准大气压,则() A.因为山峰的高度较大,测量这座山峰高度所使用的刻 度尺得分度尺为1米 B.珠穆朗玛峰山脚的大气压将一定是1个标准大气压 C.珠穆朗玛峰山顶大气压将大于1个标准大气压 D.如果在珠穆朗玛峰山顶用敞口锅烧水,沸水温度一定低于100摄氏度 6.如图示,在水平公路上,小汽车做匀速直线运动时与静止时相比较(考虑空气因素),下列说法正确的是() A.运动时对地面压力小于静止时的压力 B.运动时对地面压力等于静止时 C.运动时受到地面的摩擦力小于静止时 D.运动时受到地面摩擦力等于静止时 7.某杠杆两端各挂一个铜球和一个铁球,杠杆保持平衡,已知AO>BO,若将 铜球和铁球同时向支点移动相同的距离L,那么() A.铁球下降,动能增加,势能减少 B.铜球下降,动能增加,势能减少 C.杠杆仍保持平衡,两球动能不变,势能不变 D.条件不足,无法判断 8.某同学在做“调节灯泡亮度”的实验时,电路如图所示,电源电压4.5v, 电压表量程0--3v,变阻器规格“20欧,1A”,灯泡L标有“2.5v,1.25W”, 字样(不考虑电阻的变化),在不损坏电路元件的情况下,下列判断正确的是() A.电路中电流变化范围是0.18--0.5A B.滑动变阻器组织变化的范围是2.5--10欧 C.灯泡的最小功率是0.162W D.该电路的最大功率是2.25W 9.

c语言实验报告6 指针

实验6 指针1.实验目的和要求 (1)掌握指针的概念、指针变量定义格式和引用。 (2)掌握指针的运算方法。 (3)掌握数组的指针和指向数组的指针变量。 (4)掌握指针与函数的关系。 (5)能正确使用字符串的指针和指向字符串的指针变量。(6)了解指向函数的指针。 (7)了解指向指针变量的指针。 2.实验内容:实验指导书中的实验九。 3.实验步骤 9.1 调试程序,找出程序的错误。 改正后的程序代码(贴图): 运行结果(帖图): 9.2 运行程序:

运行结果:; 9.3 修改程序错误,并运行。 改正后程序代码: 运行结果(帖图): 9.4. 程序填空:

运行结果(请帖图):9.5. 程序填空:

程序填空: #include main() { int a[5][5]={0},*p[5],i,j; for(i=0; i<5; i++) p[i]= &a[i][0] ; for(i=0; i<5; i++) { *(p[i]+ i )=1; *(p[i]+5- (i+1) )=1; } for(i=0; i<5; i++) { for(j=0; j<5; j++) printf("%2d", p[i][j]); Printf("\n") ; } } 运行结果(请帖图):

9.6 编程(选作) #include main() { int *p,a[20],i,k,m,n; p=a; printf("请输入人数n:"); scanf("%d",&n); for(i=0;i

小学六年级数学易错题(选择题)_题型归纳

小学六年级数学易错题(选择题)_题型归纳 二、选择题: 1、自然数a除以自然数b,商是10,那么a和b的最大公约数是( )。 A、a B、b C、10 2、一个三角形,经过它的一个顶点画一条线段把它分成两个三角形,其中一个三角形的内角和是( )。 A、180 B、90 C、不确定 3、从甲地开往乙地,客车要10小时,货车要15小时,客车与货车的速度比是( )。 A、2:3 B、3:2 C、2:5 4、用3根都是12分米长的铁丝围成长方形、正方形和圆形,则围成的( )面积最大。 A、长方形 B、正方形 C、圆形 5、在除法算式mn=ab中,(n0),下面式子正确的是( )。 A、a>n B、n>a C、n>b 6、过平行四边形的一个顶点向对边可以作( )条高。 A、1 B、2 C、无数 7、用三根同样长的铅丝分别围成圆、正方形和长方形,( )的面积最小。 A、圆 B、正方形 C、长方形 8、甲数与乙数的比值为0.4,乙数与甲数的比值为( ) A.0.4 B.2.5 C. 2/5 9、加工一批零件,经检验有100个合格,不合格的有25个,这批零件的合格率是( ) A、75% B、80% C、100% 10、小数点右边第三位的计数单位是( )

A、百分位 B、千分位 C、0.01 D、0.001 11、等底等高的圆柱体比圆锥体体积( ) A、大 B、大2倍 C、小 12、如果4X=3Y,那么X与Y( ) A、成正比例 B、成反比例 C、不成比例 13、0.70.3如果商是2那么余数是( ) A、1 B、0.1 C、0.01 D、10 14、做一批零件,如果每人的工效一定,那么工人的人数和用的时间( ) A。成正比例B。成反比例C。不成比例 15、两根同样长的绳子,一根剪去3/7,另一根剪去3/7米,第( )根剪去的长一些。 A、第一根长 B、第二根长 C、一样长 D、无法判断 16、一根绳子,剪成两段,第一段长3/7米,第二段占全长的3/7,第( )段长一些。 A、第一段长 B、第二段长 C、一样长 D、无法判断

习题六指针与函数

1.指针 (1) 有以下程序 void f( int y,int *x) {y=y+*x; *x=*x+y;} main( ) { int x=2,y=4; f(y,&x); printf(“%d %d\n”,x,y); } 执行后输出的结果是【1】。 (2) 下面程序的运行结果是:[2] 。 void swap(int *a,int *b) { int *t; t=a; a=b; b=t; } main() { int x=3,y=5,*p=&x,*q=&y; swap(p,q); printf(“%d%d\n”,*p,*q); } (3) 设有以下程序: main() { int a, b, k=4, m=6, *p1=&k, *p2=&m; a=pl= =&m; b=(*p1)/(*p2)+7; printf(“a=%d\n”,a); printf(“b=%d\n”,b); } 执行该程序后,a的值为【3】,b的值为【4】。 (4) 下列程序的输出结果是【5】。 void fun(int *n) { while( (*n)--) printf(“%d”,++(*n)); } main() { int a=100; fun(&a); } (5) 以下函数用来求出两整数之和,并通过形参将结果传回,请填空。 void func(int x,int y, [6] z) { *z=x+y; } (6) 函数void fun(float *sn, int n)的功能是:根据以下公式计算S,计算结果通过形参指针sn 传回;n通过形参传入,n的值大于等于0。请填空。

void fun( float *sn, int n) { float s=0.0, w, f=-1.0; int i=0; for(i=0; i<=n; i++) { f= [7] * f; w=f/(2*i+1); s+=w; } [8] =s; } (7) 以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。请填空。 exchange(int *x, int *y) { int t; t=*y; *y= 【9】; *x= 【10】; } (8) 下面函数要求用来求出两个整数之和,并通过形参传回两数相加之和值,请填空。 int add(int x,int y, 【11】z) { 【12】=x+y;} 2.函数 (1) 给出年、月、日,问是星期几(星期日~六用0~6表示)。 #include int month_to_day(int c); void show(int d); int year,month,day; int main() { cout<<"请输入年月日"<>year>>month>>day; int a=year-1900,b=a/4,c=month-1,d;//a表示过了几年,b表示a中有几年是闰年,//c表示过了几个月,d表示一共有多少天 c=month_to_day(c); //把月份转成天数 if(a%4==0&&a!=0) //判断输入的年份是不是闰年 { b=b-1; c=c+1; d=(a-b)*365+b*366+c; } else d=(a-b)*365+b*366+c+day; show(d); //输出星期几 return 0; }

C语言实验六实验报告——指针

一、实验项目名称 指针 二、实验目的 1.掌握指针的基本概念和基本用法。包括:变量的地址和变量的值,指针变量的说明、指针变量的初始化、指针的内容与定义格式、指针的基本运算等; 2.掌握数组与指针的关系并能够利用指针解决数组的相关问题; 3.掌握字符串与指针的关系并能够利用指针处理字符串的问题; 4.掌握指针与函数的关系并能够利用指针处理函数问题; 5.了解指向指针的指针的概念及其使用方法; 6.能够使用指针进行程序设计。 三、实验内容 有关指针的程序设计 1.编程实现:任意输入的10个数,求其平均值。 要求: (1)10个数采用scanf语句读入。 (2)利用指针实现对这10个数的访问。 (3)要求平均值的精度为小数后面2位。 2.编程实现:将一个任意整数插入到一个已排序的整数数组中,插入后数组中的数仍然保持有序。 要求: (1)整数数组由初始化方式输入。任意整数由scanf函数输入; (2)实现过程采用指针处理; (3)输出原始数组数据以及插入数据后的数组数据并加以相应说明。 3.编写函数newcopy(char *new,char *old),它的功能是删除old所指向的字符串中的小写字母,并将所得到的新串存入new中。 要求: (1)在主函数中以初始化方式输入一个字符串; (2)调用newcopy()函数; (3)在主函数中输出处理后的结果。 4.编程实现:输入三个整数,按由大到小的顺序输出。

要求: (1)通过scanf函数输入三个数据并存入三个变量中; (2)利用指针实现从大到小输出; (3)修改程序,将三个整型数据改为字符型数据,输入三个字符,按从大到小数顺序输出; (4)修改程序,将三个字符型数据改为字符串数据,输入三个字符串,按从小到大顺序输出; (5)体会指针对不同数据处理的特点。 四、实验步骤及结果 一、 #include <> void main() { int a[10],n,sum=0; float aver;/* 定义平均数为浮点型*/ int *p=a;/*初始化*/ printf("Please input 10 numbers:\n"); for (n=0;n<10;++n) scanf("%d",&a[n]);/*输入十个数*/ for (n=0;n<10;++n) sum=sum+*(p+n);/*使用指针访问数据*/ aver=(float)sum/n; printf("Average is %.2f",aver);/*精确到小数点后两位*/ } 二、 #include <> void arr(int *a,int n);/*定义排序函数*/ void insert(int *a,int num);/*插入并排序函数*/ int n=10;/*定义数据个数,可修改*/ void main()

小学六年级数学上册选择题题库

小学六年级数学上册选择题题库 。A、11又2/3cmB.4cmC.8cm 7.一个数(0除外)除以1/4,那个数就()。 A.缩小4倍 B.扩大4倍 C.减少1/4 8.200克盐水中含盐40克,盐与水旳比是()。 A.1:6 B.1:5 C.1:4 9.ɑ×1/3=b÷1/2=c×1(ɑ、b、c都大于0),那么:() A.ɑ>b>c B.ɑ>c>b C.b>c>ɑ 10.两个正方形旳边长比是1:3,它们旳周长比是〔〕 A.1:3 B.1:6 C.1:9 11、用3段一样长旳铁丝,分别围成一个正三角形、一个正方形、一个圆。在围成旳图形中,〔〕旳面积最大。 A、圆 B、正方形 C、三角形 12、加工一台机器零件,小张用了4小时,小李用了6小时,小李和小张旳工效最简整数比是〔〕。 A、4:6 B、2:3 C、3:2 D、6:4 13、所有旳车轮都做成圆形是利用了圆旳〔〕特性。 A、曲线图形 B、容易加工 C、圆心到圆上任意一点旳距离相等。 14、甲乙两人练习打靶,甲打了102发中了100发,乙打了99发全中,〔〕旳命中率高。 A、甲 B、乙 C、一样高 15、以下说法错误旳选项是〔〕 A、5比4多1,4比5少1。 B、5比4多25%,4比5少20%。 C、水结成冰体积增加10%,冰化成水体积缩小10%。 16、甲÷乙=3,丙÷乙=4,那么甲比丙〔〕。 ①少14.3%②多14.3%③少25%④多25% 17、反映一位病人24小时内心跳次数旳变化情况,护士需要把病人心跳数据制成〔〕。 ①统计表②条形统计图③折线统计图 18、一种商品先提价10%后,再打九折出售,现价〔〕。 ①比原价高②比原价低③与原价相同④无法确定

C++考试题(选择题)

1、选择题 1、___A__只能访问静态成员变量。 A 静态函数 B 虚函数 C 构造函数 D 析构函数 2、下列的各类函数中,__C___不是类的成员函数。 A 构造函数 B 析构函数C友元函数 D 拷贝构造函数 3、友元的作用_A__。 A 提高程序的运行效率 B 加强类的封装性 C 实现数据的隐藏性 D 增加成员函数的种类 4、类模板的使用实际上是将类模板实例化成一个具体的_D____。 A 类 B 对象 C 函数 D 模板类 5、下列函数中,___C__不能重载。 A 成员函数 B 非成员函数 C 析构函数 D 构造函数 6、___C__是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。 A 虚析构函数B虚构造函数C纯虚函数 D 静态成员函数 7、__A___是istream的派生类,处理文件输入;___C__是iostream的派生类,可以同时处理文件的I/O。 A、ifstream B、ostream C、fstream D、ofstream 8、对于派生类的构造函数,在定义对象时构造函数的执行顺序为: 先执行__A___,再执行__B___,后执行__C___。 A 成员对象的构造函数 B 基类的构造函数 C 派生类本身的构造函数 9、局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用__A___提供对全局变量的访问。 A 域运算符 B 类运算符 C 重载 D 引用 10、一个__C___允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。 A 函数模板 B 模板函数 C 类模板 D 模板类 11、系统在调用重载函数时,往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是___D__。 A 参数个数 B 参数的类型 C 函数名称D函数的类型 12、如果一个类至少有一个纯虚函数,那么就称该类为__A___。 A 抽象类 B 虚基类 C 派生类 D 以上都不对 13、进行文件操作时需要包含__B___文件。 A iostream B fstream C stdio.h D stdliB、h 14、在C++中,打开一个文件,就是将这个文件与一个__B___建立关联;关闭一

高中数学选择填空题专项训练

综合小测1 一、选择题 1.函数y =2x +1的图象是 2.△ABC 中,cos A = 135,sin B =53 ,则cos C 的值为 A. 65 56 B.-6556 C.-6516 D. 65 16 3.过点(1,3)作直线l ,若l 经过点(a ,0)和(0,b ),且a ,b ∈N*,则可作出的l 的条数为 B.2 D.多于3 4.函数f (x )=log a x (a >0且a ≠1)对任意正实数x ,y 都有 (x ·y )=f (x )·f (y ) (x ·y )=f (x )+f (y ) (x +y )=f (x )·f (y ) (x +y )=f (x )+f (y ) 5.已知二面角α—l —β的大小为60°,b 和c 是两条异面直线,则在下列四个条件中,能使b 和c 所成的角为60°的是 ∥α,c ∥β ∥α,c ⊥β ⊥α,c ⊥β ⊥α,c ∥β 6.一个等差数列共n 项,其和为90,这个数列的前10项的和为25,后10项的和为75,则项数n 为 ( ) B.16 7.某城市的街道如图,某人要从A 地前往B 地,则路程最短的走法有 种 种 种 种 8.若a ,b 是异面直线,a ?α,b ?β,α∩β=l ,则下列命题中是真命题的为 与a 、b 分别相交 与a 、b 都不相交 至多与a 、b 中的一条相交 至少与a 、b 中的一条相交

9.设F 1,F 2是双曲线4 2 x -y 2=1的两个焦点,点P 在双曲线上,且1 PF ·2PF =0,则|1 PF |·|2PF |的值等于 B.22 (x )=(1+2x )m +(1+3x )n (m ,n ∈N*)的展开式中x 的系数为13,则x 2的系数为 B.40 或40 或80 11.从装有4粒大小、形状相同,颜色不同的玻璃球的瓶中,随意一次倒出若干粒玻璃球(至少一粒),则倒出奇数粒玻璃球的概率比倒出偶数粒玻璃球的概率 A.小 B.大 C.相等 D.大小不能确定 12.如右图,A 、B 、C 、D 是某煤矿的四个采煤点,l 是公路,图中所标线段为道路,ABQP 、BCRQ 、CDSR 近似于正方形.已知A 、B 、C 、D 四个采煤点每天的采煤量之比约为5∶1∶2∶3,运煤的费用与运煤的路程、所运煤的重量都成正比.现要从P 、Q 、R 、S 中选出一处设立一个运煤中转站,使四个采煤点的煤运到中转站的费用最少,则地点应选在 点 点 点 点 题号 1 2 3 4 5 6 7 8 9 10 11 答案 二、填空题 13.抛物线y 2=2x 上到直线x -y +3=0距离最短的点的坐标为_________. 14.一个长方体共一顶点的三个面的面积分别是2,3,6,这个长方体对角线的长是_________. 15.设定义在R 上的偶函数f (x )满足f (x +1)+f (x )=1,且当x ∈[1,2]时,f (x )=2-x ,则f =_________.

相关文档