C语言程序设计 课件 任务1.4 变量与常量_第1页
C语言程序设计 课件 任务1.4 变量与常量_第2页
C语言程序设计 课件 任务1.4 变量与常量_第3页
C语言程序设计 课件 任务1.4 变量与常量_第4页
C语言程序设计 课件 任务1.4 变量与常量_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计基础与实践模块一编程技术基础任务1.4变量与常量C语言程序设计基础与实践课程组04技能点拓展03技能点详解02技能点分析目录CONTENTS任务1.4变量与常量01问题引入05技能点检测一问题引入

唯物辩证法告诉我们:无论是自然界、人类社会还是人的思维都是在不断地运动、变化和发展的,事物的发展具有普遍性和客观性。在人类社会发展的历史长河中,变化的是推动社会发展的建设者,不变的是向前发展的方向;我国在坚持中国特色社会主义发展道路中,变化的是不同时代中国共产党领导的全国人民的奋斗历程,不变的是中国共产党的道路自信和初心使命。在大千世界中,存在许多变和不变的量,那么在计算机编程中如何使用这些量呢?04技能点拓展03技能点详解02技能点分析目录CONTENTS01问题引入05技能点检测任务1.4变量与常量二技能点分析1、了解变量及变量的数据类型;2、了解常量及常量的数据类型;3、掌握变量的定义和使用方法。学习目标1.变量是什么?定义变量的格式是什么?2.变量命名必须遵守哪些规则?3.定义常量方式有哪些?各个方式定义的格式是什么?4.字符常量和字符串常量有何区别?学期预习04技能点拓展03技能点详解02技能点分析目录CONTENTS01问题引入05技能点检测任务1.4变量与常量三技能点详解——1变量C语言代码是从前往后依次执行,变量在使用之前必须定义或者声明。变量定义就是要告诉编译器要创建的这个变量存储什么类型的数据,以便编译器给该类型数据分配相应大小(字节数)的内存空间,并对该内存空间命名(即变量名)。三技能点详解——1变量1)变量的定义在变量定义时,需要指定一个数据类型,并包含了该类型的一个或多个变量名的列表,定义格式为:

数据类型

变量名1[,变量名2,变量名3…];例如:

intsum;

floata2,A2,_a2;变量命名必须遵守以下C标识符命名规则:(1)第1个字符必须是字母或下划线;(2)其余字符可以是字母、下划线和数字;(3)字母区分大小写;(4)用户自定义标识符不能与C语言的保留字或预定义标识符同名,并应尽量做到“见名知意”,以增加程序的可读性。三技能点详解——1变量C语言中只有32个保留字(关键字),如表1.4.1所示。表1.4.1C语言中的保留字autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile例如,有效的变量名:inta;int_ab;inta30;无效的变量名:int2a;intab;intshort;2)变量的赋值变量定义后,就可以向变量代入值即变量赋值,在程序中,变量赋值可以用赋值语句来实现,其格式为:

变量名=值的表达式;其中:“=”是赋值运算符,将“=”右边的“变量的值”代入到左边的变量中存储,关于赋值运算符的详细内容将在后续任务中讲解。“值的表达式”可以是某一常数值或某一变量名或表达式。三技能点详解——1变量三技能点详解——1变量例如: My_family_name='张';//向变量My_family_name赋值字符‘张’My_age=19;//向变量My_age赋值19i=a;//将储存在变量a中的值赋给变量iSum=8+10;//将8加上10的结果18赋给变量Sumtemp=a+6;//将变量a的值加上6的结果赋给变量temp程序中首次向变量中代入值称为变量赋初值或变量的初始化。如:inti,j;i=0;j=5;变量定义的同时也可进行变量的初始化,如上面的代码可写成:inti=0,j=5;三技能点详解——1变量3)变量的作用域C语言中变量的作用域是指一个变量在程序中起作用的区域,一般可以理解为变量所在的{}的包围区域。所有的变量都有自己的作用域,变量按照作用域的范围可分为:局部变量和全局变量。决定变量作用域的是变量定义的位置。在程序块(一个{}内)定义的变量(称为局部变量或内部变量),只在该程序块{}中起作用。也就是说,一个变量从被定义的位置开始,到包含该变量定义的程序块最后的大括号为止,这一区间内是起作用的。例如:voidmain(void){ intx=2;//定义内部变量x,只在main函数中有效}三技能点详解——1变量

