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语言
ASCII 从0到255 共256个
你让ch等于300 过了255它会从头算起
300-256=74
也就是说相当于你输出的是ascii码为74的字符 也就是大写的J
因为ch是char类型,你强制赋予了330,实际上运行时发生了溢出,ch的实际值变成了74,所以输出是J
char在编译器中为8位二进制数,而ch=330=101001010B,共九位
所以编译器会取低八位,即01001010B=74(十进制),所以ch-‘J’。。。
C语言中,char类型是占用一个字节的,你把一个超过255的值赋值给char类型的变量, 编译器在编译的时候会把这个值截断的.
比如把 0xABCD赋值给ch, ch只取0xCD作为ch的值.
330 = 0x014A, 截断成一个字节的char就是 0x4A = 74,也就是大写的J