第二章 C程序设计初步_第1页
第二章 C程序设计初步_第2页
第二章 C程序设计初步_第3页
第二章 C程序设计初步_第4页
第二章 C程序设计初步_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章第二章c c程序设计初步程序设计初步(1)(1)c语言程序设计语言程序设计 programming in c2021年11月13日22时51分第2章 c程序设计初步2上讲内容回顾上讲内容回顾程序运行必须经过四个阶段:程序运行必须经过四个阶段:编辑编辑-编译编译-组建组建-运行运行词汇词汇语句语句函数函数源程序文件源程序文件c程序程序语句语句以以 ;表示语句结束表示语句结束函数函数由由函数首部函数首部和和函数体函数体组成组成程序中必须有,且只能有一个程序中必须有,且只能有一个main函数(主函数)函数(主函数)程序是从程序是从main函数开始执行函数开始执行注释注释可以出现在程序的任何位置

2、可以出现在程序的任何位置 用用 /* 和和 */ 括起来,必须成对出现括起来,必须成对出现2021年11月13日22时51分第2章 c程序设计初步3本章内容本章内容2.1 c语言的数据及其类型语言的数据及其类型2.2 常量和变量常量和变量 2.3 运算符和表达式运算符和表达式2.4 c语言中的输入输出语言中的输入输出2.5 c语句概述语句概述 2.6 顺序结构程序顺序结构程序 2.7 项目任务项目任务 2021年11月13日22时51分第2章 c程序设计初步42.1 c语言的数据语言的数据(data)及其类型及其类型2.1.1 程序设计中程序设计中的数据的数据2.1.2 c语言中的数据类型语言

3、中的数据类型2021年11月13日22时51分第2章 c程序设计初步52.1.1 程序设计中的数据程序设计中的数据 程序设计程序设计的一项主要任务是对数据进行处理的一项主要任务是对数据进行处理和加工和加工。计算机处理的。计算机处理的数据不只是数值型数据,数据不只是数值型数据,还包括文字、声音、图像等,它们都以一定的数还包括文字、声音、图像等,它们都以一定的数据形式据形式存储。存储。在计算机程序中使用数据需要解决下列问题:在计算机程序中使用数据需要解决下列问题:1.数据如何存储,即多大内存以及按怎样的形式数据如何存储,即多大内存以及按怎样的形式存储;存储;2.数据如何表示,即在编写程序时如何表示

4、(书数据如何表示,即在编写程序时如何表示(书写、描述)数据。写、描述)数据。3.数据可以参与哪些运算。数据可以参与哪些运算。2021年11月13日22时51分第2章 c程序设计初步6 分析:分析:1.1.陈述问题陈述问题:求任意圆的周长和体积。:求任意圆的周长和体积。 2.2.需求分析需求分析:输入圆半径,输出圆周长和体积。:输入圆半径,输出圆周长和体积。 3.3.数学建模数学建模:设圆半径变量为:设圆半径变量为r r,周长变量为,周长变量为c c,面,面积变量为积变量为s s。若。若r=3r=3,则根据圆周长和面积的数学,则根据圆周长和面积的数学公式:公式: c=2 c=2r=18.85r=

