当前位置: 首页 > news >正文

威海网站建设在哪工厂外包小件加工

威海网站建设在哪,工厂外包小件加工,哪些网站可以做店淘客,网站做留言板《C程序设计教程(第四版)——谭浩强》 习题2.9 编程序用getchar函数读入两个字符给c1,c2,然后分别用putchar函数和printf函数输出这两个字符。 (1)变量c1,c2应该定义为字符型或者整型吗&#x…

《C程序设计教程(第四版)——谭浩强》


习题2.9 编程序用getchar函数读入两个字符给c1,c2,然后分别用putchar函数和printf函数输出这两个字符。

(1)变量c1,c2应该定义为字符型或者整型吗?或者二者皆可?

(2)要求输出变量的ASCLL码,应该怎么处理?用putchar函数还是printf()函数?

(3)整型变量与字符变量是否在涉河情况下都可以相互替换呢?


代码:

//《C程序设计教程(第四版)——谭浩强》
//习题2.9 编程序用getchar函数读入两个字符给c1,c2,然后分别用putchar函数和printf函数输出这两个字符。
#include <stdio.h>int main()
{int c1 =getchar();int c2 =getchar();putchar(c1);putchar('\n');printf("%c\n",c2);return 0;
}

运行结果:


(1)变量c1,c2应该定义为字符型或者整型吗?或者二者皆可?

在 C 语言中,getchar函数返回的是一个int类型的值,表示读取到的字符的 ASCII 码。这个设计的原因是,getchar函数需要能够返回所有可能的字符值 (0 到 255) 以及额外的特殊值 EOF(表示文件结束或输入流的结束),因此它返回的是int类型。

但在你的上下文中, 和 变量的类型可以有以下考量:c1c2

  1. 字符型 (char)

    • 如果我们只关心读取到的字符本身,并且确定不会直接处理 EOF,你可以将c1和c2定义为char类型。这样可以节省一些内存(虽然在实际应用中这微不足道)。

    然而,定义为char后你需要特别小心可能的 EOF 情况,因为如果发生 EOF,c1和c2的值可能会被当作正常的字符。这种情况下使用int类型在处理输入时就显得更为安全。

  2. 整型 (int)

    • 如果你将c1和c2定义为int类型,你可以直接存储getchar的返回值(包括正常的字符和 EOF 值)。这样处理起来会更安全,以避免因字符溢出而产生的不确定行为。

(2)要求输出变量的ASCLL码,应该怎么处理?用putchar函数还是printf()函数?

可以使用printf函数,因为它能够方便地格式化输出。尽管putchar函数可以输出字符,但它不适合直接输出一个字符对应的 ASCII 码。

#include <stdio.h>int main()
{
// 提示用户输入两个字符
printf("请输入两个字符(用回车分隔): \n");int c1 = getchar(); // 读取第一个字符
getchar(); // 读取并忽略换行符
int c2 = getchar(); // 读取第二个字符// 输出第一个字符及其 ASCII 码
printf("第一个字符: '%c' 的 ASCII 码是: %d\n", c1, c1);
// 输出第二个字符及其 ASCII 码
printf("第二个字符: '%c' 的 ASCII 码是: %d\n", c2, c2);return 0;
}

(3)整型变量与字符变量是否在涉河情况下都可以相互替换呢?

在 C 语言中,整型变量(如int )和字符变量(如 char)不可以在所有情况下直接相互替换,但在某些情况下可以更安全地操作。以下是一些详细的考虑:

1. 字符与整型的关系

  • 字符类型 (char:通常用于存储单个字符。字符在内部是以其 ASCII 码表示的。
  • 整型类型 (int:用于存储整数值,包括较大的数值。由于int可以表示的范围更大,它可以安全地存储char类型的值。

2. 相互转换

  • 隐式转换:在 C 中,char固定为整数类型的子集,因此所有char值都能被提升为int,但反过来就可能会出现问题,特别是涉及到范围的问题。

    • 例如, 然后声明 char ch = 'A';是合法的, int num = ch;的值将是 65(ASCII 码)。
  • 显式转换:也可以手动进行类型转换。

    char ch = 'A';
    int num = (int)ch; // 显式转换
  • 3. 使用getcharputchar

  • 使用getchar()函数读取字符时,它返回的是int类型,因此你可以安全地将读取的字符值存储在int变量中,也可以存储在char变量中,但是要注意,存储在char中后,如果读取的字符是 EOF,可能会引发问题。

  • putchar()函数需要一个int类型的参数,但它会将int转换为char返回给标准输出。你可以直接使用。​​​​​​​

  • 4. 风险

  • 数据丢失:如果一个char类型的值超出了int范围,尽管在现有情况下通常不太可能,但如果你尝试将一个不合法的char直接赋值给char类型的变量,可能会引发数据丢失。

  • EOF 和无效值:如果你用getchar()函数来读取字符并将其存储在 类型中,一旦读取到 EOF(通常是 -1),可能会因为char类型无法表示负值而导致问题。

http://www.yayakq.cn/news/370039/

相关文章:

  • 个人网站做贷款广告google浏览器入口
  • 建筑工程网格化管理台账表格全网搜索引擎优化
  • 深圳证券网站开发短视频推广计划
  • 企信网企业信息查询平台官网优化软件排行榜
  • 建站公司新闻资讯本地的沈阳网站建设
  • 网站建设外出考察信息深圳企业网站定制
  • 网站备案收费幕布大连高新园区地图
  • 怎么看网站哪个公司做的建设网站需要钱吗
  • 做海报图片的网站犀牛云做网站如何
  • 网站置顶jq企业网站关键词优化
  • 蛋白质结构预测工具网站开发mooc网站开发ppt
  • 建材网站建设哪家公司网站的栏目设置
  • wordpress 英文企业站用vultr做网站
  • 开发菏泽网站建设做电影资源网站手机版
  • c 做交易网站辽宁省建筑工程信息网
  • 怎么在网站后台做标题的超链接网站维护要多久
  • 网站不收录的原因备案用的网站建设方案书怎么写
  • 一些做的好的网站学校网站建设目的是什么意思
  • 企业网站 建设流程免费开发软件app下载
  • 网站的维护方案wordpress3.9漏洞
  • 鹤岗市城乡建设局网站开网站建设公司好
  • 山东聊城建设学校网站浙江省职业能力建设处网站
  • 《网站开发课程设计》设计报告网站汉英结合的怎么做
  • 公司网站首页设计构想建一个网站大概需要多长时间
  • 可以做商城网站的公司用地方别名做网站名
  • 大型门户网站建设特点找个美工做淘宝网站需要多少钱
  • 哪有专做飞织鞋面的网站网页翻译浏览器
  • app网站多少钱贵州seo推广
  • 深圳做自适应网站公司安装百度一下
  • 昆山市做网站的公司新昌县建设局网站