目录
printf/打印
printf函数的一般格式为printf(格式控制,输出列表)
例如:printf("%d,%c\n",i,e)
a=普通字符%占位符/格式字符
printf("a=%d",a);
括号内包含两部分:
(1)“格式控制”是用双撇号括起来的一个字符串,称“转换控制字符串”,简称“格式字符串”。他包含两个信息:格式声明+普通字符
(2)“输出列表”是程序需要输出的一些数据,可以是常量、变量也可以是表达式
格式声明
当输出内容只有普通字符是称为原样输出
printf("嘿嘿");
%占位符/格式字符——printf("a=%d",a);
d十进制数
c单个字符
s多个字符
f小数,正常是保留6位小数可以用%m.nf指定数据宽度和小数位数
x以16进制格式输出
p一般打印内存地址,也是16进制格式表示——输出地址,取变量地址的运算符号&——&a(a为变量)
举一些例子
#include <stdio.h>
int main()
{
int demo1=10;
int demo2=6;
int demo3;
float demo4;
demo3=demo1+demo2;
printf("两数之和是%d\n",demo3);
demo3=demo1-demo2;
printf("两数之差是%d\n",demo3);
demo3=demo1*demo2;
printf("两数之积是%d\n",demo3);
demo4 = (float)demo1/demo2;
printf("两个数相除是%f",demo4);
return 0;
}
运行结果是
scanf/扫描键盘
1、scanf(格式控制,地址表列)
格式控制的含义同printf函数,“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。
2、scanf函数中的格式声明
与printf函数中的格式声明相似,以%开始,以一个格式字符结束,中间可附加字符(这里看起来不是很好理解,直接看例子就好了)
例:
1、单个整数输入
int a ;
scanf("%d",&a);
2、多个整数输入
int a;
int b;
int c;
scanf("%d%d%d",&a,&b,&c);
这里注意在格式字符串中除了有格式声明%d以外,还有一些普通字符串的时候,你在给予变量值时也要加上普通字符串。如:
int a;
int b;
int c;
scanf("a=%d,b=%d,c=%d",&a,&b,&c);
运行演示
这里一共运行了三次前三次都是错的,前两次都是因为没有在对应位置上输入普通字符,(这里第三次是因为什么原因有人知道可以在评论区留言)
3、连续多个字符输入
char a;
char b;
char c;
printf("请输入三个字符");
scanf("%c%c%c",&a,&b,&c);
printf("a=%c,b=%c,c=%c",a,b,c);
运行演示
这里一共运行了3次,由前两次错误我们可以发现在输入字符是不可以按空格和回车不然会被计算机当成字符给输入
4、混合输入
int a;
char b;
float c;
printf("请输入一个整数,一个字符,一个小数\n");
scanf("%d%c%f",&a,&b,&c);
printf("a=%d,b=%c,c=%f",a,b,c);
运行演示
这里直接连续输入即可计算机会自动识别
温馨提示:使用scanf函数输入内容时尽量一个一个输入,不要连续输入这样更不会出错
其他输入输出方式
getchar 获取字符
putchar 输出字符
puts 输出多个字符
gets 输入多个字符
char demo_char;
puts("使用get输入一个字符");
demo_char =getchar();//把你输入的字符赋值给变量demo_char
puts("你输入的字符是");
putchar(demo_char);//这里能直接输出这个变量
注:puts跟printf的区别
1、自动加入换行符
2、printf支持多花样输出,而puts就是输出字符串