目录
一、scanf和printf
1.整型%d
注意:输入函数scanf中要加取地址符“&”
短整型:short类型,使用%hd
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
printf("%d\n",a);
return 0;
}
2.浮点型
double(%lf)和float(%f)类似
%.nf n为小数位数
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("%.2f",1.2);
return 0;
}
3.字符%c
注意:1.字符输出时要有英文状态的输入法下的单引号''
2.空格不要随便输入,会作为一位输出
#include <stdio.h>
int main()
{
printf("%c\n",'k');
return 0;
}
4.ASCll码的算法
可以利用这条函数算ASCll码
查下表可知k对应的数字为107,不加单引号的107,以字符类型输出的107,便是对应的k
数字求字符
#include <stdio.h>
int main()
{
printf("%c\n",107);
return 0;
}
字符求数字
#include <stdio.h>
int main()
{
printf("%d\n",'k');
return 0;
}
5.字符串%s
#include <stdio.h>
int main()
{
printf("%s\n","jhdragon1314");
return 0;
}
注意:在使用格式符"%s"进行字符串的输入时,空格和回车( Enter)会被读入,并且函数scanf它们作为分隔符停止一个字符串的输入,应该使用函数get(s)。
6.数据类型的范围
注意:千万不能超出范围,否则会出现错误数据
以下图片来源于书本 《C语言程序设计》
7.其他输入输出
eg:gets puts
8.混合输出
字符与整型一起输入时,空格,回车等不可随便输出
#include <stdio.h>
void main(){
int a1, a2;
char c1, c2;
scanf("%d%c%d%c", &a1, &c1, &a2, &c2);
printf("%d, %c, %d, %c", a1, c1, a2, c2);
}
9.注意点:
1.在 scanf()函数的格式字符前,可以加入一个正整数指定输入数据所占的宽度,但不可以对实数指定小数位的宽度
2.若scanf语句中第二个整数和第三个整数之间有空格,可以使用如tab、回车、空格符
3.例题:
int a=1234,b=-5678;用语句 printf("%+-6d%+-6d",a,b);输出
+1234 -5678 (中间有一个空格,最后有一个空格)
原因:printf函数参数包括格式控制字符串和输岀参数,其中格式控制字符串中除了格式控制字符外,其他字符原样输出,本题中,在%和格式字符d之间,+号表示输出的数字带正负号,-号表示输岀数据冋左对齐,6表示表示输岀宽度,如果输岀数据的宽度不够6,那么左对齐,右边补空格,所以本题输岀+1234-5678 ,中间一个空格,最后一个空格