c语言选择题,要过程,详细

c语言选择题,要过程,详细,第1张

第一题:D

第一次s+=a++就是s=s+(a++)=0+5=5,然后a自加1变为6,第二个 s+=a++就变成了s=5+6=11,a自加过后变成了7;

第二题:B

do while循环最少都要执行一次循环,先执行do里面的循环体,所以x--=23,x=22,!x=0,退出循环

第三题:D

进入for循环,x=10,i=0,x>8为真,执行循环体,x--=10,y=10,此时x=9,然后回去执行y=++i之后,y=1 i=1,继续回到for循环的开始,i=1,x=9,x>8为真,进入循环体,x--=9,y=1,此时x=8,回去y=++i,y=2,i=2,继续回到for循环的开始,i=2,x=8,x>8为假,退出循环。

第四题:A

“<”“>”属于是逻辑运算,运算出来的值只能是0或1,a=1b=2c=2,先判定while循环的条件语句,(a<b<c)从左往右运算,a<b为真,表达式的值为1,然后1<c为真,整个条件语句就为真,进入循环体,(t=aa=bb=t就是做a与b值的交换)此时a=2,b=1,c--=2,c=1;回到条件判定,a<b为假,表达是的值为0,然后0<c为真,整个条件表达式为真,执行循环体中的语句过后,a=1,b=2,c--=1,c=0,回到条件判定,a<b为真,表达式的值为1,然后1<c为假,整个条件语句就为假,退出while循环,打印出最后a b c的值。

应该选B。

程序结果:

解析:

*p 表示p是一个储存地址的变量

在这个程序中当运行完p=a时,*p为"1",*p++也为"1"

*p++和*(p++)相同

printf的运行顺序是从左到右

*p++是把*p存储的地址+1,而p的存储地址是数组的第一个,所以相当于把p的指针往后移一位,也就是说把p指向的数组的位置往后移一位。所以就是321


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11143656.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存