有四组对指针变量进行操作的语句,以下判断正确的选项是() (1) int *p,*q; q=p; int a,*p,*q; p=q=&a; (2) int a,*p,*q; q=&a; p=*q; int a=20,*p; *p=a; (3) int a=b=0,*p; p=&a; b=*p; int a=20,*p,*q=&a; *p=*q; (4) int a=20,*p,*q=&a; p=q; int p,*q; q=&p;
A.正确:(1) 不正确:(2)(3)(4)
B.正确:(1)(4) 不正确:(2)(3)
C.正确:(3) 不正确:(1)(2)(4)
D.以上结论都不正确
第1题:
设有定义int n=0,*p=&n,**q=&p;,则下列选项中正确的赋值语句是
A.p=1;
B.*q=2;
C.q=p;
D.*p=5;
第2题:
若有一些定义和语句 #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=va;
D.*p=*w;
第3题:
A.int p, *q; q=&p;
B.int *p, *q; q=p=NULL;
C.int a=5, *p; *p=a;
D.int a=5, *p=&a, *q=&a; *p=*q;"
第4题:
设有定义:int n=0,*p=&n,**q=&p;,则以下选项中,正确的赋值语句是 ______。
A.p=1;
B.*q=2
C.q=p
D.*p=5
第5题:
有以下程序 #include<stdio.h> void f(int *p,int *q); main() { int m=1,n=2,*r=&m; f(r, &n); printf("%d,%d",m,n); } void f(int*p,int*q) {p=p+1; *q=*q+1;) 程序运行后的输出结果是______。
A.1,3
B.2,3
C.1,4
D.1,2
第6题:
设有以下程序段: int a[5]={0},*p,*q; p=a; q=a; 则下列选项中,合法的运算是
A.p*q
B.p-q
C.p*q
D.p%q
第7题:
下面程序的运行结果是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);}
第8题:
若有以下定义和语句 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;
第9题:
若有一些定义和语句 #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;
第10题:
设有以下程序段; int a[5]={0},*p,*q; p=a;q=a;则合法的运算是______。
A.p+q
B.p-q
C.p*q
D.p%q
第11题:
下列哪个式子不能表达“p是q的倍数”?()
第12题:
0 9
0 0
9 0
9 9
第13题:
若有定义语句:"int a[4][10],*P,*q[4];"且0≤i<4,则错误的赋值是( )。
A.D=a
B.q[i]=a[i]
C.p=a[l]
D.P=&a[2][1]
第14题:
设有以下程序段:
int a[5]={0},*p,*q;
p=a;
q=a;
则下列选项目,合法的运算是
A.p+q;
B.p-q
C.p*q
D.p%q
第15题:
设程序如下: #include<iostream> using namespace std; int main() { int **p,*q,r=10; q=&r; p=&q; cout<<**p+1<<end1; return 0; } 以上程序的输出结果是( )
A. p的地址
B. r的地址
C.11
D.运行错误
第16题:
若有以下定义和语句: #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;
第17题:
有以下程序
include<stdio.h>
int*f(int*p,int*q);
main( )
{int m=1,n=2,*r=&m;
r=f(r,&n);printf(”%d\n”,*r);
}
int-f(int*P,int*q)
(return(*p>*q)?p:q;)
程序运行后的输出结果是______。
第18题:
若有以下定义和语句 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;
第19题:
以下程序的输出结果是include "stdio.h"int *f(int *x,int *y){ 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);}
第20题:
设有以下程序段:int a[5]={0),*p,*q;p=a;q=a;则下列选项中,合法的运算是( )。
A.p+q
B.p-q
C.p*q
D.p%q
第21题:
下列哪个式子不能表达“p是q的倍数”?()
A.p Mod q=0
B.p/q=p\q
C.Int(p/q)=p/q
D.Int(p/q)=Mod(p/q)
第22题:
以下对指针变量进行操作的语句,正确的选项是()
第23题:
#include <stdio.h>
void swap(int *p, int *q)
{
int *t;
*t = *p;
*p = *q;
*q = *t;
}
main()
{
int i=10, j=20,*a=&i,*b=&j;
swap(a,b);
printf(i=%d j=%d,i,j);
}
#include <stdio.h>
void swap(int *p, int *q)
{
int t;
t = *p;
*p = *q;
*q = t;
}
main()
{
int i=10,j=20,*a=&i,*b=&j;
swap(a,b);
printf(i=%d j=%d,i,j);
}
#include <stdio.h>
#include <stdlib.h>
void swap(int *p, int *q)
{
int *t;
t = (int *)malloc(sizeof(int));
*t = *p;
*p = *q;
*q = *t;
free(t);
}
main()
{
int i=10,j=20;
swap(&i,&j);
printf(i=%d j=%d,i,j);
}
#include <stdio.h>
void swap( int *p, int *q)
{
int t;
t = *p;
*p = *q;
*q = t;
}
main()
{
int i=10,j=20,*x=&i,*y=&j;
swap(x,y);
printf(i=%d j=%d,i,j);
}
第24题:
1,3
2,3
1,4
1,2