C语言学习:补码计算与程序基础

需积分: 11 0 下载量 111 浏览量 更新于2024-08-24 收藏 616KB PPT 举报
"C语言学习辅导资料,讲解C语言的基础知识,包括计算溢出、补码表示、程序结构、标识符规则等内容。" 在C语言学习过程中,理解和掌握基础概念至关重要。"那-1+2怎么算"这个问题涉及到二进制补码表示下的数值运算。在计算机中,整数是以二进制补码的形式存储的,这涉及到正负数的表示以及溢出问题。在计算(-1)+2时,如果系统使用32位二进制表示,那么-1的补码表示为11111111 11111111 11111111 11111111,而2的补码表示为00000000 00000000 00000000 00000010。进行加法运算时,高位溢出会导致结果不按预期计算,得到的结果是11111111 11111111 11111111 11111101,转换为十进制是-3。 再来看"(-6)+(-8)"的例子,两个负数相加,同样考虑补码表示。假设使用32位系统,-6的补码是11111111 11111111 11111111 11110110,-8的补码是11111111 11111111 11111111 11111000。将这两个补码相加,得到的结果是11111111 11111111 11111111 11111110,这代表-2的补码,因此计算结果是-2。 "C语言程序学习辅导"部分介绍了C语言的基本结构,如示例程序所示,一个简单的C程序通常包括`#include`预处理指令,`void main()`函数,变量声明,以及使用`printf`函数进行输出。`#include<stdio.h>`是包含标准输入输出库,它提供了`printf`函数来打印输出。`void main()`是程序的入口点,`int i, j;`声明了两个整型变量`i`和``j`,`printf("...")`则用于输出指定格式的内容。 C语言的词汇种类包括标示符、关键字、运算符、分隔符、常量和注释符。标示符是用来命名变量、函数、常量等的符号,必须遵循一定的规则,如不能以数字开头,不能是保留的关键字。例如,`my_school`是一个有效的标示符,而`2_teacher`和`Face-to-face`则不是,因为它们违反了标示符的命名规则。同时,`@dormin`、`lina_2`、`book.3`、`homesick`、`图书guan_1`和`others`也都有各自的合法性问题,比如`@`不在允许的字符集中,`.`不能出现在标示符中间,`图书`包含了非ASCII字符,`2`出现在了标示符的开头。 此外,运算符如`+`、`-`、`*`、`/`分别代表加法、减法、乘法和除法,而分隔符如逗号(`,`)和空格(` `)在程序中起到分隔元素的作用。注释符`/* ... */`和`//`用于添加程序注释,提高代码可读性。 理解这些基础知识对于C语言的学习至关重要,它们构成了编写和理解C程序的基础。随着学习的深入,你将能够熟练运用这些知识去编写更复杂的程序,并对计算机底层的工作原理有更深入的理解。