C语言语法简洁、紧凑;使用方便、灵活;具有丰富的运算符和数据结构;并能通过函数来实现程序的模块化。它即具有高级语言的一切功能,也具有低级语言的一些功能。因此,它即可以用来编写系统软件,也可以用来编写应用软件。所以它是当今国际上广泛流行的一种计算机高级语言。第二章C语言程序设计基本我们在这一章中将要给大家介绍有关C语言的基本组成结构、数据类型、运算符以及表达式等项内容为后期的程序设计打好基础2.1C语言的程序结构程序结构是指程序的组织形式也就是说,程序结构是程序的骨架,程序本身可以改变但程序的组织形式是不能随意改变的。main(){inta,b,c;scanf(“%d,%d\n”,&a,&b,&c);c=max(a,b);printf(“max=%d\n”,c);}intmax(x,y)intx,y;{intz;if(xy)z=x;elsez=y;return(z);}C程序是由函数构成的,一个函数是由两部分组成2.1C语言的程序结构main()函数说明部分函数类型,函数名,函数属性,函数参数(形参名,形参类型)函数体变量定义;执行部分;主函数#includestdio.hmain(){inta,b,sum;a=123;b=456;sum=a+b;printf(“sum=%d\n”,sum);}变量说明函数体调用库函数2.2C语言中允许使用的数据类型数据类型基本类型构造类型指针类型空类型整型(short、int、long)实型(float、double)字符(char)枚举(enum)数组类型结构体类型(struct)共用体类型(union)文件类型(file)数锯类型这种码是用7位二进制表示一个字符。由于2=128所以它可以有128种不同的组合来表示128个不同的字符。(0-9,A-Z,a-z,以及各种运算符、标点符号和控制符号)7AmericanStandardCodeforInformationInterchange(美国标准信息交换代码)‘a’---97(ASCII)例如:011000012.3C语言中的运算符及表达式运算是对数据进行加工的过程记述各种不同运算的符号称为运算符算术运算符关系运算符逻辑运算符赋值运算符位运算符条件运算符逗号运算符指针运算符字节运算符强制类型转换算术运算符及算术表达式1求a与b的和a+b加求a与b的差a-b减求a与b的积a*b求a与b的商a/b除+-/求a除以b的余商a%b取余名称例子运算符运算功能*乘%3a4aa++3a2aa--3a-3a-aa=a+1a++或++a加一a=a-1a--或--a减一a=-a-a++--运算符名称例子等价于-反符号加赋值名称减赋值乘赋值除赋值+=运算符-=*=/=a=a+b等价于a=a-ba=a*ba=a/ba=a%ba+=b例子a-=ba*=ba/=ba%=b取余赋值%=算术运算符及算术表达式1关系运算符是用来比较两个数据大小的,运算结果是成立或不成立如果成立,则结果为逻辑值“真”,用整数“1”来表示如果不成立,则结果为逻辑值“假”,用整数“0”来表示。关系运算符及关系表达式21、由关系运算符连接的表达式称为—关系表达式2、关系表达式的运算结果为一逻辑值(即真或假)3、在C语言中的逻辑值用1代表真,以0代表假大于名称小于等于大于等于运算符===ab例子aba==ba=ba=b小于等于=a!=b不等于!=2、10!=9的值是?A)trueB)非零值C)0D)13、若有说明和语句:inta=5;a++;则此处表达式a++的值是:A)7B)6C)5D)44、C语言中的基本数据类型包括有:A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型1、已知a=3,b=4则有c=ab?(D)(C值为0)(C)(B)逻辑运算符及逻辑表达式3逻辑运算符是对两个关系式或逻辑式进行逻辑运算的,其运算结果仍是逻辑值即为逻辑真,用整数“1”来表示;逻辑假用整数“0”来表示。1、由逻辑运算符连接的表达式称为—逻辑表达式2、逻辑表达式的运算结果为一逻辑值(即真或假)3、!当运算量为非零值时,则运算结果为0,反之当运算量为零值时,则运算结果为1&&当两个运算量均为非零值时,运算结果为1,否则运算结果值为0||当两个运算量中只有一个为非零值时,运算结果为1。当两个运算量均为零时,则运算结果才为0。逻辑反名称逻辑与逻辑或!运算符&&||!a例子a&&ba||ba反逻辑运算a与ba或b&&当左右两个运算量均为真(1)时,运算结果才为真(1),||当左右两个运算量均为假(0)时,则运算结果才为假(0)。e1?e2:e3运算规则条件名称?:运算符说明:设e1、e2、e3分别为任意表达式。执行顺序:计算e1的值:1、若为非0(即真值)再计算e2的值,并把e2的值作为整个表达式的值。2、若为0(即假值),则需计算e3的值并把e3的值作为整个表达式的值条件运算符及条件表达式41、已知a=4,b=3则有max=(ab)?a:b2、已知a=1,b=2,c=3,d=4则如下条件表达式的值为:ab?a:cd?c:d443、已知a=3,b=2求下列表达式i的值。i=(--a==b++)?--a:++b1已知a=2,c=‘a’,f=3.0,求下列条件表达式的值:1、a0?a:-a2、f==3.0?a=c:a=c3、!(a==0)?!!a:!4、(f0?((a0)?2:1):(a0)?1:0)5、(a=0)?(a=1):(a=0)6、(c==‘A’)?(0,1):(1,0)说明:1、其中的表达式可以是:字符表达式或算术表达式、关系表达式、逻辑表达式、条件表达式、赋值表达式、逗号表达式等。2、其含义是将赋值号右端的内容赋给左端的变量中去。赋值运算符及赋值表达式5运算符=名称赋值号运算规则变量=表达式设:a=2,c=‘a’,f=3.0,下列表达式都是赋值表达式1、d=0f*=a+2由算术表达式构成,其值为0、12.02、d=a=c由关系表达式构成,其值为13、d=!(a==0)由逻辑表达式构成,其值为14、d=(a0)?2:1由条件表达式构成,其值为25、d=e=f+2.1由赋值表达式构成,其值为5.16、d=(a,c,f,0)由逗号表达式构成,其值为0逗号运算符及逗号表达式6运算符,名称逗号运算规则表达式1,表达式2设:a=2,c=‘a’,f=3.0,下列表达式都是逗号表达式1、a+2,c+2由算术表达式构成,其值为992、ac,f=c由关系表达式构成,其值为03、!(a==0),f!=0&&c==‘A’由逻辑表达式构成,其值为04、(a0?0:1),(a0?1:2)由条件表达式构成,其值为25、d=f+2.1,e=a-10由赋值表达式构成,其值为-86、a,c,f,10由逗号表达式构成,其值为10例如:已知a=100c=20则有x=a+2,c+2,求x值为由算术表达式构成,其x值为224、设a=2,b=3,c=4,则有运算表达式a*=16+(b++)-(++c)以后a的值是(),b的值是(),c的值是()A)31B)30C)29D)28A)2B)3C)4D)5A)-5B)-4C)5D)42、设a=5,使b不为2的表达式是:A)b=a/2B)b=6-(--a)C)b=a%2D)b=a3?2:13、设x=5,y=2,则值为1的表达式是:A)!(y==x/2)B)y!=x%3C)x0&&y0D)x!=y||X=y1、下列表达式的值是:1?(0?3:2):(10?1:0)A)3B)2C)1D)0第2章作业