![C语言全国计算机二级等级考试教程第一二章(章节带习题)_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/504b7409-f076-4e84-9871-b34c8f54b02b/504b7409-f076-4e84-9871-b34c8f54b02b1.gif)
![C语言全国计算机二级等级考试教程第一二章(章节带习题)_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/504b7409-f076-4e84-9871-b34c8f54b02b/504b7409-f076-4e84-9871-b34c8f54b02b2.gif)
![C语言全国计算机二级等级考试教程第一二章(章节带习题)_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/504b7409-f076-4e84-9871-b34c8f54b02b/504b7409-f076-4e84-9871-b34c8f54b02b3.gif)
![C语言全国计算机二级等级考试教程第一二章(章节带习题)_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/504b7409-f076-4e84-9871-b34c8f54b02b/504b7409-f076-4e84-9871-b34c8f54b02b4.gif)
![C语言全国计算机二级等级考试教程第一二章(章节带习题)_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/504b7409-f076-4e84-9871-b34c8f54b02b/504b7409-f076-4e84-9871-b34c8f54b02b5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 全国计算机等级考试全国计算机等级考试 (NCRE)二级教程二级教程CC语言程序设计语言程序设计目录第1章 程序设计基本概念第2章 C程序设计的初步知识第3章 顺序结构第4章 选择结构第5章 循环结构第6章 字符型数据第7章 函数第8章 地址和指针第9章 数组第10章 字符串第11章 对函数的进一步讨论第12章 C语言中用户标识符 的作用域和存储类第13章 编译预处理和动态存 储分配第14章 结构体、共用体和用 户定义类型第15章 位运算第16章 文件第17章 上机指导1.1 程序和程序设计程序和程序设计C语言语言源程序源程序C语言语言编译程序编译程序二进制机器指令二进制机器指令(目标程序目标
2、程序).C.OBJ高级语言高级语言机器语言机器语言C语言语言连接程序连接程序可执行文件可执行文件.EXE考点考点算法的基本特征算法的基本特征有穷性、有穷性、确定性、确定性、可行性可行性有零个或多个输入有零个或多个输入有一个或多个输出有一个或多个输出结构化程序设计的结构化程序设计的三种三种基本结构基本结构顺序结构顺序结构选择结构选择结构循环结构循环结构考点总结考点总结:由以上由以上3种基本结构组成的算法种基本结构组成的算法 可以完成任何复杂的问题可以完成任何复杂的问题.考点总结考点总结:用用C程序实现的算法可以程序实现的算法可以 没有输入没有输入,但必须要有输出但必须要有输出.习题1.1 在VC
3、6.0环境中用RUN命令运行一个C程序时,这时所运行的程序的后缀是_。1.2 C语言源程序文件名的后缀是_;经过编译后,生成文件的后缀是_;经过连接后,生成文件的后缀是_。1.3 结构化程序由_、 _、 _三种基本结构组成。.exe.c.obj.exe顺序结构选择结构循环结构第2章 C程序设计的初步知识v2.1 简单C语言程序的构成和格式v2.2 标识符、常量和变量v2.3 整型数据v2.4 实型数据v2.5 算术表达式v2.6 赋值表达式v2.7 自加、自减运算符和逗号运算符2.1 简单简单C语言程序的构成和格式语言程序的构成和格式本节将通过一个简单的程序例子,介绍本节将通过一个简单的程序例
4、子,介绍C程序的一些基本构成和格式,使程序的一些基本构成和格式,使大家对大家对C语言程序有一个初步的了解。语言程序有一个初步的了解。 例例2.1 已知矩形的两条边长已知矩形的两条边长(用用a表示宽表示宽,b表示长表示长),求矩形的面积,求矩形的面积(area)。 #include main() double a,b,area; a=1.2; b=3.6; area=a*b; printf(“a=%f,b=%f,area=%fn”,a,b,area); a=1.200000,b=3.600000,area=4.320000注意:注意:1. C程序由函数组成,一个程序必须有一个且只能有一个程序由函
5、数组成,一个程序必须有一个且只能有一个主函数主函数(main),),C程程序总是从主函数开始执行,并且也是从它结束的。序总是从主函数开始执行,并且也是从它结束的。2. 函数体必须放在一对花括号函数体必须放在一对花括号“”内,在函数体中,通常有内,在函数体中,通常有定义(说明)语句定义(说明)语句和和执行语句执行语句,定义语句应出现在执行语句之前,每条语句后面的分号不可少。多条,定义语句应出现在执行语句之前,每条语句后面的分号不可少。多条语句可以写在同一行上,并且一条语句也可以写在多行上。语句可以写在同一行上,并且一条语句也可以写在多行上。3. C程序中的注释必须放在程序中的注释必须放在/*和和
6、*/之间,之间,/和和*之间不允许有空格。之间不允许有空格。/*和和*/之间不允许再插入之间不允许再插入/*或或*/。注释可以出现在程序中任意位置。注释可以出现在程序中任意位置。 /*包含头文件包含头文件*/*主函数主函数,程序的入口程序的入口*/*声明部分声明部分,定义了定义了3实型个变量实型个变量*/*给变量给变量a赋值赋值*/*给变量给变量b赋值赋值*/*将将a*b的结果赋值给变量的结果赋值给变量area*/ /*分别输出矩形的两条边长和面积分别输出矩形的两条边长和面积*/abarea函数体函数体2.2 标识符、常量和变量标识符、常量和变量2.2.1 标识符标识符在在C语言中,有许多东西
7、都需要命名,如变量名、函数名、数组名等,在命语言中,有许多东西都需要命名,如变量名、函数名、数组名等,在命名的时候都必须遵守一定的规则,按此规则命名的符号称为名的时候都必须遵守一定的规则,按此规则命名的符号称为标识符标识符。在在C语言中,合法的标识符由语言中,合法的标识符由字母字母、数字数字和和下划线下划线组成组成 。遵守以下规则命名:遵守以下规则命名:v必须以字母(大小写皆可)或下划线开头。必须以字母(大小写皆可)或下划线开头。v随后可跟若干个(包括随后可跟若干个(包括0个)字母、数字、下划线。个)字母、数字、下划线。v标识符的长度各个系统不同,最好不要超过标识符的长度各个系统不同,最好不要
8、超过8个字符。个字符。如:如:area PI _ini a_array s1234 P101p (合法合法) 456P cade-y w.w a&b (不合法不合法)注意注意C语言区分大小写,如语言区分大小写,如page、Page是两个不同的标识符。是两个不同的标识符。2.2 标识符、常量和变量标识符、常量和变量2.2.1 标识符标识符C语言的标识符可以分为以下三类语言的标识符可以分为以下三类 :a) 关键字关键字 b) 预定义标识符预定义标识符 c) 用户标识符用户标识符关键字:关键字: C语言规定了一批标识符,它们在程序中都代表着固定的含义,语言规定了一批标识符,它们在程序中都代表
9、着固定的含义,不能另作它用。例如,用来说明变量类型的标识符不能另作它用。例如,用来说明变量类型的标识符int、float、double以及以及if语句中的语句中的if、else等都已有专门的用途,它们不能再用等都已有专门的用途,它们不能再用作变量名或函数名。注意,所有的关键字都必须小写。作变量名或函数名。注意,所有的关键字都必须小写。C语言中的关语言中的关键字请参考附录键字请参考附录4。预定义标识符:预定义标识符:这些标识符在这些标识符在C语言中也都有特定的含义,如语言中也都有特定的含义,如C语言提供的语言提供的库函数的名字库函数的名字(如如include)和预编译处理命令和预编译处理命令(如
10、如define)等。等。 用户标识符:用户标识符:由用户根据需要定义的标识符称为用户标识符。一般用来给由用户根据需要定义的标识符称为用户标识符。一般用来给变量、函数、数组或文件等命名。变量、函数、数组或文件等命名。 如例如例2.1中的中的a,b,area三个变量三个变量2.2 标识符、常量和变量标识符、常量和变量2.2.2 常量常量在程序运行过程中,其值不能被改变的量,称为在程序运行过程中,其值不能被改变的量,称为常量常量。 常量常量整型常量:整型常量:实型常量(符点型)实型常量(符点型)字符常量:字符常量:字符串常量:字符串常量:单精度型:单精度型:双精度型:双精度型:由上述可见,常量的类型
11、从字面形式上就可以区分开来,我们称此常量为由上述可见,常量的类型从字面形式上就可以区分开来,我们称此常量为字字面常量。面常量。12、-1、0A、d”NCRE”、“Beijing”3.14159、-2.71828、0.012.5678、-12.56782.2 标识符、常量和变量标识符、常量和变量2.2.3 符号常量符号常量在在C语言中,可以用一个语言中,可以用一个符号名符号名来代表一个常量,称为来代表一个常量,称为符号常符号常量。量。但是这个符号名必须在程序中用(但是这个符号名必须在程序中用(#define)进行特别的)进行特别的“指定指定。例例2.2 计算圆面积和周长,此程序中将如何教大家使用
12、符号常量。计算圆面积和周长,此程序中将如何教大家使用符号常量。#include “stdio.h”#define PI 3.14159main()double r,s,l; r=5.0; s=PI*r*r; l=2*PI*r; printf(“s=%f,l=%fn”,s,l); S=78.539750,l=31.415900/*包含头文件包含头文件*/*定义符号常量定义符号常量,符号常量名为符号常量名为PI,用用PI来代表来代表3.14159*/*主函数主函数,程序的入口程序的入口*/*声明部分声明部分,定义了定义了3实型个变量实型个变量*/*给变量给变量r赋值赋值*/*计算圆的面积计算圆的面
13、积*/*计算圆的周长计算圆的周长*/*分别圆的面积和周长分别圆的面积和周长*/注意注意习惯上,符号常量名用大写,变量名用小写,以示区别习惯上,符号常量名用大写,变量名用小写,以示区别函数体函数体rsl2.2 标识符、常量和变量标识符、常量和变量2.2.4 变量变量1.所谓所谓变量变量是指在程序运行过程中可以改变的量。是指在程序运行过程中可以改变的量。如下程序:如下程序:#include main()double a,b; a=1.5; b=2.5; printf(“%f%fn”,a,b); a=a+1; b=b+1; printf(“%f%fn”,a,b);ab1.5000002.500000
14、2.在程序中,声明变量就是在计算机内存中申请了某个在程序中,声明变量就是在计算机内存中申请了某个内存单元内存单元。对变量。对变量进行赋值,实质上就是把数据存入该变量所代表的存储单元中。进行赋值,实质上就是把数据存入该变量所代表的存储单元中。3.C语言规定,程序中所有变量都必须语言规定,程序中所有变量都必须先定义后使用先定义后使用。如程序例。如程序例2.1、例、例2.2。内存空间内存空间ab2.5000003.5000002.3 整型数据整型数据2.3.1 整型常量整型常量在在C语言中,按整型常量的语言中,按整型常量的表示形式表示形式可以有三种形式。可以有三种形式。整型常量整型常量由由09十个数
15、字组成,如十个数字组成,如32767、-32768、0等。等。由由07八个数字组成,如八个数字组成,如010、011、016等。等。注意,最高位必须用注意,最高位必须用0作引导符,与十进制和十六进制区分。作引导符,与十进制和十六进制区分。如:如:018,为不合法的八进制常量。,为不合法的八进制常量。由由09十个数字和十个数字和af(AF)六个字母组成,如六个字母组成,如0 x10、0Xde、0 xf注意,最高位必须用注意,最高位必须用0 x( 0X)作引导符,与十进制和八进制区分。作引导符,与十进制和八进制区分。如:如:oxff、0X12H,都为不合法的十六进制常量。,都为不合法的十六进制常量
16、。在在C语言中,按整型常量的语言中,按整型常量的表示范围表示范围可以分为四种。可以分为四种。在在C语言中,八进制数和十六进制数只能是正整数。语言中,八进制数和十六进制数只能是正整数。注意注意如:如:-077、-0X11、01.0等,(不合法)等,(不合法)短整型短整型基本整型基本整型长整型长整型无符号整型无符号整型三种进制之间的转换三种进制之间的转换十六进制常量:十六进制常量:八进制常量:八进制常量:十进制常量:十进制常量:2.3 整型数据整型数据2.2.2 整型变量整型变量整型变量整型变量是用来存放整型常量的工具。可以把整型变量抽象为一个盒子。是用来存放整型常量的工具。可以把整型变量抽象为一
17、个盒子。由于整型常量有短整型、基本整型、长整型和无符号整型四种类型,既然整型变量由于整型常量有短整型、基本整型、长整型和无符号整型四种类型,既然整型变量是用来存放整型数据的,那整型变量也要分为四种对应类型的整型变量,以方便存是用来存放整型数据的,那整型变量也要分为四种对应类型的整型变量,以方便存放不同类型的整型常量。在此我们只介绍基本整型变量。也叫放不同类型的整型常量。在此我们只介绍基本整型变量。也叫整型变量整型变量。在在C语言中,整型变量我们需要用一个符号来表示它,即整型变量名。语言中,整型变量我们需要用一个符号来表示它,即整型变量名。例如:例如:int k; /*定义定义k为整型变量为整型
18、变量,k为变量名为变量名*/关键字关键字int是用来说明变量是用来说明变量k的类型为整型。的类型为整型。又如:又如:int i,j,k; /*定义定义i、j、k为整型变量为整型变量*/int i;int j;int k;相同相同注意注意在同一行上使用关键字定义多个变量时,变量之间用逗号隔开。在同一行上使用关键字定义多个变量时,变量之间用逗号隔开。所有定义语句后必须以一个所有定义语句后必须以一个“;”号结束,表示它是一条语句。号结束,表示它是一条语句。2.3 整型数据整型数据2.2.2 整型变量整型变量在前面已经讲过,声明变量就是在计算机内存中申请某个在前面已经讲过,声明变量就是在计算机内存中申
19、请某个内存单元内存单元。在在VC6.0环境中,用关键字环境中,用关键字int声明变量时,计算机将会为每个变量开辟声明变量时,计算机将会为每个变量开辟4字节(字节(32个二进制位)的内存单元。个二进制位)的内存单元。例如例如,当前的某段内存空间如右图所示。有如下程序段。,当前的某段内存空间如右图所示。有如下程序段。内存空内存空间间地址地址2000200120022003200420052006200720112010200920082012int i;int j;i=100;j=200;C语言规定,可以在定义变量的同时给变量赋初值,该过程语言规定,可以在定义变量的同时给变量赋初值,该过程称为变量
20、的称为变量的初始化初始化。例如:。例如:#include main()int i=1,j=0,k=2; : :ij/*在声明变量的同时,为三个变量赋值在声明变量的同时,为三个变量赋值*/2.3 整型数据整型数据2.3.3 整型数据的分类整型数据的分类不同的计算机系统对整型数所占用的字节数和数值范围有不同规定,下表列出了不同的计算机系统对整型数所占用的字节数和数值范围有不同规定,下表列出了在在VC6.0VC6.0中定义的整型数所占用的字节数和数值范围。中定义的整型数所占用的字节数和数值范围。 类型名称类型名称通常使用简写通常使用简写字节数字节数数值范围数值范围signed intint4-214
21、7483648 2147483647signed short intshort2-3276832767signed long intlong4-2147483648 2147483647unsigned intunsigned404294967295unsigned short intunsigned short2065535unsigned long intunsigned long404294967295由于整型数据在由于整型数据在C语言中分为上述几类,比如语言中分为上述几类,比如123。它是属于哪一类型的?。它是属于哪一类型的?int123L、345l、0L、123456L123U、34
22、5u、0U、123456U123LU、345lu、0LU、123456LUlongunsignedunsigned long2.3 整型数据整型数据2.3.4 整数在内存中的存储形式整数在内存中的存储形式计算机中,内存储器的最小的存储单位称为计算机中,内存储器的最小的存储单位称为“位位(bit)”,每一位中只能存放,每一位中只能存放0或或1,因,因此称为此称为二进制位二进制位。8个二进制位组成一个个二进制位组成一个“字节字节”,并给每一个字节分配一个地址。,并给每一个字节分配一个地址。数据在内存中是以数据在内存中是以二进制形式二进制形式进行存放的。进行存放的。一、正整数一、正整数正整数在内存中
23、是以正整数在内存中是以“原码原码”形式存放的。如果定义了一个形式存放的。如果定义了一个short类型变量类型变量i:short i;i=5;/*声明声明i为短整型变量为短整型变量*/*给给i赋以整数赋以整数5*/十进制数十进制数5的二进制形式为的二进制形式为101,在,在VC6.0中,由于短整型变量在内存中占中,由于短整型变量在内存中占2个字节,个字节,i0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1i符号位符号位:0代表正整数,代表正整数,1代表负整数代表负整数二、负整数二、负整数负整数在内存中是以负整数在内存中是以“补码补码”形式存放的。形式存放的。2.4 实型数据实型数据
24、2.4.1 实型常量实型常量在在C语言中,实型常量的表示形式有两种。语言中,实型常量的表示形式有两种。实型常量实型常量由数字和小数点组成,如由数字和小数点组成,如0.123、.123、123.、0.0指数形式:指数形式: 如:如:0.23026x101 2.3026x100 23.026x10-10.23026E12.3026e023.026e-1注意注意E(e)前后必须有数字,并且后面的必须为整型数。前后必须有数字,并且后面的必须为整型数。.3e3 3.0e3 3.e3 (合法合法)3e e3 55e0.3 (不合法不合法)小数形式:小数形式:2.4 实型数据实型数据2.4.2 实型变量实型
25、变量分类分类类型名称类型名称字节数字节数数值范围数值范围有效数字位有效数字位单精度型单精度型float4-103810387位位双精度行双精度行double8-10308103081516位位单精度型变量定义的形式如下:单精度型变量定义的形式如下:float a,b,c;双精度型变量定义的形式如下:双精度型变量定义的形式如下:double x,y,z;实数在内存中是以实数在内存中是以“指数指数”形式存放的。形式存放的。也可以在定义实型变量的同时,对变量进行初始化。例如:也可以在定义实型变量的同时,对变量进行初始化。例如:#include main()float a=1.5,b=.5,c=0.0
26、; double x=1.5,y=.5,z=0.0; :/*在声明变量的同时,为三个变量赋值在声明变量的同时,为三个变量赋值*/*在声明变量的同时,为三个变量赋值在声明变量的同时,为三个变量赋值*/2.5 算术表达式算术表达式2.5.1 基本的算术运算符基本的算术运算符+ (加法运算符,或正值运算符加法运算符,或正值运算符) 如:如:1+2、+3.9- (减法运算符,或负值运算符减法运算符,或负值运算符) 如:如:3-4、-54* (乘法运算符乘法运算符) 如:如:1.2*3.2、3*4、2*x/ (除法运算符除法运算符) 如:如:5/3、(a+b)/(x+y)单目运算符单目运算符双目运算符双
27、目运算符两个整数相除,其值仍然为整数。如:两个整数相除,其值仍然为整数。如:5/3值为值为1、1/2值为值为0。两个实数相除,其值仍然为实数。如:两个实数相除,其值仍然为实数。如:1.0/2.0值为值为0.5。除数、被除数只要有一个为实数时,系统将自动进行类型转换,转换为除数、被除数只要有一个为实数时,系统将自动进行类型转换,转换为double型。型。 如:如:1/2.0=0.5、 1.0/2.0=0.5 最后结果的类型为最后结果的类型为double型。型。% (求余运算符求余运算符) 注意:注意:%运算符的两侧必须为整型数据。运算符的两侧必须为整型数据。 如:如:7%4的结果为的结果为3。-
28、7%4、 7%-4、 -7%-4的结果为多少?的结果为多少?-3 3 -3结果的符号和被除数相结果的符号和被除数相同同2.5 算术表达式算术表达式2.5.2 运算符的优先级、结合性和算术表达式运算符的优先级、结合性和算术表达式一、优先级一、优先级( ) + - * / % + -单目单目双目双目同级同级同级同级同级同级高高低低二、结合性二、结合性单目运算符的结合性是从右往左的,即表达式从右往左进行计算,称为单目运算符的结合性是从右往左的,即表达式从右往左进行计算,称为右结合右结合。其余运算符的结合性是从左往右的。即表达式从左往右进行计算,称为其余运算符的结合性是从左往右的。即表达式从左往右进行
29、计算,称为左结合左结合。例如例如:(5+1)/2 5+1/2 5*-25*(-2)三、算术表达式三、算术表达式用算术运算符和一对圆括号将运算量用算术运算符和一对圆括号将运算量(或称操作数或称操作数)连接起来的、符合连接起来的、符合C语法的语法的表达式称为表达式称为算术表达式算术表达式。算术表达式中,运算对象可以是常量、变量和函数等。例如:算术表达式中,运算对象可以是常量、变量和函数等。例如:2+sqrt(c)*b。 5 -103 2.5 算术表达式算术表达式2.5.3 强制类型转换表达式强制类型转换表达式表达式的形式如下:表达式的形式如下:(类型名类型名)(表达式表达式)强制类型转换运算符强制
30、类型转换运算符作用:可以利用强制类型转换运算符将一个表达式转换成想要的类型。作用:可以利用强制类型转换运算符将一个表达式转换成想要的类型。例如例如:(int)3.234 (double)(10%3)3注意注意int3.234 (错误)(错误)(double)10%3 (错误)(错误)例:阅读如下程序,关于强制类型转换。例:阅读如下程序,关于强制类型转换。#include main()double a; int b; a=3.6; b=(int)a; printf(“a=%f,b=%dn”,a,b);a=3.600000,b=31.0ab2.6 赋值表达式赋值表达式2.6.1 赋值运算符和赋值表
31、达式赋值运算符和赋值表达式赋值运算符:赋值运算符: =赋值表达式:由赋值运算符组成的表达式称为赋值表达式,它的形式如下:赋值表达式:由赋值运算符组成的表达式称为赋值表达式,它的形式如下: 变量名变量名=表达式表达式 赋值号的左边必须是一个代表某一存储单元的变量名。赋值号的左边必须是一个代表某一存储单元的变量名。赋值运算的功能是先求出右边表达式的值,然后把此值赋给左边的变量。赋值运算的功能是先求出右边表达式的值,然后把此值赋给左边的变量。 例如,若例如,若a和和b都被定义成都被定义成int类型变量类型变量a=10; /*把常量把常量10赋给变量赋给变量a*/b=a; /*把把a中的值赋给变量中的
32、值赋给变量b,a中的值不变中的值不变*/注意注意1. 赋值运算符的优先级别只高于逗号运算符,比其它任何运算符的优先赋值运算符的优先级别只高于逗号运算符,比其它任何运算符的优先级都低,且具有自右向左的结合性。例如:级都低,且具有自右向左的结合性。例如:a=2+7/3 2. 赋值运算符的左侧只能是变量不能是常量或表达式。如赋值运算符的左侧只能是变量不能是常量或表达式。如a+b=c是不合是不合法的赋值表达式。法的赋值表达式。 3. 赋值号右边的表达式也可以是一个赋值表达式,如赋值号右边的表达式也可以是一个赋值表达式,如a=b=7+1。4. 作为一个表达式,它自己也应该有一个值,作为一个表达式,它自己
33、也应该有一个值,C语言规定最左边变量中语言规定最左边变量中所得到的新值就是赋值表达式的值。所得到的新值就是赋值表达式的值。 2.6 赋值表达式赋值表达式2.6.2 复合赋值表达式复合赋值表达式在赋值运算符在赋值运算符”=”之前加上其它运算符可以构成复合赋值运算符。之前加上其它运算符可以构成复合赋值运算符。 += -= *= /= %= &= = |= 等价于等价于 n=n+1 等价于等价于 a=a+3 等价于等价于 n=n*(m+3) 注意:有括号注意:有括号例例2.3 已有变量已有变量a,初始值为,初始值为9,计算表达式,计算表达式a+=a-=a+a的值。的值。a表达式表达式如:如:
34、n+=1 a+=3 n*=m+3a+=a-=a+a9a+=a-=18a=a-18a+=-9a=a+-9a=a+(-9)a+=a-=a+a的值是:的值是:-182.6 赋值表达式赋值表达式2.6.3 赋值运算中的类型转换赋值运算中的类型转换在赋值运算中,只有在赋值号右侧表达式的类型在赋值运算中,只有在赋值号右侧表达式的类型 与左侧变量类型完全一致时,赋值操作才能进行。与左侧变量类型完全一致时,赋值操作才能进行。 如:如:int a; double b; a=10; b=3.5;如果赋值运算符两侧的数据类型不一致,在赋值前,如果赋值运算符两侧的数据类型不一致,在赋值前, 系统将自动先把右侧表达式求
35、得的数值,按赋值号系统将自动先把右侧表达式求得的数值,按赋值号 左边变量的类型进行转换,也可以用强制类型转换左边变量的类型进行转换,也可以用强制类型转换 的方式,人为地进行转换后赋给赋值号左边的变量。的方式,人为地进行转换后赋给赋值号左边的变量。 a10b3.5如:如:int a; double b; a=20.5; b=15;a20b15.03. 在在C语言的表达式中语言的表达式中(不包括赋值表达式不包括赋值表达式),如果运算,如果运算 符两边的数据类型不相同,将进行类型之间的转换。符两边的数据类型不相同,将进行类型之间的转换。 转换规则如下:转换规则如下: doublelongunsign
36、edintfloatchar,short低低高高如:如:10+97+1.5-8765.1234*988765.1234*98.0double2.7 自加、自减运算符和逗号运算符自加、自减运算符和逗号运算符2.7.1 自加运算符自加运算符“+”和自减运算符和自减运算符“-”+ (自加运算符自加运算符)- (自减运算符自减运算符)1. +、-运算符是单目运算符,运算对象只能变量,不能是常量和表达式。运算符是单目运算符,运算对象只能变量,不能是常量和表达式。 2. +和和-运算符的结合方向是运算符的结合方向是自右至左自右至左。 i+、+i i-、 -ii=i+1i=i-1例如:例如:int i=5;
37、i+;int i=5;+i;int i=5;i-;int i=5;-i;i:表达式:表达式:运算规则运算规则运算符在前,先计算,后赋值运算符在前,先计算,后赋值运算符在后,先赋值,后计算运算符在后,先赋值,后计算例如:例如:int i=3; -i+; int i=3;-(i+);i:表达式:表达式:思考:程序示例,自增自减运算思考:程序示例,自增自减运算#include main()int i=0,j; j=i+; printf(“%d,%dn”,i,j); i=0; j=+i; printf(“%d,%dn”,i,j);上机练习上机练习656645444-32.7 自加、自减运算符和逗号运算
38、符自加、自减运算符和逗号运算符2.7.2 逗号运算符和逗号表达式逗号运算符和逗号表达式, (逗号运算符逗号运算符)用逗号将表达式连接起来的式子称为用逗号将表达式连接起来的式子称为逗号表达式逗号表达式。逗号表达式的一般形式为:。逗号表达式的一般形式为: 表达式表达式1,表达式,表达式2,表达式,表达式n 表达式之间用表达式之间用逗号逗号进行连接进行连接1. 逗号运算符的结合性为从左到右,因此逗号表达式将从左到右进行运算。逗号运算符的结合性为从左到右,因此逗号表达式将从左到右进行运算。 如:如:i=3,i+,+i,i+5 i表达式表达式33i表达式表达式43i表达式表达式55i表达式表达式510逗
39、号表达式的值为逗号表达式的值为2. 在所有运算符中,逗号运算符的优先级别最低。在所有运算符中,逗号运算符的优先级别最低。 习题一、选择题2.1 以下选项中正确的整型常量是 A 12. B -20 C 1,000 D 4 5 62.2 以下选项中正确的实型常量是A 0 B 3. 1415 C 0.329X102 D .871 2.3 以下选项中不正确的实型常量是A 2.607E-1 B 0.8103e 2 C -77.77 D 456e-22.4 以下选项中不合法的用户标识符是 A abc.c B file C Main D PRINTF2.5 以下选项中不合法的用户标识符是 A _123 B printf C A $ D Dim2.6 C语言中运算对象必须是整型的运算符是 A % B / C ! D *
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社交媒体在网络营销中的作用与应用
- 学生健康成长实施方案的保障措施
- 内分泌常见药物相关知识
- 生化免疫制品项目融资计划书
- 血球计数器项目筹资方案
- 我的母亲胡适
- 生态音乐制作流程课件
- 小学生学习策略与成长规划主题家长会
- DBJ04T 414-2021 装配式建筑施工安全技术标准
- 2025-2030年手腕按摩手套行业跨境出海战略研究报告
- 委托书之工程结算审计委托合同
- 《如何有效组织幼儿开展体能大循环活动》课件
- 大学计算机基础(第6版)(微课版)课件 第1章认识计算机
- 压疮课件教学课件
- 花城版四年级音乐下册全册教案
- 河南省南阳市2023-2024学年八年级上学期期末考试数学试题
- GB/T 44230-2024政务信息系统基本要求
- 共享wifi贴合同范本
- 统战工作先进个人事迹材料
- 成人鼻肠管的留置与维护
- 国能辽宁北票 200MW 风力发电项目地质灾害危险性评估报告
评论
0/150
提交评论