计算机应用技术c程序设计语言课件_第1页
计算机应用技术c程序设计语言课件_第2页
计算机应用技术c程序设计语言课件_第3页
计算机应用技术c程序设计语言课件_第4页
计算机应用技术c程序设计语言课件_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计

第二章主讲人:周恒艳合肥信息技术职业学院2.1c语言的词法记号关键字标识符常量运算符分隔符

#include<stdio.h>main(){inta,b,sum;a=123;b=456;sum=a+b;printf(“sum=%d\n”,sum);}举例关键字标识符数字常量分隔符运算符一、符号集二、标识符三、关键字也称为“保留字”它是c语言当中具有特定含义、专门用作语言特定成分的一类标识符。

ANSI推荐的C语言的关键字共是32个注意:所有的关键字都具有固定的意义,不能再用作其他。所有的关键字都必须小写。如:else与ELSE表示不同的含义。

else是关键字,ELSE是用户定义的标识符。2.2C语言中允许使用的数据类型`数据类型基本类型构造类型指针类型空类型整型(short、int、long)实型(float(单精度)、double(双精度)

字符(char)

枚举(enum)数组类型结构体类型(struct)共用体类型(union)文件类型(file)数锯类型2.2.1整型数据2.4.1整型变量

1.分类

根据占用内存字节数的不同,整型变量又分为4类:(1)基本整型(类型关键字为int(16))。(2)短整型(类型关键字为short[int](16))。(3)长整型(类型关键字为long[int](32))。(4)无符号整型。无符号型又分为无符号基本整型(unsigned[int])、无符号短整型(unsignedshort)和无符号长整型(unsignedlong)三种,只能用来存储无符号整数。2.占用内存字节数与值域

上述各类型整型变量占用的内存字节数,随系统而异。在16位操作系统中,一般用2字节表示一个int型变量,且long型(4字节)≥int型(2字节)≥short型(2字节)。显然,不同类型的整型变量,其值域不同。占用内存字节数为n的(有符号)整型变量,其值域为:-2n*8-1~(2n*8-1-1);无符号整型变量的值域为:0~(2n*8-1)。

例如,PC机中的一个int型变量,其值域为-22*8-1~(22*8-1-1),即-32768~32767;一个unsigned型变量的值域为:0~(22*8-1),即0~65535。2.2.2&2.2.3浮点型2.2.2浮点型用来表示实型变量

C语言的实型变量,分为两种:

(1)单精度型。类型关键字为float,一般占4字节(32位)、提供7位有效数字。

(2)双精度型。类型关键字为double,一般占8个字节、提供15~16位有效数字。

2.2.3字符型

1.表示形式:用char来标识。一般用八位来存放一个字符,实际上存放的是ASCII码值,可以把字符看做一种特殊的整型,那么字符和整型之间可以换用。2.3常量和变量常量:在程序运行过程中不能被改变的量。包括整型常量、浮点型常量、字符型常量、字符串常量、符号常量。1.整型常量:整型常量即整常数,在C语言中可用三种形式表示:(1)十进制。例如10、36。(2)八进制(以数字0开头)。例如012。(3)十六进制(以数字0+字母x开头)。例如0x36在整型常量后面跟有L时,表示是长整型常量。2.3常量和变量常量:在程序运行过程中不能被改变的量。包括整型常量、浮点型常量、字符型常量、字符串常量、符号常量。符号常量:用一个标识符代表的一个常量。定义方法:#define标识符常量1.整型常量:整型常量即整常数,在C语言中可用三种形式表示:(1)十进制。例如10、36。(2)八进制(以数字0开头)。例如012。(3)十六进制(以数字0+字母x开头)。例如0x36在整型常量后面跟有L时,表示是长整型常量。2实型常量

1.表示形式

实型常量即实数,在C语言中又称浮点数,其值有两种表达形式。(1)十进制形式。例如3.14、9.8。(2)指数形式:<尾数>E(e)<整型指数>。例如3.0E+5等。

注意:E前必须有数字,E后必须为整数。

2.关于类型

实型常量不分float型和double型。一个实型常量,可以赋给一个实型变量(float型或double型)。3字符型数据字符常量1.字符常量的定义用一对单引号括起来的单个字符,称为字符常量。其值就是ASCII码值。例如,‘A’、‘1’、‘+’等。2.转义字符 C语言还允许使用一种特殊形式的字符常量,就是以反斜杠“\”开头的转义字符。

注意:如果反斜杠或单引号本身作为字符常量,必须使用转义字符:‘\\’、‘\’‘。[案例2.1]用转义字符输出可打印字符和不可打印字符。

/*案例代码文件名:AL2_1.C*/

/*程序功能:用转义字符输出可打印字符和不可打印字符*/

main()

{printf(“\x4F\x4B\x21\n”); /*等价于printf(“OK!\n”);*/

printf(“\x15\xAB\n”);

}程序运行结果如下:

OK!

§½4.字符串常量字符串常量1.字符串常量的概念和字符串长度字符串常量是用一对双引号括起来的若干字符序列。字符串中字符的个数称为字符串长度。长度为0的字符串(即一个字符都没有的字符串)称为空串,表示为“

”(一对紧连的双引号)。例如,“Howdoyoudo.”、“Goodmorning.”等,都是字符串常量,其长度分别为14和13(空格也是一个字符)。

如果反斜杠和双引号作为字符串中的有效字符,则必须使用转义字符。例如:(1)C:\msdos\v6.22→"C:\\msdos\\v6.22"

(2)Isay:"Goodbye!"→"Isay:\"Goodbye!\"“2.字符串的存储C语言规定:在存储字符串常量时,由系统在字符串的末尾自动加一个‘\0’作为字符串的结束标志。注意:在源程序中书写字符串常量时,不必加结束字符‘\0’,否则画蛇添足。

如果有一个字符串为“CHINA”,则它在内存中的实际存储如下所示:最后一个字符'\0'是系统自动加上的,它占用6字节而非5字节内存空间。CHINA\0综上所述,字符常量'A'与字符串常量"A"是两回事:(1)定界符不同:字符常量使用单引号,而字符串常量使用双引号;(2)长度不同:字符常量的长度固定为1字节,而字符串常量的长度,可以是0,也可以是某个整数;(3)存储要求不同:字符常量存储的是字符的ASCII码值,而字符串常量,除了要存储有效的字符外,还要存储一个结束标志’\0’。2.3.2变量变量:其值可以改变的量。变量由名字来标识,此名字为该变量的标识符(变量名)。变量在内存中占据一定的存储单元,该存储单元中存放变量的值。变量名:与内存某一存储单元相联系。变量值:存放在该存储单元中数据的值。变量定义法:类型标识符变量名(例子:书)

[例]字符变量的字符形式输出和整数形式输出。

/*案例代码文件名:AL2_2.C*/

/*程序功能:用字符形式和整数形式输出字符变量*/

main()

{charch1,ch2;

ch1='a';ch2='b';printf(“ch1=%c,ch2=%c\n”,ch1,ch2);

printf(“ch1=%d,ch2=%d\n”,ch1,ch2);

}

程序运行结果:

ch1=a,ch2=b

ch1=97,ch2=98C程序运算符2.4算术运算与算术表达式2.4.1算术运算符和算术表达式在C语言中,除控制语句和输入输出函数外,其它所有基本操作都作为运算符处理。

1.五种基本算术运算符

+、-、*、/、%(求余数)++(增一运算符)--(减一运算符)(1)关于除法运算/C语言规定:两个整数相除,其商为整数,小数部分被舍弃。例如,5/2=2。(X+Y)/(A+B)注意:若除数和被除数有一个为实型,则结果自动转换为实型。如:6/4.0=1.5。(2)关于求余数运算%要求两侧的操作数均为整型数据,否则出错。如:6%4=2

(3)++i、--i先加/减1再使用

i++、i--先使用再加/减1

2.4算术运算与算术表达式2.4.1算术运算符和算术表达式在C语言中,除控制语句和输入输出函数外,其它所有基本操作都作为运算符处理。

1.五种基本算术运算符

+、-、*、/、%(求余数)++(增一运算符)--(减一运算符)(1)关于除法运算/C语言规定:两个整数相除,其商为整数,小数部分被舍弃。例如,5/2=2。(X+Y)/(A+B)注意:若除数和被除数有一个为实型,则结果自动转换为实型。如:6/4.0=1.5。(2)关于求余数运算%要求两侧的操作数均为整型数据,否则出错。如:6%4=2

(3)++i、--i先加/减1再使用

i++、i--先使用再加/减1

2.4算术运算与算术表达式2.4.1算术运算符和算术表达式在C语言中,除控制语句和输入输出函数外,其它所有基本操作都作为运算符处理。

1.五种基本算术运算符

+、-、*、/、%(求余数)++(增一运算符)--(减一运算符)(1)关于除法运算/C语言规定:两个整数相除,其商为整数,小数部分被舍弃。例如,5/2=2。(X+Y)/(A+B)注意:若除数和被除数有一个为实型,则结果自动转换为实型。如:6/4.0=1.5。(2)关于求余数运算%要求两侧的操作数均为整型数据,否则出错。如:6%4=2

(3)++i,--i先加/减1再使用

i++,i--先使用再加/减1

区分j=i+1;j=++i;注意:1.自增自检只能适用于变量,而不能用于常量或表达式。如:5++,--(a+b)2.++,--的运算级别高于算术运算符,结合方向是自右向左。如:-i++相当于-(i++)2.4.2关系运算符和关系表达式>(大于)<(小于)>=(大于等于)<=(小于等于)==(等于)!=(不等于):它的运算级别低于算术运算符若关系式成立,表达式值为1

若关系式不成立,表达式值为0

运算符优先级(p274)

注意

关系运算符是用来比较两个数据大小的,运算结果是成立或不成立如果成立,则结果为逻辑值“真”,用整数“1”来表示如果不成立,则结果为逻辑值“假”,用整数“0”来表示。2.4.2关系运算符及关系表达式21、由关系运算符连接的表达式称为—关系表达式

2、关系表达式的运算结果为一逻辑值(即真或假)3、在C语言中的逻辑值用1

代表真,以0

代表假

大于

名称小于等于大于等于>

运算符<==>=a>b例子a<ba==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=a>b?举例(D)

(C值为0)(C)(B)2.4.3逻辑运算符及逻辑表达式3

逻辑运算符是对两个关系式或逻辑式进行逻辑运算的,其运算结果仍是逻辑值即为逻辑真,用整数“1”来表示;逻辑假用整数“0”来表示。

1、由逻辑运算符连接的表达式称为—逻辑表达式

2、逻辑表达式的运算结果为一逻辑值(即真或假)

3、

!当运算量为非零值时,则运算结果为0,反之当运算量为零值时,则运算结果为1

&&

当两个运算量均为非零值时,运算结果为1,否则运算结果值为0

||

当两个运算量中只有一个为非零值时,运算结果为1。当两个运算量均为零时,则运算结果才为0。逻辑反

名称逻辑与逻辑或!

运算符&&||!a例子a&&ba||ba反

逻辑运算a与ba或b&&

当左右两个运算量均为真(1)时,运算结果才为真(1),||当左右两个运算量均为假(0)时,则运算结果才为假(0)。

说明:1、其中的表达式可以是:字符表达式或算术表达式、关系表达式、逻辑表达式、条件表达式、赋值表达式、逗号表达式等。

2、其含义是将赋值号右端的内容赋给左端的变量中去。

2.4.4赋值运算符及赋值表达式4运算符=名称赋值号运算规则变量=表达式

说明:1、其中的表达式可以是:字符表达式或算术表达式、关系表达式、逻辑表达式、条件表达式、赋值表达式、逗号表达式等。

2、其含义是将赋值号右端的内容赋给左端的变量中去。

2.4.4赋值运算符及赋值表达式4运算符=名称赋值号运算规则变量=表达式设:a=2,c=‘a’,f=3.0,下列表达式都是赋值表达式1、d=0f*=a+2由算术表达式构成,其值为0、12.02、d=a<=c由关系表达式构成,其值为1

3、d=!(a==0)由逻辑表达式构成,其值为14、d=(a<0)?2:1由条件表达式构成,其值为25、d=e=f+2.1由赋值表达式构成,其值为5.16、d=(a,c,f,0)由逗号表达式构成,其值为0举例2.4.6类型转换图(书)横向箭头表示必须转换的。纵向表示当运算对象不同类型的时候转换的方向。强制转换:(float)i;e1?e2:e3运算规则条件名称?:运算符

说明:

设e1、e2、e3分别为任意表达式。执行顺序:

计算e1的值:1、若为非0(即真值)再计算e2的值,并把e2的值作为整个表达式的值。

2、若为0(即假值),则需计算e3的值并把e3的值作为整个表达式的值2.4.5条件运算符及逗号表达式5

1、已知a=4,b=3则有

max=(a>b)?a:b

2、已知a=1,b=2,c=3,d=4

则如下条件表达式的值为:

a>b?a:c>d?c:d举例44

3、已知a=3,b=2求下列表达式i的值。

i=(--a==b++)?--a:++b1逗号表达式2.5.1变量初始化C语言允许在说明变量的同时对其初始化。例:intsum=0;

floatpi=3.1416charc=‘w’也可以对说明变量的一部分进行初始化

inti,sum=0,j;2.5.2赋值语句语句格式:

变量名=变量、常量、表达式;语句功能:

将赋值号右端的“值”赋给左端的变量中

main(){inta,b,c;a=100;b=a;c=a+b;}a100b100c200+2.5.2赋值语句语句格式:

变量名=变量、常量、表达式;语句功能:

将赋值号右端的“值”赋给左端的变量中

main(){inta,b,c;a=100;b=a;c=a+b;}a100b100c200+第三章简单的C程序设计2.6输入与输出函数调用语句

输出函数调用语句1

对数据的一种重要的操作是输入输出。在C语言中没有输入输出语句,它的输入和输出是由函数来实现的,它提供了多种输入输出函数。标准的输入输出(I/O)函数是写在“stdio.h”文件中(头文件),因此在使用这些函数时,应在程序的开头写如下编译命令:

#include“stdio.h”语句格式:printf(“格式控制符号”,输出表列

语句功能:

按照指定的格式,在标准输出设备上输出数据普通字符,原样输出,格式说明普通字符,原样输出,格式说明格式字符说明do以带符号的八进制整数输出以带符号的十进制整数输出x以带符号的十六进制整数输出u不带符号的十进制整数输出c以字符形式输出单个字符s以字符形式输出一串字符f以小数形式输出e以标准指数形式输出printf格式控制符表Putchar(c)2.6输入与输出函数调用语句

输出函数调用语句1

main(){inta,b,c;a=100;b=a;c=a+b;printf(“a=%d,b=%d,c=%d\”,a,b,c);}以带符号的10进制形式输出整数a=100,b=100,c=200练习

下程序的输出结果是:以D)109C)910B)99A)1010D)109

main(){intx=10,y=10;printf(“%d%d\n”,x--,--y);}1

main(){inta,b;a=200;b=300;printf(“a=%d,b=%d\n”,a,b);}

main(){charch1,ch2;ch1=‘a’;ch2=‘b’;printf(“%c,%c\n”,ch1,ch2);}a=200,b=300a,b举例第三章简单的C程序设计练习

下程序的输出结果是:以D)004C)003B)103A)104D)004

main(){inta=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf(“%d%d%d\n”,k,a,b);}2Putchar(c)getchar()2.7输入与输出函数调用语句

输入函数调用语句2语句格式:scanf(“格式控制符号”,地址表列)

是由若干个地址所组成的表列。可以是变量的地址,或字符串的首地址。

地址

:指内存储器中每一个字节的编号,一般可采用16进制表示。a2000b1094地址符号

:&scanf(“%d,%d”,&a,&b)

100200#include“stdio.h”

main(){inta,b,c;

scanf(“%d%d%d”,&a,&b,&c);

printf(“a=%d,b=%d,c=%d\”,a,b,c);}

#include“stdio.h”main(){inta,b,c,t;scanf(“%d%d%d\n”,&a,&b,&c);t=a;a=b;b=c;c=t;printf(“a=%d,b=%d,c=%d\n”,a,b,c);}123举例a=1,b=2,c=3102030a=20,b=30,c=10练习有如下程序段:

intk=11;printf(“k=%d,k=%o,k=%x\n”,k,k,k);

则输出结果为:

温馨提示

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

评论

0/150

提交评论