版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章C语言编程基础主讲:王淞春2026年10月8日目录c数据类型与常量、变量1c数据类型的转换2c运算符、表达式与语句326.1数据类型与常量、变量36.1.1认识标识符1在编程过程中,经常需要定义一些符号来标记一些名称,如变量名、方法名、参数名、数组名等,这些符号被称为标识符。标识符定义2标识符只能由字母、数字和下划线组成。标识符不能以数字作为第一个字符,不能使用关键字。标识符区分大小写字母。尽量做到“见名知意”,以增加程序的可读性,如用age表示年龄,用length表示长度等。标识符的命名规范3Area、DATE、_name、lesson_1【案例】一些合法的标识符43a、ab.c、long、abc#【案例】一些不合法的标识符46.1.2认识关键字关键字定义关键字是指在编程语言里事先定义好并赋予了特殊含义的单词,也称作保留字。关键字在程序中用于表示特殊含义,不能被随便用作变量名、函数名等。C89标准定义的32个关键字数据类型关键字12个:char,double,enum,float,int,long,short,signed,struct,union,unsignedvoid控制语句关键字12个:break,case,continue,default,do,else,for,goto,if,return,switch,while存储类型关键字4个:auto,extern,register,static其它关键字4个:const,sizeof,typedef,volatile56.1.3认识常量在C语言中,常量包括整型常量、浮点数常量、字符常量等。1整型常量整型常量是整数类型的数据,又被称为整常数。整常数三种形式:十进制整数,如123,-456,0;八进制整数,如0123,-011;十六进制整数,如0x123,-0x12。2实型常量实型常量也称为浮点数常量,分为单精度浮点数和双精度浮点数两种类型。单精度浮点数后面以F或f结尾,双精度浮点数则以D或d结尾。【案例】2e3f3.6d0f3.84d5.022e+23f3字符常量字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引号('')引起来,它可以是英文字母、数字、标点符号以及由转义序列来表示的特殊字符。【案例】'a''1''&''\r''0x20'66.1.4认识变量在程序运行期间可能产生一些数据,应用程序会将这些数据保存在一些内存单元中,每个内存单元都用一个标识符来标识。这些内存单元我们称之为变量。变量1定义的标识符就是变量名变量名2内存单元中存储的数据就是变量的值。变量的值3intx=0,y;y=x+3;【案例】一段代码来学习变量的定义476.1.5认识数据类型C语言的数据类型86.1.5认识数据类型基本数据类型分四类。定义及类型在程序开发中,经常会遇到0、-100、1024等数字,这些数字都可称为整型。整型就是一个不包含小数部分的数。在C语言中,根据数值的取值范围,可以将整型定义为短整型、基本整型和长整型。整数类型的长度及其取值范围如表6-2所示。整型修饰数据类型占用空间取值范围[signed]short[int]16位(2个字节)-32768到32767(-215~215-1)int32位(4个字节)-2147483648到2147483647(-231~231-1)long[int]32位(4个字节)-2147483648到2147483647(-231~231-1)unsignedshort[int]16位(2个字节)0到65535(0~216-1)int32位(4个字节)0到4294967295(0~232-1)long[int]32位(4个字节)0到4294967295(0~232-1)表
6‑2
整数类型的长度及其取值范围96.1.5认识数据类型【案例】整数类型#include<stdio.h>voidmain(){inta=12345;longb=-23456,sum1;unsignedintc=32800,sum2;sum1=b-a;sum2=c-b;printf("sum1=%ld,sum2=%u\n",sum1,sum2);return0;}程序的运行结果如下:sum1=-35801,sum2=56256106.1.5认识数据类型定义及类型实型变量也称为浮点型,浮点型变量是用来存储带有小数的实数的。在C语言中,浮点型分为两种:单精度浮点数和双精度浮点数。double型变量所表示的浮点数比float型变量更精确。两种不同浮点型数所占用的存储空间大小及取值范围,如表6-3所示。表
6‑3浮点类型长度及其取值范围实型类型名占用空间取值范围float32位1.4E-45~3.4E+38,-1.4E-45~-3.4E+38double64位4.9E-324~1.7E+308,-4.9E-324~-1.7E+308116.1.5认识数据类型【案例】浮点数的有效位#include<stdio.h>voidmain(){floata;a=3.141592612;
printf("a=%f\n",a);}程序的运行结果如下:a=3.141593126.1.5认识数据类型字符型变量用于存储一个单一字符,在C语言中用char表示,其中每个字符变量都会占用1个字节。字符型【案例】字符变量的存储#include<stdio.h>voidmain(){charch1='A';charch2=65;printf("%c\n",ch1);printf("%c\n",ch2);}程序的运行结果如下:AA136.1.5认识数据类型【案例】转义符的使用#include<stdio.h>voidmain(){ charch1='A'; charch2='\n'; charch3='B'; charch4='\\';
printf("%c",ch1);
printf("%c",ch2);
printf("%c",ch3);
printf("%c",ch4);
printf("%c",ch2);}程序的运行结果如下:AB\146.1.5认识数据类型C语言提供了一种称为“枚举”的类型。枚举类型就是其值可以被列举出来,并且变量的取值不能超过定义的范围。枚举类型格式:enum枚举名{标识符1=整型常量1,标识符2=整型常量2,...}枚举类型【案例】枚举变量的使用#include<stdio.h>enummonth{JAN=1,FEB=2,MAR=3,APR=4,MAY=5,JUN=6,JUL=7,AUG=8,SEP=9,OCT=10,NOV=11,DEC=12};voidmain(){
enummonthlastmonth,thismonth,nextmonth;
lastmonth=APR;
thismonth=MAY;
nextmonth=JUN;
printf("%d%d%d\n",lastmonth,thismonth,nextmonth);}程序的运行结果如下:456156.2数据类型的转换166.2.1自动类型转换涉及不同数据类型的表达式中,系统自动进行类型转换自动类型转换规则整型参与浮点型运算时,整型会被自动转换为浮点型整型与浮点型的转换字面量与变量进行运算时,系统会自动进行类型匹配转换字面量与变量类型的匹配176.2.2强制类型转换强制类型转换指的是使用强制类型转换运算符,将一个变量或表达式转化成所需的类型。定义doublex;inty;(double)(x+y)//将表达式x+y的值转换成double类型(int)x+y//将变量x的值转换成int后,再与y相加floatc=123.4567f;intb=(int)c+10;//将浮点型变量c强制性转换为整型变量语法格式:(类型名)(表达式)186.3运算符、表达式与语句196.3.1运算符与优先级算术运算符赋值运算符比较运算符逻辑运算符位运算符sizeof运算符运算符的六大类206.3.1运算符与优先级用于处理四则运算算术运算符运算符运算范例结果+正号+33-负号b=4;-b;-4+加5+510-减6-42*乘3*412/除5/51%取模(即算术中的求余数)7%52++自增(前缀)a=2;b=++a;a=3;b=3;++自增(后缀)a=2;b=a++;a=3;b=2;--自减(前缀)a=2;b=--a;a=1;b=1;--自减(后缀)a=2;b=a--;a=1;b=2;216.3.1运算符与优先级用于将表达式的值赋给变量赋值运算符运算符运算范例结果=赋值a=3;b=2;a=3;b=2;+=加等于a=3;b=2;a+=b;a=5;b=2;-=减等于a=3;b=2;a-=b;a=1;b=2;*=乘等于a=3;b=2;a*=b;a=6;b=2;/=除等于a=3;b=2;a/=b;a=1;b=2;%=模等于a=3;b=2;a%=b;a=1;b=2;226.3.1运算符与优先级用于表达式的比较,并返回一个真值或假值比较运算符运算符运算范例结果==相等于4==30!=不等于4!=31<
小于4<30>
大于4>31<=小于等于4<=30>=大于等于4>=31236.3.1运算符与优先级用于根据表达式的值返回真值或假值逻辑运算符运算符运算范例结果!非!a如果a为假,则!a为真;如果a为真,则!a为假&&与a&&b如果a和b都为真,则结果为真;否则为假||或a||b如果a和b有一个以上为真,则结果为真;二者都为假时,结果为假246.3.1运算符与优先级用于处理数据的位运算位运算符256.3.1运算符与优先级用于求字节数长度基本语法规则:sizeof(数据类型名称);或sizeof(变量名称);sizeof运算符【案例】sizeof运算#include<stdio.h>voidmain(){//通过类型名称计算各基本数据类型所占内存大小
printf("char:%d\n",sizeof(char));
printf("short:%d\n",sizeof(short));
printf("long:%d\n",sizeof(long));
printf("float:%d\n",sizeof(float));
printf("double:%d\n",sizeof(double));
printf("unsignedchar:%d\n",sizeof(unsignedchar));
printf("unsignedshort:%d\n",sizeof(unsignedshort));
printf("unsignedint:%d\n",sizeof(unsignedint));
printf("unsignedlong:%d\n",sizeof(unsignedlong));//通过变量名称计算变量所属数据类型占用内存大小intval_int=100;doubleval_double=100000.0;
printf("val_int:%d\n",sizeof(val_int));
printf("val_double:%d\n",sizeof(val_double));}程序的运行结果如下:char: 1short: 2long: 4float: 4double:8unsignedchar: 1unsignedshort:2unsigneding: 4unsignedlong: 4Var_int: 4Val_double:8
266.3.1运算符与优先级在对一些比较复杂的表达式进行运算时,要明确表达式中所有运算符参与运算的先后顺序,我们把这种顺序称作运算符的优先级。运算符的优先级优先级运算符1.[]()2++--~!(数据类型)3*/%4+-5<<>>>>>6<><=>=7==!=8&9^10|11&&1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 股骨颈骨折的康复护理
- 鼻咽癌的观察及护理
- 2026事业单位工勤技能-上海-上海保健按摩师四级(中级工)历年参考题库含答案详解
- 2026主任医师(正高)-眼科学(正高)026历年题库含答案详解
- 2026临床医学期末复习-影像诊断学(本科临床教改专业)历年题库含答案详解
- 2026中药学期末复习-临床中药学(中药学)历年题库含答案详解
- 2026中级卫生职称-主治医师-精神病学(中级)代码:340历年参考题库含答案详解
- 2026中医药适宜技术-营养师-营养保健师历年参考题库含答案详解
- 2026上海社区工作者招聘考试(社会工作综合能力)历年参考题库含答案详解
- 2026上海市事业单位招聘考试(申论)历年参考题库含答案详解
- 2026秋季新学期班干部聘任仪式
- 2026年版《2型糖尿病缓解专家共识》核心全文(权威完整版)
- 《地质勘探质量控制管理手册》
- 2027届广州中考英语听说考试专项训练
- 2026年全国硕士研究生招生考试英语二真题及完整答案解析(全网完整版)
- T∕TFZX 64-2026 电子病历司法鉴定程序规定
- 胸痛的诊断与鉴别诊断
- 2025年10月自考13793计算机程序设计基础试题及答案
- 安徽省国资委职称评审化工专业考试题库及答案
- 2026届新高考英语冲刺热点复习高考英语短文写作
- 《国庆节英语知识分享》课件
评论
0/150
提交评论