0
点赞
收藏
分享

微信扫一扫

C语言转义序列和转换字符,一次讲清楚

90哦吼 2022-01-08 阅读 60

说到转义序列和转换字符,就不得不说说用于在屏幕上输出内容的函数,printf()函数了。

printf()一般格式:printf( 控制字符串 [ , 数据 ]);  

  • 注意符号都要用英文符号,控制字符串是不能少的,方括号中的内容则是可有可没有的。
  • 控制字符串是下面代码中整个绿色的部分
#include<stdio.h>
main()
{
    printf(" I am a student.");
    printf(" I have a dream.");
}

输出的内容为:(主编用的编译器是Dev-C++)

I am a student.I have a dream. 

可以看到,这两条程序的输出是在一排的,也就是说,printf()函数被执行时,不自带换行。(在python中,用于输出的函数print(),是自带换行的) 

如果想将输出的内容排成两行,要怎么办呢?这时就不得不使用转义序列了。

转义序列常用于printf()函数的控制字符串中,如下是常见的转义序列。 

代码描述
\n换行。放于双引号里面内容的末尾或下一行双引号内容的开头
\a警告。(计算机铃声)
\b退格。擦去前面的一个单位的内容
\t制表。即一个Tab键
\\一个反斜杠。
\'一个单引号。
\"一个双引号。

能换行的代码如下: 

#include<stdio.h>
main()
{
    printf(" I am a student.\n");
    printf(" I have a dream.");
}

 输出内容为:

I am a student.
I have a dream.
  • \n 也可位于第二排双引号里面内容的开头         
  • 注意:printf()函数的控制字符串使用的是双引号 (跟python是不同的)       

下面来一个程序,感受一下上面表格中的几种转义序列。   

#include<stdio.h>
main()
{
    printf("student\tclass\tschool report");
    printf("\nMy computer\'z\bs sounds like this:\a!");
    printf("\nThere are signs:\" or \\");
}

 主编电脑的输出图片如下:

  •  使用\b转义序列时擦去了前面的z,使输出的内容中没有z
  • 使用\a转义序列时,程序输出的同时会有铃声,这个声音很好听,快去电脑里试试吧

通过上面的学习,是不是对C语言的转义序列有了了解呢?接下来我们学习转换字符

转换字符也常用于printf()函数的控制字符串中,以下是常见的转换字符。

转换字符描述
%d转换整数
%f转换浮点数
%c转换字符
%s转换字符串

一般使用方法:如果想在输出的内容中打印值,则在控制字符串中插入转换字符,待打印的值列于控制字符串右边。这部分内容即为上面printf()格式中的  [,数据]  部分。接下来让我们再通过实例代码来感受一下转换字符的功能吧。

#include<stdio.h>
main()
{
    printf(" %d + %d = %d",2,3,5);
    printf("\n %c or %s ",'x',"This is a string");
    printf("\n %.1f  %.2f  %.3f  %f",0.36,0.36,0.36,0.36);
    printf("\n This is a sign %c.",'%');
}

主编电脑的输出图片如下: 

  • 在使用%c时,控制字符串右边的待打印的单字符要使用单引号,注意:如果要打印%,也需要使用转换字符%c
  • 在使用%s时,控制字符串右边的待打印的字符串要使用双引号
  • %f 用于转换浮点数(即有小数点的数,而整数是没有小数点的数)如果要控制输出位数,则在%号后面加  .数字  ,此时会四舍五入,而默认的位数是6位

转义序列和转换字符均用于printf()函数的控制字符串中,C语言不会自动转换数据的格式,所以要使用转换字符。如果要输出浮点数,注意要控制位数,默认的是6位。

#以上就是这讲的所有内容,如果大家有不清楚的地方,欢迎来私信我,我们一起研究。寒假不忙,别担心哦。编程其实很有趣,如果遇到困难,可以跟我聊天。Q1494684866

举报

相关推荐

0 条评论