c语言中AScii码值有等于330的吗??为什么输出显示是字符J ??

可是char ch=330;输出printf("%c",ch)确实是J啊!

C语言中,char类型是占用一个字节的,把一个超过255的值赋值给char类型的变量,编译器在编译的时候会把这个值截断的。

比如把0xABCD赋值给ch,ch只取0xCD作为ch的值,330 = 0x014A,截断成一个字节的char就是 0x4A = 74,也就是大写的J。

在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。

扩展资料:

ANSI C提供了标准C语言库函数:

C语言初学者比较喜欢的Turbo C 2.0提供了400多个运行时函数,每个函数都完成特定的功能,用户可随意调用。这些函数总体分成输入输出函数、数学函数、字符串和内存函数、与BIOS和DOS有关的函数、 字符屏幕和图形功能函数、过程控制函数、目录函数等。

作为程序员应尽量熟悉目标平台库函数其功能。这样才能游刃有余地开发特定平台的应用程序。比如作为Windows应用程序的开发者,应尽量熟悉Windows SDK;作为Linux应用程序开发者,应尽量熟悉Linux系统调用和POSIX函数规范。 

参考资料来源:百度百科-c语言





温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-23
ASCII 从0到255 共256个
你让ch等于300 过了255它会从头算起
300-256=74
也就是说相当于你输出的是ascii码为74的字符 也就是大写的J本回答被提问者采纳
第2个回答  2020-02-05
因为ch是char类型,你强制赋予了330,实际上运行时发生了溢出,ch的实际值变成了74,所以输出是J
第3个回答  2010-10-28
char在编译器中为8位二进制数,而ch=330=101001010B,共九位
所以编译器会取低八位,即01001010B=74(十进制),所以ch-‘J’。。。
第4个回答  2010-10-20
C语言中,char类型是占用一个字节的,你把一个超过255的值赋值给char类型的变量, 编译器在编译的时候会把这个值截断的.
比如把 0xABCD赋值给ch, ch只取0xCD作为ch的值.
330 = 0x014A, 截断成一个字节的char就是 0x4A = 74,也就是大写的J
相似回答