结构推理 最简单的C程序设计
   1.实验目的
   ①掌握C语言中使用最多的一种语句——赋值语句的使用方法。
   ②掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
   2.实验内容和步骤
   掌握各种格式转换符的正确使用方法。
   ①输入程序
   main()
   {int a,b;
   float d,e;
   char c1,c2;
   double f,g;
   longm,n;
   unsigned int p,q;
   a=16;b=62;
   c1='a';c2='b';
   d=3.56;e=-6.87;
   f=3157.890121;g=0.123456789;
   m=50000:n=-60000;
   p=32768;q=40000;
   printf("a=/%d,b=/%d\nc1=/%c,c2=/%c\nd=/%6.2f,e=/%6.2f\n",a,b,c1,c2,d,e);
   printf("f=/%15.6f,g=/%15.12f\nm=/%1d,n=/%ld\np=/%u,q=/%u\n",f,g,m,n,p,q);
   }
   ②运行此程序并分析结果。
   ③在此基础上,修改程序的第8~13行。
   a=b1;b=b2;
   c1=a;c2=b;
   f=3157.890121;g=0.123456789;
   d=f;  e=g;
   p=a=m=50000;q=b=n=-60000;
   运行程序,分析结果。
   ④改用scanf函数输入数据而不用赋值语句,scanf函数如下。
   scanf("/%d,/%d,/%c,/%c,/%f,/%f,/%lf,/%lf,/%ld,/%ld,/%u,/%u"
   &a,&b,&c1,&c2,&d,&e,&f'&g,&m,&n,&p,&q);
   输入的数据如下。
   61,62,a,b,3.56,-6.87,3157.890121,0.123456789,50000,-60000,37678,40000
   (说明:ld格式符用于输入long型数据)分析运行结果。
   ⑤在上面的基础上将printf语句改为
   printf("a=/%d,b=/%dknc1=/%c,c2=/%c\nd=/%15.6f,e=/%15.12f\n",a,b,c1,c2,d,e);
   printf("f=/%f,g=/%f\nm=/%d,n=/%d,p=/%d,q=/%d\n",f,g,m,n,p,q);
   运行程序。
   ⑥将p、q改用/%o格式符输出。
   ⑦将scanf函数中的/%lf和/%ld改为/%f和/%d,运行程序并观察分析结果。
   3编写程序
   ①有下面的程序
   main()
   {
   int a;
   float b,c;
   scanf("/%2d/%3f/%4t",&a,&b,&c);
   printf("\na=/%d,b=/%f,c=/%f\n",a,b,c);
   }
   若从键盘上输入9876543210并回车,则程序的输出结果是______。
   ②下面程序的输出结果是______。
   main()
   {int x=5,y=3;
   printf("/%d\n",y=x/y);
   }
   ③以下程序的输出结果是______。
   main()
   {
   int a=2,b=5;
   printf("a=/%/%d,b=/%/%d\n",a,b);
   }
   ④以下程序的输出结果是______。
   #include"stdio.h"
   main()
   {
   double x=123.123789;
   printf("/%8.6f,/%8.3f,/%14.8f\n",x,x,x);
   }
   ⑤以下printf语句中的"-"的作用是______,该程序的输出结果是______。
   #include<stdio.h>
   main()
   { int x=12;
   double a=3.1415926;
   printf("/%6d##\n",x);
   printf("/%-6d##\n",x);
   printf("/%14.10f##\n",a);
   printf("/%-14.10f##\n",a);
   }
   ⑥以下程序的输出结果是______。
   #include<stdio.h>
   main()
   {int a=325;
   double x=3.1415926;
   printf("a=/%+0.6d  x=/%+e\n",a,x);
   }
   ⑦编写程序,让用户输入两个整数,输出它们的商和余数。
   ⑧编程:设圆半径r=1.5,求圆周长、圆面积。用scanf输入数据,输出计算结果,输出开寸要求有文字说明,取小数点后2位数字。
   ⑨输入一个华氏温度,要求输出摄氏温度。公式为c=5/9(F-32)。输出要有文字说明,取2位小数。
【正确答案】编写程序
   ①a=98,b=765.000000,c=4321.000000
   ②1
   ③a=/%d,b=/%d
   ④123.123789,123.124,123.12378900
   ⑤输出数据左对齐,
   12##
   12##
   3.1415926000##
   3.1415926000  ##
   ⑥a=+00325    x=+3.14159e00
   ⑦main()
   {int a,b,c,d;
   scanf("/%d/%d",&a,&b);
   c=a/b;
   d=a/%b;
   printf("/%d与/%d的商是:/%d\n",a,b,c);
   printf("/%d与/%d的余数是:/%d\n",a,b,d);
   }
   (8)main()
   {
   float pi,r,l,s;
   pi=3.1415926;
   r=1.5;
   1=2*pi*r;
   s=r*r*pi;
   printf("圆周长为:1=/%.2f\n",1);
   printf("圆面积为:s=/%.2f\n",s);
       }
   ⑨main()
   {
   float c,f;
   printf("请输入一个华氏温度:\n");
   scanf("/%f",&f);
   c=(5.0/9.0)*(f-32);
   printf("摄氏温度为:/%.2f\n",c);
   }
【答案解析】