5、18.85 s=s=r rr=28.27r=28.27。【例【例2-12-1】简单数值计算。】简单数值计算。 编程实现求任意圆的周长和面积。编程实现求任意圆的周长和面积。 2.1.1程序设计中的数据程序设计中的数据2021年11月13日22时51分第2章 c程序设计初步7【例【例2-12-1】简单数值计算。】简单数值计算。 编程实现求任意圆的周长和面积。编程实现求任意圆的周长和面积。 2.1.1程序设计中的数据程序设计中的数据4.4.确定算法确定算法(自然语言描述(自然语言描述 ) 设计表示半径、周长和面积的变量:设计表示半径、周长和面积的变量: r r(整型或实型)、(整型或实型)、c c(

6、实型)和(实型)和s s(实型)。(实型)。 利用利用scanfscanf输入函数输入圆的半径输入函数输入圆的半径r r的值。的值。 利用数学公式利用数学公式c=2c=2r r 和和s=s=r rr r计计算出圆的周长和面积。算出圆的周长和面积。 输出圆的周长和面积。输出圆的周长和面积。5.5.编码编码 #include #define pi 3.1415926void main(void) int r; double c,s; printf(请输入圆的半径(整数)请输入圆的半径(整数):); scanf(%d,&r); c=2*pi*r; s=pi*r*r; printf(circu

7、m=%6.2fn,c); printf(area=%6.2fn,s);/*program ch2-1.c */#include /*文件包含,编译预处理命令文件包含,编译预处理命令*/#define pi 3.1415926 /*宏名定义,定义宏符号宏名定义,定义宏符号pi*/void main(void) /*主函数首部主函数首部*/ int r; /*定义半径变量为定义半径变量为整型整型数据数据*/ double c,s; /*定义周长和面积为定义周长和面积为实型实型变量变量*/ printf(请输入圆的半径(整数)请输入圆的半径(整数):); /*提示信息提示信息*/ scanf(%d,

8、&r); /*人机交互,从键盘输入半径值人机交互,从键盘输入半径值*/ c=2*pi*r; /*计算圆的周长计算圆的周长*/ s=pi*r*r; /*计算圆的面积计算圆的面积*/ printf(circum=%6.2fn,c); /*按格式在屏幕上输出周长值按格式在屏幕上输出周长值*/ printf(area=%6.2fn,s); /*按格式在屏幕上输出面积值按格式在屏幕上输出面积值*/6.6.测试测试 vc+vc+环境及程序运行环境及程序运行2021年11月13日22时51分第2章 c程序设计初步9v 计算机辅助问题求解过程一般有六个步骤。计算机辅助问题求解过程一般有六个步骤。1.清

9、晰清晰陈述问题陈述问题2.准确需求分析准确需求分析3.数学建模或处理流程示例数学建模或处理流程示例4.确定算法确定算法5.编码编码6.测试测试2021年11月13日22时51分第2章 c程序设计初步10#include #define pi 3.1415926void main(void) int r; double c,s; printf(请输入圆的半径(整数)请输入圆的半径(整数):); scanf(%d,&r); c=2*pi*r; s=pi*r*r; printf(circum=%6.2fn,c); printf(area=%6.2fn,s);变量变量变量变量常量常量常量常量常

