计算机二级

有以下程序include <stcli0.h>main( ){ int a,b,k,m,*p1,*p2; k=1,m=8; p1=&k,p2=&am有以下程序#include <stcli0.h>main( ){ int a,b,k,m,*p1,*p2;k=1,m=8;p1=&k,p2=&m;a=/*p1 -m; b=*p1+*p2+6;printf(”%d ”,a); printf(”%d\n”b);}编译时编译器提示错误信息,你认为出错的语句是A) a=/*p1- m;B)b=*p1+*p2+6;C)

题目
有以下程序include <stcli0.h>main( ){ int a,b,k,m,*p1,*p2; k=1,m=8; p1=&k,p2=&am

有以下程序

#include <stcli0.h>

main( )

{ int a,b,k,m,*p1,*p2;

k=1,m=8;

p1=&k,p2=&m;

a=/*p1 -m; b=*p1+*p2+6;

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

}

编译时编译器提示错误信息,你认为出错的语句是

A) a=/*p1- m;

B)b=*p1+*p2+6;

C)k=1,m=8;

D)p1=&k, p2=&m;

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序段执行后,a的值是()。 int a,k=4,m=6,*p1=&k,*p2=&m; a=p1==p2; printf("%dn",a);

A.0

B.1

C.4

D.6


0

第2题:

9、执行以下程序后,a的值为 main() { int a,b,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; b=(-*p1)/(*p2)+7; printf(“a=%dn”,a); printf(“b=%d”,b); }

A.-1

B.1

C.0

D.4


0

第3题:

执行以下程序后,a的值为【 】。 main() {int a,b,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; b=(-*p1)/(*p2)+7; printf("a=%d,b=%dn",a,b); }

A.-1

B.1

C.0

D.4


C

第4题:

阅读以下程序,其运行结果是_____________ #include <stdio.h> func(int a,int b) { static int m=0,i=2; i+=m+1; m=i+a+b; return(m); } int main() { int k=4,m=1,p1,p2; p1=func(k,m); p2=func(k,m); printf("%d,%dn",p1,p2); }


YES

第5题:

执行以下程序后,a的值为 main() { int a,b,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; b=(-*p1)/(*p2)+7; printf(“a=%dn”,a); printf(“b=%d”,b); }

A.-1

B.1

C.0

D.4


C

第6题:

执行以下程序后,a,b的值分别为 main() { in a,b,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; b=(*p1)/(*p2)+7; printf("a=%d\n",a); printf("b=%d\n",b);}

A.-1,5

B.1,6

C.0,7

D.4,10


正确答案:C
解析:inta,b,k=4,m=6,*p1=&k,*p2=&m;声明整型变量a,b,k,m和指针p1,p2,并分别将4和6赋给k和m,将k和m的地址赋给P1和p2;a=p1==&m;等价于a=(p1==&m);将p1是否等于地址m的值(0)赋给变量a,b=(*p1)/(*p2)+7;该句的含义是将后面表达式的的值7赋给变量b。

第7题:

设有以下程序: include using namespace std; int main() {inta,b,k:4,m=6,*p1=&k

设有以下程序:

include<iostream>

using namespace std;

int main()

{

int a,b,k:4,m=6,*p1=&k,*p2=&m;

a=p1==&m;

b=(*p1)/(*p2)+7;

cout<<a<<b<<end1;

return 0;

}

执行该程序后,a的值为【 】,b的值为【 】。


正确答案:0 7
0 7 解析:本题考核的知识点是有关指针的运算。程序中定义了两个指针变量p1和p2,并通过赋初值让它们分别指向了变量k和m。语句“a=p1==&m;”中先执行关系运算符“p1==&m”,显然是0(假),然后把0赋值给a。接着执行语句“b=(*p1)/(*p2)+7”,此处*p1的值就是k的值4,*p2的值就是m的值6,即把“4/6+7”的结果赋给b,b的值为7。

第8题:

执行以下程序后,a,b的值分别为

main()

{ int a,b,k=4,m=6,*p1=&k,*p2=&m;

a=p1==&m;

b=(*p1)/(*p2)+7;

printf("a=%d\n",A.;

printf("b=%d\n",B.;

}

A.-1,5

B.1,6

C.0,7

D.4,10


正确答案:C

第9题:

有以下程序:include<stdio.h>main( ) { int a,b,k,m,*pl,*p2; k=1,m=8; p1=&k,p2=&a

有以下程序:

include<stdio.h>

main( )

{ int a,b,k,m,*pl,*p2;

k=1,m=8;

p1=&k,p2=&m;

a=/*pl-m;b=*p1+*p2+6;

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

}

编译时编译器提示错误信息,你认为出错的语句是( )。

A.a=/*pl-m;

B.b=*p1+*p2+6;

C.k=1,m=8;

D.pl=&k,p2-&m;


正确答案:A

本题考查指针,pl=&k表示P指向k的地址,则*p=k,依次类推,在对指针进行赋值时没有错误。a=/*p+m赋值,在c语言中"/*"表示的注释,所以答案选择A。