C语言习题解析【含基础知识讲解】.docx

上传人:bao****ty 文档编号:132450020 上传时间:2020-05-16 格式:DOCX 页数:189 大小:385.91KB
返回 下载 相关 举报
C语言习题解析【含基础知识讲解】.docx_第1页
第1页 / 共189页
C语言习题解析【含基础知识讲解】.docx_第2页
第2页 / 共189页
C语言习题解析【含基础知识讲解】.docx_第3页
第3页 / 共189页
C语言习题解析【含基础知识讲解】.docx_第4页
第4页 / 共189页
C语言习题解析【含基础知识讲解】.docx_第5页
第5页 / 共189页
点击查看更多>>
资源描述

《C语言习题解析【含基础知识讲解】.docx》由会员分享,可在线阅读,更多相关《C语言习题解析【含基础知识讲解】.docx(189页珍藏版)》请在金锄头文库上搜索。

1、C 语言习题解析 版权所有,盗版必究南京农业大学工学院林科学 编著第 1 章 C 语言基础11 简介 英文是一种自然语言,学习英文首先要学习字符(字母和其它符号)、单词、然后学习语句短语,最后学习用语句构成文章。C 语言是一种高级计算机语言,接近于人们习惯的自然语言和数学语言,也要先学习字符,基本词类,然后再学习语句的构成规则,最后学习用语句构成程序。 本章介绍C 语言的字符集、数据类型、运算符等。 12 知识点 l 基本语法概念:关键字、标识符、数据类型、变量、常量 l 常量的表示方法:整数、实数、字符、字符串常量、标识符常量 l 类型转换:自动类型转换、赋值类型转换、强制类型转换 l 运算

2、符:算术运算符、关系运算符、逻辑运算符、字位运算符、其他常用运算符。 13 概念 1.3.1 字符集 在C语言程序中允许出现的所有基本字符的组合称为C语言的字符集。C 语言的字符集就是ASCII 字符集,主要包含下列几类: 1. 大小写英文字母 AZ、az(52 个); 2. 数字 09(10个); 3. 其它可显示字符(33 个); 4. 转义字符(11 个)。 在 C 语言中,有一些不可显示字符。表示这些字符不可直接书写,而是使用反斜杠符号“”开始并后跟单个字符或若干字符的组合。 1.3.2 保留字 在 C 语言中有特殊含义的单词称为“保留字”,也称“关键字”,主要用于构成语句。所有保留字

3、均由小写字母组成。C 语言保留字共有32 个。 133 标识符 所谓标识符是指常量、变量、语句标号以及用户自定义函数的名称。作为标识符必须满足以下规则: 标识符必须由字母、下划线或数字(09)组成; 标识符的第一个字符可以是字母(az, AZ)或下划线(_); 保留字不能作标识符。 温馨提示:C 语言是一种大小写敏感的语言。如 Test、test 是 2 个不同的标识符。 134 数据类型 C 语言中的数据类型,可以分为基本数据类型和派生数据类型两类。 基本数据类型是 C语言系统中预定义的内部数据类型,有 char、int、float、double、void 型。 字符型用来存放一个ASCII

4、码字符或一个 8位的二进制数;整型用来存放一个整数,实型用来存放实数,双精度型用来存放双精度数。不同的编译系统为各种类型数据分配的内存字节数不同,本书按照 Turbo C介绍。 基本类型可以加某些关键字对其进行修饰:如 short 表示短,long 表示长,signed 表示有符号, unsigned 表示无符号等。 用 short、long 、unsigned 、signed 这四个关键字修饰 int 类型时,int 可以省略, 例如:unsigned int 可简写为unsigned。 无修饰词的 int 类型和 char 类型,编译程序认为是有符号的。即相当于 signed int 和