10、量常量2021年11月13日22时51分第2章 c程序设计初步11结论:结论:(1)程序处理的对象)程序处理的对象数据数据;(2)从)从存储存储角度,数据分为不同的角度,数据分为不同的数据类数据类型型;(3)从)从使用使用角度,数据分角度,数据分变量和常量变量和常量。c语语言言数数据据类类型型原子类型:原子类型:基本数据类型基本数据类型数值数值类型类型非数值非数值类型类型整型整型有符号有符号短整型短整型(short)无符号无符号短整型短整型(unsigned short)有符号整型(有符号整型(int)无符号整型(无符号整型( unsigned int)有符号有符号长整型长整型(long)无符

11、号无符号长整型长整型( unsigned long)实型实型(浮点型)(浮点型)单精度型(单精度型(float)双精度型(双精度型(double)字符类型(字符类型(charchar)空类型(空类型(voidvoid)结构体结构体 (struct)枚举类型枚举类型(enum)(c语言的特殊数据类型语言的特殊数据类型)构造类型构造类型指针类型指针类型共用体(共用体(union)数组(数组(array)值不能再分值不能再分割的数据割的数据值能再分割值能再分割为元素数据为元素数据c语言特有语言特有的数据类型的数据类型2.1.2 c语言中的数据类型语言中的数据类型2021年11月13日22时51分第2

12、章 c程序设计初步13一、基本数据类型一、基本数据类型 1.数值类型数值类型 整型和实型整型和实型 2.非数值类型非数值类型 字符型和空类型字符型和空类型二、构造类型二、构造类型 1.数组数组 2.结构体结构体三、指针类型三、指针类型2.1.2 c语言中的数据类型语言中的数据类型2021年11月13日22时51分第2章 c程序设计初步14根据根据在机器中的存储长度在机器中的存储长度短整型(短整型(short) 基本整型(基本整型(int) 长整型(长整型(long) 所占字节数增大所占字节数增大无符号短整型无符号短整型(unsigned short))有符号短整型有符号短整型(short))无

13、符号基本整型无符号基本整型(unsigned)有符号基本整型有符号基本整型(int)无符号长整型无符号长整型(unsigned long)有符号长整型有符号长整型(long)2字节字节4字节字节4字节字节-32768+32767(-215 215-1) 表示范围:表示范围:065535 (0216-1) 04 294 967 295 (0232-1) -2 147 483 6482 147 483 647(-231231-1) 04 294 967 295 (0232-1) -2 147 483 6482 147 483 647(-231231-1)1、数值类型、数值类型(1)整数整数int一

14、、基本数据类型一、基本数据类型2021年11月13日22时51分第2章 c程序设计初步150.101102103104105106107108.short f=5;变量变量f占占2个字节个字节05long d=5;变量变量d占占4个字节个字节00050 1 0 1 0 0 0 1整型数据整型数据的存储的存储0 0 0 0 0 0 0 00 0 0 0 0 1 0 10 0 0 0 0 0 0 00 0 0 0 0 1 0 10 0 0 0 0 0 0 00 0 0 0 0 0 0 2021年11月13日22时51分第2章 c程序设计初步16有小数部分的数为实型数据;有小数部分的数为实型数据;实

15、型数据分为:实型数据分为:n单精度实数单精度实数(类型描述符:类型描述符:float)n双精度实数双精度实数(类型描述符:类型描述符: double)数据类型数据类型(关键字)(关键字)字节个数字节个数取值范围取值范围精度精度(位位)float4约约-3.410383.410387double 8约约-1.7103081.710308151、数值类型、数值类型(2)实型实型(real)float和和double 2021年11月13日22时51分第2章 c程序设计初步17字符字符 (character)类型类型n字符型数据在内存中占一个字节,存储字符的字符型数据在内存中占一个字节,存储字符的a

16、scii码值。码值。n字符值域:字符值域:ascii码表的所有符号。包括:码表的所有符号。包括:l可显示的字符:可显示的字符:l字母、数字、标点、空格、回车字母、数字、标点、空格、回车 等。等。l不可显示的字符:不可显示的字符:l 各种控制功能字符,如回车、换行、制表符等各种控制功能字符,如回车、换行、制表符等2、非非数值类型数值类型(1)字符类型)字符类型char 2021年11月13日22时51分第2章 c程序设计初步180.101102103104105106107108.char ch1=h;变量变量ch1占占1个字节个字节104h的的ascii码值码值0 1 1 0 1 0 0 20

17、21年11月13日22时51分第2章 c程序设计初步192、非非数值类型数值类型(2)空空类型类型void n类型描述符:类型描述符:voidnvoid的是的是“无、没有无、没有”的意思。的意思。l用在函数首部强调函数的返回值类型为用在函数首部强调函数的返回值类型为空空。l用在函数首部的参数处,表明用在函数首部的参数处,表明函数无参数函数无参数。void main(void)/*函数首部,无返回值,无函数参数函数首部,无返回值,无函数参数*/ 2021年11月13日22时51分第2章 c程序设计初步20v构造类型数据的值可以分解成若干个称为构造类型数据的值可以分解成若干个称为“成成员员( (m

18、ember)”member)”或或“元素元素( (element)”element)”的分量。的分量。n每个每个“成员成员”或或“元素元素”是一个基本数据类是一个基本数据类型或又是一个构造类型。型或又是一个构造类型。vc c语言中,构造类型有数组类型、结构类型、语言中,构造类型有数组类型、结构类型、共用体类型和枚举类型。共用体类型和枚举类型。二、构造数据类型二、构造数据类型2021年11月13日22时51分第2章 c程序设计初步21数组是由多个数组是由多个同类型同类型数据构造的一种数据结构,在内存数据构造的一种数据结构,在内存中占用一片连续的内存单元。中占用一片连续的内存单元。n数组中的每个数

19、据叫数组元素(数组中的每个数据叫数组元素(element)。)。n同一数组中的不同元素用下标值来区分。同一数组中的不同元素用下标值来区分。1、 数组(数组(aarry)a3a2a1a0a4如,有数组数据定义为:如,有数组数据定义为: char a5; 在内存中存储为一个在内存中存储为一个连续的空间:连续的空间:下标区分元素下标区分元素数组名为数组名为2021年11月13日22时51分第2章 c程序设计初步22 结构体用于处理一组有结构体用于处理一组有不同不同数据类型的数据。数据类型的数据。n 结构体类型由若干个称为成员(或域)的成结构体类型由若干个称为成员(或域)的成分分组成。组成。2、结构体

20、(、结构体(struct)通讯地址表通讯地址表2021年11月13日22时51分第2章 c程序设计初步23三、指针(三、指针(pointer)数据类型)数据类型 根据根据内存单元的内存单元的地址地址可找到可找到内存内存单元的值单元的值。 通常把通常把内存地址内存地址称为称为指针数据指针数据(pointer)。)。2021年11月13日22时51分第2章 c程序设计初步24一、基本数据类型一、基本数据类型 1.数值类型数值类型 整型和实型整型和实型 2.非数值类型非数值类型 字符型和空类型字符型和空类型二、构造类型二、构造类型 1.数组数组 2.结构体结构体三、指针类型三、指针类型数据类型数据类

21、型小结小结从从存储存储角度,数据分角度,数据分为不同的数据类型;为不同的数据类型;从从使用使用角度,数据分角度,数据分变量和常量。变量和常量。2021年11月13日22时51分第2章 c程序设计初步252.2 常量(常量(constant)和变量()和变量(variables)2.2.1 程序中程序中的常的常量量2.2.2 c程序中的变量程序中的变量2.2.3 确定问题领域的数据及其类型确定问题领域的数据及其类型#include #define pi 3.1415926void main(void) int r; double c,s; printf(请输入圆的半径(整数)请输入圆的半径(整数

22、):); scanf(%d,&r); c=2*pi*r; s=pi*r*r; printf(circum=%6.2fn,c); printf(area=%6.2fn,s);变量变量变量变量常量常量常量常量常量常量常量:常量:在程序运行过程在程序运行过程中值不会发生变中值不会发生变化的数据。化的数据。变量:变量:在程序运行过程在程序运行过程中,其值可以变中,其值可以变化的数据。化的数据。2021年11月13日22时51分第2章 c程序设计初步272.2.1 程序中程序中的常的常量量1.整整型常量型常量2.实型实型常量常量3.字字符型常量(符型常量(character)4.字符字符串常量串

23、常量(string)5.符号常量(符号常量(symbolic constant)2021年11月13日22时51分第2章 c程序设计初步28整型常量可记为三种形式:整型常量可记为三种形式:1 1、整型、整型常量常量十进制整常数十进制整常数如:、如:、100、-200、32767n 数码数码10个:个:0 9n一位或多位数一位或多位数n首位不能为首位不能为0八进制整常数八进制整常数如:如:011、023分别表分别表示十进制的示十进制的9和和19 数码数码8个:个:0 7一位或多位数一位或多位数n首位必须为首位必须为0十十六进六进制整常数制整常数如:如: 0 x12、0 xaf、0x1e,分别表示

24、十进制数的分别表示十进制数的18、175和和30 数码数码16个:个:0 9、af一位或多位数一位或多位数首位必须为首位必须为0 x或或0x2021年11月13日22时51分第2章 c程序设计初步292 2、实型、实型常量常量: :带有小数点的常量带有小数点的常量十进制小数十进制小数如,如,3.14、0.5、 .5、 5.、7.0、0.0n由数字和小数点组成由数字和小数点组成n必须要有小数点必须要有小数点n小数点不可单独出现小数点不可单独出现指数形式指数形式如:如: 1234.567可表示为:可表示为:1.234567e3 或或 1.234567e3 十进制小数十进制小数+e(或或e)+十进制

25、整数十进制整数字母字母e(或或e)之前必须有数字之前必须有数字n字母字母e(或或e)后的数据必须为整数后的数据必须为整数 实型常量可记为两种形式:实型常量可记为两种形式:2021年11月13日22时51分第2章 c程序设计初步30(1 1)字符常量的表示)字符常量的表示用一对用一对半角单引号半角单引号括起来的一个字符。括起来的一个字符。 如如aa、aa、22等等注意:注意: 单引号中的大、小写字母表示不同的符号常量,单引号中的大、小写字母表示不同的符号常量,如如aa和和aa表示不同的字符。表示不同的字符。单引号引起的单引号引起的空格(空格( )也是一个字符常量。)也是一个字符常量。字符常量只包

26、含一个字符常量只包含一个字符,字符,abab是非法的。是非法的。(2 2)字符常量在内存中的存储方式)字符常量在内存中的存储方式内存中存储的是字符内存中存储的是字符asciiascii码值的二进制形式。码值的二进制形式。如,字符如,字符aa在内存中存储的在内存中存储的6565,即,即01000001010000013.3.字字符型常量(符型常量(charactercharacter)2021年11月13日22时51分第2章 c程序设计初步31转义字符表转义字符表字符字符功能功能字符字符功能功能n换行换行t横向跳格横向跳格v竖向跳格竖向跳格b退格退格r回车回车f换页换页反斜杠字符反斜杠字符单引号

27、字符单引号字符”双引号字符双引号字符ddd1到到3位位8进制表示的字进制表示的字符符xhh 1到到2位位16进制表示的字符进制表示的字符0空值空值在统计字符在统计字符个数时,只个数时,只能记为一个能记为一个字符字符2021年11月13日22时51分第2章 c程序设计初步32多种形式等价表示同一个字符多种形式等价表示同一个字符 字符字符常量常量说明说明十进十进制值制值八进制八进制值值十六进制十六进制值值转义转义字符模式字符模式转义转义字符模式字符模式a小写字母小写字母a9701410 x61141x61+加号字符加号字符430530 x2b053x2b单引号字单引号字符符390470 x2704

28、7x27n 新行字符新行字符2021年11月13日22时51分第2章 c程序设计初步334.4.字符字符串串常量常量 (string string )用用双引号双引号括起的一个字符序列括起的一个字符序列例如:例如:abc、123、a、 nt ngood morning字符串常量的长度字符串常量的长度 : 包含的字符个数包含的字符个数 字符串常量的存储方式:字符串常量的存储方式: 每个字符串尾每个字符串尾自动自动加一个加一个 0 作为字符作为字符串结束标志串结束标志所占存储单元数:所占存储单元数: 串长度串长度2021年11月13日22时51分第2章 c程序设计初步344.4.字符字符串串常量常

29、量 (string string )字符常量与字符串常量不同字符常量与字符串常量不同h e l l o h e l l o 00例如:例如: 字符串字符串“hello”hello”在内存中在内存中a aa 0a 0例例 aa“a a”“ ” “ ” 空格字符串空格字符串 “” “” 空串空串, ,双引号中什么也没有双引号中什么也没有00 0 2021年11月13日22时51分第2章 c程序设计初步355.5.符号常量(符号常量(symbolic constantsymbolic constant) 概念:是用标识符来表示一个数据。概念:是用标识符来表示一个数据。 定义形式定义形式: :#def

30、ine #define 标识符标识符 常量数据常量数据例如例如: #define pi 3.14159: #define pi 3.14159 特点:特点:在程序中不能给它赋值在程序中不能给它赋值。 在程序预处理时,凡是出现标识符在程序预处理时,凡是出现标识符pipi的的地方都将用数据地方都将用数据3.141593.14159来替换。来替换。2021年11月13日22时51分第2章 c程序设计初步36【例例2-22-2】阅读程序,理解符号常量数据。阅读程序,理解符号常量数据。#include #define r 5.4 /*符号常量符号常量r代表实型常量代表实型常量5.4*/#define p

31、i 3.1415926 /*符号常量符号常量pi代表实型常量代表实型常量3.1415926*/void main() printf(the radii is:=%fn,r); /*字符串常量字符串常量*/ printf(the value of the circum:%fn,pi*r*r); /*字符串常量字符串常量*/2021年11月13日22时51分第2章 c程序设计初步372.2.2 c程序中的变量程序中的变量一、变量的概念一、变量的概念二、简单变量的说明及使用二、简单变量的说明及使用三、指针变量三、指针变量2021年11月13日22时51分第2章 c程序设计初步38一、变量的概念一、变

32、量的概念概念:概念:变量是计算机内存中已命名的存储位变量是计算机内存中已命名的存储位置,用于存放可以变量化的值。置,用于存放可以变量化的值。变量名变量名:用标识符命名:用标识符命名地址地址:变量的存储位置:变量的存储位置值值:存储空间中存放的数据:存储空间中存放的数据2021年11月13日22时51分第2章 c程序设计初步39变量须变量须“先定义,后使用先定义,后使用”使用变量的三个步骤:使用变量的三个步骤:1.1.定义声明定义声明2.2.变量赋值变量赋值3.3.变量使用变量使用二、简单变量的说明及使用二、简单变量的说明及使用2021年11月13日22时51分第2章 c程序设计初步40变量定义

33、声明的一般格式为:变量定义声明的一般格式为: 数据类型标识符数据类型标识符 变量名变量名 ,变量名,变量名,;1、变量定义(或声明、变量定义(或声明declare variable)例如:例如: int a,b,c; /*定义三个基本整型变量定义三个基本整型变量a,b,c*/ char d;/*定义字符型变量定义字符型变量d,变量值未知,变量值未知*/说明:说明: 变量名必须满足变量名必须满足c语言中标识符的命名规则。语言中标识符的命名规则。 在同一程序段中,变量不允许被重复定义。在同一程序段中,变量不允许被重复定义。2021年11月13日22时51分第2章 c程序设计初步412.变量赋值(变

34、量赋值(variable evaluate)使用变量时,变量必须有确定的值。使用变量时,变量必须有确定的值。 变量赋值分为变量赋值分为初始化初始化和和赋值赋值。变量初始化变量初始化(initialization) :在声明语句中指定变量的值,称为变量的初始化。在声明语句中指定变量的值,称为变量的初始化。 初始化不占用程序运行时间。初始化不占用程序运行时间。 例,例,int sum=0; /*对和值变量,一般置初值为对和值变量,一般置初值为0*/ short a=291,b=-1; 注意:注意:l在变量定义语句中,连续赋初始值是不允许的。在变量定义语句中,连续赋初始值是不允许的。 如,如,int

35、 a=b=100; /*错误错误*/l定义而未初始化的变量,具有未知的初始值。定义而未初始化的变量,具有未知的初始值。2021年11月13日22时51分第2章 c程序设计初步422.变量赋值(变量赋值(variable evaluate)变量赋值:变量赋值: 在程序的执行语句中指定变量的值,称为变量赋在程序的执行语句中指定变量的值,称为变量赋值,占用运行时间。值,占用运行时间。例例, int a,b; /*变量定义变量定义*/ a=10,b=2; /*执行语句中为变量赋值执行语句中为变量赋值*/ a=a+b; /*执行语句中为变量再赋值执行语句中为变量再赋值*/ 2021年11月13日22时51分第2章 c程序设计初步43例:例: int a=10,b; b=2; a=a+1; b=a+103.变量的使用变量的使用(using variable)使用变量中所存储的值进行运算使用变量中所存储的值进行运算 例:例:int x; x=5; /*变量赋值变量赋值*/ x=7; /*变量赋值变量赋值*/?x分配空间5 5变量赋值变量赋值7 2021年11月13日22时51分第2章 c程序设计初步44指针指针变量

温馨提示

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

评论

0/150

提交评论