C语言程序设计C语言程序设计讲义课件_第1页
C语言程序设计C语言程序设计讲义课件_第2页
C语言程序设计C语言程序设计讲义课件_第3页
C语言程序设计C语言程序设计讲义课件_第4页
C语言程序设计C语言程序设计讲义课件_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计C语言程序设计1

项目一项目一密码编译任务2:密码信息的编译要求:

密码编译:2012,Fighting!------按照约定的编码规则进行编码并输出。编码规则如下:(1)数字部分两个为一部分,依次转化为八进制、十六进制交叉,最后不够两个数字,即以一个数字进行转换;(2)字符部分,英文字符转换为其对应的小写字符并依次向后1、2、3……个字符替代;(3)符号字符部分不变。解决问题需要的知识点:1、掌握C程序的数据类型;2、掌握C的运算符的使用。项目一项目一密码编译要求:解决问题需要的知识点:2语言基础章节主要内容

2.1C语言基础2.2常量2.3变量2.4基本运算符与表达式2.5不同数据类型间的转换和运算项目一密码编译任务2:密码信息的编译——第2章数据类型、运算符与表达式语言基础章节主要内容项目一密码编译3引例:语言基础为什么会编译出错?1引例:语言基础为什么会编译出错?14引例1:用户标识符与数据类型合法的用户标识符:1.由字母、数字、下划线组成;2.由字母或下划线打头;3.不能是关键字语言基础引例1:用户标识符与数据类型合法的用户标识符:语言基础52.1C语言基础什么是词法记号?语言基础关键字标识符常量运算符分隔符具有独立含义的不可进一步分割的单位。2.1C语言基础什么是词法记号?语言基础关键字具有独立含62、关键字——也称保留字,是C语言中预定义的符号,用户定义的标识符不允许与它们冲突。autovolatileswitchsignedshortsizeofdefaultbreakwhiletypedefunionunsignedfloatdocasecharconstcontinueregisterfordoubleelseenumexternstructreturngotoifintlongstaticvoid

语言基础2、关键字——也称保留字,是C语言中预定autovolati73、标识符intMax(intx,inty){intz;if(x>y)z=x;elsex=y;return(z);}合法的用户标识符:1.由字母、数字、下划线组成;2.由字母或下划线打头;3.不能是关键字语言基础3、标识符intMax(intx,inty)合法的用84、C语言的数据类型C数据类型基本类型复合类型地址类型空类型void定义类型typedef字符类型char整型实型单精度型float双精度型double枚举类型enum数组结构体struct共用体union短整型short长整型long整型int数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行的操作语言基础4、C语言的数据类型C基本类型复合类型地址类型空类型voi9语言基础章节主要内容

2.1C语言基础2.2常量2.3变量2.4基本运算符与表达式2.5不同数据类型间的转换和运算项目一密码编译任务2:密码信息的编译——第2章数据类型、运算符与表达式语言基础章节主要内容项目一密码编译10引例:语言基础数制转换1圆周率2引例:语言基础数制转换1圆周率211引例1:十进制、八进制、十六进制语言基础知识点引例1:十进制、八进制、十六进制语言基础知识点12引例2:圆周率语言基础定义变量常量的值赋给变量定义符号常量知识点引例2:圆周率语言基础定义变量132.2常量与变量【问题提出】:在大多数程序中一般都要使用常量和变量。那到底什么是常量和变量呢,怎么来使用他们呢?

问题:??【任务】:已知圆半径r(值为2),求圆周长c和圆面积s的值。通过这个问题理解常量和变量的概念。在计算机中存储的数据,按存储的性质分,可分为:

常量

变量语言基础2.2常量与变量【问题提出】:在大多数程序中一般都要使用141、常量定义:在程序执行过程中,其值始终不变的量,常量不占用存储空间。分类整常数、浮点常数、字符常数。特殊常量:符号常量语言基础1、常量定义:在程序执行过程中,其值始终不语言基础15(1)整常数定义:是由数字串组成的数据。分类:十进制常数、八进制常数和十六进制常数。123,-456,00123,0110x123,0Xff语言基础引例1(1)整常数定义:是由数字串组成的数据。123,-456,016(2)浮点型常数十进制数形式:(必须有小数点)指数形式:(e或E之前必须有数字;指数必须为整数)0.123,.123,123.0,0.0,123.12.3e3,123E2,1.23e4,e-5,1.2E-3.5语言基础(2)浮点型常数十进制数形式:(必须有小数点)0.123,17(3)字符常量表示形式:字符常量是用单引号括起来的单个普通字符或转义字符转义字符:(是一种特殊的字符常量)转义字符以反斜线“\”开头,后跟一个或几个字符转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符‘a’、‘A’、‘2’、‘*’、‘?‘1.字符常量只能用单引号括起来2.在C中每个字符常量都有确定的值,即该字符的ASCII码值(顺序号)3.字符常量只能是单个字符,不能是字符序列4.字符可以是字符集中任意字符‘\n’、‘\r’、‘\t’、‘\101’、‘\x44‘如:‘A’——65,‘a’——97,

