收藏 分销(赏)

C语言课件(精华版).ppt

上传人:胜**** 文档编号:767751 上传时间:2024-03-08 格式:PPT 页数:628 大小:23.64MB
下载 相关 举报
C语言课件(精华版).ppt_第1页
第1页 / 共628页
C语言课件(精华版).ppt_第2页
第2页 / 共628页
点击查看更多>>
资源描述
计算机基础教学系列课程计算机基础教学系列课程C语言语言程序设计程序设计课程性质课程性质:大学生公共大学生公共基础课程基础课程(必修课必修课)学时学时:讲课讲课 34课时课时;实验实验 64(课内内32/32/课外外32)32)学分学分:2学分学分总评成绩总评成绩=平时成绩平时成绩 40%+期末成绩期末成绩 60%平时成绩平时成绩:成绩成绩1(作业作业、考勤考勤10%)+成绩成绩2(单元测验单元测验15%)+成绩成绩3(实验报告实验报告15%)期末成绩期末成绩:期末理论机考期末理论机考60%C C 语言程序设计语言程序设计第一章第一章 C C语言的发展、特点与程序结构语言的发展、特点与程序结构 第二章第二章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式第三章第三章 基本语句与顺序结构基本语句与顺序结构第四章第四章 选择结构选择结构第五章第五章 循环结构循环结构第六章第六章 数组数组第七章第七章 函数函数第八章第八章 指针指针第十章第十章 结构体结构体第十二章第十二章 文件文件C 语 言 程 序 设 计&推荐参考书:推荐参考书:谭浩强主编谭浩强主编程序设计程序设计(第二版)(第二版)北京:清华大学出版社北京:清华大学出版社第一章第一章 C C语言言的的发展展、特点与程序开特点与程序开发基本知基本知识 1 1.1 1 C C语言的发展与特点语言的发展与特点 1 1.2 2 程序设计的基本方法程序设计的基本方法 1 1.3 3 算法的概念及其表示算法的概念及其表示1 1.4 4 C C语言的基本结构语言的基本结构 1 1.5 5 应用程序的开发步骤和运行过程应用程序的开发步骤和运行过程 下一章目 录习题lC语言是一门优秀的程序设计语言C语言是在1973年由美国贝尔实验室开发的。1983年,ANSI为C语言制定了新的标准,称为ANSIC,并于1989年最终完成。目前使用较多的版本有ANSIC,BorlandC,TurboC,MicrosoftC/C+,VisualC+等。C C语言的言的发展展lC语言是结构化程序设计语言l功能强大,具有丰富的数据类型及运算符。l简洁紧凑,使用方便灵活。lC语言具有自我扩充能力lC语言具有汇编语言的功能l可移植性好C C语言的特点言的特点q程序的概念程序的概念程序是计算机解决问题所需的一系列指令的集合。程序是计算机解决问题所需的一系列指令的集合。q著名计算机科学家著名计算机科学家Nikiklaus Wirth 提出了提出了 “算法算法数据结构数据结构程序程序”的公式的公式 程序就是在数据的某些特定的表示方式和结构的基础上,对抽象算法的具体程序就是在数据的某些特定的表示方式和结构的基础上,对抽象算法的具体描述。描述。1.21.2程序程序设计的基本方法的基本方法q程序数据结构算法程序设计方法语言工具l数据结构是数据的类型和数据的组织形式。l算法是为解决一个问题而采用的方法和有限的步骤。l程序设计方法l确定语言和编程环境面向面向过程的程序程的程序设计l所谓面向过程的程序设计,是指利用面向过程的语言工具(如Pascal、Fortran和C语言等)进行程序开发的各项活动。基本思想:基本思想:把一个需要求解的复杂问题分为把一个需要求解的复杂问题分为若干个模块来处理,每个模块处若干个模块来处理,每个模块处理一个子问题;设计时遵循自顶理一个子问题;设计时遵循自顶向下、逐步细化、模块化设计和向下、逐步细化、模块化设计和结构化编码的原则。结构化编码的原则。优点:优点:编程简单、结构性强、可读性好;编程简单、结构性强、可读性好;遵循这种结构的程序只有一个入口和一个出口。遵循这种结构的程序只有一个入口和一个出口。缺点:缺点:存在数据与程序模块的分离和程序的可重用性差等问题。存在数据与程序模块的分离和程序的可重用性差等问题。面向对象的程序设计面向对象的程序设计 Program Design in C Languagel面向对象的程序设计将一些新的理念和结构化程序设计中好的思想相融合,提供了一种全新的程序设计方法。基本思想基本思想将将一一个个需需要要解解决决的的问问题题分分解解为为一一系系列列实实体体(对对象象),然然后后围围绕绕这这些些对对象象建建立立数数据据和和函函数数;函函数数的的功功能能决决定定了了该该对对象象的的行行为为。规规定定一一个个对对象象的的函函数数可可以以访访问问另另一一对对象象的的函函数数,但但一一个个对对象象的的数数据据不不能能应应用用于于另另一一对象的函数中。对象的函数中。几个基本概念:几个基本概念:三类机制:三类机制:类、对象、属性、事件、方法类、对象、属性、事件、方法 封装、继承、多态封装、继承、多态1.31.3算法及其表示算法及其表示l 算法的特性有穷性 一个算法的操作步骤应当是有限的;确定性 算法中的每一个步骤应当有确定的意义,不能 有二义性;有效性 算法中的每一个步骤应当正确、可行,并且能 有效地执行;有零个或多个输入执行算法时需要从外界获取的信息;有一个或多个输出 执行算法后应当得到正确的结果。算法算法举例例【例1.1】输入三个数,然后输出其中最大的数。(1)输入变量 x,y,z的值 (2)比较x和y,如果xy,则x送max;否则y送max。(3)比较max与z,如果 z max,则将z送max。(4)输出max,max即为最大数。算法算法对同一个问题,算法是不唯一的,例如:求和1+2+3+100 (1)=(1+2)+3)+4)+100)(2)=(1+100)50 一个好的算法应该是:正确、易读、效率高。算法的表示方法算法的表示方法&常用的算法描述方法有:自然语言描述、伪代码、流程图、N-S图、PAD图等。1.自然语言 就是用人们日常使用的语言来描述或表示算法的方法。英语和程序设计语言混合使用称为伪代码。Begin 算法开始 input x,y,z if xy then max=x else max=y if zmax then max=z print max end 算法结束2.用伪代码表示算法用伪代码表示算法l用一些图框和方向线表示算法的图形表示法。l特点:直观形象,易于理解,便于检查和交流。l常用流程图符号及含义如下:起止框起止框处理框处理框判断框判断框输入或输出框输入或输出框流程线流程线连接点连接点3.用流程图表示算法用流程图表示算法流程图流程图:【例例1.1】对任意给定的三个整对任意给定的三个整数数 x,y,z,求出其最大值。求出其最大值。开始开始读入读入x,y,zmaxxmaxzmaxy zmax?输出输出max结束结束TF xy?TF读入读入x,y,zxyFTmaxxmaxyTFzmaxmaxz打印打印max单元的值单元的值 例例:对任意给定的三个对任意给定的三个整数整数 x,y,z,求出其最大求出其最大值。值。4.用用N-SN-S流程图表示算法流程图表示算法结构化程序构化程序设计C语言是结构化程序设计语言,有三种基本结构。顺序结构 选择结构 循环结构 实践证明,任何复杂的算法都可以用这三种基本结构来描述。程序设计的目标在正确的前提下程序设计的目标在正确的前提下,其重要性排列次其重要性排列次序依次为序依次为:可读可读、可维护可维护、可移植和高效可移植和高效。顺序序结构构 矩形框 用于表示顺序结构。执行时按语句的先后顺序执行。先执行语句A,再执行语句B。ABAB顺序结构的流程图顺序结构的流程图顺序结构的顺序结构的N-S图图选择结构(分支构(分支结构)构)根据条件的真或假选择执行不同的操作内容。当条件成立执行语句A,否则执行语句B。条件条件ABTF条件条件TFAB选择结构的流程图选择结构的流程图选择结构的选择结构的N-S图图循循环结构构 (1)当型当型(while 型循环型循环)当条件成立当条件成立,执行循环体执行循环体,否则跳出循环体。否则跳出循环体。条件条件 语句块语句块条件条件语句块语句块TFL L形框形框用于表示循环结构用于表示循环结构(2)直到型循环直到型循环 (do-while型循环型循环 )首先执行循环体首先执行循环体,若条件不成立继续执行循环体若条件不成立继续执行循环体,直到条件成立为止。直到条件成立为止。语句块语句块 条件条件语句块语句块条件条件FT【例例1.2】在屏幕上显示一行文字在屏幕上显示一行文字“WELCOME TO C!WELCOME TO C!”。#includevoid main()/*定义主函数定义主函数*/printf(“Welcome to C!n”);程序运行程序运行结果果:Welcome to C!l 函数函数(Function)C程序包含一个或多个函数程序包含一个或多个函数,其中必须有一个其中必须有一个 main()圆括号指示一个函数圆括号指示一个函数 包含函数体包含函数体,表示表示 main 函数结束函数结束printf(“Welcome”);printf(“to C!n”);printf(“WelcomentonC!n”);程序运行程序运行结果果:Welcome to C!程序运行程序运行结果果:Welcome to C!注释注释/*文本文本*/或或/不被执行不被执行以提高程序的可读性以提高程序的可读性 语句语句(Statement)必须以必须以;结尾结尾格式输出函数格式输出函数printf()。调用标准函数调用标准函数,显示引号中的内容显示引号中的内容。#include void main()int a,b,sum;/声明部分,定义变量类型 a=123;b=456;/执行部分,赋值语句 sum=a+b;/执行部分,赋值语句 printf(“sum=%dn”,sum);/执行部分,输出语句 程序运行结果:sum=579赋初初值计算算输出出定定义变量量【例例1.3】求两个整数的和求两个整数的和l函数体函数体包括变量说明部分包括变量说明部分语句执行部分语句执行部分 /文件包含文件包含预处理命令预处理命令 /将标准输入输出头文件包含到源程序中将标准输入输出头文件包含到源程序中预编译命令命令void main()主函数主函数 函数体开始函数体开始声明部分声明部分执行部分执行部分 函数体函数体结束束#include void main()int a,b,c ;/定义变量类型定义变量类型 printf(“input two numbers:n”);/提示提示 scanf(“%d,%d”,&a,&b);/输入变量输入变量 c=max(a,b);/调用调用求最大值的求最大值的函数函数 printf(“max=%dn”,c);int max(x,y)int x,y;int z ;if(xy)z=x;else z=y;return(z);【例例1.4】求两个数中的较大值求两个数中的较大值l 程序由两个函数组成:程序由两个函数组成:main 函数和函数和max 函数函数。l 运行程序运行程序 屏幕显示提示信息;屏幕显示提示信息;键盘输入键盘输入a、b的值;的值;屏幕显示屏幕显示c的值。的值。input two numbers:123,456 max=456l一个C程序由一个或多个函数组成,其中必须有一个主函数main()。程序执行时总是从主函数开始,main()可以置于程序的任何位置。l程序中需有预处理命令(如#include ),预处理命令通常放在程序的最前面。l分号是C语句结束的标志,每个语句和数据定义后必须有一个分号。预处理命令、函数头和花括号“”之后不能加分号。1.4.21.4.2 C C语言程序基本言程序基本结构构lC C程序书写灵活,程序书写灵活,一行可以写几个语句一行可以写几个语句,一个语句可以写在一个语句可以写在多个程序行上。多个程序行上。#include#include void main void main()()int a int a,b b,sum sum;a=123a=123;b=456 b=456;sum=a+b sum=a+b;printf printf(“(“sum=%dsum=%dnn”,”,sumsum););lC语言本身没有输入输出语句语言本身没有输入输出语句,输入输出的操作是由库函数输入输出的操作是由库函数 scanf()和和printf()等函数完成的。等函数完成的。1.4.21.4.2C C语言程序基本言程序基本结构构 lC程序严格区分大小写。程序严格区分大小写。一般变量、语句等用小写字母书写;符号常量等用大一般变量、语句等用小写字母书写;符号常量等用大写字母书写。写字母书写。l标识符、保留字之间必须至少加一个空格以示分隔。标识符、保留字之间必须至少加一个空格以示分隔。函数函数lC语言的函数有两种:标准库函数和用户定义的函数。用户自定义函数,可有可无,数目不限。用户自定义函数,可有可无,数目不限。如例如例1.4中的中的 int max(int x,int y)C语言提供的库函数语言提供的库函数,如输出函数如输出函数printf()和输和输 入函数入函数 scanf()。函数定义函数定义:函数头函数头+函数体函数体 函数头函数头:说明函数的类型说明函数的类型、名字名字、参数及参数的类型。参数及参数的类型。int max(int x,int y)#include void main()int a,b,sum;a=123;b=456;sum=a+b;printf(“sum=%dn”,sum);函数体函数体函数函数头 函数体函数体:由由“”括起,括起,包括变量声明和执行部分。包括变量声明和执行部分。函数定函数定义1.4.3C1.4.3C语言的字符集、关言的字符集、关键字和字和标识符符l字符集:C语言允许使用字符的集合l字符集的组成:26个小写字母abcdefghi.z26个大写字母ABCDEFG.Z 10个数字09 其他符号 +-*/=,._:;?”|&!%#()空格(SPACE)制表符(Tab)C C语言的关言的关键字字l关键字:C语言中预定的具有特定含义的词,也称 保留字。共有32个。l分四类:类型说明:int,long,float,。语句定义:ifelse,while,for。存储类:auto,static,。长度运算符:sizeof标识符符l标识符:用来标识变量、符号常量、数组、函数的名字。l组成:只能由英文字母、数字和下划线组成。第一个字符不能是数字,只能是字母或下划线。VC6.0中有效长度为1255个字符。l例如:x,m1,average,k123,_1,5AN,WA-11,a lot,$11,注意注意:l标识符严格区分大小写 例如:ABC,abc 是不同的标识符l不能和C语言的关键字、用户定义的函数名以及系统库函数同名。lC的“.h”头文件中经常使用以下划线开头的内部变量名,因此用户最好避免使用这类标识符。l取名应尽可能见名知意。如:alfa,aver,pi,bata 等。例例:以下各标识符组中以下各标识符组中,合法的用户标识符分别为合法的用户标识符分别为:(1)A)PAd B)scanf C)void D)4a P#D a10 max temp(2)A)b-bB)CCPC)hiyD)_iswabcfloatINT(3)A)_0123B)del_wordC)listD)keep%ssiped signed *jer wind分隔符分隔符l分隔符分隔符主要有逗号和空格两种。逗号用于分隔变量或参数,空格用于分隔单词(在关键字和标识符之间必须用空格分隔)。例如:int a,b,c;max(x,y,z)1.51.5应用程序的开用程序的开发过程程 应用程序开发阶段:应用程序开发阶段:分析解决分析解决问题的性的性质、特点、目、特点、目标以及数据来源及其特征等。以及数据来源及其特征等。需求分析需求分析确定解决确定解决问题的方法和步的方法和步骤,建立,建立数学模型和确定相数学模型和确定相应的求解方法。的求解方法。确定算法确定算法确定确定应用程序用程序结构构,设计出每个模出每个模块的数据的数据结构和算法构和算法,画出流程画出流程图等。等。程序设计程序设计根据确定的算法,用根据确定的算法,用计算机算机语言言(如如C C语言言)编写源程序。写源程序。编写程序编写程序在一定的开在一定的开发环境下境下调试和运行程和运行程序,得出程序运行序,得出程序运行结果。果。调试程序调试程序1.51.5应用程序的开用程序的开发过程程编辑编辑编译编译连接连接运行运行编辑器编辑器file.cfile.cpp编译器编译器file.obj连接器连接器file.exeLibrariesCPU装载程序装载程序RAM建立、修改、保存源文件建立、修改、保存源文件生成目生成目标文件文件生成可生成可执行文件行文件运行可运行可执行文件行文件1.51.5应用程序的开用程序的开发过程程:在VisualC+6.0环境下,开发和运行程序的步骤如下:1.启动VC“开始”“程序”“Microsoft VisualC+6.0”即可启动 VC6.0。2.编辑、建立源文件。3.编译、连接和运行源程序。习题1.一个一个C C语言程序是由组成语言程序是由组成 a)主程序主程序 b)子程序子程序 c)函数函数 d)过程过程2.一个完整的一个完整的C C语言的程序语言的程序 a)至少包含一个主至少包含一个主函数函数 b)至少包含一个主至少包含一个主函数函数与一个子与一个子函数函数 c)必须由一个主必须由一个主函数函数与一个以上的子与一个以上的子函数函数组成组成 d)必须由一个主必须由一个主函数函数与一个子与一个子函数函数组成组成习题3.C C语言程序的执行总是从语言程序的执行总是从。a)main函数的入口开始函数的入口开始 b)编译预处理命令开始编译预处理命令开始 c)源程序的第一个函数开始源程序的第一个函数开始 d)源程序的第一行语句开始源程序的第一行语句开始习题4 4.在在C C语言的源程序中,主函数的位置语言的源程序中,主函数的位置 。a)必须在源程序的最后必须在源程序的最后 b)任意任意 c)必须在源程序的开头必须在源程序的开头5 5.一个函数一般由两部分组成一个函数一般由两部分组成,它们分别是和它们分别是和。6 6.函数体使用函数体使用_符号开始,使用符号开始,使用_符号结束。符号结束。函数函数头函数体函数体 习题7 7.C C程序的每条语句的结束标志是程序的每条语句的结束标志是_符号。符号。8 8.在在C C程序中程序中,注释以注释以_符号开始,使用符号开始,使用_符号符号 结束。结束。9 9.算法是算法是 _。1010.表示算法的常用方法有表示算法的常用方法有 _、_、_等等。1111.结构化程序的三种基本结构是结构化程序的三种基本结构是 _、_、_。;/*/解决某一问题所采取的方法和步骤解决某一问题所采取的方法和步骤自然语言自然语言流程图流程图伪代码伪代码顺序结构顺序结构选择结构选择结构循环结构循环结构12.判断下述说法是否正确。如不正确,说明理由。a)printf 函数总是从新行的起始位置开始打印。函数总是从新行的起始位置开始打印。b)计算机会把计算机会把 /*/*和和*/之间的注释文本打印到屏幕上。之间的注释文本打印到屏幕上。c)所有的变量在使用前都必须予以声明。所有的变量在使用前都必须予以声明。d)C语言认为变量语言认为变量 number 和和 NuMbEr 是相同的。是相同的。e)声明语句可放在函数体中的任何位置。声明语句可放在函数体中的任何位置。f)打印三行输出的打印三行输出的C语言程序必须用三条语言程序必须用三条 printf 语句。语句。g)printf 函数的格式控制串中使用转义字符函数的格式控制串中使用转义字符 n n 会把光标会把光标定位到屏幕上下一行的开始位置。定位到屏幕上下一行的开始位置。2.1 数据与数据类型数据与数据类型2.2 常量、变量和标准函数常量、变量和标准函数2.3 基本基本运算符及其表达式运算符及其表达式第二章第二章 数据类型数据类型、运算符和表达式运算符和表达式下一章上一章目 录习题 整型整型:包括有、无符号的基本整型、短整型、长整型包括有、无符号的基本整型、短整型、长整型实型实型:包括包括单精度实型、双精度实型单精度实型、双精度实型 float,double字符型字符型:用于表示和存储用于表示和存储ASCII字符。字符。char2.1数据类型基本基本类型型构造构造类型型指指针类型型空空类型型自定自定义是是C C语言数语言数据类型的基据类型的基本型本型,其值其值不可再分解不可再分解为其他类型为其他类型。一种特殊的一种特殊的数据类型,数据类型,其值为某个其值为某个量的内存地量的内存地址。址。一种无返回一种无返回值函数的数值函数的数据类型。据类型。void用新的类型用新的类型名替代已有名替代已有类型名使用。类型名使用。用用typedef定义定义一种由单种一种由单种或多种数据或多种数据类型构造而类型构造而成的数据类成的数据类型型。数组数组结构结构共用体共用体枚举类型枚举类型C语言的基本数据类型语言的基本数据类型 2.22.2常量、常量、变量和量和标准函数准函数2 2.2 2.1 1常量常量2 2.2 2.2 2 变量变量2 2.2 2.3 3 标准函数标准函数下一节第二章目 录习题 2.2.12.2.1常量常量l常量常量 在程序执行期间其值保持不变的量在程序执行期间其值保持不变的量lC语言有以下几种类型的常量语言有以下几种类型的常量:整型常量整型常量实型实型(浮点型浮点型)常量常量字符常量字符常量字符串常量字符串常量 有三种形式有三种形式:十进制整数十进制整数:八进制整数八进制整数:由数字由数字 0 0 开头开头十六进制整数十六进制整数:由前缀由前缀 0 x0 x 或或 0X0X 开头开头1.整型常量如如:014 -011 0177777如如:0 x11 0XAFBDE 0X00FFH 如如:11,-13,0,65535,1,000 21/3 104 54.10*3 01 9 9整整数又可分为数又可分为:长整型整数长整型整数:用后缀用后缀 L/l 表示。表示。012012L L,6553665536L L,0XC 0XCL L无符号整数无符号整数:用后缀用后缀 U/u 表示。表示。017 017u u,0 xfdb0 xfdbU U无符号长整数无符号长整数:用后缀用后缀 UL/ul 表示。表示。15 15uLuL实实型型常常量量又又称称实实数数,指指带带有有小小数数部部分分的的数数。C C语语言言中中的的实实数数是以十进制表示的是以十进制表示的,有两种表示形式有两种表示形式:十进制小数形式十进制小数形式:由数字、数符和由数字、数符和小数点小数点组成。组成。例例:0 0.123123,.123123,123 123.,0 0.0 0,-2-2.5 5,指数形式指数形式:又称科学记数法又称科学记数法。用。用E E(或或e e)表示以表示以10为底的为底的指数指数。如:如:100000000 1108 1E+8 0.0000125 1.2510-5 1.25E-05 0.9110-3 0.91E-03尾数部分尾数部分指数部分指数部分字母字母E/eE/e前必须有前必须有数字数字,而而E E后面的阶码必须为后面的阶码必须为整数整数。2.实型常量浮点数 例例:下列下列不合法不合法的指数形式的指数形式:单独的小数点和单独的指数部分单独的小数点和单独的指数部分 如如:.E-5 E10E-5 E10 阶码阶码只能是整数,不能带小数点。只能是整数,不能带小数点。如如:1234E11234E1.5 5 2 2.E E 6 6.5e 5e (2*3)E-3 2*3)E-3 5*E45*E410101212不能写成不能写成 E12E12,必须写成:,必须写成:1E121.0E123.字符常量字符常量字符常量:是用单引号括起来的一个字符是用单引号括起来的一个字符如如:a a,A A,9 9,+,?,合法合法“a a”,9999999999,非法非法在内存中在内存中,字符字符常量以常量以ASCI I码存储码存储,一个字符占一个字节一个字符占一个字节。由于字符常量是按整数存储的由于字符常量是按整数存储的,可以像整数一样在程序中参可以像整数一样在程序中参与相关的运算。如与相关的运算。如:a 3 2;/执行结果执行结果9 7-32=65 9 9;/执行结果执行结果5 7-9=48以以“”开头的字符序列开头的字符序列,有特定的含义。有特定的含义。如如:表示输出一个反斜杠符表示输出一个反斜杠符 ”表示输出一个双引号表示输出一个双引号 ddd (dddddd表示八进制的表示八进制的ASCIIASCII码)码)xhh (hhhh表示十六进制的表示十六进制的ASCIIASCII码)码)例例:n n(回车换行回车换行)1212 xa A A 101101 x41x41 注注:00或或000000是代表是代表ASCIIASCII码为码为0 0的字符的字符,即即空字符空字符(NULL)(NULL),表示整数表示整数0 0。转义字符转义字符【例例2.1】转义字符的应用转义字符的应用#include void main()printf(“atbncbd100 x40n”);abd输出到显示屏输出到显示屏l字符串常量字符串常量:用一对双引号括起的字符序列。例用一对双引号括起的字符序列。例:“CHINACHINA”,“a a”,“$1212.5 5”,“”,“w w x x5353np103103q”l字符串长度字符串长度:字符串中所有字符的个数字符串中所有字符的个数l系统自动在每个字符串的末尾加上一个空字符系统自动在每个字符串的末尾加上一个空字符NULLNULL,即即00 作为字符串的结束。作为字符串的结束。0是一个是一个ASCIIASCII码为码为0 0的字符。的字符。例例:“CHINA”在内存中所占的字节为在内存中所占的字节为:4 4.字符串常量字符串常量l字符常量由字符常量由单单引号括起来引号括起来,字符串常量由字符串常量由双双引号括起来。引号括起来。字符串常量和字符常量的主要区字符串常量和字符常量的主要区别:l字符常量只能是单个字符,字符串常量可以含有多个字符。字符常量只能是单个字符,字符串常量可以含有多个字符。l字符常量占一个字节字符常量占一个字节,字符串常量占的字节数等于字符个数加字符串常量占的字节数等于字符个数加1 1。l比较比较:A A与与”A A”的区别的区别若输出的字符串中含双引号若输出的字符串中含双引号(”),则要使用转义字符则要使用转义字符(”)。例例:printf(“he said“I am a student.”n”);输出出:he said“I am a student.”AA占一个字节占一个字节“A”A占两个字节占两个字节05.符号常量 符号常量符号常量:用标识符表示的常量用标识符表示的常量格式格式:#define 标标识识符符 常量常量功能功能:用该用该标识符标识符代表后面的常量值代表后面的常量值例例:#define PI 3 3.14159261415926#define STAR *预处理命令预处理命令#define也称为宏定义也称为宏定义,一个一个#define命令只能定义一个符号常量命令只能定义一个符号常量,用一行书写用一行书写,不用分号结尾。不用分号结尾。#include#define PI 3.1415926 /用预处理命令定义符号常量用预处理命令定义符号常量 void main()float r,area,l ;/定义变量类型为实型定义变量类型为实型 scanf(“%f”,&r&r);/输入输入r的值的值 area=PI*r r*r r;l=2*PI*r r;printf(“area=%fnl=%fn”,area,l );【例例2.2】求半径为求半径为r的圆面积和圆周长的圆面积和圆周长 说明说明:符号常量名习惯用大写字母表示符号常量名习惯用大写字母表示该命令通常放在文件头该命令通常放在文件头在程序中在程序中,符号常量不允许重新赋值。符号常量不允许重新赋值。例例:#define PI 3.1415926 PI=5.6;或或 scanf(“%f ”,&PI);5.符号常量2.2.22.2.2变量量:变量变量概述概述:整型变量整型变量:实型变量实型变量:字符型变量字符型变量:变量的初始化变量的初始化int x=23;23FF022BytesRAM变量概述变量变量:在程序执行期间其值可以改变的量在程序执行期间其值可以改变的量变量在使用之前必须被声明变量在使用之前必须被声明每一个变量有名字,类型,长度和值。每一个变量有名字,类型,长度和值。对变量赋值过程是对变量赋值过程是“覆盖覆盖”过程,用新值去替换旧值过程,用新值去替换旧值。从内存中读出变量的值,该变量保持不变。从内存中读出变量的值,该变量保持不变。90 x=90;printf(“%d”,x);l定义变量的形式定义变量的形式:类型说明符类型说明符 变量名表变量名表;例例:int a int a,b b;/*/*定义两个整型变量定义两个整型变量a a和和b*/b*/char c char c;/*/*定义字符型变量定义字符型变量c*/c*/float f1 float f1,f2 f2;/定义单精度实型变量定义单精度实型变量f1和和f2变量概述量概述变量类型变量类型(type)变量名变量名(name)是一个标识符是一个标识符1 1.整型变量整型变量用来存放整型数据的变量用来存放整型数据的变量整型整型变量的分量的分类表表类型名称类型名称类型说明符类型说明符字节数字节数数值范围数值范围基本整型基本整型int2-3276832767短整型短整型short int2-3276832767长整型长整型long int4-2147483648 2147483647无符号基本整型无符号基本整型unsigned int2065535无符号短整型无符号短整型unsignedshortint2065535无符号长整型无符号长整型unsignedlong int404294967295与操作系统、编译系统、与操作系统、编译系统、机器字长有关。机器字长有关。l有符号的整数有符号的整数 最高位是符号位最高位是符号位正整数在内存中以二进制正整数在内存中以二进制原码原码形式存放。形式存放。负整数在内存中以二进制负整数在内存中以二进制补码补码的形式存放。的形式存放。有符号正整数有符号正整数 1010 0 0 0 0 0 0 0 00 0 0 0 1 0 1 0符号位符号位0000000000001010RAM有符号负整数有符号负整数-10-101 1 1 1 1 1 1 11 1 1 1 0 1 1 0符号位符号位1111111111110110RAM-10-10的原码的原码1 0 0 0 0 0 0 00 0 0 0 1 0 1 01 1 1 1 1 1 1 11 1 1 1 0 1 0 11 1 1 1 1 1 1 11 1 1 1 0 1 1 0按位取反按位取反加加1 1后得到后得到-10-10的补码的补码l无符号整数无符号整数无符号整数的所有二进制位全部用来存放数值无符号整数的所有二进制位全部用来存放数值,不能存放负数。不能存放负数。无符号整数无符号整数6553565535u1 1 1 1 1 1 1 11 1 1 1 1 1 1 11111111111111111RAM 例例:求求5050的三次方的三次方#include void main()short int x;x=50*50*50;printf(“%dn”,x );程序运行程序运行结果果为:-6072 (错)(错)将以上程序改为:#include void main()int x ;x=50*50*50 ;printf(“%dn”,x);运行运行结果:果:125000因此因此,在定在定义整型整型变量量时,要注意数据,要注意数据类型允型允许的的数数值范范围。l用来存放实型数据的变量用来存放实型数据的变量l分单精度型、双精度型和长双精度型三类分单精度型、双精度型和长双精度型三类2 2.实型变量实型变量#include#include void main void main()float f float f;/f为单精度实型变量为单精度实型变量 double d double d;/d为双精度实型变量为双精度实型变量 f=33333f=33333.33333 33333;d=33333333333333d=33333333333333.333333333333;printfprintf(“f=%ff=%fnd=%fnd=%fn n”,f f,d d);输出出结果果:f=33333f=33333.332031 332031 d=33333333333333d=33333333333333.332000332000【例2.3】实型变量的使用无无效效数数字字f;3.字符变量用来存放字符常量的变量用来存放字符常量的变量例例:char c1,c2,c3 ;c1=A;c2=n;c3=97;每个字符变量分配一个字节用于存放一个字符。每个字符变量分配一个字节用于存放一个字符。(存放的是字符的存放的是字符的ASCII码值码值)l字符数据与整型数据可字符数据与整型数据可相互赋值相互赋值,直接运算直接运算。l可以把字符变量按整型量输出可以把字符变量按整型量输出,也允许把整型量按也允许把整型量按字符量输出。字符量输出。A的的ASCII码码(值值)为为65n的的ASCII码码(值值)为为100 1 0 0 0 0 0 10 0 0 01 0 1 0c1c2#include void main()int a=b;/给一个整型变量赋一个字符值给一个整型变量赋一个字符值 char c1=97;/给一个字符变量赋一个整数值给一个字符变量赋一个整数值 c1=c1-32;/将小写字母转换为大写字母将小写字母转换为大写字母 printf(“%d%dn”,a,c1);printf(“%c%c%cn”,a,c1);输出出结果果:98 65 b A【例2.4】字符型变量的使用注意注意:只只能能将将一一个个字字符符常常数数赋赋给给一一个个字字符符变变量量,不不能能把一个字符串常量赋予字符变量。把一个字符串常量赋予字符变量。例例:char c=“abc”;在在C C语言中没有字符串变量语言中没有字符串变量 (但可以用一个字符数组来存放一个字符串常量)(但可以用一个字符数组来存放一个字符串常量)4.变量的初始化在说明变量的同时给变量赋初值在说明变量的同时给变量赋初值格式格式:类型说明符类型说明符 变量变量 =常数常数 ;例例:int a=5;/定义并初始化定义并初始化 char c1=a,c2=B ;double area,r=23.e-2 ;i int x=10,y=10,z=10 ;/不能写成不能写成int x=y=z=int x=y=z=10;int a;a=5;/赋初值赋初值2.2.3标准函数 C编译系统提供的库函数编译系统提供的库函数包括包括:输入输出函数、数学函数、字符和字符串函数等。输入输出函数、数学函数、字符和字符串函数等。l数学函数数学函数x为弧度为弧度,double x,double sin(x)cos(x)sin(x)cos(x)exp(x)log(x)log10(x)fabs(x)pow(x,y)sqrt(x)area=s(s-a)(s-b)(s-c),s=(a+b+c)/2#include#include 【例例2.5】求三角形面积求三角形面积/预编译命令预编译命令,将系统提供的数学函数将系统提供的数学函数/作为头文件包含到用户源文件中作为头文件包含到用户源文件中void main()double a,b,c,s,area;scanf(“%lf,%lf,%lf”,&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“the area is%6.2fn”,area);运行运行本本节介介绍算术运算符算术运算符赋值运算符赋值运算符逗
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服