3.11 上机实践

1.C51程序的注释有哪几种方式?

2.若有以下定义,编写程序计算表达式y+=y-=m*=y的值。


int m=5,y=2;


3.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,编写程序,计算表达式ch=‘a’+‘8’-‘3’的值。

4.若有定义:int x=3,y=2;float a=2.5,b=3.5,编写程序计算表达式(x+y)%2+(int)a/(int)b的值。

5.已知int a=0,b=0,c=0;求c=(a-=a-5),(a=b,b+3);表达式中变量c的结果。

6.以下程序是否能够通过编译?如果不能通过编译,请说明错误原因,并修改程序使其能正常编译,修改后程序的运行结果要求能输出a、b、c的值。


01:#include<stdio.h>

02:

03:void testResult();

04:

05:void main()

06:{

07:int a;

08:

09:a=12;

10:testResult();

11:}

12:

13:void testResult()

14:{

15:int b,c;

16:b=2*a;

17:a=200;

18:c=a/2;

19:

20:printf(“a=%d\n”,a);

21:printf(“b=%d\n”,b);

22:printf(“c=%d\n”,c);

23:}


提示从变量作用域方面进行思考。

7.已知“int x=1,y=0,z=1;”,编写程序求通过表达式“!y||++x&&&&++z”计算后x、y、z的值。

8.写出以下程序的运行结果,然后将该程序输入到KeilµVision3中进行编译调试,验证运行的结果是否与之前分析的结果相同。


01:#include<stdio.h>

02:

03:void main()

04:{

05:int a,b,c;

06:a=12;

07:b=3;

08:c=0;

09:c=a||b||c;

10:printf(“c=%d\n”,c);

11:}