‘0’——48,‘\n’——10如:‘\101’-----------‘A’‘\012’-----------’\n’‘\376’-----------’’‘\x61’-----------’a’‘\60’-----------’0’‘\483’----------()例:‘A’-------’\101’-------’\x41’--------65例:main(){printf(“Y\b=\n”);}运行结果:屏幕显示:=打印机输出:¥语言基础(3)字符常量表示形式:‘a’、‘A’、‘2’、‘*’、‘?18字符串常量字符串常量是由一对双引号括起的字符序列。“CHINA”,“Cprogram”,“$3.14”思考:字符常量与字符串常量的区别?(1)表示形式(2)字符个数(3)占用的内存空间语言基础字符串常量字符串常量是由一对双引号括起的字符序列。“CHIN19(4)符号常量定义:用一个标识符号代表的一个常量,这时,此标识符号与此常量是等价的。格式:#define标识符数据;举例:#definePI3.14

#defineS“S=”说明:#definePI=3.14是错误的!

语言基础引例2(4)符号常量定义:用一个标识符号代表的一个常量,这时,此202、变量概念:程序运行中其值可以改变的量变量名与变量值变量定义的一般格式:

类型标识符变量名1,变量名2,…,变量名n;与内存中某一个存储单元相联系存放在该存储单元中的数据inti;/*说明i为整型变量*/shorta,b,c;/*说明a,b,c为短整型变量*/floatx,y;/*说明x,y为单精度型变量*/doubleave,sum;/*说明ave,sum为双精度型变量*/charch1,ch2;/*说明ch1,ch2为字符型变量*/unsignedlongf1,f2;/*说明f1,f2为无符号长整型变量*/编译程序根据变量定义为其分配指定字节的内存单元…...地址inta=1,b=-3,c;abc2字节2字节2字节地址地址…...内存1-3´´随机数语言基础2、变量概念:程序运行中其值可以改变的量与内存中某一个存储单21注意事项:变量必须“先定义、后使用”1、没定义的,不作为变量名,保证程序中变量名使用的正确

2、为变量制定类型,编译时好分配存储单元3、指定类型,容易检验运算的合法性定义与变量的初始化:inta=1,b=-3,c;语言基础注意事项:变量必须“先定义、后使用”定义与变量的初始化:i22语言基础章节主要内容

2.1C语言基础2.2常量2.3变量2.4基本运算符与表达式2.5不同数据类型间的转换和运算项目一密码编译任务2:密码信息的编译——第2章数据类型、运算符与表达式语言基础章节主要内容项目一密码编译23引例:语言基础学生总分及平均分的计算1引例:语言基础学生总分及平均分的计算124引例1:学生总分、平均分计算语言基础知识点一、问题情景一个班进行了一次考试,现要将几个学生的成绩输入电脑,并计算他们的平均分及总分,然后按要求输出。二、具体实现#include"stdio.h"main(){intx,y,z;floatsum,avg;//定义二个实型变量sum,avgprintf("请输入三个学生的成绩");scanf("%d%d%d",&x,&y,&z);/*输入三个学生的成绩*/sum=x+y+z;//将x+y+z的值赋给sumavg=sum/3;//将sum/3的值赋给avgprintf("请输出三个学生的总成绩及平均分为");//输出提示printf("sum=%.2f,avg=%.2f\n",sum,avg);//输出二个变量sum及avg的值}引例1:学生总分、平均分计算语言基础知识点一、问题情景#in252.3基本运算符与表达式任务2运算符的分类及表达式的概念运算类型的不同操作数个数的不同表达式的概念2.3基本运算符与表达式任务2运算符的分类及表达式的261、算术运算与算术表达式五种基本的算术运算符

