C语言专升本教案.doc_第1页
C语言专升本教案.doc_第2页
C语言专升本教案.doc_第3页
C语言专升本教案.doc_第4页
C语言专升本教案.doc_第5页
已阅读5页,还剩116页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 C语言概述必不可少 C程序的组成和形式l 程序是由函数构成的主函数其他函数l 一个函数由两部分组成参数说明可以省圆括号不能省F 函数的首部例 中max函数的首部为:int max(int x,int y)函数类型函数名函数参数类型函数参数名函数参数类型函数参数名F 函数体声明部分变量声明函数声明执行部分l 一个程序总是从main函数开始执行。l 程序书写格式自由,一行可以写几个语句,一个语句可以写在多行上。l 每个语句和数据声明的最后必须有一个分号。l 语言的输入输出功能是通过函数完成的。 开始 编辑 编译 连 执 行 有错? 结果正确? 结 束 有 源程序 file.c 目标程序file.obj 库函数和其他目标程序 可执行目标程序file.exe 无正确 不正确 接l 可以用/*/对程序进行注释。 运行程序的步骤:第三章数据类型、运算符、与表达式短整型shortC数据类型基本类型构造类型指针类型空类型void字符类型char枚举类型enum整 型实型单精度型float双精度型double数组结构体struct共用体union长整型long整型int语言的数据类型 语言的数据类型:数据类型决定:1. 数据占内存字节数2. 数据取值范围3. 其上可进行的操作常量与变量 常量与符号常量l 常量:在程序运行过程中,其值不能被改变的量l 符号常量:用一个标识符代表一个常量的符号l 使用符号常量的好处:F 含义清楚F 能做到“一改全改” 变量l 变量:代表内存中具有特定属性的一个存储单元,它用来存放数据,也就是变量的值,在程序运行期间,这些值是可以改变的。l 标识符:在语言中用来对变量、符号常量、函数、数组、类型等对象命名的有效字符序列l 标识符的命名规则:F 只能由字母、数字和下划线种字符组成,且第一个字符必须为字母或下划线。F 大写和小写字母是不同的字符,也就是不同的标识符。F 标识符的最大长度Tuobo C规定为个字符,一般不超过个字符。F 标识符应做到“见名知义”F 标识符不能是关键字,如果是已经定义标识符,比如函数名,则相当于重新定义。l 变量必须“先定义,后使用”例:判断下列标识符号合法性sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123整型数据 整型常量l 十进制整数:正负整数l 八进制整数:以开头,08是错误的用法l 十六进制整数:以开头,例:0x2a是合法的 整型常量的类型l 一个整型常数根据数据所在的范围可自动确定它的数据类型l 一个整常量后面加一个字母u或U,认为是unsigned int型l 一个整常量后面加一个字母l或L,认为是long int 整型变量l 整型数据在内存中的存放形式:补码F 正整数:该数的原码F 负整数:该数的绝对值按位取反再加例:的补码为0000000000001010 -10的补码为1111111111110110最高位是符号位,该位为表示正,该位为表示负。l 整型变量的分类:六种有符号基本整型:signed int 2 -3276832767(-215215-1)无符号基本整型: unsigned int 2 065535(0216-1)有符号短整型:signed short int 2 -3276832767无符号短整型: unsigned short int 2 065535有符号长整型:signed long int 4 -2147483648(-231231-1)无符号长整型: unsigned long int 4 04294967295(0232-1)l 整型数据的溢出例整型数据的溢出#include void main()int a,b; a=32767; b=a+1;a和 b在内存中的形式:0111111111111111 327671000000000000000 -32768 printf(%d,%dn,a,b);运行结果为:32767,-32768浮点型数据错误用法 浮点型常量的表示方法l 十进制小数形式:(必须有小数点) 如0.123, .123, 123.0, 0.0, 123.l 指数形式:(e或E之前必须有数字;指数必须为整数)如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5 l 规范化的指数形式:在字母e(或E)之前的小数部分中,小数点左边应有一位(且只能有一位非零的数字。 浮点型变量l 浮点型数据在内存中的存放形式:分成小数部分和指数部分两部分存放例:3.14159在内存中的形式如下(实际存储的是它的二进制数形式): 314159 1 符号小数部分指数部分l 浮点型变量的分类类型比特数有效数字数值范围float-3.4*10-383.4*1038double-1.7*10-3081.7*10308ling double-1.2*10-49321.2*104932l 浮点型变量也应先定义后使用字符型数据 字符常量:l 用单撇号括起来的一个字符l 转义字符:以一个“”开头的字符序列:含义转义字符含义转义字符水平制表8tn换行回车r退格b反斜线换页f12位16进制数代表的字符xhh13位8进制数代表的字符ddd双引号“单引号例:转义字符的使用#include void main ( ) main() printf( ab ct derftgn); printf(htibbj kn);实际运行结果为:f gdeh j k*输出的制表符覆盖了原有字符运行结果应为:fab c gdeh jik 字符变量l 字符变量的定义及使用形式:char c1,c2;c1=a;c2=b;l 字符变量在内存中占一字节。 字符数据在内存中的存储形式l 以字符的ASCII码形式存放l 可以和整型数据通用,可以互相赋值,可以以%d或c式输出,字符型数据可以参加算术运算,但只能存放0255(unsigned char)或-128127(signed char)之间的整数。例向字符变量赋予整数#include void main() char c1;int c2; c1=97; c2=98; printf(%c %cn,c1,c2); printf(%d %dn,c1,c2); 运行结果:a b97 98例大小写字母的转换#include void main() char c1,c2; c1=a; c2=b;c1=c1-32;c2=c2-32; printf(%c %c,c1,c2); 字符串常量:l 一对双撇号括起来的字符序列:“abc”l a是字符常量,“a”是字符串常量l 不能将一个字符串常量赋值给字符变量l 系统自动在字符串常量的末尾加上0做结束标志例 字符串“hello”在内存中:h e l l o 00例 空串“”在内存中变量赋初值 变量赋初值:在定义变量的同时使变量初始化正确用法例:int a=3;float f=3.56;char c=a;错误用法int i,j,k=5;int a,b,c=5;int a=b=c=5;各类数值型数据间的混合运算 各类数值型数据间的混合运算l 整型、浮点型、字符型数据间可以混合运算l 不同类型的数据要先转换成同一类型,再进行运算l 转换规则:doublefloatlongunsignedintchar,short低高必定转换运算对象类型不同时转换方向int i;float f;double d;long e;例:10 + a + I * f - d / eintintdoubledoubledoubledoubledoubledouble算术运算符和算术表达式 运算符简介算术运算符:(+ - * / % + -)关系运算符:( = !=)逻辑运算符:(! & |)位运算符 :( | &)赋值运算符:(= 及其扩展)条件运算符:(?:)逗号运算符:(,)指针运算符:(* &)求字节数 :(sizeof)强制类型转换:(类型)分量运算符:(. -)下标运算符:()其它 :(( ) -)C运算符 算术运算符和算术表达式l 基本算术运算符: + ,-, *, /, %(取余)F 结合方向:从左向右F 优先级: - * / % + -(2) (3) (4)l 说明:F “-”可为单目运算符时,右结合性F 两整数相除,结果为整数,遵守“向零取整”的原则例:5%2 = 1 -5%2 = -1 1%10= 1 5%1 = 0 5.5%2 ()F %要求两侧均为整型数据例:5/2 = 2-5/2 =-2 -5/2.0 = -2.5l 算术表达式:用算术运算符和括号将运算对象(操作数)连接起来,符合语法规则的式子。 强制类型转换运算符l 一般形式:(类型名)(表达式)l 优先级:2级例:(int)(x+y)(int)x+y(double)(3/2)(int)3.6 l 说明:强制转换得到所需类型的中间变量,原变量类型不变 例 main() float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d”,x,i); 结果:x=3.600000,i=3精度损失问题较高类型向较低类型转换时可能发生 自增、自减运算符+ -l 作用:使变量值加1或减1l 种类:F 前置 +i, -i (先执行i+1或i-1,再使用i值)F 后置 i+,i- (先使用i值,再执行i+1或i-1)l 说明:F + - 只能用于变量,不能用于常量和表达式,如5+ (),(a+b)+ ()F + -结合方向:自右向左F 优先级:-,+,- * ,/, % + ,- (2) (3) (4)j=i+;printf(“%d,%d”,j,i);例:printf(“%d,%d”,i,i+);运行结果:,例 j+k; (j+)+k;例 -i+ -(i+)(同一优先级右结合性) i=3; printf(“%d”,-i+); /-3 9赋值运算符和赋值表达式 简单赋值运算符l 符号: =l 格式: 变量标识符=表达式l 作用:将一个数据(常量或表达式)赋给一个变量 赋值时若变量和表达式的类型不一致将自动进行类型转换例:int i;i=3.56; /*实际i值为*/例:float f; f=23; printf(“%fn”,f); 结果为:23.000000例:doule赋值给float时,截取其前面位有效数字,取值范围超出时产生溢出错误。float f;double d=123.456789e100;f=d; /*出错*/例:字符赋给整型时:main()unsigned char c,d;int a,b;无符号字符时,将原值存入整型数的低八位,高八位补零。c=376;d=-125;a=c;b=d;printf(“%d,%d”,a,b);运行结果为:,main() char c;有符号字符时,将原值存入整型数的低八位,高八位符号扩展。原值最高位为零则补零,为则补int a;c=376;a=c;printf(“%d”,a);运行结果为:例:main()int,short,long赋值给字符型变量时,只将其低八位截取赋值int i=289; char c; c=i; printf(“%d,%c”,c,c);运行结果为:,!例:将int赋值给long int处理方法同例将longint赋值给int时截取低位main()long b=65536;int a;a=b;printf(“%d”,a);运行结果为:例:将unsigned赋给一个同字节数的signed型时,将原值保持不变,超范围会产生溢出错误。例:main()unsigned int a=65535;int b;b=a;printf(“%d”,b);运行结果为:例:将signed赋给一个同字节数的unsigned型时,将原值保持不变main()unsigned int a;int b=-1;a=b;printf(“%d”,a);运行结果为: 复合赋值运算符l 种类:+= -= *= /= %= = &= = |=含义: 变量 op= 表达式 变量= 变量 op (表达式)a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3 赋值表达式l 一般形式:变量表达式l 赋值表达式的值与变量值相等,且可嵌套,但赋值号左边必须为变量正确用法:a=b=c=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)错误用法:3=x-2*y;a+b=3;a=3*5=4*3例:a=12; a+=a-=a*a/*a=-264 等价于a=a+(a=a-(a*a)*/例:b=3;printf(“%d”,a=b);逗号运算符和逗号表达式形式:表达式1,表达式2,表达式n结合性:从左向右优先级低于赋值表达式逗号表达式的值:等于表达式n的值例 a=3*5,a*4 /*a=15,表达式值60*/ a=3*5,a*4,a+5 /*a=15,表达式值20*/例 x=(a=3,6*3) /*赋值表达式,表达式值18,x=18*/ x=a=3,6*a /*逗号表达式,表达式值18,x=3*/例 a=1;b=2;c=3; printf(“%d,%d,%d”,a,b,c); /*1,2,3*/ printf(“%d,%d,%d”,(a,b,c),b,c); /*3,2,3*/ 课堂练习:分析下面程序的运行结果:main()float f1;int a;char c=a;f1=32.78;c= c-(int)f1;a=c%15;printf(“%d,%f,%cn”,a,f1,c);第一章与第三章练习题1. 一个C程序的执行是从_。 A)本程序的main函数开始,到main函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束2. 以下叙述正确的是:A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误3. 以下叙述不正确的是。A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面4. C语言规定:在一个源程序中,main函数的位置 。A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后5. 一个C语言程序是由A)一个主程序和若干子程序组成 B)函数组成C)若干过程组成 D)若干子程序组成6. 若x,i,j和k都是int型变量,则执行下面表达式后x的值为 x=(i=4,j=16,k=32) A)4 B)16 C)32 D)527. 假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是: A)7 B)8 C)6 D)28. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母,数字和下划线中任一种字符9. 若有代数式3ae/bc,则不正确的C语言表达式是: A) a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*310. 以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。11. 以下正确的叙述是:A)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符12. 以下符合C语言语法的赋值表达式是A)d=9+e+f=d+9 B) d=9+e,f=d+9C)d=9+e=e+,d+9 D)d=9+e+=d+713. 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=A十6一3;后,c2中的值为A)D B)68 C)不确定的值 D)C14. 在C语言中,要求运算数必须是整型的运算符是。A) / B) + c) != D)%15. 若以下变量均是整型,且num=sum=7;则执行表达式sUM=num+,sUM+,+num后sum的值为 A) 7 B) 8 C) 9 D) 1016. 在C语言中,int、char和short种类型数据在内存中所占用的字节数A)由用户自己定义 B)均为2个字节C)是任意的 D)由所用机器的机器字长决定17. 若有说明语句:char c=72则变量c A)包含1个字符 B)包含2个字符C)包含3个字符 D)说明不合法,c的值不确定18. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A)2.500000 B)2.7500OO c) 3.500000 D) 0.000000。19. sizeof(float)是:A)一个双精度型表达式 B)一个整型表达式C)一种函数调用 D)一个不合法的表达式20. 设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为 A)int B) float C) double D)不确定21. 在C语言中, char型数据在内存中的存储形式是:A)补码 B)反码 C)原码 D)ASCII码22. 表达式18/4*sqrt(4.0)/8值的数据类型为:A) int B)float C)double D)不确定23. 设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为:A) 0255 B) 032767 C) 065535 D) 0214748364724. 设有说明: char w; int x; f1oat y; double z;则表达式w* x+z一y值的数据类型为:A)float B)char C)int D)double25. 若有以下定义,则能使值为3的表达式是:int k= 7,x =12;A) x%=(k%= 5) B) x%=(k一k%5)C) x%=k- k%5 D) (x%=k)一(k%=5)26. 设以下变量均为int类型,则值不等于7的表达式是A) (x= y= 6, x+y,x+1) B)(x= y= 6,x+y,y+1)C) (x= 6,x+1,y= 6,x+y) D) (y=6,y+l,x = y,x+1)第四章顺序程序设计语句 C语句分类l 程序控制语句(9种):分支if( )else switchfor( )while( )dowhile( )continuebreakgotoreturn循环辅助控制l 表达式语句:表达式加分号构成。F 函数调用语句:函数名(实际参数表); F 赋值语句:赋值表达式加一个分号a=3;i+;F 其他表达式构成语句:表达式加一个分号x+y ; /*合法但无意义*/l 空语句: ;l 复合语句:用 括起来的一组语句F 一般形式: 数据说明部分; 执行语句部分; F 说明:v “”后不加分号v 语法上和单一语句相同v 复合语句可嵌套字符数据的输入输出 字符输出函数:l 格式: putchar( c )l 参数: c为字符常量、变量或表达式l 功能:把字符c输出到显示器上#include main() int c; char a; c=65; a=B; putchar(c); putchar(n); putchar(a); 字符输入函数l 格式: getchar() /*无参函数*/l 功能:从输入设备得到一个字符作为函数值赋值给一个字符变量例:char c; c=getchar(); putchar(getchar(); printf(“%c”,getchar();3格式输出printf函数 printf函数l 一般格式: printf(“格式控制串”,输出表)l 功能:按指定格式向显示器输出数据l 输出表:要输出的数据(可以没有,多个时以“,”分隔)l 格式控制串:包含两种信息F 格式说明: %修饰符格式字符 ,用于指定输出格式格式字符:十六进制无符号整数不带符号十进制整数十进制整数指数形式浮点小数单一字符字符串八进制无符号整数小数形式浮点小数e和f中较短一种百分号本身F 普通字符或转义序列:原样输出d,i5677fff101567AABC5.677890e+02567.789000567.789%int a=567;printf ( “%d”,a);x,Xint a=255;printf(“%x”,a);oint a=65;printf(“%o”,a);uint a=567;printf(“%u”,a);cchar a=65;printf(“%c”,a);sprintf(“%s”, “ ABC”);e,Efloat a=567.789;printf(“%e”,a);ffloat a=567.789;printf(“%f”,a);g,Gfloat a=567.789;printf(“%g”,a);printf(“%”);%l 说明F 格式字符要用小写(,除外)F 格式字符与输出项个数应相同,按先后顺序一一对应#include void main()int a;a=12;printf(%d,%d,a,13); 运行结果:12,13修改:printf(%d,%d,a); 运行结果:12,0修改:printf(%d,a,13);运行结果:12F 输出转换:格式字符与输出项类型不一致,自动按指定格式输出(某种情况下可,某种情况不能转换)l 附加格式说明符(修饰符)功能 能修饰符输出数据域宽,数据长度m,左补空格;否则按实际输出(用于整型、浮点、字符串)m对实数,指定小数点后位数(四舍五入)对字符串,指定实际从左端截取的字符的个数.n-输出数据在域内左对齐(缺省右对齐)在d,o,x,u前,指定输出精度为long型在e,f,g前,指定输出精度为double型(double型也可以直接用%f输出)l课堂练习:分析下列程序的运行结果:例 int a=1234; float f=123.456; char ch=a; printf(“%8d,%2dn”,a,a); printf(“%f,%8f,%8.1f,%.2f,%.2en”,f,f,f,f,f); printf(“%3cn”,ch);运行结果: 1234,1234 123.456000,123.456000, 123.5,123.46,1.23e+02a例:无符号数据的输出#include void main() unsigned int a=65535; int b=-2; printf(a=%d,%o,%x,%un,a,a,a,a); printf(b=%d,%o,%x,%un,b,b,b,b); 运行结果为:a=-1,177777,ffff,65535b=-2,177776,fffe,65534例:字符串的输出#include void main ( ) printf(%3s,%7.2s,%.4s,%-5.3sn,CHINA,CHINA, CHINA, CHINA);运行结果:CHINA,#CH,CHIN,CHI#(#号代表空格)例:输出实数时的有效位数(一般7位有效数字)#include void main() float x,y; x=111111.111;y=222222.222; printf(%f,x+y);运行结果为:333333.328125例:输出双精度数时的有效位数(一般16位有效数字)#include void main() double x,y;x=1111111111111.111111111;y=2222222222222.222222222;printf(%f,x+y);运行结果为:3333333333333.3330004格式输入函数scanf() scanf函数l 一般格式: scanf(“格式控制串”,地址表列)l 功能:按指定格式从键盘输入数据l 地址表列:由若干个地址组成的表列,可以是变量的地址,或字符串的首地址l 格式字符:d,i;o;x,X;u;c;s;f,e,E,g.,Gl 附加格式说明符(修饰符)l修饰符功 能hm*用于d,o,x前,指定输入为short型整数用于d,o,x,u前,指定输入为long型整数用于e,f前,指定输入为double型实数指定输入数据宽度,应为正整数抑制符,指定输入项读入后不赋给变量l 输入数据时,遇以下情况认为该数据结束:F 遇空格、TAB、或回车F 遇宽度结束F 遇非法输入#include void main ( ) int a,b,c; scanf(%d%d%d,&a,&b,&c); printf(%d,%d,%dn,a,b,c);输入时可以空格,回车键,Tab键分隔输入数据:3 4 5运行结果:3,4,5以下输入方法均正确:3 4 5 3 4 5 3(按Tab键)45例 scanf(“%d%o%x”,&a,&b,&c); printf(“a=%d,b=%d,c=%dn”,a,b,c); 输入 123 123 123 输出 a=123,b=83,c=291例 scanf(“%4d%2d%2d”,&yy,&mm,&dd); 输入 19991015 则1999yy, 10 mm, 15 dd例 scanf(“%2d%*3d%2d”,&a,&b); 输入 1234567 则12a, 67b例 scanf(“%3d%*4d%f”,&k,&f); 输入 12345678765.43 则123k, 8765.43f例 scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); 输入 a=12,b=24,c=36 例scanf(“%d%c%f”,&a,&b,&c); 若输入1234a123o.26 则 1234 a, a b, 123 c例 int x; char ch; scanf(“%d”,&x); scanf(“%c”,&ch); printf(“x=%d,ch=%dn”,x,ch);执行:123输出:x=123,ch=10例 int x; char ch; scanf(“%d”,&x); ch=getchar(); printf(“x=%d,ch=%dn”,x,ch);执行:123输出:x=123,ch=10例main()double f;scanf(“%lf”,f); /l不能省略printf(“%f”,f);顺序结构程序设计举例例输入三角形的三个边长,求三角形的面积分析:若假设输入的三个数可以构成一个三角形,则由三条边求三角形面积公式为:)()()()(21csbsassareacbas-=+=程序如下:#include #include main() float a,b,c,s,area; scanf(%f,%f,%f,&a,&b,&c); s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2fn,a,b,c,s); printf(area=%7.2fn,area);输入:3,4,6 输出:a= 3.00, b= 4.00, c= 6.00 s= 6.50 area= 5.3304022-=+acbcbxax方程的根,设例求分析:一元二次方程的根为:aacbbx242-=#include #include main() float a,b,c,disc,x1,x2,p,q; scanf(a=%f,b=%f,c=%f,&a,&b,&c); disc=b*b-4*a*c; p=-b/(2*a); q=sqrt(disc)/(2*a); x1=p+q; x2=p-q; printf(nnx1=%5.2fnx2=%5.2fn,x1,x2);输入:a=1,b=3,c=2 输出:x1=-1.00 x2=-2.00第五章选择结构程序设计关系运算符和关系表达式 关系运算符l 种类: = !=l 结合方向:自左向右l 优先级别:低于算术运算符,高于赋值运算符(算术-关系-赋值-逗号)= =!=优先级6(高)优先级7(低)例 ca+b /c(a+b) ab!=c /(ab)!=c a= =bc /a= =(bc /a=(bc)l 关系表达式的值:是逻辑值“真”或“假”,用1和0表示/表达式值1/表达式值1/表达式值0/d=1/f=0,合法,但不要理解错含义例 int a=3,b=2,c=1,d,f; ab (ab)= =c b+cb f=abc例 int i=1, j=7,a; a=i+(j%4!=0); 结果:a=2例 a0 结果为1 A100 结果为0例 5278在C中是允许的, 值为0例 注意区分“=”与“= =” int a=0,b=1; if(a=b) /改为if(a= =b) printf(“a equal to b”); else printf(“a not equal to b”);例 应避免对实数作相等或不等的判断(有些系统可以)如 1.0/3.0*3.0= =1.0 有的系统结果为0,有的系统结果为1可改写为:fabs(1.0/3.0*3.0-1.0)1e-6逻辑运算符和逻辑表达式 逻辑运算符和表达式l 逻辑运算符F 种类: &(与) | (或) ! (非)F 逻辑运算规则:两个操作数同时为真,其值为真,否则为假| :两个操作数有一者为真则其值为真,全为假则为假!:若操作数为真,则其值为假,若操作数为假,则其值为真。F 优先级:!算术运算符关系运算符和|赋值 逗号高 低F 结合性:! :从右向左& :从左向右| :从左向右F 说明:当

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论