C语言学习day07:字符串格式化输出和输入

字符串常量:

  • 字符串是内存中一段连续的 char 空间,以’\0’(数字0)结尾。
  • 字符串常量是由双引号括起来的字符序列,如“china”、“Cprogram”,“$12.5”等都是合法的字符串变量

字符串常量与字符常量的不同:

C语言学习day07:字符串格式化输出和输入_第1张图片

每个字符串的结尾,编译器会自动的添加一个结束标志位’0’,即“a”包含两个字符’a和’\0‘

printf函数和 putchar 函数:

printf 是输出一个字符串,putchar 输出一个 char

printf附加格式:

%后加l(字母),表示长整型

代码:

	int a = 10;
	%后加l(字母),表示长整型
	printf("===%ld===\n",a);

结果:

C语言学习day07:字符串格式化输出和输入_第2张图片


占位符%后加-*(数值),表示左对齐,右边空*个值

代码:

占位符%后加-*(数值),表示左对齐,右边空*个值
printf("===%-5d===\n", a);

结果:


占位符%后加*(数值),表示右对齐,左边空*个值

代码:

占位符%后加*(数值),表示右对齐,左边空*个值
printf("===%5d===\n", a);

结果:


占位符%后加0+数值(6),表示一共有数值(6)位,

如果a的位没有6,那么前面会加上 数值(6)-a(的位) 个0

代码

占位符%后加0+数值(6),表示一共有数值(6)位,
如果a的位没有6,那么前面会加上 数值(6)-a(的位) 个0
printf("===%06d===\n", a);

结果:

C语言学习day07:字符串格式化输出和输入_第3张图片


%f占位符:输出float类型字符

%后+7,表示有效位数,和上一个解释一样

.2表示精度,保留两位小数

代码:

float b = 3.1415;
%f占位符:输出float类型字符
%后+7,表示有效位数,和上一个解释一样
.2表示精度,保留两位小数
printf("===%7.2f===\n",b);

结果:

C语言学习day07:字符串格式化输出和输入_第4张图片


附上全部的代码:

int main0201()
{
	int a = 10;
	//%后加l(字母),表示长整型
	printf("===%ld===\n",a);
	//占位符%后加-*(数值),表示左对齐,右边空*个值
	printf("===%-5d===\n", a);
	//占位符%后加*(数值),表示右对齐,左边空*个值
	printf("===%5d===\n", a);
	//占位符%后加0+数值(6),表示一共有数值(6)位,
	//如果a的位没有6,那么前面会加上 数值(6)-a(的位) 个0
	printf("===%06d===\n", a);

	float b = 3.1415;
	//%f占位符:输出float类型字符
	//%后+7,表示有效位数,和上一个解释一样
	//.2表示精度,保留两位小数
	printf("===%7.2f===\n",b);
	return EXIT_SUCCESS;
}

附上全部的结果:

C语言学习day07:字符串格式化输出和输入_第5张图片


putchar函数:

输出字符

可以是变量,字符,数字,转义符

代码:

int main() {
	char ch = 'a';
	printf("%c==\n",ch);
	专门输出字符putchar
	输出字符,可以是变量,字符,数字,转义符
	putchar(ch);
	return 0;
}

结果:

 


getchar函数:

从标准输入设备(键盘等)读取一个char

代码:

int main() {
	char ch;
    只会读取一个字节char
    所以不管输入多少个,都只会读取输入的第一个
	接收键盘获取字符
	ch = getchar();
	putchar(ch);
	return 0;
}

结果:

C语言学习day07:字符串格式化输出和输入_第6张图片

getchar()可以用来停留页面,等用户输入了任意键,再去下个代码


scanf:

这里我们也加一些scanf的知识:

scanf不只可以一次存储一个值,也可以同时存储多个值

代码:

\t=前面的值 的后面相当于加了一个tab

int main0301()
{
	//char ch;
	int a, b;
	//%后+3会进行一个约束,不管输入多少,都只会存储前三个数值
	scanf("%3d%d", &a, &b);
	//可以直接用
	//putchar(ch);
	printf("%d\t%d", a, b);
	return EXIT_SUCCESS;
}

结果:

你可能感兴趣的:(C语言学习,学习)