




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目标 了解C程序的一些基本概念 了解程序、算法和流程图的概念 了解C 程序的三大基本结构 掌握 C 程序的编译和运行过程 使用Visual C+ 6.0 创建 C程序第1页/共60页 1.1程序和程序设计 一、基本概念一、基本概念1.程序(program):为解决某一问题而设计的一系列指令,能被计算机识别和执行。2.程序设计语言:人与计算机打交道时交流信息的一类媒介和工具,由语句(statement)组成。第2页/共60页银行1. 带上存折去银行 3. 将存折和取款单递给银行职员 2.填写取款单并到相应窗口排队4.银行职员办理取款事宜 日常生活中的程序5. 拿到钱并离开银行 程序:为解决某一问
2、题而设计的一系列指令,能被计算机识别和执行。第3页/共60页1. 做口述笔记2. 键入信函的内容3. 发送传真1.口述2.信函1. _2. _3. _4. _3.3.传真语句被逐条执行程序员老板秘书3、语句:组成程序的基本单位第4页/共60页 4.机器语言:(machine language)计算机直接使用的二进制形式的程序语言或机器代码。 5.汇编语言:(assembler language)一种面向机器的用符号表示的低级程序设计语言。相当于机器指令的助记符号,与机器语言很接近。 6.高级语言:(highlevel language)是易为人们所理解的完全符号化的程序设计语言。 7.源程序:
3、用户用高级语言编写的程序称为,C源程序文件名字后缀一般必须为“.c“。 8.目标程序:由二进制代码组成的程序 9.编译程序:具有翻译功能的软件 10.连接(linker):将目标模块和其它一些必要的功能模块装配在一起,生成可执行文件,执行程序文件后缀为.exe。第5页/共60页算 法 计算长方形的面积问题:1.接收用户输入的长方形长度和宽度两个值;2.判断长度和宽度的值是否大于零;3.如果大于零,将长度和宽度两个值相乘得到面积,否则显示输入错误;4.显示面积。算法算法:解决问题的具体方法和步骤第6页/共60页流程图 流程图是算法的一种图形化表示方式。 流程图直观、清晰,更有利于人们设计与理解算
4、法。 它使用一组预定义的符号来说明如何执行特定任务。 开始/结束处理输入/输出判断/分支连接符流程线第7页/共60页C 语言简介编程语言低级高级C 语言是贝尔实验室的 Dennis Ritchie 在1973 年设计的。C 最初用于开发系统级程序。在微机上,有许多性能良好的商品C 语言系统可用。包括Turbo C、Borland C/C+;Microsoft Visual C/C+ 等。 结构化的程序设计语言:层次清晰,便于按模块化方式组织程序,易于调试和维护 语句简洁:学习时入门相对容易,C 语言很好地总结了其他语言提出的程序库概念 功能强大:既可用于系统软件的开发,也适合于应用软件的开发。
5、 移植性好:只要对这种语言稍加修改,便可以适应不同型号机器或各类操作系统。 第8页/共60页二、三大基本结构二、三大基本结构1.顺序结构:(第三章)语句1语句2语句3第9页/共60页2.选择结构判断表达式满足语句1语句2不满足3.循环结构判断表达式循环条件满足不满足第四章内容第五章内容第10页/共60页高级语言的编译和执行高级编程语言中的指令哎呀 我理解不了编译程序/解释程序可以 我现在可以理解了高级语言由编译/解释程序转换为机器代码这种机器代码计算机可以理解计算机硬件高级语言程序 编译程序/解释程序(编译器/解释器) 机器代码第11页/共60页编译和执行C程序C 源程序目标文件可执行程序C语
6、言函数库编译连接源程序:是用户创建的文件,以“.c.c”为文件扩展名保存 目标文件:是编译器的输出结果。这类文件的常见扩展名为.obj.obj” 0 1 形式头文件:含有函数的声明和预处理语句,用于帮助访问外部定义的函数。头文件的扩展名为“.h.h”。 可执行文件:是连接器的输出结果。可执行文件的扩展名为“.exe.exe”。 第12页/共60页演示下面例题演示:使用Visual C+ 6.0编辑和运行程序的过程main()int a,b,c;a=4;b=10;c=a+b;printf(“%dn”,c);第13页/共60页总结 2-1 算法就是解决问题的具体方法与步骤 流程图是算法的一种图形化
7、表示方式 程序是为让计算机完成某项任务而编写的逐条执行的指令序列 C语言的特点包括:结构化的程序设计语言、语句简洁、功能强大、移植性好第14页/共60页总结 2-2 C程序编写完成后,首先需要通过编译转换成目标文件,然后通过连接创建可执行程序,最后才可以执行该程序 可以使用Visual C+ 6.0 IDE编辑和运行C程序 程序的三大结构是1、顺序结构 2、选择结构 3、循环结构第15页/共60页第二章C程序设计的初步知识第16页/共60页回顾1、程序是为执行一项任务而编写的有序指令集2、编译器将源程序转换成机器能理解的程序3、连接器用于连接相关的目标文件以生成可执行程序问:1、C的源程序是后
8、缀是什么? 2、目标文件的后缀是什么? 3、程序的三大结构是什么?第17页/共60页目标 理解C程序的基本结构 理解变量和常量的含义 熟悉基本数据类型 - int、char、float 和 double第18页/共60页C语言的基本结构#include void main() printf(Hello Worldn);以 # 开始的语句称为预处理器指令#include#include语句不是必需的,但是,如果程序有该语句,就必须将它放在程序的开始处以.h为后缀的文件被称为头文件,可以是 C 程序中现成的标准库文件,也可以是自定义的库文件。stdio.h文件中包含了有关输入输出语句的函数 mai
9、n() 函数是 C 程序处理的起点。 main() 函数可以返回一个值,也可以不返回值。如果某个函数没有返回值,那么在它的前面有一个关键字 void在函数定义的后面有一个左大括号,即 它表示函数的开始,后面是函数的主体大括号也可以用于将语句块括起来在函数定义的结尾处有一个右大括号,即 在屏幕上产生一行输出“Hello world”,并换行(n) 函数主体中的每个语句都以分号结束。C 程序中的一个语句可以跨越多行,并且用分号通知编译器该语句已结束。 第19页/共60页C 程序中的注释#include void main() printf(Hello Worldn);/ 此程序用来打印此程序用来打
10、印Hello World 单行注释单行注释C 程序可以包含注释,以便向读者作一般说明程序可以包含注释,以便向读者作一般说明编译器并不处理这些注释编译器并不处理这些注释 /* 此程序由此程序由 编写编写 * 用来打印输出用来打印输出“Hello World”*/多行注释多行注释/* *作者:作者:创建日期:创建日期:描述:描述:* */#include void main() 在程序中添加注释是一个好的编程习惯,可以增强程序的可读性。第20页/共60页 上机写一个错误的例子,给大家演示一下。说明:1.必须使用main作为主函数名 ,程序是从主函数开始执行,具有唯一性 注意后面不能带“ ;” 2.
11、函数体用左花括号“”开始,用右花括号结束“” 3.用分号“;”作为语句结束的标志 注意是语句的结束标志 4.注释部分:必须用/*和*/括起来 必须成对出现, ”/“和”*“之间不能有空格 注释可以出现在程序的任何地方 注释部分对程序运行不起作用 在注释之间不可以再嵌套/* */ (演示一下) 5,预处理器指理必须以”#“开头,但不能加分号第21页/共60页改错: include ;/*根据长方形的长和宽计算面积*/Mainint a,b,c;a=1;b=3;c=a*b printf(“c的值是:%d”,c);第22页/共60页什么是标识符 标识符:在C语言中,有许多符号的命名,如变量名、函数名
12、、数组名等,都必须遵守一定的规则,按此规则命名的符号称为标识符。第23页/共60页在 C 语言中,标识符命名需要遵循一定的规则有效名称有效名称principalcost_pricemarks_3lastnamecity无效名称无效名称123ratecurrency$discount%zip code第24页/共60页 标识符的命名规则:标识符名可以由字母、数字和 _(下划线)组合而成标识符不能包含除 _ 以外的任何特殊字符,如:%、# 、逗号、空格等标识符必须以字母或 _(下划线)开头标识符不能包含空白字符(换行符、空格和制表符称为空白字符)C 语言中的某些词(例如 int 和 float 等
13、)称为保留字,具有特殊意义,不能用作标识符名C 语言区分大小写,因此标识符price 与标识符PRICE 是两个不同的标识符第25页/共60页一、标识符1.分类:关键字:c语言规定了一批标识符,他们在c语言中代表着固定的含义,不能 另做它用auto break case char const continue default do double else enum extern float or goto if int long register return short signed sizeof static struct switch typedef union unsigned voi
14、d volatile while预定义标识符:c语言语法允许用户把这类标识符另做它用,但是这些标识 符将失去系统规定的原意。比如:printf define用户标识符:由用户根据需要定义的标识符称为用户标识符第26页/共60页习题:1.以下选项中不合法的用户标识符是 ( )A._123 B.printf C.A$ D.Dim2.可在c程序中用作用户标识符的一组标识符是 ( )A.void B.as_b3 C.For D.2c define _123 _abc DO WORD If (大写) case SIG第27页/共60页程序程序指令指令常 量标识符标识符关键字关键字常量常量运算符运算符分隔
15、符分隔符等等常量是在程序中保持不变的量常量用于定义具有如下特点的数据:在程序中保持不变在程序内部频繁使用需要用比较简单的方式替代某些值第28页/共60页二、常量1.分类:整型常量(+5,-6)、实型常量(23.5,-0.32,5e3)、 字符常量(a,A)、字符串常量(“abc”,”二级考试”)2.用定义一个符号名的方法来代表一个常量例2.2 计算圆的面积#include “stdio.h” #define PI 3.14159 /*不加分号,常量名大写,定义PI为3.14159*/main() float r; double s; r=5.0; s=PI*r*r; Printf(“s=%fn
16、”,s); (演示一下)第29页/共60页说明: 1、在整型常量的后面加一个字母L(大小写均可)这个常量就成为长整型常量在内存中占四个字节。 2、 无符号整数在数的未尾应该加上字母后缀u(大小写均可),若是长整型无符号整型常量,则可以加后缀lu或LU。第30页/共60页二、变量1.定义:在程序的运行过程中,值可以改变的量2.说明 (1)每个变量有一个名字作为标识,它是属于用户标识符 (2)变量必须先定义后使用(定义后还得赋值才能用)3.变量的定义与使用定义变量后,初始化变量。int a;int b,c;a=1; b=2; c=3;定义时初始化变量:int a=1; int b=2,c=3;如下
17、定义方式是否正确:1. int b=c=5;2. int b,c; b=c=5;第31页/共60页2.3整 型 数 据一、整型常量一、整型常量整数的表示(1)十进制表示:用一串连续的数字表示十进制数。 例:345 31684 0 -23456(2)八进制表示:以数字0开头的一个连续数字序列,序列中只能有0-7这八个数字。 例:045 -078 06745l 而019、423是非法的八进制数。(3)十六进制表示:以0X或0 x开头的连续数字和字母序列,序列中只能有0-9、A-F和 a-f这些数字和字母,字母a、b、c、d、e、f分别对应数字10、11、12、13、14、15,大小写均可。说明:
18、1、在整型常量的后面加一个字母L(大小写均可)这个常量就成为长整型常量在内存中占四个字节。 2、 无符号整数在数的未尾应该加上字母后缀u(大小写均可),若是长整型无符号整型常量,则可以加后缀lu或LU。第32页/共60页二、整型变量二、整型变量可以分为基本型、短整型、长整型和无符号型四种名称全称类型说明符缩写类型说明符字节范围整型intint4-2,147,483,648 至 2,147,483,647无符号整型unsigned intunsigned40 至 4,294,967,295短整型short intshort2-32768 至 +32767无符号短整型unsigned short
19、intunsigned short20 至 65,535长整型long intlong4-2,147,483,648 至 2,147,483,647无符号长整型unsigned long intunsigned long40 至 4,294,967,295第33页/共60页三、整数在内存中的存储形式(包括一下各种进制的转换)三、整数在内存中的存储形式(包括一下各种进制的转换)位(bite):计算机里最小的存储单元字节(byte):8个二进制组成一个字节字(word):若干个字节组成一个字16个二进制位 2个字节最高位最低位0表示正数1表示负数以短整形short为例第34页/共60页(一一)、正
20、整数、正整数以原码形式存储以原码形式存储 例 正整数5的二进制代码:0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1(二二)、负整数、负整数1.以补码形式存储以补码形式存储反码:1和 0 互换补码:对原码取反加1(符号位不参加取反)例 负整数-5的二进制代码:1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1第35页/共60页2.补码形式存储的二进制转换成负整数(1)对补码取反 (2)转换成十进制(3)对十进制数加负号, 减11 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1-5的补码0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0取反转换成
21、十进制4-4加负号后,减1-5(三三)、无符号整数、无符号整数不在是符号位 参与数值的大小中第36页/共60页2.4实型数据一、实型常量一、实型常量1.小数形式:由数字和小数点组成,必须有小数点。 例:4.23、0.15、.56、78.、0.02.指数形式:以幂的形式表示,以字母e或E后跟一个以10为底的幂数。 字母e或E之前必须要有数字,且字母e或E后面的指数必须为整数,字母e或 E的前后及数字之间不得有空格(实型变量也遵守这个规则)。 例:2.3e5、500e-2、.5E3、4.5e0,而e4、.5e3.6、.e5、e都不合法二、实型变量二、实型变量1.单精度:关键字为 float 2.双
22、精度: 关键字为 double 定义的一般形式 float a,b,c; 定义的一般形式 double a,b,c; float a=4.5,b=5.6; double a=5.9,b=45.36 注: (1)占四个字节 32位 注: (1)占八个字节 64位 (2)7位有效数字 -10381038 (2)1516位有效数字 -1030810308 第37页/共60页说明:说明: 1.在内存中,实数一律以指数形式存放 2.在内存中,整数可以精确存放,实型数据存在误差 3.实型常量默认为double类型,加上后缀f,为float类型。 4.定义变量的同时可以赋初值三、习题三、习题1.下面四个选项
23、中,那一组全是不合法浮点数的选项是A.160. B.123 C.-.18 D.-e3 0.12 2e4.2 123e4 .234 e3 .e5 0.0 1e3 2.下面四个选项中,均是合法浮点数的选项是A.+1e+1 B.-.60 C.123e D.-e3 5e-9.4 12e-4 1.2e-.4 .8e-4 3e2 -8e5 +2e-1 5.e-0第38页/共60页2.5 字符型数据一、字符型常量1 字符常量 单引号括起来。例如:a, b ,c, ? ,A,B,C ,A。 说明 (1) 区分大小写。 (2) 空格符也是字符常量。 (3) 只能包含一个字符。abc非法 (4) 必须用单引号,双
24、引号是字符串常量。“a”字符串。 在内存中的表示:占一个字节,存放字符的ASCII,附录7。运算时按照整形处理。 例如 A在内存中的存放为 0 1 0 0 0 0 0 1 转化为十进制数便是65,运算时当成65。A+32,0-0第39页/共60页2 转义字符常量 由反斜杠 跟特定的字符构成。 (1). n 回车到下一行 反斜杠 r 回行首 单引号 t 跳到下一个制表位 0 空值 (字符串结束) b 退格 (2). 101 101为8进制,转化为十进制为65,代表 A。 (3). x41 x41为16进制,转化为十进制为65,代表A。3 字符串常量 用“”括起来的一串字符。 “A” ,”x11”
25、 ,”String”,”(空串)。第40页/共60页二、字符变量 char ch1=*,ch2=A, ch3; 变量在内存中占一个字节,可以参加算术运算,运算时使用ASCII码。 char c1,c2; int k=5; c1=A; c2=Z; c2-c1; c1+; c3=(c2+32-k);第41页/共60页总结:1、 c语言是区分大小写的2、常量的分类:整型常量、实型常量、字符常量、字符串常量3、变量的分类: (1)、整型变量:基本型、短整型、长整型和无符 号型四种 (2)、实型变量分类:单精度、双精度 (3)、字符变量 :char4、指数形式:字母e或E之前必须要有数字,且字母e或E后
26、面的指数必须为整数,字母e或E的前后及数字之间不得有空格(实型变量也遵守这个规则)第42页/共60页2.6 算术表达式算术 一元一元 二元二元操作数操作数运算符第43页/共60页一. . 算术运算符的优先级( )、 + +、 - -、 * *、 / /、 % %、 + +、 - -高 底同 级同 级同 级单目双 目二. 算术运算符和圆括号的结合性 正负运算符: 右左其它算术运算符:左右第44页/共60页第45页/共60页Z = ( X * 2 ) + ( 5 Y ) 操作数操作数操作数操作数表达式表达式表达式表达式表达式表达式运算符运算符第46页/共60页#include void main(
27、) int a = 5, b = 3, c = 25, d = 12; float qu; int re,in,de; /* 使用算术运算符 */ qu = a / b; / 除法 re = a % b; / 求模 in = +c; de = -d; printf (商为 %fn,qu); printf (余数为 %dn,re); printf (“加 1 后为 %dn,in); printf (减 1 后为 %dn,de);算术运算符示例输出:商为 1.000000余数为 2加 1 后为 26减 1 后为 11说明:% 取模或求余运算符1.运算对象必须为整型2.符号与被除数相同例如:-5%3
28、 值为-2第47页/共60页三 算术运算中的类型转换1.自动类型转换(双目运算符两边运算数的类型必须一致,当不一致时自动转换 ) 原则:把表示范围小的类型的值转换到表示范围大的类型的值int a=5; a+3.5;- 转换级别:short int long float double 2.2.强制类型转换 一般形式: (类型名)(表达式) (int)3.56 , (double)x 作用: 将一个表达式转换所需类型说明: 1. (类型名)(表达式)括号不能省略(int)(x+y)(int)x+y对x、y整体只对x 2. 强制类型转换运算得到一个中间变量,不改变原来变量的类型。 第48页/共60页
29、习题:习题: 已知 a=7, b=3, x=3.5, y=2.5 (1). x+a%3*(int)(x+y)%2/4 (2). (float)(a+b)/2+(int)x%(int)y第49页/共60页2.7 赋 值 表 达 式一、赋值运算符和赋值表达式一、赋值运算符和赋值表达式 1. 赋值运算符和赋值表达式 赋值运算符:= = 赋值表达式:由赋值运算符组成的表达式 形式: 变量名=表达式 说明:1.优先级倒数第二,结合方向 右 左2.是一种赋予的关系而不是等价的关系 x=5 y=8 怎么样交换x、y中的数值?3.赋值运算符的左侧只能是变量不能是表达式 a+b=c非法4.赋值号右边的表达式也可
30、以是一个赋值表达式 a=b=c=7+5 a=b=c=5 都为5a=5+(c=6) a=11a=(b=4)+(c=6) 10a=(b=10)/(c=2) 5练习练习:第50页/共60页二、复合赋值表达式 1. 复合赋值运算符: +=、 -=、 *=、 /=、 %=、 =、 &=、 =、 |=(两个运算符之间不能有空格) 将形如: 变量名=变量名+表达式 的表达式 简化成: 变量名+=表达式 的形式a=a+3例:a+=3x*=y+8x=x*(y+8)x%=3x=x%3理解: a+=b移到=右侧=a+b=左侧补变量名a=a+b例:已知变量a=6,计算表达式 a+=a-=a*a 结果为:-60练习:
31、已知 a=12 求运算后a的值(1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2) n=5(6)a+=a-=a*=a 说明:凡是有赋值运算符参加的运算都是从右往左算第51页/共60页2.8 2.8 自加(自加(+)和自减()和自减(-)运算符)运算符1.作用:使运算对象的值增加1或者减少1 例 i+ i=i+1i- i=i-1 2.使用i+先使用i的值,在让i 增加1+i先让i增加1,再使用i的值习题:int a,b; b=3; a=b+; a的值是多少,b的值是多少 a=+b; a的值是多少,b的值是多少习题:int i=10,j=5,b; b=+
32、i-j; printf(b=%dn,b); int i=10,j=5,b; b=i+-j; printf(b=%dn,b);第52页/共60页表达式表达式如何计算如何计算结果结果 (num1=5)num2 = +num1;num1 = num1 + 1;num2 = num1;num2 = 6;num1 = 6;num2 = num1+;num2 = num1;num1 = num1 + 1;num2 = 5;num1 = 6;num2 = -num1;num1 = num1 - 1;num2 = num1;num2 = 4;num1 = 4;num2 = num1-;num2 = num1;num1 = num1 - 1;num2 = 5;num1 = 4;第53页/共60页2.9、逗号运算符和逗号表达式1.定义:用逗号将表达式连接起来的式子 一般形式:表达式1,表达式2,表达式3,,表达式n2.求解过程: 从左到右一个一个求解 ,最后一个表达式的值就是整个逗号表达式的值3.说明: (1)结合方向 左 右(2)优先级最低例如:已知a=3 a=3,a+3 结果:表达
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物质成型燃料的颗粒化技术与设备选择考核试卷
- 羊的饲养羊只饲养周期与经济效益考核试卷
- 照明设备技术创新与未来发展展望考核试卷
- 海洋油气开采中的技术创新与产业发展考核试卷
- 肾内科健康科普护理
- 于漪:穿行于基础教育森林的教育家
- 幼儿园活动设计
- 感恩励志教育班会
- 加强法律法规与警示教育实施路径
- 2025深圳市房屋租赁合同书
- 2024年黑龙江鹤岗公开招聘社区工作者考试试题答案解析
- 2025年度虚拟电厂分析报告
- 2024年浙江公路技师学院招聘笔试真题
- 2025年锅炉水处理作业人员G3证考试试题题库(200题)
- 2025年中考语文一轮专题复习:古诗词曲梳理复习重点整合
- 75%食用酒精安全技术说明书(MSDS)
- 《十万个为什么》整本书阅读-课件-四年级下册语文(统编版)
- 口腔与健康智慧树知到答案章节测试2023年温州医科大学
- 甘肃历史与甘肃文化
- 太上三官宝经(共12页)
- 高边坡施工危险源辨识及分析
评论
0/150
提交评论