我的主力博客:半亩方塘
简单的 C 程序设计
1、#include "stdio.h"
—— 在当前目录和 TC 指定的目录中找该文件
#include <stdio.h>
—— 在 TC 指定的目录中找该文件
2、关于复合语句
#include <stdio.h>
int main()
{
int a = 0;
{
int a = 1;
printf("In: a = %d\n", a);
}
printf("Out: a = %d\n", a);
return 0;
}
输出结果为:
a = 1
a = 0
3、printf
格式控制
float f1 = 100.15799, f2 = 12.55, f3 = 1.7;
int n1 = 123, n2 = 45, n3 = 6;
printf("%5.2f\n%6.1f\n%3.0f\n", f1, f2, f3);
printf("%5d\n%6d\n%3d\n\n", n1, n2, n3);
结果为:
100.16
12.6
2
123
45
6
4、scanf
格式控制
*
—— 抑制字符,本输入项在读入后不赋给相应的变量
#include <stdio.h>
main()
{
int a, b;
printf("Please input a and b: ");
scanf("%2d%*2d%2d", &a, &b);
printf("a=%d, b=%d, a+b=%d\n",a,b,a+b);
}
结果为:
Please input a and b: 12345a
a=12, b=5, a+b=17
5、格式化输入需要 屏蔽换行符 的情形
#include <stdio.h>
int main()
{
int a;
char b;
float c;
printf("Please input an integer:");
scanf("%d", &a);
printf("integer: %d\n", a);
printf("Please input a character:");
scanf("%ls", &b); // 如果是 scanf("%c", &b); 则得不到希望的结果
printf("character: %c\n", b);
printf("Please input a float number:");
scanf("%f", &c);
printf("float: %f\n", c);
return 0;
}
还有两种方法可以屏蔽换行符:
scanf(" %c", &b); // 在 %c 的前面加上一个空格
scanf("%*c%c", &b); // 在 %c 的前面加上 %*c 抑制一个空格字符