+(加法、正值)、-(减法、负值)、*(乘法)、/(除法)、%(求余数)语言基础1、算术运算与算术表达式五种基本的算术运算符语言基础272、赋值运算和赋值表达式(1)简单赋值(2)复合赋值语言基础2、赋值运算和赋值表达式(1)简单赋值语言基础28练习:阅读下列程序任务2#include"stdio.h"main(){intx,y,z;floata,b,c;x=1;y=2;z=3;a=1.1;b=2.1;c=3.5;x=x+y+z;printf("x=%d\n",x);y*=y+1;printf("y=%d\n",y);z=(int)a%(int)b;printf("z=%d\n",z);a+=a+b+c;printf("a=%f\n",a);}练习:阅读下列程序任务2#include"stdio.293、自增自减运算符与表达式(1)前置使用(2)后置使用#include"stdio.h"main(){intx=2,y,z;printf("x=%d\n",x);y=++x;printf("x=%dy=%d\n",x,y);++x;printf("x=%d\n",x);y=++x+2;printf("x=%dy=%d\n",x,y);z=--x;printf("x=%dz=%d\n",x,z);--x;printf("x=%d\n",x);}自增、自减运算符不能用于常量和表达式。例如:5++、--8、++(a+b)都是错误的。语言基础3、自增自减运算符与表达式(1)前置使用#include"304、逗号运算符与表达式C语言提供一种用逗号运算符“,”连接起来的式子,称为逗号表达式。逗号运算符又称顺序求值运算符。(1)一般形式:表达式1,表达式2,……,表达式n.(2)求解过程:自左至右,依次计算各表达式的值,“表达式n”的值即为整个逗号表达式的值。a=3*5,a*4(a=2+1,a*5),a+8语言基础4、逗号运算符与表达式C语言提供一种用逗号运算符“,”31语言基础章节主要内容

2.1C语言基础2.2常量2.3变量2.4基本运算符与表达式2.5不同数据类型间的转换和运算项目一密码编译任务2:密码信息的编译——第2章数据类型、运算符与表达式语言基础章节主要内容项目一密码编译321.隐式转换什么情况下发生:运算转换------不同类型数据混合运算时赋值转换------把一个值赋给与其类型不同的变量时输出转换------输出时转换成指定的输出格式函数调用转换------实参与形参类型不一致时转换语言基础1.隐式转换什么情况下发生:运算转换------不同类型数据33说明:必定的转换运算对象类型不同时转换charch;inti;floatf;doubled;ch/i+f*d-(f+i)intdoubledoubledoubledoubleintdoubledoubleintdoubledoubledoubledouble10+‘a’+i*f-d/einti;floatf;doubled;longe;doublefloatlongunsignedintchar,short低高intdoubledouble语言基础说明:必定的转换运算对象类型不同时转换charch;ch34转换规则:运算转换规则:不同类型数据运算时先自动转换成同一类型赋值转换规则:表达式的值转换成适合变量的类型注意:转换不会影响原值的大小和类型,只是参加运算的量改变而已语言基础转换规则:运算转换规则:语言基础352、显式转换(强制转换)一般形式:(类型名)表达式已学各运算符的优先级:(),单目(+、-、++、--、(类型名)),算术(双目),赋值,逗号

低例:(int)(x+y)

(int)x+y(double)(3/2)(int)3.6

