1.标准输出printf
printf是C语言的标准输出函数,一般用于向标准输出设备按规定格式输出信息。
函数原型如下:
#include < stdio.h >
int printf(const char *format, ...);
printf函数使用格式为:printf(“<格式化字符串>”,参量表);
printf()是C语言标准库函数,在stdio.h中定义。输出的字符串除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。其中格式控制字符串是以%开头的字符串,在%后面跟有各种格式控制符,以说明输出数据的类型、宽度、精度等。
- 格式控制符说明
| 控制符 | 说明 | 
| %c | 输出一个字符(char) | 
| %d | 输出十进制整数(int) | 
| %hhd | 输出一个字节的整数(char) | 
| %hd | 输出两个字节的整数(short) | 
| %ld | 输出长整型(long) | 
| %md | m指输出字段宽度,若数据位数小于m,则左边以空格补齐,若大于m,则按实际位数输出。输出的数据按照右边对齐,一共占m位,所有类型都支持指定输出字段宽度。在%后面加上-可实现数据左对齐。 | 
| %u | 输出无符号整数(unsigned int)。输出无符号时也可以用%d,此时会将无符号转换为有符号输出。 | 
| %lu | 输出无符号长整数(unsigned long) | 
| %f | 输出浮点型(float),以小数形式输出。不指定字段宽度,由系统自动指定,整数部分全部输出,小数部分输出6位,超过6位的四舍五入。 | 
| %.mf | 输出实数时小数点后保留 m 位,注意m前面有个点。比如: %.2f。 | 
| %lf | (long double 使用%lf 输出) | 
| %o或%#o | 八进制输出,%#o会自动显示前缀 | 
| %x或%X或%#x | 十六进制输出 | 
| %s | 字符串输出 | 
| %p | 输出地址 | 
| %% | 输出字符% | 
| %t | 输出水平制表符 | 
2.标准输入printf
scanf()是C语言中的一个输入函数,与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include 。
#include < stdio.h >
int scanf(const char *format, ...);
scanf()是从标准输入(标准输入设备,一般指向键盘)中读内容的通用子函数;可以通过说明的格式读入多个字符,并保存在对应地址的变量中。
在使用scanf函数时,主要注意一下读取字符类型数据问题;scanf是从标准输入缓冲区中读取输入的数据,而%c的字符输入格式会接收回车字符和空格字符,在输入第一个 scanf时输入字符后按回车结束,输入缓冲中保存了这个回车符,遇到第二个scanf时,它自动把这个回车符赋给了后面的%c。而如果第二个scanf的输入格式不是%c时,由于格式不匹配,这个回车符会被自动忽略, 所以在连续输入两个%c的格式时会出现后面%c获取不到正确。
输入示例:
#include< stdio.h >
intmain(intargc,char**argv)
{
inta;
charb;
floatc;
scanf("%d %c%f",&a,&b,&c);//%d和%c中间有空格
printf("a=%dn",a);
printf("b=%cn",b);
printf("c=%fn",c);
}
[root@xsw c_2020]# ./a.out 
输入整型、字符型、浮点型:12 a 12.34  #输入时也必须在12和a之间加空格
a=12
b=a
c=12.340000
3.输出函数名和行号
#include < stdio.h >
int main()
{
	/*
		't' --制表符(相当于TAB键)
		__FILE__  文件名
		__FUNCTION__(或__func__)  函数名
		__LINE__    行号
		__DATE__    日期显示
		__TIME__    时间显示
	*/
	printf("[%s] %s line:%dn",__FILE__,__func__,__LINE__);
	printf("time:%s--%sn",__DATE__,__TIME__);
}

4.printf输出字体颜色
在有些时候我们希望通过printf输出的内容以不同的颜色在终端展示,这样在调试过程看起来更加直观。
printf输出颜色时的控制命令:/033[A1;A2;A3m
	   /033[为固定开头;
	   m为固定结尾;
	   A1表示属性;
	   A2表示字体颜色;
	   A3表示背景颜色;
- A1参数
| 属性代码 | 功能 | 
| 0 | 重置所有属性 | 
| 1 | 高亮/加粗 | 
| 2 | 暗淡 | 
| 4 | 下划线 | 
| 5 | 闪烁 | 
| 8 | 反转 | 
| 8 | 隐藏 | 
- A2属性
| 属性代码 | 功能 | 
| 30 | 黑色 | 
| 31 | 红色 | 
| 32 | 绿色 | 
| 33 | 黄色 | 
| 34 | 蓝色 | 
| 35 | 品红 | 
| 36 | 青色 | 
| 37 | 白色 | 
- A3属性
| 属性代码 | 功能 | 
| 40 | 黑色 | 
| 41 | 红色 | 
| 42 | 绿色 | 
| 43 | 黄色 | 
| 44 | 蓝色 | 
| 45 | 品红 | 
| 46 | 青色 | 
| 47 | 白色 | 
- 示例
#include < stdio.h >
int main()
{
	printf("�33[1;;41m%s�33[0mn", "Hello World!");//字体加粗,背景为红色
	//加下划线,字体颜色为黑色,背景为白色
	printf("�33[4;30;47m%s�33[0mn", "Hello World!");	
	printf("�33[5m%s�33[0mn", "Hello World!");//字体闪烁
	printf("�33[;34m%s�33[0mn", "Hello World!");//设置字体为绿色
	printf("�33[;;42m%s�33[0mn", "Hello World!");//设置设置背景为绿色
}

- 
                                输入输出
                                +关注关注 0文章 42浏览量 10748
- 
                                C语言
                                +关注关注 180文章 7604浏览量 136847
- 
                                函数
                                +关注关注 3文章 4331浏览量 62623
- 
                                Printf
                                +关注关注 0文章 83浏览量 13662
发布评论请先 登录
相关推荐
C语言教程之顺序结构程序设计数据输入输出及C程序上机过程资料概述
 
    
C语言输入输出
 
    
 
           
        
 
         C语言基础知识(2)--标准输入输出
C语言基础知识(2)--标准输入输出 
  
     
     
     
     
            
             
             
                 
             工商网监
工商网监
        
评论