发布时间 : 星期六 文章c语言 2012 期末复习题 1到8章更新完毕开始阅读
}
A.51,3 B.34,2 C.17,1 D.前面都不正确
下面程序运行后的输出结果是( )。
int abc(int u,int v); main( )
{ int a=24,b=16, c; c=abc(a, b);
printf(\}
int abc(int u, int v) { int w;
while(v) { w=u%v; u=v; v=w; } return u; }
A.6 B.7 C.8 D.9
第八章 指针
1.选择题
以下程序的输出结果是( )。
void sub(int x,int y,int *z) { *z=y-x; } main()
{ int a,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,3 B.-5,-12,-7 C.-5,-2,-17 D.-5,-2,-7
若有定义:int x,*pb;则以下正确的赋值表达式是( )。
A pb=&x B pb=x C *pb=&x D *pb=*x
以下程序的输出结果是( )。
#include "stdio.h"
main()
{ printf("%d\\n",NULL); }
A.因变量无定义输出不定值 B.0 C.-1 D.1
以下程序的输出结果是( )。
main()
{ int k=2,m=4,n=6;
int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf("%d\\n",n); }
A.4 B.6 C.8 D.10
a[0] a[1] a[2] a[3] a[4]
┌───┬───┬───┬───┬───┐ │ 10 │ 20 │ 30 │ 40 │ 50 │ └───┴───┴───┴───┴───┘
p↑
已知指针p的指向如图所示,则表达式*p++的值是( )。
A.20 B.30 C.21 D.31
已知指针p的指向如图所示,则表达式*++p的值是( )。
A.20 B.30 C.21 D.31
已知指针p的指向如图所示,则表达式++*p的值是( )。
A.20 B.30 C.21 D.31
以下程序的输出结果是( )。
A.23 B.24 C.25 D.26
void prtv(int *x)
{ printf("%d\\n",++*x);} main()
{ int a=25; prtv(&a); }
以下程序的输出结果是( )。
A.运行出错 B.100 C.a的地址 D.b的地址
main()
{ int **k,*a,b=100; a=&b; k=&a;
printf("%d\\n",**k); }
以下程序的输出结果是( )。
A.4,3 B.2,3 C.3,4 D.3,2 void fun(float *a,float *b) { float w; *a=*a+*a;
w=*a;*a=*b;*b=w; } main()
{ float x=2.0, y=3.0; float *px=&x,*py=&y; fun(px,py);
printf("%2.0f,%2.Of\\n",x,y); }
以下程序的输出结果是( )。
A.9.000000 B.1.500000 C.8.000000 D.10.500000 Void sub(float x,float *y,float *z)
{ *y=*y-1.0; *z=*z+x; }
main()
{ float a=2.5,b=9.0,*pa,*pb; pa=&a; pb=&b; sub(b-a,pa,pb);
printf("%f\\n",a);
}
对于定义,char *aa[2]={\,选项中说法正确的是____。 A.aa数组元素的值分别是\和\
B.aa是指针变量,它指向含有两个数组元素的字符型一维数组
C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址
若指针 px为空指针,则 ( )。
A.px指向不定 B.px的值为零 C.px的目标为零 D.px的地址为零
对于语句int *px[10],以下说法正确的是( ) 。 A. px是一个指针,指向一个数组,数组的元素是整数型。 B. px是一个数组,其数组的每一个元素是指向整数的指针。 C. A和B均错,但它是C语言的正确语句。 D. C语言不允许这样的语句。
已知static int a[]={5,4,3,2,1},*p[]={a+3,a+2,a+1,a},**q=p, 则表达式 *(p[0]+1)+**(q+2)的值是( A )。
A.5 B.4 C.6 D.7
已知for(;n>=1;n--),下列语句实现将S2所指字符数组中前n个字符复制到S1所指字符数组中,其中代码不正确的是( D )。
A.*S1++=*S2++ B.S1[n-1]=S2[n-1]
C.*(S1+n-1)=*(S2+n-1) D.*(++S1)=*(++S2)