C程序设计语言.ppt
《C程序设计语言.ppt》由会员分享,可在线阅读,更多相关《C程序设计语言.ppt(342页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C程序设计语言计算机学科类别计算机科学理论计算机组织与系统结构计算机软件计算机硬件计算机应用计算机科学理论数值计算离散数学计算理论程序理论计算机组织与系统结构计算机类型计算机组成计算机系统结构计算机网络计算机可靠性与可维护性计算机性能评价计算机软件软件语言软件方法学软件工程软件系统操作系统、语言处理系统、数据库系统、分布式软件系统、人机交互系统计算机硬件计算机逻辑部件集成电路计算机存储设备计算机输入输出设备网络通讯设备计算机电源计算机制造计算机维护计算机硬件的可靠性计算机应用中文信息处理计算机图形学数字图象处理计算机辅助技术多媒体计算技术计算机控制系统信息系统计算机仿真人工智能软件计算机软件的
2、定义:计算机中程序极其文档软件分类系统软件:操作系统支撑软件:数据库,网络,软件开发环境应用软件:特定应用领域的软件程序(Program)程序是一种特殊文件定义:是计算任务的处理对象与处理规则的描述用计算机编写的一系列的加工步骤计算机做什么都是程序预先确定的计算机的思考是什么计算机下棋能力说明什么人工智能与程序有关的要素可执行程序文件其他相关文件例子:金山词霸字典发音数据文件数据输入输出源程序可执行程序在DOS、WiNDOWS下的com或者exe文件一般直接可以运行需要特定的数据文件,或者其他可执行程序可执行程序高级应用需要特定的环境注册表动态链接库(DLL)程序的内容都是机器语言通过对源程序
3、的编译得到使用的编译工具叫编译程序机器语言计算机能够认识的语言计算机的基础是数字电路机器语言就是数字电路里的电信号将在计算机组成课程中学习都是二进制文件一条机器语言成为一条指令指令是不可分割的最小功能单元源程序我们目前学习的就是使用高级程序设计语言编写程序代码编制程序(编程)由程序设计语言构成就向用英文能够写小说,用中文也可以写出一样内容的小说C是高级程序设计语言最常用的一种程序设计语言区别于自然语言将自然语言形式化为有格式的语言按照与自然语言的相似性分为:高级程序设计语言低级程序设计语言(接近机器语言)按照应用范围分为:通用语言、专用语言程序设计语言基本成分:数据成分运算成分控制成分传输成分
4、程序设计语言定义:用于书写计算机程序的语言。通常指实现高级语言。语言的基础是一组记号与一组规则。程序设计语言包括:语法:记号的组合规则语义:记号的特定意义语用:程序与使用者的关系源程序-可执行程序编辑编译链接源程序目标程序可执行程序执行编译器库可执行程序与源程序比较可执行程序可以运行的程序不知道程序设计员的思想不能修改原有的流程完成功能固定源程序可以生成可执行程序知道程序设计员的思想能修改原有的流程完成功能可以修改进入C编程需要的条件:C语言集成环境:Turbo C包含了编辑编译链接调试运行等工具C语言使用最广泛1972-1973年AT&T的BELL实验室在B的基础上开发开发Unix1990年
5、国际标准的ANSi C第一个程序:Hello World希望输出是在屏幕上打印Hello World首先启动TC.EXE(Turbo C的可执行程序名称)在输入窗口输入如下的文字:Hello World源程序#include main()printf(“Hello Worldn”);编译源程序并执行结果保存该源程序为某个名字,例如example.c选择make EXE file退出Turbo C环境dir能够看到新增加了文件,名称为example.exe在操作系统提示符下执行example.exe注意C语言源程序对大小写敏感,而一般的文件名对大小写不敏感理解Hello World-头文件#in
6、clude stardand input/output head file标准输入输出头文件输入输出不是C的保留字由于后面使用到函数printf,而该函数定义在stdio.hstdio.h是编译器预先提供的头文件凡是使用函数printf,必须#include#的意思是预处理在计算机开始理解源程序前先告诉计算机什么是函数printf,在哪里找得到该函数的解释函数的简单解释:功能块保留字语言本身使用的词汇不能作为普通的词汇使用仅表示在语言中的特殊含义main()称为函数申明,函数定义,表示main这个函数是干什么的特殊的函数在一个源程序中有且仅有一个main函数在()中可以写参数表示其中的语句都当
7、作一句语句来看待必须一一对应为开始为结束printf由编译器中的stdio.h提供的函数能够实现在屏幕上输出的功能printf在()内可以是字符串()代表函数的参数参数代表的是来料加工中来的是什么料字符串用“”括起来n后面加字符,表示特殊字符,可以查表n表示换行符号可以出现在字符串的任意地方printf(“hellon wornldn”);的输出是hello world分号;分号;是表示一句语句的结束预处理语句不加;函数定义不加;空语句就是分号前到前一语句间没有语句。在编译优化中会自动去除。main();/*空语句*/注意空行便于阅读。注释为/*与*/之间的文字,不影响源程序的解释。也便于阅读
8、。缩进是便于阅读,便于纠错。main()printf(“an”);printf(“abn”);printf(“abn”);判断题main()/*printf(“bbn”);*/printf(“aann”);判断题main()printf(“Hello”);printf(“World”);printf(“”);printf(“n”);中文输出只要操作系统支持中文,可以printf(“你好,世界!”);Turbo C中不能输入中文怎么办?用其他中文编辑工具,例如记事本必须在中文环境下运行TURBO C 2.0使用文件新建文件保存文件载入文件更名为某文件TURBO C 2.0使用编辑插入/修改内容块
9、操作查找/替换操作TURBO C 2.0使用运行运行TURBO C 2.0使用编译编译链接MAKECh2 types,Operator,ExpressionsTypes:类型Operator:操作符Expressions:表达式变量与常量方程-变量 x=2-x常量-常数变量、常量都有一定的类型常见类型:整数,小数,字符涉及几个对象:类型名称、变量(常量)名称,需要命名命名命名后称标识符保留字特定字自定义标识符命名使用字母ASCii字符表ASCii对国际公认的字符进行编码空格(32)(24)(25)(26)(27)0(48)1(49)9(57)A(65)B(66)Z(90)a(97)b(98)z
10、(122).可见字符/不可见字符由字母、数字以及下划线组成,第一个字符必须是字符或下划线长度=31区分大小写命名规则:标识符Keyword:保留字、关键字C语言规定的、富裕特定含义的、有专门用途的标识符,不能做其他用途。autobreakcase charconstcontinuedefaultdodoubleelseenumexternfloat forgoto ifintlong registerreturnshort signedsizeofstatic structswitchtypedefunionunsignedvoid volatilewhile特定字用于C语言的预处理,一般不另
11、做他用defineincludeundefifdefifndefendiflineerrorpragmaselifelse自定义标识符自行定义的标识符,用于程序员使用,可以是函数名称、变量、常量、类型名称等。main是特定意义的标识符优秀程序员的素质之一使用TAB缩进对齐有足够的注释有合适的空行优秀程序员的素质之二标识符符合实际意义标记变量记为flag,取最大值记为max例外:循环变量通常只使用单字母,如i,j,k匈牙利命名法标识符有英语单词组成,首字符大写SystemTime:系统时间Data types and sizes保留字中常见的数据类型有:char字符int整数float浮点cha
12、r字符Char是保留字,一个字节(byte),为8位(bit)就是ASCii符号表内的符号8bit的表示范围为2的8次方:256正负号char默认为有正负号一个char的表示范围为-128127(在补码(twos complement)的机器上)符号signed,无符号unsignedsigned为保留字,为有符号unsigned为保留字,为无符号这两个保留字写在数据类型前unsigned char的范围为0255字符的输入输出(p.15)c=getchar()输入字符到cputchar(c)输出c字符的输入输出(p.247)int getchar(void)返回值的类型void表示空intp
13、utchar(int)表示在()间要有类型为int的变量例子:字符输入输出的例子1#include main()char c;c=getchar();/*读一个字符到c中*/putchar(c);/*将字符c输出到屏幕*/字符输入输出的例子2main()char c;c=getchar();/*读一个字符到c中*/while(c!=EOF)/*如果c不等于Z*/putchar(c);/*将字符c输出到屏幕*/c=getchar();/*读一个字符到c中*/整数、整型intint 是保留字int 范围与整数的字节数目有关,现在的计算机都是32位计算机,即4字节表示一个整数,所以整数的范围为2的3
14、2次方由于要表示正负号(默认),所以整数表示 无符号整数unsigned int表示范围:Short longshort短,long长short int短整数,二字节long int长整数,四字节unsigned short int短无符号整数unsigned short int短无符号整数int,short,long范围判断与使用的计算机有关,可用sizeof保留字main()printf(“int size=%dn”,sizeof(int);printf(“short int size=%dn”,sizeof(short int);printf(“long int size=%dn”,si
15、zeof(long int);整数的输入输出printf(“%d”,a)为输出整数变量ascanf(“%d”,&a)为读输入到整数a中整数的输入输出例子main()int a;scanf(“%d”,&a)printf(“%dn”,a);float实数、浮点、小数能够表示小数采用科学记数法,表示范围大。10的37次方double float表示的有效位更加多,范围更大实数的输入输出printf(“%f”,a)为输出实数变量ascanf(“%f”,&a)为读输入到实数a中实数的输入输出例子main()float a;scanf(“%f”,&a)printf(“%fn”,a);constants:常
16、量定义值不变的量常量定义语法(p.239):#define identifer token-sequence常量名称常量值习惯上常量名称用大写常量例子#defineiD1A#defineTHiSYEAR2000#definePi3.1415926#defineiD21.5926e-4main()putchar(iD1)printf(“n%dn”,THiSYEAR);printf(“%fn”,Pi);printf(“%fn”,iD2);字符常量的书写八进制字符ooo每个o都是0到7的数字001 06216进制字符 xhh每个h都是0.9 a b c d e f(也可以大写)的数字xf3 x65
17、x32特殊字符(p.38,193)ab?f0表示值为0的字符,0表示字符0t表示tab,用于输出对齐字符串一些连续字符组成的串以字符值等于0的字符为结束标记。0定义:#define MAXLiNE 1000char lineMAXLiNE+1例子:“hello world!”能够连写,如“hello”world!”字符串长度int strlen(char s)int i;i=0;while(si!=0)+i;return i;枚举类型enum保留字一个变量取值范围有限,如星期几例子:enum boolean no,yes;定义了一种新的数据类型,名称为boolean,可以取的值只有两个:no与
18、yes默认no=0,yes=1.枚举类型指定值不使用缺省的0,1,2等值指定各个值:enum weekday Mon=1,Tue=3,Wed=5,Thu=7,Fri=88,Sat=898,Sun=1000);指定起始值,后面默认加1:enum months JAN=1,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC;enum与defineenum能够象整数一样运算,比较大小#define 只是定义常量,不体现常量间的关系变量申明int a;类型名 变量名 分号变量是在程序运行过程中可以改变的量类似解方程的变量变量由类型限制,如开根号不能对字符串进行操作变
19、量申明int lower,upper,step;char c,line1000;逗号,是表示同等条件,还有如int lower,upper,step;与以下三行同表示int lower;int upper;int step;变量基本赋值语句int a;a=10;a=10+20;变量名称 等于符号 值或表达式此处的等于符号为赋值,将右边的值传递给左边的变量。变量赋初值main()int a=10;char b=c;float eps=1.0e-5;.常数变量const保留字 例子:const double Pi=3.14159265;Pi变量不能被改变与define的区别:#define Pi
20、3.1415926define定义的是没有类型的,而const定义的有类型,便于进行类型匹配,检查算术算子+加-减*乘/除%取模(取除法的余数):例子7%4=3例如:a=b+c-d*f%2/4;就是a=b+c-(d*f)%2)/4规律:先乘除取模,后加减,从坐到右,括号优先,可以连写。只使用小括号,括号优先:从内到外关系算子与逻辑算子大于=大于等于 小于b如果关系表达式成立,结果为1,否则为0,如 if(ab)/*ab时执行下一句*/a=b+1;c=(ab)/*当ab成立时c=1,否则c=0*/思考题int c;int a=5,b=5;c=(a=b);c=(a!=b);逻辑算子构成逻辑表达式&
21、与:两个条件同时成立,结果才成立,两个都是必要条件|或:两个条件只要有一个以上成立即成立,任何一个都是必要条件!取反&与|可以同时连接多个条件if(ab)&(bc)&(cd)printf(“abcdn”);美丽的逻辑表达式if(ab)&(cd)&(e f)|(f g)printf(“goodn”);类型转换不同类型进行互相转换3.14159+12-a类型等级char short int int unsigned int long int unsigned long int float 0&si 119-1001 23 -10111101-5字节就是8位,从0000000011111111位操作
22、算子&按位与|按位或按位异或右移按位取反位就是二进制的位n=n&0100 就是将n的二进制第2位和1进行与操作。n=n|0010 就是将n的二进制第5位和1进行与操作。一位位操作算子与&:当两个操作位值都是1时为10&1=0 0&0=0 1&1=1或|:当两个操作位值有一个为1时为10|1=1 0|0=0 1|1=1异或:当位的值不相同,置1,相同为01 1=0 0 1=1 0 0=0取反:0=1 1=0八位位操作算子00000110&00001010=0000001000000110|00001010=0000111000000110 00001010=0000110000000110=11
23、111001移位按位移动,空缺处添000011001 00110010000011001 2-000001100赋值与表达式i=i+3;i+=3;expr1 op=expr2意思是expr1=expr1 op expr2x*=y+1x=x*(y+1);复合算术赋值运算符+=-=*=/=%=条件运算符?:e1?e2:e3先计算e1的值,如果非0(为真),则计算e2的值,该值为表达式的值。如果为0(为假),则计算e3的值,该值为表达式的值。A=(bc)?b:c;例子For(i=0;i=9 9 8优秀程序员原则:避免二义性,多加括号作业1:上机实现char c;int x,y,z;c=w;x=y=5
24、;z=0;!c!x-y!-x-y!z!x/!y作业2:上机实现main()char c=w;int i=5,j=0,k=-7;printf(“%c%d”,c,!c);printf(“%d%d”,i,!i);printf(“%d%d”,-i,!-j);printf(“%d%d”,!i,!j);printf(“%d%d”,i+);printf(“%d”,1=i=5);Turbo c的调试RUN菜单中Step over单步运行trace in进入子程序、函数go to cursor 运行到光标DEBUG菜单中evaluate:计算一个变量的值call stack看当前在什么函数中Turbo c的调试
25、2Find fuction将光标移动到你所需要找的函数头上refresh display刷新显示display swapping smart/none/always显示交换时的刷新source debugging on/standalone/none是否在可执行文件里面留调试信息Turbo c的调试3Watch菜单add watchdelete watchedit watchremove all watch也可以用F6切换到watch窗口直接用del,ins键,回车键直接操作Turbo c的调试4Break菜单toggle breakpoint 加/删断点clear all breakpoin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计语言
限制150内