c语言操作第八章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、有以下程序
void fun(char *a, char *b)
{ a=b; (*a)++; }
main()
{ char c1='A',c2='a',*p1,*p2;
p1=&c1; p2=&c2; fun(p1,p2);
printf("%c%c\n",c1,c2);
}
程序运行后的输出结果是______。
A、scanf("%d",a,b,c); B、scanf("%d%d%d",a,b,c); C、scanf("%d",p); D、scanf("%d",&p); 13、以下定义语句中正确的是______。 A、int a=b=0; B、char A=65+1,b='b'; C、float a=1,*b=&a,*c=&b; D、double a=0.0;b=1.1; 14、以下程序的输出结果是______。 #include <stdio.h> void swap(int *a,int *b) { int *t; t=a; a=b; b=t; } main() { int i=3,j=5,*p=&i,*q=&j; swap(p,q); printf("%d %d\n",*p,*q); } 15、设有如下程序 #include<stdio.h> main() {
*p=&n;
printf("Input n:"); scanf("%d",&p); printf("output n:");
printf("%d\n",p);
}
该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正
确的是______。
A、int n , *p=NULL;
B、*p=&n;
9、有以下程序
main()
{ int a=1,b=3,c=5;
int *p1=&a,*p2=&b,*p=&c;
*p=*p1*(*p2);
printf("%d\n",c);
}
执行后的输出结果是______。
A、1
B、2
C、3 D、4
10、有以下程序
#include <stdio.h>
main()
{ int n, *p=NULL;
int **k, *j,i=100; j=&i; k=&j; printf("%d\n",**k); } 上述程序的输出结果是______。 A、运行错误 B、100 C、i的地址 D、j 的地址 16、若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是 ______。 A、pb=&x; B、pb=x; C、*pb=&x; D、*pb=*x 17、请选出以下程序的输出结果______。 #include <stdio.h> sub(int x,int y,int *z) { *z=y-x;}
{ if(*x<*y) return x;
else return y;
} main() { int a=7,b=8,*p,*q,*r;
p=&a; q=&b; r=f(p,q); printf("%d,%d,%d\n",*p,*q,*r); } 执行后输出结果是______。 A、7,8,8 B、7,8,7 C、8,7,7 D、8,7,8 27、若有一些定义和语句 #include <stdio.h> int a=4,b=3,*p,*q,*w; p=&a;q=&b;w=q;q=NULL; 则以下选项中错误的语句是______。 A、*q=0; B、w=p; C、*p=a; D、*p=*w;
px=&x; py=&y; pz=&z; pmax=&max;
______;
if(*pmax<*py) *pmax=*py;
if(*pmax<*pz) *pmax=*pz;
printf("max=%d\n",max); } 12、若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能 正确执行的语句是______。
printf("%d\n",NULL); } A、不确定的(因变量无定义) B、0 C、-1 D、1 19、若有说明:int i,j=7,*p=&i;则与i=j;等价的语句是______。 A、i=*p; B、*p=*&j; C、i=&j; 20、下面程序
void prtv(int *x) { printf("%d\n",++*x); } main() { int a=25;
______。
A、scanf("%d",pa);
B、scanf("%d",a);
C、scanf("%d",&pa); D、scanf("%d",*pa);
4、以下定义语句中正确的是______。
A、char a='A'b='B';
B、float a=b=10.0;
C、int a=10,*b=&a;
D、float *a,b=&a;
5、有以下程序
main()
{ int a=7,b=8,*p,*q,*r;
p=&a;q=&b;
r=p; p=q;q=r;
printf("%d,%d,%d,%d\n",*p,*q,a,b);
}
程序运行后的输出结果是______。
A、8,7,8,7 B、7,8,7,8
C、8,7,7,8 D、7,8,8,7
prtv(&a); } 的输出是______。 A、23 B、24 C、25 D、26 21、下列程序段的输出结果是______。 void fun(int *x,int *y) { printf("%d %d",*x,*y);*x=3;*y=4;} main() { int x=1,y=2;
fun(&y,&x); printf(" %d %d",x,y); } A、2 1 4 3
B、*p=&a; scanf("%f",p);
C、p=&a; scanf("%lf",*p);
ຫໍສະໝຸດ Baidu
D、p=&a; scanf("%lf",p);
8、已定义以下函数
int fun(int *p)
{return *p;}
fun函数返回值是______。
A、不确定的值
B、一个整数
C、形参p中存放的值
D、形参p的地址值
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,-12,-17 D、5,-2,-7 18、以下程序的输出结果是______。 #include<stdio.h> main() {
C、scanf("%d",&p)
D、printf("%d\n",p);
11、以下程序的功能是:利用指针指向三个整型变量,并通过指针运算找出三个
数中的最大值,输出到屏幕上。请填空。
main()
{ int x,y,z,max,*px,*py,*pz,*pmax;
scanf("%d%d%d",&x,&y,&z);
A、Ab B、aa C、Aa D、Bb
2、有以下程序段
main()
{ int a=5,*b,**c;
c=&b; b=&a;
……
}
程序在执行了c=&b;b=&a;语句后,表达式:**c的值是______。
A、变量a的地址 B、变量b中的值
C、变量a中的值 D、变量b的地址
3、设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是
6、设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等
价的是______。
A、*p=*q;
B、p=q;
C、*p=&n1;
D、p=*q;
7、若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程
序段是______。
A、*p=&a; scanf("%lf",p);
B、1 2 1 2 C、1 2 3 4 D、2 1 1 2 22、下列程序的运行结果是______。
void fun(int *a,int *b) { int *k;
k=a;a=b;b=k; } main() { int a=3,b=6,*x=&a,*y=&b;
fun(x,y); printf("%d %d",a,b); } A、6 3 B、3 6 C、编译出错 D、0 0 23、下列程序的输出结果是______。 void fun(int *n) { while((*n)--); printf("%d",++(*n)); } main() { int a=100; fun(&a); } 24、若有说明语句:int a,b,c,*d=&c;则能正确从键盘读入三个整数分别赋给变 量a、b、c的语句是______。 A、scanf("%d%d%d",&a,&b,d); B、scanf("%d%d%d",&a,&b,&d); C、scanf("%d%d%d",a,b,d); D、scanf("%d%d%d",a,b,*d); 25、下面程序的运行结果是______。 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); } 26、有以下程序 int *f(int *x,int *y)
void fun(char *a, char *b)
{ a=b; (*a)++; }
main()
{ char c1='A',c2='a',*p1,*p2;
p1=&c1; p2=&c2; fun(p1,p2);
printf("%c%c\n",c1,c2);
}
程序运行后的输出结果是______。
A、scanf("%d",a,b,c); B、scanf("%d%d%d",a,b,c); C、scanf("%d",p); D、scanf("%d",&p); 13、以下定义语句中正确的是______。 A、int a=b=0; B、char A=65+1,b='b'; C、float a=1,*b=&a,*c=&b; D、double a=0.0;b=1.1; 14、以下程序的输出结果是______。 #include <stdio.h> void swap(int *a,int *b) { int *t; t=a; a=b; b=t; } main() { int i=3,j=5,*p=&i,*q=&j; swap(p,q); printf("%d %d\n",*p,*q); } 15、设有如下程序 #include<stdio.h> main() {
*p=&n;
printf("Input n:"); scanf("%d",&p); printf("output n:");
printf("%d\n",p);
}
该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正
确的是______。
A、int n , *p=NULL;
B、*p=&n;
9、有以下程序
main()
{ int a=1,b=3,c=5;
int *p1=&a,*p2=&b,*p=&c;
*p=*p1*(*p2);
printf("%d\n",c);
}
执行后的输出结果是______。
A、1
B、2
C、3 D、4
10、有以下程序
#include <stdio.h>
main()
{ int n, *p=NULL;
int **k, *j,i=100; j=&i; k=&j; printf("%d\n",**k); } 上述程序的输出结果是______。 A、运行错误 B、100 C、i的地址 D、j 的地址 16、若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是 ______。 A、pb=&x; B、pb=x; C、*pb=&x; D、*pb=*x 17、请选出以下程序的输出结果______。 #include <stdio.h> sub(int x,int y,int *z) { *z=y-x;}
{ if(*x<*y) return x;
else return y;
} main() { int a=7,b=8,*p,*q,*r;
p=&a; q=&b; r=f(p,q); printf("%d,%d,%d\n",*p,*q,*r); } 执行后输出结果是______。 A、7,8,8 B、7,8,7 C、8,7,7 D、8,7,8 27、若有一些定义和语句 #include <stdio.h> int a=4,b=3,*p,*q,*w; p=&a;q=&b;w=q;q=NULL; 则以下选项中错误的语句是______。 A、*q=0; B、w=p; C、*p=a; D、*p=*w;
px=&x; py=&y; pz=&z; pmax=&max;
______;
if(*pmax<*py) *pmax=*py;
if(*pmax<*pz) *pmax=*pz;
printf("max=%d\n",max); } 12、若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能 正确执行的语句是______。
printf("%d\n",NULL); } A、不确定的(因变量无定义) B、0 C、-1 D、1 19、若有说明:int i,j=7,*p=&i;则与i=j;等价的语句是______。 A、i=*p; B、*p=*&j; C、i=&j; 20、下面程序
void prtv(int *x) { printf("%d\n",++*x); } main() { int a=25;
______。
A、scanf("%d",pa);
B、scanf("%d",a);
C、scanf("%d",&pa); D、scanf("%d",*pa);
4、以下定义语句中正确的是______。
A、char a='A'b='B';
B、float a=b=10.0;
C、int a=10,*b=&a;
D、float *a,b=&a;
5、有以下程序
main()
{ int a=7,b=8,*p,*q,*r;
p=&a;q=&b;
r=p; p=q;q=r;
printf("%d,%d,%d,%d\n",*p,*q,a,b);
}
程序运行后的输出结果是______。
A、8,7,8,7 B、7,8,7,8
C、8,7,7,8 D、7,8,8,7
prtv(&a); } 的输出是______。 A、23 B、24 C、25 D、26 21、下列程序段的输出结果是______。 void fun(int *x,int *y) { printf("%d %d",*x,*y);*x=3;*y=4;} main() { int x=1,y=2;
fun(&y,&x); printf(" %d %d",x,y); } A、2 1 4 3
B、*p=&a; scanf("%f",p);
C、p=&a; scanf("%lf",*p);
ຫໍສະໝຸດ Baidu
D、p=&a; scanf("%lf",p);
8、已定义以下函数
int fun(int *p)
{return *p;}
fun函数返回值是______。
A、不确定的值
B、一个整数
C、形参p中存放的值
D、形参p的地址值
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,-12,-17 D、5,-2,-7 18、以下程序的输出结果是______。 #include<stdio.h> main() {
C、scanf("%d",&p)
D、printf("%d\n",p);
11、以下程序的功能是:利用指针指向三个整型变量,并通过指针运算找出三个
数中的最大值,输出到屏幕上。请填空。
main()
{ int x,y,z,max,*px,*py,*pz,*pmax;
scanf("%d%d%d",&x,&y,&z);
A、Ab B、aa C、Aa D、Bb
2、有以下程序段
main()
{ int a=5,*b,**c;
c=&b; b=&a;
……
}
程序在执行了c=&b;b=&a;语句后,表达式:**c的值是______。
A、变量a的地址 B、变量b中的值
C、变量a中的值 D、变量b的地址
3、设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是
6、设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等
价的是______。
A、*p=*q;
B、p=q;
C、*p=&n1;
D、p=*q;
7、若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程
序段是______。
A、*p=&a; scanf("%lf",p);
B、1 2 1 2 C、1 2 3 4 D、2 1 1 2 22、下列程序的运行结果是______。
void fun(int *a,int *b) { int *k;
k=a;a=b;b=k; } main() { int a=3,b=6,*x=&a,*y=&b;
fun(x,y); printf("%d %d",a,b); } A、6 3 B、3 6 C、编译出错 D、0 0 23、下列程序的输出结果是______。 void fun(int *n) { while((*n)--); printf("%d",++(*n)); } main() { int a=100; fun(&a); } 24、若有说明语句:int a,b,c,*d=&c;则能正确从键盘读入三个整数分别赋给变 量a、b、c的语句是______。 A、scanf("%d%d%d",&a,&b,d); B、scanf("%d%d%d",&a,&b,&d); C、scanf("%d%d%d",a,b,d); D、scanf("%d%d%d",a,b,*d); 25、下面程序的运行结果是______。 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); } 26、有以下程序 int *f(int *x,int *y)