单元程序设计基础知识_第1页
单元程序设计基础知识_第2页
单元程序设计基础知识_第3页
单元程序设计基础知识_第4页
单元程序设计基础知识_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

单元程序设计基础知识主要内容2.1数据表示2.1.1数据类型〔难点〕2.1.2常量〔重点〕2.1.3变量〔重点〕2.2数据操作2.2.1运算符与表达式〔重点难点〕2.2.2类型转换〔难点〕2.3算法与三种根本程序构造2.3.2三种根本程序构造〔重点难点〕程序设计根底问题引入通过编程解决问题,其本质是对数据的操作,这些数据可能是数学问题中的数值〔整数或小数〕,可能是信息处理中的文字〔字符或字符串〕,也可能是更复杂的数据或文件那么在C语言中如何表示这些数据?如何对数据间的运算进展描述?【引例】根据三角形的三个边长,计算三角形的面积,其计算公式为:area=〔其中a、b、c为三角形的三个边长,s=(a+b+c)/2〕试分析:在这个问题中涉及哪些数据:;其中量有:;未知量有:。abc2.1数据表示

2.1.1数据类型2.1.2常量

2.1.3变量

2.1.1数据类型2.1数据表示计算机处理数据信息时,需要明确数据到底是什么类型,以便分配适宜的存储空间,并按照相应的规那么进展操作。所以在程序编写时要对数据进展明确的类型说明。2.1.1数据类型2.1数据表示程序演示

运行结果:【例2-1】计算并输出半径为r的圆的面积。#include<stdio.h> //包含标准输入输出头文件voidmain() //主函数{

floatr,area;//数据准备,定义半径r和面积areaprintf("请输入半径:");//提示语scanf("%f",&r); //输入半径值rarea=*r*r; //数据计算,将结果赋值给area

printf("该圆的面积为:%f.\n",area);//输出面积值}数据类型:r,area为float〔实型〕变量:r,area常量3.14〔π〕根本数据类型有三种:整型(int)字符型(char)实型单精度型〔float〕双精度型double)2.1.1数据类型2.1数据表示1.整型2.1.1数据类型2.1数据表示名称符号存储空间数的范围短整型short2字节(16位)-32768~+32767(-215~+215-1)基本整型int2字节(16位)-32768~+32767(-215~+215-1)4字节(32位)-2147483648~+2147483647(-231~+231-1)长整型long4字节(32位)-2147483648~+2147483647(-231~+231-1)无符号短整型unsignedshort2字节(16位)0~65535(0~216-1)无符号基本整型unsignedint2字节(16位)0~65535(0~216-1)4字节(32位)0~4294967295(0~232-1)无符号长整型unsignedlong4字节(32位)0~4294967295(0~232-1)2.浮点型

浮点型又分为单精度和双精度。其符号表示、所占存储空间大小、有效数字及数的范围如表。

2.1.1数据类型2.1数据表示名称符号存储空间有效数字数的绝对值范围单精度浮点型float4字节(32位)6~73.4×10-38~3.4×1038双精度浮点型double8字节(64位)15~161.7×10-308~1.7×10308程序的构造特点字符型数据涵盖了ASCII码字符集中每一个字符,包括可直接显示的字符和32个控制字符,见附录A。字符型用char表示,占存储空间1个字节〔8位〕,实际上存放的是该字符所对应的ASCII码值〔一个整数〕,所以字符型和整型的关系非常特殊,二者经常“混搭〞,如’A’+1代表字母’B’。2.1.1数据类型2.1数据表示2.1.2常量2.1数据表示常量按照数据类型来分有:整型常量浮点型常量字符常量字符串常量按照表现形式来分有:直接常量符号常量1.直接常量(1)整型常量整型常量有十进制、八进制和十六进制三种表示方式,如表2-3所示。

2.1.2常量2.1数据表示表示方式前置符号标志构成示例十进制无0~9、正负号65,-57八进制00~7、正负号032,027,-033十六进制0x或0X0~9,a~f(或A~F)、正负号0x101,0Xff整型常量默认为根本整型,可以在整型常量后加小写字母l或大写字母L得到相应的长整型常量。例30000为int型65536为longint型例(1)20023L(2)06708302(3)0x200xfff0xh31.直接常量(2)浮点型常量浮点型常量有十进制小数和指数形式两种表示方式。