语言基础2、显式转换(强制转换)一般形式:(类型名)表达式已学各运36第2章数据类型、运算符与表达式——总结词法记号(关键字、标识符、常量、运算符、分隔符);常量(整型、浮点型、字符型、字符串型、符号常量)与变量(定义、初始化、使用);数据类型;运算符与表达式;不同数据类型间的转换和运算。常量(整型、浮点型、字符型、字符串型、符号常量)与变量(定义、初始化、使用);数据类型(int、float、double、char);运算符与表达式(算术、赋值、自增自减、逗号);不同数据类型间的转换和运算(显式、隐式)。内容总结知识点重难点语言基础第2章数据类型、运算符与表达式——总结词法记号(关键字、标37C语言程序设计C语言程序设计38

项目一项目一密码编译任务2:密码信息的编译要求:

密码编译:2012,Fighting!------按照约定的编码规则进行编码并输出。编码规则如下:(1)数字部分两个为一部分,依次转化为八进制、十六进制交叉,最后不够两个数字,即以一个数字进行转换;(2)字符部分,英文字符转换为其对应的小写字符并依次向后1、2、3……个字符替代;(3)符号字符部分不变。解决问题需要的知识点:1、掌握C程序的数据类型;2、掌握C的运算符的使用。项目一项目一密码编译要求:解决问题需要的知识点:39语言基础章节主要内容

2.1C语言基础2.2常量2.3变量2.4基本运算符与表达式2.5不同数据类型间的转换和运算项目一密码编译任务2:密码信息的编译——第2章数据类型、运算符与表达式语言基础章节主要内容项目一密码编译40引例:语言基础为什么会编译出错?1引例:语言基础为什么会编译出错?141引例1:用户标识符与数据类型合法的用户标识符:1.由字母、数字、下划线组成;2.由字母或下划线打头;3.不能是关键字语言基础引例1:用户标识符与数据类型合法的用户标识符:语言基础422.1C语言基础什么是词法记号?语言基础关键字标识符常量运算符分隔符具有独立含义的不可进一步分割的单位。2.1C语言基础什么是词法记号?语言基础关键字具有独立含432、关键字——也称保留字,是C语言中预定义的符号,用户定义的标识符不允许与它们冲突。autovolatileswitchsignedshortsizeofdefaultbreakwhiletypedefunionunsignedfloatdocasecharconstcontinueregisterfordoubleelseenumexternstructreturngotoifintlongstaticvoid

语言基础2、关键字——也称保留字,是C语言中预定autovolati443、标识符intMax(intx,inty){intz;if(x>y)z=x;elsex=y;return(z);}合法的用户标识符:1.由字母、数字、下划线组成;2.由字母或下划线打头;3.不能是关键字语言基础3、标识符intMax(intx,inty)合法的用454、C语言的数据类型C数据类型基本类型复合类型地址类型空类型void定义类型typedef字符类型char整型实型单精度型float双精度型double枚举类型enum数组结构体struct共用体union短整型short长整型long整型int数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行的操作语言基础4、C语言的数据类型C基本类型复合类型地址类型空类型voi46语言基础章节主要内容

2.1C语言基础2.2常量2.3变量2.4基本运算符与表达式2.5不同数据类型间的转换和运算项目一密码编译任务2:密码信息的编译——第2章数据类型、运算符与表达式语言基础章节主要内容项目一密码编译47引例:语言基础数制转换1圆周率2引例:语言基础数制转换1圆周率248引例1:十进制、八进制、十六进制语言基础知识点引例1:十进制、八进制、十六进制语言基础知识点49引例2:圆周率语言基础定义变量常量的值赋给变量定义符号常量知识点引例2:圆周率语言基础定义变量502.2常量与变量【问题提出】:在大多数程序中一般都要使用常量和变量。那到底什么是常量和变量呢,怎么来使用他们呢?

问题:??【任务】:已知圆半径r(值为2),求圆周长c和圆面积s的值。通过这个问题理解常量和变量的概念。在计算机中存储的数据,按存储的性质分,可分为:

常量

变量语言基础2.2常量与变量【问题提出】:在大多数程序中一般都要使用511、常量定义:在程序执行过程中,其值始终不变的量,常量不占用存储空间。分类整常数、浮点常数、字符常数。特殊常量:符号常量语言基础1、常量定义:在程序执行过程中,其值始终不语言基础52(1)整常数定义:是由数字串组成的数据。分类:十进制常数、八进制常数和十六进制常数。123,-456,00123,0110x123,0Xff语言基础引例1(1)整常数定义:是由数字串组成的数据。123,-456,053(2)浮点型常数十进制数形式:(必须有小数点)指数形式:(e或E之前必须有数字;指数必须为整数)0.123,.123,123.0,0.0,123.12.3e3,123E2,1.23e4,e-5,1.2E-3.5语言基础(2)浮点型常数十进制数形式:(必须有小数点)0.123,54(3)字符常量表示形式:字符常量是用单引号括起来的单个普通字符或转义字符转义字符:(是一种特殊的字符常量)转义字符以反斜线“\”开头,后跟一个或几个字符转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符‘a’、‘A’、‘2’、‘*’、‘?‘1.字符常量只能用单引号括起来2.在C中每个字符常量都有确定的值,即该字符的ASCII码值(顺序号)3.字符常量只能是单个字符,不能是字符序列4.字符可以是字符集中任意字符‘\n’、‘\r’、‘\t’、‘\101’、‘\x44‘如:‘A’——65,‘a’——97,

‘0’——48,‘\n’——10如:‘\101’-----------‘A’‘\012’-----------’\n’‘\376’-----------’’‘\x61’-----------’a’‘\60’-----------’0’‘\483’----------()例:‘A’-------’\101’-------’\x41’--------65例:main(){printf(“Y\b=\n”);}运行结果:屏幕显示:=打印机输出:¥语言基础(3)字符常量表示形式:‘a’、‘A’、‘2’、‘*’、‘?55字符串常量字符串常量是由一对双引号括起的字符序列。“CHINA”,“Cprogram”,“$3.14”思考:字符常量与字符串常量的区别?(1)表示形式(2)字符个数(3)占用的内存空间语言基础字符串常量字符串常量是由一对双引号括起的字符序列。“CHIN56(4)符号常量定义:用一个标识符号代表的一个常量,这时,此标识符号与此常量是等价的。格式:#define标识符数据;举例:#definePI3.14

#defineS“S=”说明:#definePI=3.14是错误的!

语言基础引例2(4)符号常量定义:用一个标识符号代表的一个常量,这时,此572、变量概念:程序运行中其值可以改变的量变量名与变量值变量定义的一般格式:

类型标识符变量名1,变量名2,…,变量名n;与内存中某一个存储单元相联系存放在该存储单元中的数据inti;/*说明i为整型变量*/shorta,b,c;/*说明a,b,c为短整型变量*/floatx,y;/*说明x,y为单精度型变量*/doubleave,sum;/*说明ave,sum为双精度型变量*/charch1,ch2;/*说明ch1,ch2为字符型变量*/unsignedlongf1,f2;/*说明f1,f2为无符号长整型变量*/编译程序根据变量定义为其分配指定字节的内存单元…...地址inta=1,b=-3,c;abc2字节2字节2字节地址地址…...内存1-3´´随机数语言基础2、变量概念:程序运行中其值可以改变的量与内存中某一个存储单58注意事项:变量必须“先定义、后使用”1、没定义的,不作为变量名,保证程序中变量名使用的正确

2、为变量制定类型,编译时好分配存储单元3、指定类型,容易检验运算的合法性定义与变量的初始化:inta=1,b=-3,c;语言基础注意事项:变量必须“先定义、后使用”定义与变量的初始化:i59语言基础章节主要内容

2.1C语言基础2.2常量2.3变量2.4基本运算符与表达式2.5不同数据类型间的转换和运算项目一密码编译任务2:密码信息的编译——第2章数据类型、运算符与表达式语言基础章节主要内容项目一密码编译60引例:语言基础学生总分及平均分的计算1引例:语言基础学生总分及平均分的计算161引例1:学生总分、平均分计算语言基础知识点一、问题情景一个班进行了一次考试,现要将几个学生的成绩输入电脑,并计算他们的平均分及总分,然后按要求输出。二、具体实现#include"stdio.h"main(){intx,y,z;floatsum,avg;//定义二个实型变量sum,avgprintf("请输入三个学生的成绩");scanf("%d%d%d",&x,&y,&z);/*输入三个学生的成绩*/sum=x+y+z;//将x+y+z的值赋给sumavg=sum/3;//将sum/3的值赋给avgprintf("请输出三个学生的总成绩及平均分为");//输出提示printf("sum=%.2f,avg=%.2f\n",sum,avg);//输出二个变量sum及avg的值}引例1:学生总分、平均分计算语言基础知识点一、问题情景#in622.3基本运算符与表达式任务2运算符的分类及表达式的概念运算类型的不同操作数个数的不同表达式的概念2.3基本运算符与表达式任务2运算符的分类及表达式的631、算术运算与算术表达式五种基本的算术运算符

+(加法、正值)、-(减法、负值)、*(乘法)、/(除法)、%(求余数)语言基础1、算术运算与算术表达式五种基本的算术运算符语言基础642、赋值运算和赋值表达式(1)简单赋值(2)复合赋值语言基础2、赋值运算和赋值表达式(1)简单赋值语言基础65练习:阅读下列程序任务2#include"stdio.h"main(){intx,y,z;floata,b,c;x=1;y=2;z=3;a=1.1;b=2.1;c=3.5;x=x+y+z;printf("x=%d\n",x);y*=y+1;printf("y=%d\n",y);z=(int)a%(int)b;printf("z=%d\n",z);a+=a+b+c;printf("a=%f\n",a);}练习:阅读下列程序任务2#include"stdio.663、自增自减运算符与表达式(1)前置使用(2)后置使用#include"stdio.h"main(){intx=2,y,z;printf("x=%d\n",x);y=++x;printf("x=%dy=%d\n",x,y);++x;printf("x=%d\n",x);y=++x+2;printf("x=%dy=%d\n",x,y);z=--x;printf("x=%dz=%d\n",x,z);--x;printf("x=%d\n",x);}自增、自减运算符不能用于常量和表达式。例如:5++、--8、++(a+b)都是错误的。语言基础3、自增自减运算符与表达式(1)前置使用#include"674、逗号运算符与表达式C语言提供一种用逗号运算符“,”连接起来的式子,称为逗号表达式。逗号运算符又

温馨提示

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

最新文档

评论

0/150

提交评论