一年前看C Primer Plus ,现在基本忘得差不多了,复习一些比较重要的东西

一 输入输出

1 八进制和十六进制

这些输入输出都是无符号的

// 
int a = 5;
// 八进制
scanf("%o",&a); 
printf("%o %#o",a,a);//5 05
// 十六进制
a = 10;
scanf("%x",&a);
printf("%x %X %#x",a,a,,a);//a A #a
2 输出百分号
printf("%%");//输出百分号
3 转换说明修饰符
int a = 100;
printf("%-5d",a);// 100
// 左对齐
printf("%+d",a); // +100
// 显示正号
printf("% d",a); // " 100" 不显示正号显示空格
printf("%05d",a); // "00100" 补零
4 scanf 函数
int a;
scanf("%d",&a);
char c;
scanf("%c",&c);//从第一个字符开始读取
scanf(" %c",&c);//略过所有空格
5 * 修饰符的使用
// printf函数中可以输入来指定宽度和保留小数的位数
printf("%*.*f",5,3,10,11111);//10.111
// scanf 函数略过
scanf("%*d %*d %d",&a);

6 getchar,putchar

因为getchar 和putchar 实现的功能单一,所以比较快

char c;
c = getchar() <==> scanf("%c",&c);
putchar(c);
7 sprinf() 函数

将数据输入到字符串中,而不是打印在显示屏上

char ar[100];
sprintf(ar,"%d %lf",10,10.1);
printf("%s",ar);//10 10.100000