2.1.2常量2.1数据表示表示方式符号标志构成示例规则十进制小数小数点.0~9、正负号和小数点1.23,.23,-1.必须有唯一的小数点指数字母e或E0~9、正负号、e或E1.23e3,1.23E3字母e或E前必有数,e或E后必为整数eEe2e3、、e是不合法的指数形式(3)字符型常量用单撇引号括起来的单一字符称之为字符型常量。转义字符表示时以反斜杠“\〞作为标志符号。字符型常量在内存中占1个字节。2.1.2常量2.1数据表示例如:1.'a','B','9','*'是合法的直接字符常量。2.单引号、双引号和反斜杠等具有特殊用途的字符只能用转义字符表示,即'\''、'\"'、'\\'。3.'\n','\030','\x19'是合法的转义字符常量,分别代表回车换行、↑、和↓等控制字符。2.1.2常量2.1数据表示表示形式含义\n回车换行(将光标移到下一行开头)\t横向跳格(Tab)\b退格(将光标前移一列)\a警告(产生声音提示信号)\\输出反斜杠\\’输出单引号’\

"输出双引号”\dddddd为1至3为八进制数,如’\101’代表A,’\37’代表▼符号\xhhHh为1至2位十六进制数,如’\x1E’代表▲符号1.直接常量(3)字符型常量--常见的转义字符及其含义如表2-5所示

2.1.2常量2.1数据表示1.直接常量(4)字符串常量字符串常量就是用双撇引号括起来的一串字符序列,字符串中含有的字符个数是该字符串的长度。字符串存储时,每个字符占1个字符,并在字符串的结尾自动加上一个字符串完毕标志’\0’,因此字符串的存储长度比字符串的字符个数多1。a

a\0例

‘a’“a”例空串“”\02.符号常量符号常量标识符通常大写,以便和其他标识符相区别。另外,宏定义命令和头文件包含命令一样都属于编译预处理,需要写在程序开头位置。

2.1.2常量2.1数据表示#define符号常量标识符常量值

#include<stdio.h> #definePI3.14//定义符号常量PI代表voidmain() {floatr,area; printf("请输入半径:");scanf("%f",&r); area=PI*r*r; printf("该圆的面积为:%f.\n",area);}2.1.2常量2.1数据表示【例2-4】使用符号常量实现【例2-1】——计算并输出半径为r的圆的面积。#define符号常量标识符常量值【随堂练习2-1】1.判断以下常量表示正确与否?整型常量:32768、037、081、0x4f、0xAH字符型常量:'a'、'101'、65、'\x21'2.字符串常量“Howareyou?\n〞的字符串长度为()个字节,它占用的存储空间为()个字节。3.“d:\windows\info.txt〞在C语言程序设计时应描述为()。4.在编程处理物理力学相关运算时,常将重力加速度G定义为符号常量,其定义语句可描述为()。2.1.2常量2.1数据表示1.变量〔1〕概念:在程序运行过程中其值可以改变的量称为变量〔2〕变量定义的一般格式为:类型标识符变量名1,变量名2,…,变量名n;2.1.3变量2.1数据表示注意:变量必须先定义,后使用。数据类型,即决定分配字节数和数的表示范围合法标识符例:inta,b,c;floatdata;例1intstudent;stadent=19;/*Undefinedsymbol‘statent’infunctionmain*/

1.变量〔3〕【例2-5】1).floatr,area;2).doublea,b,c;3).inti=1,s;4).longm,k;5).charch;

2.1.3变量2.1数据表示变量定义后,系统会根据变量的类型分配相应的存储空间。

注意区分变量名与变量值…...地址inta=1,b=-3,c;abc2字节2字节2字节地址地址…...内存1-3随机数1.变量〔4〕【随堂练习2-2】1.以下变量定义中合法的是:〔1〕longdo=0xfd;〔2〕intmax=min=0;〔3〕doublef,inta;〔4〕charch="A";2.1.3变量2.1数据表示数据操作2.2.1运算符与表达式2.2.2类型转换

运算符:在运算数据时,用来表示各种运算的符号

1.运算符的种类1)算术运算符+-*/%++--2)关系运算符><==>=<=!=3)逻辑运算符!&&||4)位运算符>><<~|^&5)赋值运算符=及其扩展赋值6)条件运算符?:7)逗号运算符

,8)指针运算符*&2.2.1运算符与表达式数据操作