5、signed char。 派生数据类型则是根据用户需要,按照 C 语言规则由基本数据类型构造出来的数据类型,有指针、数组、结构体、联合体、枚举等类型。这些内容将在后面的章节中进行介绍。 每种数据类型表示的数的范围是有限的,当数超过此范围,则会发生溢出, 无符号整数的最高位也是数据位,而不是符号位。数据以原码形式存放。例如整数 7 的原码是 (0000 0000 0000 0111),而二进制的无符号整数(1000 0000 0000 0000)表示的是整数 215 。 温馨提示:有符号整数的最高位是符号位,最高位为 0,表示该数是正数,最高位为 1,表示该数是负数。正整数以原码的形式存放。负整

6、数在内存中以整数的“补码”形式存放。求补码的方法如下:先求原码的反码,再在反码上加 1,简言为“求反加 1”。如 1 在内存中的形式为(0000 0000 0000 0001);则1在内存中的形式为先对 1 求反码,在此基础上加1,即得(1111 1111 1111 1111)。 135 变量 在程序执行过程中,其值可以改变的量称为变量。其作用是存储数据。每个变量属于一种类型。 每个变量只能存放其类型允许的值。定义格式如下:数据类型 变量名 1,变量名 2,变量名 n; 在一条语句中,可以定义一个变量也可以同时定义若干个变量。变量名作为变量的标识,应是一个合法的C 语言标识符。 136 常量

7、在程序运行过程中,值不会被改变的量称之为常量。 1整型常量 整型常量是指不含小数点的整数,它可以有正负号。如果是正号,可以省略。 十进制整数的表示和日常表示一样,由09 组成。如:100,34,15 等都是十进制数。 八进制整数的表示以0 开头,由 07组成。如:012、0456、045 都等是八进制数。 十六进制整数的表示以 0X 或 0x 开头,由 09,af(或 AF)字母组成。如:0x2a、0X123 等都是十六进制数。 2实型常量 实型常量即实数,也称浮点数。有十进制小数和十进制指数两种表示形式。 实型常量可以有正负号。如果是正号,可以省略。 十进制小数形式由数字和小数点组成(必须有

8、小数点)。例如:1.25、3.14、0.0、123.9 等都是实数。当整数部分或小数部分为 0 时,可以忽略不写,但不能同时省略。 指数形式是指以 10的方幂表示的数, 也称科学表示法。 由小数和指数两部分组成, 两者缺一不可。指数部分用 e来表示方幂。 温馨提示:用指数形式表示小数时,方幂 e前后必须是数字,e 的前面可以是整数也可以是小数, e 后面只能为 13 位整数。例如:1.24e3 表示 1.2410 3 ,4.3e2 表示4.310 2 。但 1.3e、 e2、1.2e3.1等都是不合法的实数。 3字符常量 字符常量是用单引号括起来的一个字符,如e、E。字符常量在内存中以8 位的

9、整型常量存放,该整型的值被称为 ASCII码。 当某些字符不能直接显示或者不能从键盘上输入时,可采取转义字符表示。 转义符后若是一个整型常量,则必须是一个以 0 为前缀的八进制或以 x 为前缀的十六进制数,其大小在十进制数 0255 之间。当为八进制数时,前缀 0 可以省略。 4字符串常量 用一对双引号将 0 个或若干个字符括起来,称为字符串常量。编译系统在处理字符串常量时,会自动在字符串常量的尾部加上0。 5标识符常量 标识符常量是指用一个标识符来表示一个常量。用以增加程序的可阅读性和可维护性。定义标识符常量的格式为: #define 标识符 常量值 define 定义的常量,通常被称为宏定

10、义常量。系统在编译程序前,首先对源程序进行预处理,将宏定义中的标识符替换成常量值,并生成临时的中间文件,再对该中间文件进行编译。在宏替换时,只是标识符和常量值之间的简单替换,预处理本身不做任何数据类型和合法性检查。程序运行时也不分配内存空间。 137 运算符及优先级 C 语言中对数据进行处理,和其他程序设计语言一样,也是通过运算符完成的。运算符是完成对常量、变量等操作对象进行运算的符号。运算符的对象称为操作数。对一个操作数进行运算的称为一元(单目)运算符,对两个操作数进行运算的称为二元(双目)运算符,对三个操作数进行运算的称为三元(三目)运算符。 常量、变量等数据通过运算符组合在一起构成了C

