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:}