2.2.1运算符与表达式数据操作运算符含义举例结果说明+加法运算符a+ba与b的和无-减法运算符a-ba与b的差无*乘法运算符a*ba与b的乘积由于键盘无×号,乘法运算以*代替。/除法运算符a/ba除以b的商由于键盘无÷号,除法运算以/代替。注意:两个整数相除的结果为整数,如3/2的结果为1,舍去小数部分。%求余运算符a%ba除以b的余数求余运算%仅用于整数间的运算,若存在负整数,则余数的正负号与被除数相同,如-3%2的结果为-1。++自增1运算符a++或++a使a的值加1++和--为单目运算,且只能用于单一变量运算++a和--a,是在使用a之前,先使a的值加1或减1a++和a--,是在使用a之后,再使a的值加1或减1--自减1运算符a--或--a使a的值减11.算术运算符和表达式

1.算术运算符和表达式

【例2-6】分析程序输出结果。#include<stdio.h> voidmain() {inta=3,b=-5,i=2,j=2;

printf("%d,%d,%d,%d,%d\n",a+b,a-b,a*b,a/b,a%b);printf("%d,%d,%d,%d\n",a++,b--,++i,--j);printf("%d,%d,%d,%d\n",a,b,i,j);}2.2.1运算符与表达式数据操作程序演示

运行结果:2.赋值运算符和表达式2.2.1运算符与表达式数据操作简单赋值运算符:=复合赋值运算符:+=-=*=/=%=x*=y+8x=x*(y+8)x%=3x=x%3s+=is=s+3说明:赋值运算符左侧必须是变量,不能是常量或表达式赋值运算时,赋值号右边表达式值自动转换成其左边变量的类型例inti;floatj;i=2.56;//结果i=2;j=i;//;例:a=b=c=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)//表达式值为5,a,b,c值为5//b=5;a=5//表达式值11,c=6,a=11//表达式值10,a=10,b=4,c=6//表达式值5,a=5,b=10,c=2(1)不同类型数据运算时,自动转换成同一类型,再进展计算.doublefloatLongunsignedintchar,short低高说明:必定的转换运算对象类型不同时转换2.2.2类型转换数据操作(2)也可以对数据类型进展强制转换例(int)(x+y)(int)x+y(double)(3/2)(int)2.6说明:强制转换得到所需类型的中间变量,原变量类型不变例main(){floatx;inti;x=3.6;i=(int)x;printf(“x=%f,i=%d〞,x,i);}结果:x=3.600000,i=3精度损失问题较高类型向较低类型转换时可能发生2.2.2类型转换数据操作【随堂练习2-3】;intb;b=(int)a;,执行该语句后,变量b的值为3,变量a的值还是,并且变量a的类型也不改变,依旧是double类型。2.有定义语句:charch='M';,写出将变量ch变为小写字母的表达式:

。2.2.1类型转换数据操作2.3算法与三种根本程序构造2.3.1算法及其描述

2.3.2三种基本程序结构1.算法的概念对于计算机程序可处理的问题来说,程序中所用到的数据以及对这些数据的类型和数据组织形式的描述称之为“数据构造〞.对数据处理所采用的方法和步骤等操作的描述称为“计算机算法〞。作为程序设计人员,必须认真考虑和设计数据构造和操作步骤〔即算法〕。著名计算机科学家沃思〔NikiklausWirth〕提出一个公式:2.3.1算法及其描述2.3算法与三种根本程序构造程序=数据构造+算法

2.3.1算法及其描述2.3算法与三种根本程序构造图形符号名称含义起止框算法的起点和终点,是任何流程图比不可少的输入、输出框数据的输入和输出操作处理框各种形式数据的处理判断框判断条件是否成立,成立时在出口处标注“是”或“Y”,不成立时标注“否”或“N”特定过程一个特定过程,如函数流程线连接各个图框,表示执行的顺序连接点表示与流程图其它部分相连流程图符号

下面对【例2-1】的算法描述改用流程图的方法表示

2.3.1算法及其描述2.3算法与三种根本程序构造开始结束计算圆的面积areaarea=3.14*r*r输入半径r值输出面积值area1.顺序构造顺序构造指算法的实现过程按照相应的步骤依次顺序执行,直至完毕。顺序构造是最简单的一种根本构造。2.3.2三种基本程序结构2.3算法与三种根本程序构造1.顺序构造

2.3.2三种基本程序结构2.3算法与三种根本程序构造开始结束计算圆的面积areaarea=3.14*r*r输入半径r值输出面积值area2.选择构造又称为分支构造,此构造中必包含一个条件判断,根据判断结果从两种或多种路径中选择其中的一条执行。2.3.2三种基本程序结构2.3算法与三种根本程序构造2.选择构造

2.3.2三种基本程序结构2.3算法与三种根本程序构造结束计算圆的面积areaarea=3.14*r*rr是否合

温馨提示

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

评论

0/150

提交评论