C语言程序设计江宝钏著实验2答案.docVIP

  • 55
  • 0
  • 约4.56千字
  • 约 7页
  • 2017-04-12 发布于四川
  • 举报
C语言程序设计江宝钏著实验2答案

2.5 实验二 编写几个简单的C程序 一、实验目的与要求 掌握C语言基本数据类型的概念,理解数据类型与运算的关系。 掌握简单变量的定义,算术表达式和赋值表达式的使用。 掌握基本输出语句的使用。 进一步熟悉C程序的编辑、编译、连接和运行的过程。 掌握简单C程序查错方法,编写几个简单程序。 实验4学时 二、实验内容 1.程序验证或填空 (1) 编译和运行下面程序,查看执行的结果: #includestdio.h int main(void) { int si=-1; float f=5; double df=3; printf(si = %d, f = %f, df = %lf\n, si,f,df); return 0; } 若把输出语句中的格式控制中的格式说明符的顺序改变一下,会有什么结果? 再把%lf修改为%f,运行会有什么结果? Si=-1,f=5.00000,df=3.000000 当顺序变为printf(si = %f, f = %lf, f = %d\n, si,f,df);时 结果为 si=-0.000000 f=0.000000 df=1074266112 当把%lf修改为%f时 即 printf(si = %f, f = %f, f = %d\n, si,f,df); 结果为 si=-0.000000 f=0.000000 df=1074266112 (2)分析程序,并上机运行验证运行结果 #include “stdio.h” void main( ) { printf(“\t*\n”); printf(“\t\b* * *\n”); printf(“\t\b\b * * * * *\n”); } Tab * 换行 Tab 取消tab * * * 换行 Tab 取消tab 退格 * * * * * 换行 (3) 运行程序,并分析结果。 #include “stdio.h” void main( ) { int a=10,x=5,y=6; a+=a*=6; x=y++; y=++x?; a=x+++y?; printf(“%d,%d,%d\n”,a,x,y); } 14,8,7 以下绿色部分为对结果的分析 #include “stdio.h” void main( ) { int a=10,x=5,y=6; a+=a*=6; \\此步对结果无影响\\ x=y++; \\x=y y=y+1 此时x=6,y=7\\ y=++x?; \\x=x+1 y=x 此时 x=7 y=7\\ a=x+++y?; \\a=x+y x=x+1 此时 x=8 y=7 a=14\\ printf(“%d,%d,%d\n”,a,x,y); } (4)不用第3个变量,实现将二个数进行对调,请填空。 #include “stdio.h” void main( ) { int a,b?; scanf(“%d%d”,a,b); printf(“a=%d b=%d\n”,a,b); a=a+b ; b=a-b ; a=a-b ; printf(“a=%d b=%d\n”,a,b); } 2.程序改错 改正下面程序中的多处错误。计算某个数x的平方y,并分别以“y = x*x”和“x*x = y”的形式输出x和y的值。x的值由键盘输入。 输出示例(假设x的值为3): 9 = 3*3 3*3 = 9 源程序(有错误的程序) #includestdi0.h int main(void) { int y; y = x*x; printf(%d = %d * %d,x); /* 输出 printf(d * %d = %d, y); } 答 #includestdio.h int main(void) { int x,y; scanf(%d,x); y = x*x; printf(%d = %d * %d,y,x,x); printf(%d * %d = %d, x,x,y); return 0; } 3

文档评论(0)

1亿VIP精品文档

相关文档