栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

初学C语言4

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初学C语言4

C程序设计第三章第四题

3.4分析下面的程序:

#include
int main()
{
	char c1, c2;
	c1 = 97;
	c2 = 98;
	printf("c1 = %c, c2 = %cn", c1, c2);
	printf("c1 = %d, c2 = %dn", c1, c2);
	return 0;
} 

(1)运行时会输出什么信息?为什么?

输出结果截图:

分析:c1和c2是字符型数据,占用一个字节。%c 字符,输出的是97,98在ASCII码表中对应的字符,%d 有符号十进制整数,输出的是97和98.

(2)如果将程序第4,5行改为

	c1 = 197;
	c2 = 198;

运行时会输出什么信息?为什么?

//改后代码
#include

int main()
{
	char c1, c2;
	c1 = 197;
	c2 = 198;
	printf("c1 = %c, c2 = %cn", c1, c2);
	printf("c1 = %d, c2 = %dn", c1, c2);
	return 0;
}

 输出结果截图:

 分析:197和198超出ASCII码表(0-127)范围,计算机无法识别所以输出。输出整型时,整型的大小范围是(-2^7 ~ 2^7-1),197和198超出范围,反向计数从-128开始计数,结果就是-59和-58。

(3)如果将程序第3行改为

int c1, c2;

运行时会输出什么信息?为什么?

//改后代码
#include
int main()
{
	int c1, c2;
	c1 = 197;
	c2 = 198;
	printf("c1 = %c, c2 = %cn", c1, c2);
	printf("c1 = %d, c2 = %dn	", c1, c2);
	return 0;	
}

输出结果截图:

 分析:第一行输出结果同第二问解释。

作者的编译水平有限,欢迎指出代码中的不足,欢迎改进,谢谢点赞。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/916888.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号