C语言正确的输入格式和输入方式

1-1 C 语言表达式的正确书写方法

C 表达式是由 C 语言的常量、变量和运算符组成,它的书写格式与数学表达式有较大
不同 ,例如:
1 )数学表达式为: z=2xyz C 语言表达式则为: z=2*x*y*z
2 )数学表达式为: z=(x+y) 2 C 语言表达式可写为: z=(x+y)*(x+y)
3 )数学表达式为: area =  根号下{ s s -   a) s -   b) s -   c)}   C 语言表达式则为:
area=sqrt(s*(s-a)*(s-b)*(s-c)) ,其中 sqrt 为求平方根函数

1-2 输入输出函数printf和scanf的使用注意事项

1 printf scanf 函数的格式
printf scanf 函数的使用格式为:
printf (格式控制,变量表列)
scanf (格式控制,地址表列)
两者第一个参数都是格式控制,而第二个参数是不同的。 printf 函数的第二个参数是变
量表列,而 scanf 函数的第二个参数为“地址表列”,是由若干个地址组成的表列,可以是
变量的地址,或字符串的首地址。这点与 printf 函数不同,也与其他高级语言都有所不同,
初学者使用 scanf 函数的时候一定要注意。例:
main( )
 {
    int a,b,c;
    scanf(“%d%d%d”, &a, &b, &c);
    printf(“%d,%d,%d\n”, a, b, c);
}
第四行千万不能写成:scanf(“%d%d%d”, a, b, c);
2 scanf 函数的数据输入格式
上例中 “%d%d%d”表示按十进制整数形式输入数据 。通过键盘输入数据时,在两个数 据之间可以一个或多个空格间隔,也可以使用回车键、跳格键tab 。但是不能使用逗号作为 分隔符,这是初学 C 语言者容易犯的一个错误。
如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时必须输入与这些字符相同的字符。例如
1 )如果输入格式为“ %d, %d, %d ”,则合法输入为: 3, 4, 5
2 )如果输入格式为“ %d; %d; %d ”,则合法输入为: 3; 4; 5
3 )如果输入格式为“ %d: %d: %d ”,则合法输入为: 3: 4: 5

1-3 接下来让我们做三道题练练吧(要自己做完才看答案哦,也算是等级考试的类型题辣)

(小编在这里悄悄的说一声,也是 四川轻化工大学的机房实验题哦,有轻化工的青柠们看到就赚了哦,哈哈哈~~~~)
 

1、程序改错题。

定义 2 个整型变量 x y ,计算并输出它们平均值 average ,即 average=(x+y)/2 。程序为:
#include<stdio.h>
void main( ) 
{ 
  short int x, y; 
  float average; 
  /**********found**********/ 
  scanf("%d%d", x, y); 
  /**********found**********/ 
  average =x+y/2; //求平均值
  /**********found**********/ 
  printf("average=%d\n", average);
 }

2、设计程序。

从键盘输入半径,计算并输出圆的周长和面积。
要求: 1 )上述程序文件名 E2-2.C 的文件,存放在 E 盘根目录下;
2 )圆周率要用符号常量表示。(设圆周率的值为 3.1415926 );
3 )输入使用 scanf 函数,输出使用 printf 函数。

3、设计程序。

已知银行定期存款计算方法为: deposit=capital*(1+rate) n ,其中 n 为存款年数, capital
为存款本金, rate 为年利率, deposit n 年后的本利之和。编程实现求年利率为 2.95% 的情
况下, 10 万元本金,存款 2 年后的本利之和。
要求: 1 )上述程序文件名 E2-3.C 的文件,存放在 E 盘根目录下;
2 )年利率 rate 、存款期 n 和存款本金 capital 均由键盘输入。

下面是答案哦

 第一题

#include<stdio.h>
void main(){
 short int x,y;
 float average;
/******found******/
scanf("%hd%hd",&x,&y);
/*因为要scanf的参数是地址,而非变量名*/
/******found******/
average=(x+y)/2.0;
/*
整型与整形做运算答案也是整形
所以需要转换为浮点型的话需要除以2.0或者改为
average=(float)(x+y)/2;
average=(x+y)/2.0;
*/
/******found******/
printf("average=%f\n",average);
/*
average的类型为float
而printf打印float数据类型需要使用%f而非%d
*/
}

 第2题

#include<stdio.h>
#define PI 3.1415926
void main()
{
  float r,s,c;
  scanf("%f",&r);
  s=r*r*PI;
  c=2*r*PI;
  printf("周长:%f\n面积%f\",c,s);
}

 第3题

#include<stdio.h>
#include<math.h>
void main()
{
  float deposit,capital,rate;
  int n;
  printf("请输入年利率(请输入小数),本金,存款年限\n");
  scanf("%f%f%d",&rate,&capital,&n);
  deposit=capital*pow(1+rate,n);
  printf("存款%d年后的本利之和:%f\n",n,deposit);
}

 下期见咯,拜拜~~~

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值