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);
}
下期见咯,拜拜~~~