而在C程序的所有函数外部定义的变量(称为全局变量或外部变量),从定义位置开始,到该整个程序的结尾都是起作用的。例如:intx=2;//定义外部变量x,整个程序中有效voidmain(void){ ……}C语言规定在同一作用域中不能定义同名的变量,也就是说在不同的作用域中可以定义同名变量,但在实际编程中不推荐这样做。三技能点详解——1变量4)变量的声明变量在程序中必须先声明后使用,变量的声明是用于向程序表明变量的类型和名字,但声明不一定引起内存的分配。定义也是声明,当定义变量时我们声明了它的类型和名字。如果在一个程序源文件函数内想使用该文件的外部变量或一个源文件使用另一个源文件中定义的外部变量,则应该在使用之前用关键字extern对该变量作“外部变量声明”,表示该变量是一个已经定义的外部变量。有了此声明,就可以从“声明”处起,合法地使用该外部变量。外部变量声明的格式为:

extern数据类型外部变量名;三技能点详解——1变量例如,引用同一个文件中的变量:voidfunc(void){

extern

intx;//声明后面定义的外部变量xx=2;}intx;//定义外部变量x,

引用另一个文件中的变量:main.c:#include

<stdio.h>

voidmain(void){

extern

intx;//声明func.c中定义的外部变量xprintf("main.cx=%d\n",x);}func.c:#include

<stdio.h>

intx=2;//定义外部变量x并初始化为2

voidfunc(void){printf("func.cx=%d\n",x);}三技能点详解——2常量

常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。常量就像是常规的变量,只不过常量的值在定义后不能进行修改。1)整数常量整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x或0X表示十六进制,O表示八进制,不带前缀则默认表示十进制。三技能点详解——2常量

整数常量也可以带一个后缀,后缀是U和L的组合,U表示无符号整数(unsigned),L表示长整数(long)。后缀可以是大写,也可以是小写,U和L的顺序任意。下面列举几个整数常量的实例: 213//十进制数213 O213//八进制数213,等于十进制数139 215u//无符号的整数215 0xFeeL//十六进制的长整数Fee 0xFF03aul//十六进制的无符号长整数FF03a 078//非法的:8不是八进制的数字

032UU//非法的:不能重复后缀

2)浮点常量

浮点常量由整数部分、小数点、小数部分和指数部分组成。您可以使用小数形式或者指数形式来表示浮点常量。

当使用小数形式表示时,必须包含整数部分、小数部分,或同时包含两者。当使用指数形式表示时,必须包含小数点、指数,或同时包含两者。带符号的指数是用e或E引入的。下面列举几个浮点常量的实例: 3.14159//合法的 314159E-5L//合法的 510E//非法的:不完整的指数

210f//非法的:没有小数或指数

.e55//非法的:缺少整数或分数

三技能点详解——2常量三技能点详解——2常量3)字符常量字符常量是括在单引号中,如'2'、'a'、'E'、''等,每个字符占一个字节,可以存储在

char

