自增++自减--

一、自增自减定义

 与k=n++;完全等价的表达式是: k=n, n=n+1;

 与k=n--;完全等价的表达式是: k=n, n=n-1;

 与k=++n;完全等价的表达式是: n=n+1,k=n;

 与k=--n;完全等价的表达式是: n=n-1,k=n;

二、例题

1.若有说明和语句:

int a=5;

a++;
此处表达式a++的值是( C )。
(A)7 (B)6 (C)5 (D)4
解析:正确答案:C。这种题,如果问表达式的值就是5,问a的值就是6。

2.以下程序的输出结果是( D )。

main()

{ int a=12,b=12;
printf("%d%d\n",- -a,+ +b);
}
(A) 10 10 (B) 12 12 (C) 11 10 (D) 11 13

解析:同第二题。

3.设有 int x=11; 则表达式 (x++ * 1/3) 的值是( A )。

(A) 3 (B) 4 (C) 11 (D) 12
解析:这里x++是说表达式的值,不是说x的值。

 4.有以下程序

main()
{ int i=10,j=1;
 printf("%d,%d\n",i--,++j);
}
执行后输出结果是( B )。
(A) 9,2 (B) 10,2 (C) 9,1 (D) 10,1

5.有以下程序

main()
{ char a='a',b;
printf("%c,",++a);
printf("%c\n",b=a++);
}
程序运行后的输出结果是( A )。
(A)b,b (B)b,c (C)a,b (D)a,c

 6.数字字符0的ASCII值为48,若有以下程序

main()
{ char a='1',b='2 ';
printf("%c,",b++);
printf("%d\n",b-a);
}
程序运行后的输出结果是( C )。
(A) 3,2 (B)50,2 (C)2,2 (D)2,50

7.有以下程序

main()
{ int m=12,n=34;
printf("%d%d",m++,++n);
printf("%d%d\n",n++,++m);
}
程序运行后的输出结果是( A )。
(A)12353514 (B)12353513 (C)12343514 (D)12343513

例:

 

 

 又:

 

 

 

posted @ 2021-11-01 01:00  iZJ"Qq4577105  阅读(258)  评论(0编辑  收藏  举报