第八章
若有语句:int i,*p=i; 则均表示变量地址的选项是________。 (A) *p,*p,i (B) i,p,*i (C) *i,i,*p (D) i,p,*p
以下程序的输出结果是________。 #include<stdio.h> void fun(int *p1,int *p2){ int *p; *p=*p1; *p1=*p2; *p2=*p; } void main(){ int x=5,y=8; fun(x,y); printf("%d,%d\n",x,y); } (A) 5,8 (B) 8,5 (C) 程序运行时报错 (D) 程序编译时[1]报错
若有语句:int x=6,*p=x; 则下面正确的表达式是________。 (A) ++x (B) (*p)-- (C) (x+5) (D) p=1000
若有语句:int a[10],*p1=a+8,*p2=a[3]; 则p1-p2的值是________。 (A) 20 (B) 4 (C) 16 (D) 5
以下程序段[2]执行完毕后,变量a和b的值分别是________。 int a=4,b=5,*p1=a,*p2=b; a=2*(*p1%-*p2)+5; b=*p1**p2++; (A) 13,65 (B) -3,-15 (C) -3,-18 (D) 13,78
以下程序段调用scanf函数为变量x赋值,则填入下划线所在位置的错误代码是________。 int x,*p=x; scanf("%d",__________); (A) x (B) *p (C) p (D) *p
若有语句:int a[]={1,3,2,7,3,4},*p=a+3,k; 则变量k的值不等于3的选项是________。 (A) k=(p++,*p++) (B) k=(p-=2,*p--) (C) k=(p--,*--p) (D) k=(p++,*++p)
以下程序段在运行时,若通过键盘输入“2 6 9 7 5”,则输出结果是________。 int a[5],*p,t; for(p=a;p<a+5;p++) scanf("%d",p); for(p=a;p<a+3;p++) {t=*p; *p=*(a+(a+4-p)); *(a+(a+4-p))=t;} for(p=a;p<a+5;p++) printf("%d ",*p); (A) 2 6 9 7 5 (B) 7 5 9 2 6 (C) 5 7 9 6 2 (D) 6 2 7 9 5
若有定义:int a[10],*p=a; 则表示数组元素a[3]的错误选项是________。 (A) *(a+=3) (B) *(p+=3) (C) *(a+3) (D) p[3]
以下程序执行完毕后,变量a和b的值分别是________。 #include<stdio.h> void fun(int *p,int *q){ int *t; if(*p>*q) {t=p; p=q; q=t;} } void main(){ int a=13,b=9; fun(a,b); } (A) 9,13 (B) 13,13 (C) 13,9 (D) 9,9
以下程序输出数组a中的最小值,则下划线所在位置应填入的代码是________。 #include<stdio.h> int findmin(int *p,int n){ int *m,*q=p+n; for(m=p;p<q;p++) if(__________) m=p; return *m; } void main(){ int a[6]={21,17,34,9,12,45}; printf("%d\n",findmin(a,6)); } (A) p<m (B) p>m (C) *p>*m (D) *p<*m
以下说法正确的是________。 (A) 可以将整型常量[3]作为存储单元[4]地址存放到指针变量中。 (B) 指针变量的值是指针。 (C) 可以采用为数组名重新赋值的方法使其指向不同的元素。 (D) 使用地址值作为实参[5]、指针变量作为形参,形参值的改变可以使实参值发生变化。
以下对程序输出结果的判断中,正确的是________。 #include<stdio.h> void fun(int x,int a[50]){ do{ *a++=x%10; x=x/10; printf("%d",*(a-1)); }while(x); } void main(){ int x=6985,a[50]; fun(x,a); } (A) 程序能正常运行,输出结果为5896 (B) 程序编译时报错,因为形参数组名不能进行自增运算 (C) 程序能正常运行,输出结果为6985 (D) 程序能正常运行,输出结果为随机数
若有函数定义:double fun(int a[10]){...},则在对该函数进行原型声明时,错误的声明语句是________。 (A) double fun(int []); (B) double fun(int b[10]); (C) double fun(int a); (D) double fun(int *a);
若有语句:int x,*p=x; 则与该语句等价的语句是________。 (A) int x,*p; *p=x; (B) int x,*p; p=x; (C) int x,*p; *p=x; (D) int x,*p; p=x;
判断题
B 当两个指针变量指向同一数组时,两个指针变量相减的差值即为两个指针变量相隔的字节个数。
A. 如果某个指针变量赋值为0,表示该指针变量不指向任何变量。
[单选题]若有语句:inti,*p=&i;则均表示变量地址的选项是()A . *&p,*p,&iB . i,p,&*iC . *&i,&i,*pD . &i,p,&*
[主观题]若有:int i=1000;int *p=&i;void*q;q=p;其中,q=p的含义是______。
[单选题]若有说明int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是 ( )A.i=*p;B.*p=*&jC.i=&jD.i=* *p;
[单选题]若有说明int i,j=2,*p=&i;则能完成i=j赋值功能的语句是______。A.i=*p;B.*p=*&j;C.i=&若有说明int i,j=2,*p=&i;则能完成i=j赋值功能的语句是______。A.i=*p;B.*p=*&j;C.i=&j;D.i=**p;
[单选题]若有说明int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是 ______。A.i=*p;B.*p=&j;C.i=&am若有说明int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是 ______。A.i=*p;B.*p=&j;C.i=&j;D.i=**p;
第七章练习题选择题7.1.在线性回归模型._(i)=(P)_(1)+(P)_(2)(X)_(i)+(C)_(i)中,._(i)=(P)_(1)+(P)_(2)(
[单选题]若有说明int i,j=2,*p&i;,则能完成i=j赋值功能的语句是______。A.i=*p;B.*p=*&j;C.i=&若有说明int i,j=2,*p&i;,则能完成i=j赋值功能的语句是______。A.i=*p;B.*p=*&j;C.i=&j;D.i=**p;
[单选题]若有下列定义及初始化语句: int i=100; int*p=&i; intk=*ip; 并假设整型数i的地址为0x12345678,指针中的地址为0x21000000,则k的值为( )。A.0x12345678B.0x21000000C.100D.异常
[单选题]若有说明:inti,j=7,*p=&i;则与i=j;等价的语句是()。A . i=*p;B . *p=jC . i=&j;D . i=**p;
[单选题]现有如下定义语句int*p,s[20],i;p=s;表示数组元素s[i]的表达式不正确的是A.*(s+i)B.*(p+i)C.*(s=s+i)D.*(p=p+i)