11、语言的表达式,每个符合C 语言规则的表达式将有一个确定的结果,这个结果的类型一般取决于操作数的类型。当多个运算符组合成一个复合表达式时,运算符的求值次序根据运算符的优先级和结合规则来确定。表 11 列出了C 语言中各种运算符及其优先级。 表 11 C 语言运算符及其优先级 优先级 运算符 功能说明 结合性 1 ( ) 改变优先级 从左至右 : 作用域运算符 数组下标 ., 成员选择2 +, 增1或减1运算符 从右至左 & 取地址 * 取内容 ! 逻辑求反 按位求反 +, 取正、负数 ( ) 强制类型转换 sizeof 取所占内存字节数 3 *, / , % 乘法,除法,取余 从左至右 4 +,

12、 加法,减法 5 左移位,右移位 6 ,= 小于,小于等于,大于,大于等于 7 =,!= 相等,不等 8 & 按位与 9 按位异或 10 | 按位或 11 & 逻辑与 12 | 逻辑或 13 ? : 三目运算符 从右至左 14 =,+=,=,*=,/=,%= ,&= ,= ,!= ,= 赋值运算符 15 , 逗号运算符 从左至右 138 算术运算符 算术运算符包括 +(正)、(负)、+(加)、 (减)、*(乘)、/(除)、%(取模)。 若除法运算符的左右两边操作数是整数,则进行整除运算;只要除法运算符有一个操作数是实数,则进行普通的除法运算;例如: 5/4 除法两边操作数是整数,进行整除运算,

13、结果为 1。 5.0/4 除法两边操作数不全是整数,进行除法运算,结果为 1.25。 取模运算符“%”,也即取余运算,两边的操作数必须是整数,其取模结果符号必须与被除数相同。 如 16%5 的值是 1,16%5 的值是1。 算术运算符的优先级和结合性与人们习惯的数学语言中该类运算符的优先级和结合性是基本一致的。 若双目运算符两边的类型不一致,则系统将按照自动类型转换规则使两边类型一致后再进行运算。 温馨提示:在使用算术运算符时,需要注意有关算术表达式求值溢出的处理问题。整数运算产生溢出时则不认为是一个错误,但这时运算结果已不正确了。 139 赋值运算符(1)赋值运算符 在 C 语言中,“=”

14、是一个赋值运算符, 它的作用是将一个值或一个表达式的值赋给“=”左边的变量。 C 语言中的等于是“=”。 赋值运算符的左操作数必须是变量,右操作数可以是常量、变量、表达式等。赋值运算符所组成的表达式称为赋值表达式。 赋值运算符的优先级较低,仅高于逗号运算符。因此赋值表达式通常先计算赋值运算符右边的表达式,并将结果赋给赋值运算符左边的变量。 C 语言中的赋值运算符“=”与数学的等号含义截然不同,如 i=i+1,数学中是不成立的,但在 C 语言中表示,i 的值加1 并重新赋给变量 i。 温馨提示:赋值表达式本身也是一个表达式,该表达式的值就是赋值的内容。因此,赋值表达式可作为另一个赋值运算符的右操

15、作数, 赋值给一个变量, 这样就出现多个赋值号的情况, 例如“a=b=3” 相当于“a=(b=3)”。 (2)复合赋值运算符 在 C 语言中,所有的双目算术运算符都可以与赋值运算符组合在一起,构成复合算术赋值运算符。 复合赋值运算符的一般形式为:变量 复合赋值运算符 表达式 它等同于:变量 = 变量 运算符 表达式例如: x*=10 相当于 x=x*10。 1310 关系运算和逻辑运算 (1) C 语言的逻辑值 关系运算符和逻辑运算符通常用作流程控制语句中的条件描述。但在 C 语言中,没有专门的逻辑 类型。C 语言中关系运算符和逻辑运算符的计算结果为整数 0 和1。1 表示逻辑“真”,0 表示逻辑“假”。 除了整数 0和 1,其它类型和其它值的变

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号