《C语言程序设计》(江宝钏著)实验二答案

2.5 实验二 编写几个简单的C程序

一、实验目的与要求

1. 2. 3. 4. 5. 6.

掌握C语言基本数据类型的概念,理解数据类型与运算的关系。 掌握简单变量的定义,算术表达式和赋值表达式的使用。 掌握基本输出语句的使用。

进一步熟悉C程序的编辑、编译、连接和运行的过程。 掌握简单C程序查错方法,编写几个简单程序。 实验4学时

二、实验内容

1.程序验证或填空

(1) 编译和运行下面程序,查看执行的结果:

#include int main(void) {

int si=-1; float f=5; double df=3;

printf(\ return 0; }

若把输出语句中的格式控制中的格式说明符的顺序改变一下,会有什么结果? 再把%lf修改为%f,运行会有什么结果?

Si=-1,f=5.00000,df=3.000000

当顺序变为printf(\时

结果为 si=-0.000000 f=0.000000 df=1074266112

当把%lf修改为%f时 即 printf(\

结果为 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

源程序(有错误的程序)

#include int main(void) {

int y; y = x*x;

printf(\ /* 输出 printf(\}

#include int main(void) {

int x,y;

scanf(\ y = x*x;

printf(\ printf(\

return 0; } 3.一般编程题

编程题1

编写程序,输入二个整数,计算它们的和、差、积、商和余数,并按5+11=16这样的输出格式输出结果。

#include void main() {

int a,b,m,n,p,q,r;

printf(\请输入两个整数:\\n\ scanf(\ m=a+b; n=a-b; p=a*b; q=a/b; r=a%b;

printf(\ printf(\

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4