头歌题目参考

任务描述

本关任务:获取输入的字符,并将其字符及它的 ASCII 码值输出。

相关知识
ASCII码
什么是 ASSCII 码

在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示 1 和 0 )。

例如像 a 、 b 、 c 、 d 这样的 52 个字母(包括大写)、以及 0 、 1 等数字还有一些常用的符号(例如 * 、 # 、 @ 等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码)。

而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了 ASCII 编码,统一规定了上述常用符号用哪些二进制数来表示。

ASCII的表达方式

ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符。标准 ASCII 码也叫基础 ASCII 码,使用 7 位二进制数(剩下的 1 位二进制为 0 )来表示所有的大写和小写字母,数字 0 到 9 、标点符号, 以及在美式英语中使用的特殊控制字符。

在 C 语言中,每一个字符都有它自己的 ASCII 码,例如 A 的 ASCII 码为 65:

  1. int main()
  2. {
  3. char i='A';
  4. printf("%d",i);
  5. return 0;
  6. }

输出结果:65

转义字符

转义字符是 C 语言中表示字符的一种特殊形式。转义字符以反斜 \ 开头,后面跟一个字符或八进制或十六进制数表示。转义字符具有特定的含义,不同于字符原有的意义,故称转义字符。

通常使用转义字符表示 ASCII 码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号(')、双撇号(")和反斜杠(\)等。

例如如果要输出这个句子"\ is called 'backslash'.",则代码编写为:

  1. printf("\"\\ is called \'backslash\'.\""); // 或者
  2. printf("\"\\ is called 'backslash'.\"");

注意:在字符串中,无论写 \'还是',输出都是一样的。但是,在给字符变量赋值时,一定要写\'

获取单个字符的输入

C语言中获取单个字符的输入有两个函数,使用如下:

  • scanf()函数
  1. char a;
  2. scanf("%c , &a);
  • getchar()函数
  1. char a;
  2. a = getchar();

简单的描述一下这两个函数的区别:

  1. 函数格式不同

scanf()函数是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量中;而getchar()函数是键盘输入函数,其功能是从键盘上输入一个字符。

  1. 读取方式不同

scanf()函数在读取数字时会跳过空格、制表符和换行符。

getchar()函数只能输入字符型,输入时遇到回车键才从缓冲区依次提取字符。

  1. 结束输入的方式不同

scanf()函数以空格、Enter 、Tab 结束一次输入,不接受空格符。

getchar()函数以 Enter 结束输入(空格不结束),接受空格符。

编程要求

在右侧编辑器中的Begin-End之间补充代码,程序接收一个字符型数据的输入,最终输出字符和其对应的 ASCII 码。

测试说明

平台会对你编写的代码进行测试,比对你输出的数值与实际正确数值,只有所有数据全部计算正确才能通过测试:

测试输入:A 预期输出:“The ASCII of 'A' is 65”.

测试输入:a 预期输出:“The ASCII of 'a' is 97”.

#include <stdio.h>
//定义main函数
int main()
{
    //请在此添加‘输入一个字符,按规定格式输出该字符ASCII码’的代码
    /********** Begin **********/
    char c;
    scanf("%c",&c);
    printf("\"The ASCII of '%c' is %d\".",c,c);
    /********** End **********/
    return 0;
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值