C与C程序设计教程-第一章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C与C程序设计教程-第一章课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 教程 第一章 课件
- 资源描述:
-
1、2022-4-25C与C+程序设计教程-第一章2计算机系统组成图计算机系统硬件系统软件系统主机外设系统软件应用软件CPU内存外存输入设备输出设备操作系统程序设计语言数据库系统服务性程序应用数据包用户程序2022-4-25C与C+程序设计教程-第一章3第一代:机器语言(低级语言):面向机器、可移植性差、效率高、不方便编程第二代:汇编语言第三代:高级语言:面向程序员、可移植性好、执行效率低、便于编程第四代:面向对象式语言第五代:智能语言程序设计语言2022-4-25C与C+程序设计教程-第一章4C C语言与其他高级语言的对比语言与其他高级语言的对比:C语言:系统软件和应用软件BASIC:初学者入门
2、FORTRAN或PL/I:科学计算COBOL:商业和管理等数据处理领域PASCAL:教学,第一个结构化语言 2022-4-25C与C+程序设计教程-第一章51.1 C语言概述语言概述1.1.1 C语言发展简介语言发展简介1.1.2 C语言特点语言特点1.1.3 C语言的程序结构语言的程序结构1.1.4 Turbo C上机步骤上机步骤1.2 C语言的基本符号语言的基本符号1.2.1 基本符号集基本符号集1.2.2 标识符标识符1.3 数据的输入和输出数据的输入和输出1.3.1 字符输出函数字符输出函数putchar( )1.3.2 字符输入函数字符输入函数getchar( )1.3.3 格式输出
3、函数格式输出函数printf( ) 1.3.4 格式输入函数格式输入函数scanf( ) 退出2022-4-25C与C+程序设计教程-第一章61.1.1 语言发展简介语言发展简介ALGOL语言:语言:1960,面向问题高级语言,不宜写系统程序,面向问题高级语言,不宜写系统程序CPL语言:语言: 1963,英剑桥,能够作较低层次的操作,但规模较大,英剑桥,能够作较低层次的操作,但规模较大,难以实现难以实现BCPL语言语言:(Basic combined programming language) 1967,英剑桥,英剑桥Martin Richards改进改进CPLB语言:语言: 1970,美贝尔
4、实验室,美贝尔实验室Thompson简化简化BCPL,用,用B写写UNIX操作系统操作系统C语言:语言: 1972,贝尔实验室,贝尔实验室,Ritchie和和Kernighan设计,保持设计,保持B和和BCPL的的精炼与接近硬件,克服其简单和数据无类型的缺点。描述和实现精炼与接近硬件,克服其简单和数据无类型的缺点。描述和实现UNIX的工具语言的工具语言 1977,可移植语言编译程序可移植语言编译程序,与,与UNIX相辅相成相辅相成 1978,Kernighan和和Richie,The C Programming Language,标标准准C语言语言 1983,美国国家标准化协会(,美国国家标准
5、化协会(ANSI),),ANSI C 1990,国际标准化组织(,国际标准化组织(ISO)通过)通过 返回2022-4-25C与C+程序设计教程-第一章71.1.2 C语言特点语言特点(1) 较低级语言(中级语言)(2) 结构化语言(3) 运算能力强(4) 数据类型多 (5) 有预处理能力(6) 可移植性好 (7) 语法不严格返回2022-4-25C与C+程序设计教程-第一章81.1.3 C语言程序的结构特点语言程序的结构特点例1.1 求两个数的和。 main() int a,b,sum; a=3;b=4; sum=add(a,b); printf(sum=a+b=%dn,sum);int a
6、dd(int x,int y) int z; z=x+y; return(z); sum=a+b=71.函数型语言,函数是C程序的基本单位。2.函数由说明部分和函数体两部分组成函数的组成:函数的组成: 说明部分:函数类型函数类型 函数名(参数类型函数名(参数类型 参数名,参数名,) 例: int add(int x,int y) 或 int add(x,y) int x,y; 函数体: 变量定义;变量定义; 执行语句;执行语句; 3. 主函数main():程序中有且只有一个main()函数,可在任意位置,是程序运行开始和结束。4. 书写格式自由: 一行内可多条语句,空格和回车符不计。一个语句可
7、多行,用“”续行。5. 每个语句后有“;”,函数说明部分除外。6. C语言本身没有输入输入语句,输入输出用库函数scanf()、printf()、getchar()、putchar()实现。 7. 可在任意位置加注释/* */,可多行,不可嵌套。2022-4-25C与C+程序设计教程-第一章9例1.3函数程序例。main()printf(This is a C program. ); 例1.最小的程序例。main() This is a C program.2022-4-25C与C+程序设计教程-第一章10例1.4求两个数中较小数。main() int a,b,c; scanf(%d,%d,&
8、a,&b); c=min(a,b); printf(min=%d,c);int min(int x,int y) int z; if(xTC Windows下:双击图标(p5图1.1)打开:或-File-Load 输入要打开的文件名新建: -File-New 编辑: (p5表1.1)保存:或-File-Save 输入文件名编译:或Compile/MakeEXEfile ,修改错误运行:或Run-Run结果:或Run-User Screen退出:或-File-Quit 启动TC编辑源程序保存源程序编译、连接、运行退出TC打开/新建文件1.1.4 TC上机步骤上机步骤返回2022-4-25C与C+
9、程序设计教程-第一章12 1.2 C语言的基本符号语言的基本符号1.2.1 基本符号集基本符号集(ASCII字符集字符集) 阿拉伯数字10个:0、1、2、9 大小写英文字母各26个:A,B,C,Z,a,b,c,z 下划线:_ 特殊符号:主要是运算符和操作符 返回2022-4-25C与C+程序设计教程-第一章13 1.2.2 标识符标识符字符序列,用作常量、变量、函数、文件指针、类型的名字。q 用户标识符用户标识符 q 保留字保留字/关键字关键字 q 预定义标识符预定义标识符 2022-4-25C与C+程序设计教程-第一章14 q用户标识符:用户标识符: 用户根据需要对C程序中用到的变量、符号常
10、量、自己的函数或文件指针进行命名,形成用户标识符。构成规则: 由英文字母、数字、下划线组成,且第一个字符不能是数字; 英文字母区别大小写; 通常识别前8个字符; 取名遵循“简洁明了”和“见名知意”。 2022-4-25C与C+程序设计教程-第一章15 q保留字保留字/关键字关键字 是编译系统固有的,用做语句名、类型名的标识符。不允许作为用户标识符使用。(p9表1.2) q预定义标识符预定义标识符 允许用户作其他其途,但将失去系统规定的原意。 例define、include 返回2022-4-25C与C+程序设计教程-第一章161.3 数据的输入和输出数据的输入和输出 由一组库函数完成数据的输入
11、和输出。 1.3.1 字符输出函数字符输出函数putchar( ) 程序开头要预编译命令: #include或#include “stdio.h”。 功能:把一个字符输出到标准输出设备(显示器)上。 调用形式: putchar(ch); ch是一个整型变量、字符型变量、整型常量或字符型常量。 2022-4-25C与C+程序设计教程-第一章17例1.5-1.6 输出字符B(变量为字符型、整型) #include “stdio.h” main() char c; | int c; c=B; | c=66; putchar(c); putchar(n); putchar(B); | putchar(
12、66); 返回BB2022-4-25C与C+程序设计教程-第一章18 1.3.2 字符输入函数字符输入函数getchar( ) 程序开头要预编译命令: #include或#include “stdio.h” 功能:从标准输入设备(键盘)上读入一个字符。 调用形式:getchar( ); 无参数,键盘输入一个字符后,按回车,执行下一语句。 2022-4-25C与C+程序设计教程-第一章19 例1.7-1.9输入一字符B,变量是字符型、整型。 #include “stdio.h” main( ) char c; | int c; c=getchar( ); | putchar(getchar( )
13、; putchar(c); 返回B B2022-4-25C与C+程序设计教程-第一章20 1.3.3 格式输出函数格式输出函数printf( ) 不需要预编译命令。 功能: 向输出设备(显示器或打印机)输出有一定格式的任意数据。 调用形式:printf(格式控制,输出项表格式控制,输出项表); 2022-4-25C与C+程序设计教程-第一章21 普通字符(原样输出) 格式说明 % +/- 0 m.n l 格式字符右对齐左对齐最小宽度左补0小数位数长整型d符十整o无八整x无16整c字符s字串f小六e指六2022-4-25C与C+程序设计教程-第一章22 注:格式控制部分用双引号括起来的字符串,分
14、为普通字符和格式说明。 格式说明与输出项一一对应,若格式说明个数少于输出项时,多余输出项不输出;若格式说明多于输出项,对缺少项输出不定值。 函数值为整型,等于正常输出的数据个数。 2022-4-25C与C+程序设计教程-第一章23 例1.10输出格式举例。 main() char c=a; char str=“see you”; int i=1234; float x=123.456789; float y=1.2; printf (“1: %c,%s,%d,%f,%e,%fn”,c,str,i,x,x,y); printf (“2: %4c,%10s,%6d,%12f,%15e,%10fn”
15、,c,str,i,x,x,y); printf (“3: %-4c,%-10s,%-6d,%-12f,%-15e,%-10fn”,c,str,i,x,x,y); printf (“4: %0c,%6s,%3d,%9f,%10e,%2fn”,c,str,i,x,x,y); printf (“5: %12.2fn”,x); printf (“6: %.2fn”,x); printf (“7: %10.4fn”,y); printf (“8: %8.3s,%8.0sn”,str,str); printf (“9: %dn”,i); 返回2022-4-25C与C+程序设计教程-第一章24 1.3.4
16、格式输入函数格式输入函数scanf( ) 不需要预编译命令。 功能:把从终端(键盘)输入的数据传送给对应的变量。 调用形式: scanf(格式控制,输入项地址表格式控制,输入项地址表); 2022-4-25C与C+程序设计教程-第一章25scanf(格式控制,输入项地址表格式控制,输入项地址表); 普通字符(原样输入) 格式说明 % m h l * 格式字符最小宽度短整形不赋值长整形d符十整o无八整x无16整c字符s字串f小六e指六2022-4-25C与C+程序设计教程-第一章26注:格式控制部分用双引号括起来的字符串,分为普通字符和格式说明。 输入项地址表是若干变量的地址,而非变量名。 &变
17、量名 格式说明与输入项一一对应。 输入时不能规定精度。 若格式控制字符串中无其他符号,则输入时用空格、回车或跳格分隔。 函数值为整型,等于正常输入的数据个数。2022-4-25C与C+程序设计教程-第一章27 例1.11输入数据举例。 main( ) char ch; int i; char str80; float x; scanf(“%c%d%s%f”,&ch,&i,str,&x); printf(“%c,%d,%s,%f”,ch,i,str,x); 返回w 123 hello 123.456w,123,hello,123.4560002022-4-25C与C+程序设计教程-第一章28第一
18、次作业::p18-1、15、18、19第二次作业:P18-2、3、4、5、6、7、8、9、10、12、16、17、20、21Thank you !Thank you !2022-4-25C与C+程序设计教程-第一章302.1 C语言数据类型简介语言数据类型简介2.2 常量常量2.3 变量变量2.4 运算符和表达式运算符和表达式退出2022-4-25C与C+程序设计教程-第一章312.1 C语言数据类型简介语言数据类型简介基本类型基本类型 构造类型构造类型派生类型派生类型整型int结构体struct数组类型字符型char共用体(联合)型union指针类型实型float枚举型enum双精度型dou
19、ble用户定义类型typedef 空值型void返 回数据类型决定:1. 数据占内存字节数2. 数据取值范围3. 其上可进行的操作2022-4-25C与C+程序设计教程-第一章322.2 常量常量常量常量是指在程序运行过程中其值不能被改变的量。 2.2.1 数值常量2.2.2 字符常量和字符串2.2.3 标识符命名的常量2.2.4 换码序列常量 返 回2022-4-25C与C+程序设计教程-第一章332.2.1 数值常量数值常量1、整型常量、整型常量(简称为整数整数)u 三种形式:十进制十进制整型常量、八进制八进制整型常量(以0开头的07数字串)、十六进制十六进制整型常量(以0X或0 x开头的
20、09/af/AF字符串);u 每种形式常量可表示成短常量短常量和长常量长常量(在整型常量后面紧跟L或l)。2、实型常量、实型常量(简称为浮点常量浮点常量或实数实数)u 两种形式:十进制小数形式十进制小数形式和指数形式指数形式(用E或e表示) 返 回例:12 30例:0123 0400例:0X123 -0 x11例:12L -9l例:0.123 123.例:345e+2 .5e-22022-4-25C与C+程序设计教程-第一章342.2.2 字符常量和字符串字符常量和字符串 1、字符常量、字符常量u 用单引号括起来,可以用作整数常量,可参与算术运算。u 特例:单引号,反斜线2、字符串、字符串u
21、用双引号括起来的零个或多个字符序列。u 特例:字符串中的双引号”,字符串中的反斜线u 存储:编译时自动在字符串结尾加一个转义字符0作为字符串结束标志,即长度为n个字符的字符串占n+1个字节空间。 例:例:a ?例:例: “china” ”a” 例例 字符串字符串“China”China”在内存中在内存中C h i n a 0例:字符例:字符aa在内存中在内存中字符串字符串“a”a”在内存中在内存中a a 02022-4-25C与C+程序设计教程-第一章352022-4-25C与C+程序设计教程-第一章362.2.3 标识符命名的常量(符号常量)标识符命名的常量(符号常量) u 一般用大写字母表
22、示,而变量一般用小写字母表示。符号常量使用之前必须预先定义,其定义格式为 #define #define 标识符标识符 常量常量 例: #define PI 3.14159 注:不是语句,后无;u 优点:清晰易懂; 易于修改。 2022-4-25C与C+程序设计教程-第一章37例2.3 标识符命名的常量举例。#define PI 3.1415926main() float radius,circum,area; scanf(%f,&radius); circum=2*PI*radius; area=PI*radius*radius; printf(circumference is %fn,ci
23、rcum); printf(area is %fn,area); 返 回3 circumference is 18.849556 area is 28.2743342022-4-25C与C+程序设计教程-第一章382.2.4 换码序列常量(转义字符)换码序列常量(转义字符) u是特殊字符常量。以一个反斜杠”开头的字符序列,只代表某个特定的ASCII码字符。用单引号括起。 -整型(短整型)整型(短整型)-长整型长整型-实实型型-双精度型双精度型 - - 有符号型有符号型-无符号型无符号型返 回intintfloatfloatdoubledoublefloatdouble10+a +f*i - d
24、/e例 int i; float f; double d; long e;u强制转换类型: (数据类型名)表达式(数据类型名)表达式例: (double)a (int)x+y2022-4-25C与C+程序设计教程-第一章462.3.4 存储类型和变量的作用域存储类型和变量的作用域1、局部变量和全局变量、局部变量和全局变量u局部变量(内部变量)局部变量(内部变量):在函数内部或复合语句内部定义的变量,作用域是从定义的位置起到函数体或复合语句结束止。u全局变量(外部变量)全局变量(外部变量):在函数外部定义的变量。作用域是从变量定义的位置起到本源文件结束止。注:同一源文件中,若局部变量与全局变量同
25、名,则全局变量被屏蔽。 2022-4-25C与C+程序设计教程-第一章472、存储类型、存储类型u 自动变量自动变量(auto):auto可省略,局部变量,内存的堆栈区,不能赋初值。u 寄存器变量寄存器变量(register):保存在寄存器中,可说明局部变量和形式参数,使用最频繁,只能是int 或char。u 静态变量静态变量(static):内存的数据区,可说明局部变量和全局变量,随文件存在而存在。u 外部变量外部变量(extern):内存的应用程序区,只能说明全局变量,随程序存在且活动。 注:内存分为堆栈区(auto)、系统程序区、应用程序区(extern)和数据区(static)。202
展开阅读全文