编程题2 练习2-3 输出倒三角图案【浙大版《C语言程序设计(第4版)》题目集 精讲教程】

编程题2 练习2-3 输出倒三角图案

原题链接:练习2-3 输出倒三角图案 (pintia.cn)

参考答案

#include<stdio.h>
int main(){
    printf("* * * *\n");
    printf(" * * *\n");
    printf("  * *\n");
    printf("   *\n");
    return 0;
}

答案详解

  • 反斜杠n : \n是一种转义字符,在这里的作用是换行。

什么是转义字符?

  • 字符集(Character Set)为每个字符分配了唯一的编码,比如题目中的*就是一个字符,他的八进制形式的编码值是52

  • 在C语言中,一个字符除了可以用它的实体表示,还可以用编码值表示。

  • 可以尝试如下代码看显示的结果。

  #include<stdio.h>
  int main(){
  	char c='\52';//用编码值表示*
  	printf("%c",c);
  	return 0;	
  }
  • 这种使用编码值来间接地表示字符的方式称为转义字符

  • 转义字符以\或者\x开头,以\开头表示后跟八进制形式的编码值,以\x开头表示后跟十六进制形式的编码值。

  • 对于转义字符来说,只能使用八进制或者十六进制。

ASCII 编码是最简单的西文编码方案,在ASCII 编码中0~31(十进制)范围内的字符为控制字符,它们都是看不见的,不能在显示器上显示,甚至无法从键盘输入,只能用转义字符的形式来表示。不过,直接使用 ASCII 码记忆不方便,也不容易理解,所以,针对常用的控制字符,C语言又定义了简写方式,完整的列表如下:

转义字符意义ASCII码值(十进制)
\a响铃(BEL)007
\b 退格(BS) ,将当前位置移到前一列008
\f 换页(FF),将当前位置移到下页开头012
\n换行(LF) ,将当前位置移到下一行开头010
\r 回车(CR) ,将当前位置移到本行开头013
\t水平制表(HT)009
\v垂直制表(VT)011
\' 单引号039
\" 双引号034
\\ 反斜杠092

\n\t是最常用的两个转义字符:

  • \n用来换行,让文本从下一行的开头输出;
  • \t用来占位,一般相当于四个空格,或者 tab 键的功能。

单引号、双引号、反斜杠是特殊的字符,不能直接表示:

  • 单引号是字符类型的开头和结尾,要使用\'表示,也即'\''
  • 双引号是字符串的开头和结尾,要使用\"表示,也即"abc\"123"
  • 反斜杠是转义字符的开头,要使用\\表示,也即'\\',或者"abc\\123"

这个题目的答案也可以将所有输出写在一行代码里面

#include<stdio.h>
int main(){
    printf("* * * *\n * * *\n  * *\n   *\n");
    return 0;
}
  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少侠PSY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值