错题集

错题集
1、
设int a=0,b=5;执行表达式++a||++b,a+b后,a,b和表达式的值分别是( )
A: 1,5,7
B: 1,6,7
C: 1,5,6
D: 0,5,7
我的答案:A
正确答案:C
解析:运算符的级别高低,逗号的意义。
2、若希望当A的值为奇数时,表达式的值为”真”,A的值为偶数时,表达式的值为”假”,则以下不能满足要求的表达式是( )。
A: A%2= =1
B: !(A%2==0)
C: !(A%2)
D: A%2
我的答案:D
正确答案:C
解析:看清题目,当分别是奇和偶时,是判断表达式的值。
3、已知 int x=10, y=20, z=30; 以下语句执行后x, y, z的值是( )。
if(x>y)
z=x;x=y;y=z;
A: x=10,y=20,z=30 
B: x=20,y=30,z=30
C: x=20,y=30,z=10 
D: x=20,y=30,z=20
我的答案:A
正确答案:B
注意:if后面的语句没有{}时,只算第一个;前的部分。
4、int a=5,p;p=&a;则p的值为5.
我的答案:Y
正确答案:N
注意:此时p表示的是地址,而不是值。
5、若有定义int a[]={10,20,30,40}, p=a;,当执行p++;后,输出(++p)的值为( )。
A: 10
B: 20
C: 30
D: 40
我的答案:B
正确答案:C
注意:在执行
(++p)之前已经进行了p++。
6、已有函数max(a,b),为了使函数指针变量p指向函数max,则下面选项中赋值方法正确的是( )。
A: p=max
B: *p=max
C: p=max(a, b)
D: *p=max(a, b )
我的答案:D
正确答案:A
注意:赋值时只需要应用函数名就行,然后不需要用指针。
7、若有以下定义和语句,则对a数组元素地址的正确引用为________________。
int a[2][3], (*p)[3];
p=a;
A: *(p+2)
B: p[2]
C: (p[1]+1)
D: (p+1)+2
我的答案:A
正确答案:C
注意:要引用地址,所以BD排除,然后AC,因为数组要用【】表示,所以选C
8、若有说明:int
p1,*p2,m=5,n;以下程序段正确的是( )
A: p1=&m;p2=&p1
B: p1=&n;scanf("%d",*p1)
C: scanf("%d",n); *p1=n
D: p1=&n; *p1=m
我的答案: B
正确答案:D
注意:A;因为p1,p2都是指针,所以A错,B;只能用地址,不能是地址值;C:n应该改为&n;
9、p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是( )
A: c=*p1+*p2
B: p2=c
C: p1=p2
D: c=p1(*p2)
标准答案:B 您的答案:A
注意: 两个类型不同,字符变量不能付给字符串变量,所以选B
10、若有以下定义,则说法错误的是( )。
int a=100,p=&a ;
A: 声明变量p,其中
表示p是一个指针变量
B: 变量p经初始化,获得变量a的地址
C: 变量p只可以指向一个整形变量
D: 变量p的值为100
标准答案:D 您的答案:B
注意:P的值应该是表示地址值
11、设有以下定义:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*prt)[3]=a,*p=a[0];
则下列能够正确表达数组元素a[1][2]的表达式是( )。
A: *((*prt+1))
B: ((p+5))
C: (*prt+1)+2
D: ((a+1)+2)
标准答案:D 您的答案:B
注意:a[1][2]表示6,A表示2,B运行错误,C表示1244964,所以选D
12、若有以下定义和赋值语句,则对b数组的第i行第j列(假设i,j已正确说明并赋值)元素的非法引用为______________。
int b[2][3]={0}, (*p)[3];
p=b;
A: ((p+i)+j)
B: (p[i]+j)
C: (p+i)+j
D: (
(p+i))[j]
标准答案:C 您的答案:D
注意:c选项表示地址值,所以不合法
13、若有以下定义,则数值不为3的表达式是__________。
int x[10]={0,1,2,3,4,5,6,7,8,9},p1;
A: x[3]
B: p1=x+3,p1++
C: p1=x+2,
(p1++)
D: p1=x+2,
++p1
标准答案:C 您的答案:A
注意: ABD选项都为3,C选项的值为 2
14、若有以下定义和语句:
int a[]={l,2,3,4,5,6,7,8,9,10},p=a;
则值为3的表达式是_________.
A: p+=2,
(p++)
B: p+=2,


  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值