输入和输出

1、输出

1、一般格式

  • printf(“格式子串”,输出列表)
printf("a=%d",a);
# 格式说明符和普通字符组成,输出参数

# 普通字符原样输出,格式说明符对应数据输出

# 输出参数可以是常量,变量,表达式

2、格式字符

  • 不同的类型的数据的输出

  • d 带符号的十进制整数形式输出整数,正数不输出符号,int

  • o 无符号八进制整数输出(不带有0)

  • x 无符号十六进制整数输出(不带有0x)

  • u 无符号十进制整数形式输出

  • c 以字符形式输出,输出一个字符

  • s 以字符串形式输出,输出字符串的字符至结尾符’\0’为至

#include<stdio.h>
void main()
{
	char *p="hello";  # 定义字符串,指针
	printf("%s\n",p); # p 指针本身就是地址
}

1、f和lf(实型)

  • 小数点后保留6位,多余6位,四舍五入

2、指数标识符(e)

  • 科学计数法

  • e前e后都有数,e后必须是整数

  • 小数点.前面是非0整数

printf("%E",375.67);

# 3.756700 * E +002

# E 前面是8位,小数点站一位,小数点后面为6位,前面为一个整数,E后面有4位,正负号占一位,后面三位,不够前面补0即可

3、格式字符的变化

  • md 右对齐,输出m个宽度数,m大于实际的长度的话,左边补齐空格,大于m的话,正常输出

  • -md就是左对齐,需要补空格的话,右边补齐

  • m.f m代表的是宽度,f代表的是小数点后的精度,m大于实际宽度的时候(小数点算一个宽度),左边补齐空格,如果m小于等于实际宽度的话,正常输出实际值

  • 不管宽度怎么变,先保持小数点后的位数

  • -m.f 左对齐

  • %x 不输出0x,但是带上%#x就输出0x

4、字符输出函数(putchar)

  • 输出一个字符

  • 出错返回EOF

#include<stdio.h>
void main()
{
	char ch = 'a';
	putchar(ch);
	putchar('\n');
	putchar('v');
}

5、输出的特点

  • 有什么就输出什么

  • 多个printf,不会换行,需要\n可以换行

#include<stdio.h>
void main()
{
	int a=7,b=-2;
	printf("%d,%d",a,b); # 输出的时候带有逗号,
	
}


int a = 5
printf("%%d",a)  # 没有赋值,相当于是d,转义了

printf("%%%d",a) # 输出的就是%5

2、输入

1、输入格式

  • scanf(“格式字符串”,&输入地址表)

  • 通过&来获取到地址

#include<stdio.h>
void main()
{
	int a,b;
	scanf("%d,%d",&a,&b); # 输入的时候也要带上,   5,7
	printf("%d,%d",a,b);
}
  • 整数默认情况下,输入的时候,以tab键,空格,回车,但是字符型数据不行,直接敲即可
#include<stdio.h>
void main()
{
	int a,b;
	scanf("%d%d",&a,&b);
	printf("%d,%d",a,b);
}
  • 字符不可以,因为空格,回车,tab键都是有对应的字符,赋值给变量

  • 数字和字符都在连续输入的话,不要有空格,连在一起输入即可

scanf("%d%d%c%d",a,b,c,d)

12 23c 99 # 字符后面可以空格,但是数字后面有字符的话,不能能有空格,空格算一个字符
  • scnaf(“%2d”)
#include<stdio.h>
void main()
{
	int a,b;
	scanf("%2d%4d",&a,&b); # a取2位,b取4位
	printf("%d,%d",a,b);

}

123456789  # 输入
12,3456  # 输出的

  • *4 跳过几位
#include<stdio.h>
void main()
{
	int a,b;
	scanf("%2d%*4d%2d",&a,&b); # b跳过4位
	printf("%d,%d",a,b);

}

123456789
12,78
  • scanf("%.3f) 不能有精度的控制,错误的写法

  • 字符数据输入的时候getchar

#include<stdio.h>
void main()
{
	char ch;
	ch = getchar();
	printf("%c",ch);
}
  • 输入的回车的避免
#include<stdio.h>
void main()
{
	int a;
	char b;
	int c;
	scanf("%d,%d",&a,&c);
//	getchar();  # 要输入回车的话,用这个来获取到
	scanf("%c",&b);
	printf("%d,%d",a,c);
	printf("\n%c,,,",b);

	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值