第四讲 基础变量_第1页
第四讲 基础变量_第2页
第四讲 基础变量_第3页
第四讲 基础变量_第4页
第四讲 基础变量_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

项目二程序设计基础知识第四讲变量C语言程序设计任务驱动式教程运算符和表达式C程序基础知识概述数据类型常量变量目录数据类型转换导学【问题1】什么是变量以及变量的分类?【问题2】简要说明变量的定义与初始化的语法形式?

思考问题导入如何使用C语言来表示价钱呢?变量变量任务四变量是程序运行过程中其值可以改变的量。变量有三个属性,包括变量名、变量值和存储空间,如图所示。1变量名,即变量的名字,是用户定义的标识符,如图中的a就是变量名。2存储空间,每个变量在内存中都占用一定的存储单元,存储空间的大小由变量的数据类型决定。3变量值,即存储空间中所存放的变量的值,如图中的3即为变量值。变量的声明与初始化任务四61.变量的声明变量必须遵循“先定义,后使用”的原则。变量定义语句的形式如下:

类型

变量名1[,变量名2,…,变量名n];方括号内的内容是可选项。可以同时声明多个相同类型的变量,它们之间用逗号分隔。intnum; unsignedintarea; longsum; charsex; floatscore1,score2;

doubletotal; 定义num为整型变量定义area为无符号整型变量定义sum为长整型变量定义sex为字符型变量定义score1和score2均为单精度浮点型变量定义total为双精度浮点型变量存储单元变量num变量的声明与初始化任务四2.变量的初始化变量在内存中占据一定的存储单元,存储单元中存放变量的值。C语言允许定义变量的同时对变量进行初始化,即对变量赋初值,其形式如下:

类型

变量名1=常量1[,变量名2=常量2,…,变量名n=常量n];

longsum=0; charsex='M'; 同时声明多个相同类型的变量并初始化,它们之间用逗号分隔。floatscore1=90.5,score2=85.5;通过赋值的方法将数据值赋值给变量或改变变量的值。score1=94.0;定义sum为长整型变量,初值为0定义sex为字符型变量,初值为'M'score1的初值为90.5,score2的初值为85.5修改变量score1的值为94.00存储单元变量sum变量的声明与初始化任务四【注意】(1)相同类型变量可以定义在一行,也可以定义在多行。例如:等价于:(2)类型和变量名之间至少要加一个空格。(3)变量的定义同时可以为变量赋初值。例如:也可改写为两条语句:(4)对多个相同类型的变量赋同一个初值,不能写成如此形式:错误原因:变量b和c是没有定义。inta,b,c;inta;intb;intc;intnum=3;intnum;num=3;inta=b=c=3; 下面四个选项中,不正确的变量说明是____A.unsignedintui;B.shortintg;C.doubleintA;D.intp,j,k;C变量的声明与初始化任务四变量的类型任务四变量是指在程序运行过程中其值可以被改变的某个标识符。C语言中的变量可以分为以下几种类型,如图所示。变量的类型-----整型变量任务四有三种整型变量:(1)基本整型:int(2)短整型:shortint或short(3)长整型:longint或long每一种变量又可定义为:“无符号”(unsigned)类型“有符号”(signed)类型如果给整型变量所赋的值超过了该变量类型的取值范围,那么就会因为发生类型溢出。【思考】假设当前int类型变量在内存中占4个字节,那么int类型变量的允许值范围为:

-2147483648~2147483647,如果在最大值的基础上再加1,会出现什么情况呢?变量的类型-----整型变量任务四【程序】整型数据溢出#include<stdio.h>intmain(){ shorta,b; /*定义两个短整型变量a和b*/ a=32767; /*将值32767赋给变量a*/ b=a+1; /*将a的值加1后赋给变量b*/ printf("a=%d,b=%d\n",a,b); /*输出a和b的值*/ return0; /*函数返回值*/}程序运行后输出:注:程序此时就发生“溢出”,但运行时并不报错。它好像汽车的里程表一样,达到最大值以后,又从最小值开始计数。变量的类型-----实型变量任务四13实型变量可分为:单精度(float)双精度(double)长双精度型(longdouble)(1)实型数据在内存中的存放形式对于实型数据,无论小数表示形式还是指数表示形式,在计算机内部都用浮点方式来实现存储。变量的类型-----实型变量任务四(2)实型变量数据的舍入误差【程序】实型变量数据的舍入误差#include<stdio.h>intmain(){

floatf1;/*定义单精度型变量f1*/ doublef2; /*定义双精度型变量f2*/

f1=1234567.95789; /*将值1234567.95789赋给变量f1*/

f2=1234567.95789; /*将值1234567.95789赋给变量f2*/ printf(“f1=%f,

f2=%f\n”,f1,f2); /*输出变量f1、f2的值*/ return0; /*函数返回值0*/}程序运行后输出:float型数据提供6位有效数字

double型数据提供15位有效数字变量的类型-----字符型变量任务四字符型变量只能存放一个字符,不可以存放字符串。字符数据是以ASCII码存储,每个字符都有一个等价的整型值与其相对应。例如,对于字符'A',内存中存储的是其ASCII码65的二进制值,存储形式与int型数65类似,只是在内存中所占字节数不同而已。char型数据占1个字节,而int型数据在32位环境下占4个字节。字符‘A’ASCII码值:65整型65占1个字节占4个字节变量的类型-----字符型变量任务四【程序】

按字符型和整型两种格式输出字符#include<stdio.h>intmain(){charch='A';printf("%c,%d\n",ch,ch);return0;}程序运行后输出:A,65visualstudiocode变量的类型-----指针变量任务四

指针又称地址,指针变量即存放地址的变量。变量的三要素是变量名、变量值与变量地址。而变量值与变量地址是两个不同的概念,变量在内存所占的存储单元中存放的数据称为变量的值;变量在内存所占的存储单元的首地址称为变量的地址。变量的地址只可以存储在指针变量中,通过指针变量来引用地址中的数据。指针变量与其它变量一样,也要先定义后使用。指针变量定义的一般形式:

数据类型*指针变量名;变量的类型-----指针变量任务四【例】输出变量与指针变量的值。#include<stdio.h>

intmain(){ inta=10;/*a的值为10,变量a的内存地址编号为1244996*/ int*p;/*定义存放整型变量地址的指针变量p*/ p=&a;/*将整型变量a的地址送给指针变量p*/ printf("a=%d\np=%u\n",a,p);/*分别打印出变量a和指针变量p中的值*/ return0;}技能实训将小写字母转换为大写字母后,再以字符型和整型两种格式输出。练一练技能实训任务四技能实训2.查阅sizeof相关知识编程实现:显示每种数据类型所占内存空间的大小。练一练技能实训任务四技能实训2.查阅sizeof相关知识编程实现:显示每种数据类型所占内存空间的大小。练一练技能实训任务四#include<stdio.h>intmain(){printf("char%d\n",sizeof(char));printf("int%d\n",sizeof(int));printf("short %d\n",sizeof(short))

温馨提示

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

评论

0/150

提交评论