类型的简单变量中。在计算机中,字符按ASCII值存放,上述对应的4个字符的ASCII值为50、97、69、32等,字符常量可以是一个普通的字符(例如'x')、一个转义序列(例如'\t')。在C中,有一些特定的字符,当它们前面有反斜杠时,它们就具有特殊的含义,不同于字符原有的意义,故称“转义”字符,例如,在前面的案例printf函数的格式串中用到的“\n”就是一个转义字符,其意义是“换行”。常用转义字符如表1.4.2所示。三技能点详解——2常量表1.4.2常用转义字符表转义序列含义转义序列含义\\\字符\n换行\''字符\r回车\""字符\t水平制表\??字符\v垂直制表\a警报铃声\ooo一到三位的八进制数\b退格\xhh…一个或多个数字的十六进制数\f换页%%百分号%三技能点详解——2常量4)字符串常量字符串字面值或常量是括在双引号""中的,如"Hello,world!",它们在内存中是按照每个字符的ASCII码连续存放的,并在结尾处添加了一结束标志'\0',对应的ASCII值为0,这样n个字符组成的字符串需占用n+1个字节。这里需注意的是:(1)字符串中包含有双引号字符时,字符双引号必须用转义字符表示;(2)一个字符串需占用两行时,需采用两对双引号,如"Thisstring""istoolong!";案例1.4.1变量的作用域在变量的不同作用域中定义同名变量,并通过在各个作用域中输出变量值检验变量的作用域范围。/***********************************************内容简述:检验同名变量在不同作用域的作用范围***********************************************/#include

<stdio.h>

intx=1;//定义外部变量x,在以下程序代码中有效voidfunc(void){ printf("funcx=%d\n",x);}voidmain(void){

intx=2;//x位于main函数下的{}中,是内部变量,只在main函数中有效 func();//调用函数func(),即执行func()下面的{}中的printf printf("mainx=%d\n",x); {

intx=3;//x位于{}中的程序块,只在该块中有效 printf("blockx=%d\n",x);}}

三技能点详解——案例案例1.4.2字符运算与转义字符字符常量在内存中存储和运算时都是以ASCII码形式进行的,同时在使用printf()函数在屏幕输出时需要使用一些转义字符或格式控制字符来获得所需的输出格式/************************************************内容简述:求’A’+1的结果并将结果以字符和整数

两种格式输出以及几种转义字符的使用***********************************************/#include

<stdio.h>

main(){

charc='A';//定义字符型变量c并初始化为'A'c=c+1;//c+1的结果赋给c

printf("\n%c\t%d\n",c,c);//以字符和整数格式输出变量c的值printf("ThetokenofRMBis:\n\t\tY\b=\n");}三技能点详解——案例案例1.4.3extern声明外部变量本案例是说明在一个函数内部如何声明引用外部变量。/********************************************************内容简述:

使用extern关键字在同文件的函数中引用声明外部变量*******************************************************/#include

<stdio.h>

//函数外定义变量x和y

intx=10;//定义外部变量xinty=20;//定义外部变量y

intaddtwonum(void){

extern

intx;//函数内声明变量x和y为外部变量

extern

inty;//给外部变量(全局变量)x和y赋值x=1;y=2;}voidmain(void){intresult;addtwonum();//调用函数result=x+y;printf("result为:%d\n",result);}三技能点详解——案例04技能点拓展03技能点详解02技能点分析目录CONTENTS01问题引入05技能点检测任务1.4变量与常量四技能点拓展——1#define定义标识符常量

使用#define预处理指令定义符号常量的格式为:#define

标识符常量

例如:#definePI3.1415926

这里标识符通常使用“见名知义”的大写英文字符串或英文单词表示。例如:

编写程序求不同大小的长方形课桌面的面积。我们知道课桌有大有小,长宽不一,假设某一课桌的长为1.2m,宽为0.6m,求桌面的面积,程序如下:四技能点拓展——1#define定义标识符常量#include

<stdio.h>

#defineLENGTH1.2//使用#define定义标识符常量LENGTH代替实型常量1.2#defineWIDTH0.6//使用#define定义标识符常量WIDTH代替0.6#defineNEWLINE'\n'//使用#define定义标识符常量NEWLINE代替'\n'

voidmain(void){

floatarea;//定义浮点型变量area来存储面积

area=LENGTH*WIDTH;//利用长X宽求面积printf("

温馨提示

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

评论

0/150

提交评论