《C1概述.10.9更新课件》由会员分享,可在线阅读,更多相关《C1概述.10.9更新课件(29页珍藏版)》请在金锄头文库上搜索。
1、程序设计与编程程序设计与编程参考教材:参考教材:杨开城,杨开城,C语言程序设计教程、实验与练习语言程序设计教程、实验与练习(第二版),人民邮电出版社,(第二版),人民邮电出版社,2006.6。教师姓名:张海蓉教师姓名:张海蓉E-mail:zhang.PW:851520267/19/20241C1-概述-.10.9更新第一章 概述7/19/20242计算机系统组成图计算机系统硬件系统软件系统主机外设系统软件应用软件CPU内存外存输入设备输出设备操作系统程序设计语言数据库系统服务性程序应用数据包用户程序7/19/20243C1-概述-.10.9更新第一代:机器语言(低级语言):面向机器、可移植性差
2、、效率高、不方便编程第二代:汇编语言第三代:高级语言面向程序员、可移植性好、执行效率低、便于编程第四代:面向对象式语言第五代:智能语言符号处理和逻辑推理能力、知识库(含事实和推理规则)程序设计语言7/19/20244C1-概述-.10.9更新C语言与其他高级语言的对比语言与其他高级语言的对比:C语言语言:系统软件和应用软件系统软件和应用软件BASIC:初学者入门初学者入门FORTRAN或或PL/I:科学计算科学计算COBOL:商业和管理等数据处理领域商业和管理等数据处理领域PASCAL:教学,第一个结构化语言教学,第一个结构化语言7/19/20245C1-概述-.10.9更新1.1C语言概述语
3、言概述1.1.1C语言发展简介语言发展简介1.1.2C语言特点语言特点1.1.3TurboC上机步骤上机步骤1.1.4C语言的程序结构语言的程序结构1.2C语言的基本符号语言的基本符号1.2.1基本符号集基本符号集1.2.2标识符标识符1.3数据的输入和输出数据的输入和输出1.3.1字符输出函数字符输出函数putchar()1.3.2字符输入函数字符输入函数getchar()1.3.3格式输出函数格式输出函数printf()1.3.4格式输入函数格式输入函数scanf()退出7/19/20246C1-概述-.10.9更新1.1.1语言发展简介语言发展简介ALGOL语言:语言:1960,面向问题
4、高级语言,不宜写系统程序,面向问题高级语言,不宜写系统程序CPL语言:语言:1963,英剑桥,能够作较低层次的操作,但规模较大,难以实现,英剑桥,能够作较低层次的操作,但规模较大,难以实现BCPL语言语言:(Basiccombinedprogramminglanguage)1967,英剑桥,英剑桥MartinRichards改进改进CPLB语言:语言:1970,美贝尔实验室,美贝尔实验室Thompson简化简化BCPL,用,用B写写UNIX操作系统操作系统C语言:语言:1972,贝尔实验室,贝尔实验室,Ritchie和和Kernighan设计,保持设计,保持B和和BCPL的的精炼与接近硬件,克
5、服其简单和数据无类型的缺点。描述和实现精炼与接近硬件,克服其简单和数据无类型的缺点。描述和实现UNIX的工的工具语言具语言1977,可移植语言编译程序,与,可移植语言编译程序,与UNIX相辅相成相辅相成1978,Kernighan和和Richie,TheCProgrammingLanguage,标准标准C语言语言1983,美国国家标准化协会(,美国国家标准化协会(ANSI),),ANSIC1990,国际标准化组织(,国际标准化组织(ISO)通过)通过返回7/19/20247C1-概述-.10.9更新1.1.2C语言特点语言特点(1)较低级语言(中级语言)(2)结构化语言(3)运算能力强(4)数
6、据类型多(5)有预处理能力(6)可移植性好(7)语法不严格返回7/19/20248C1-概述-.10.9更新启动:DOS下:C:TCTCWindows下:双击图标打开:或ile-Load输入要打开的文件名新建:编辑:保存:或输入文件名编译:或Compile/MakeEXE运行:或Run-Run结果:或Run-UserScreen退出:或 启动TC编辑源程序保存源程序编译、连接、运行退出TC打开/新建文件1.1.3TC上机步骤上机步骤返回7/19/20249C1-概述-.10.9更新1.1.4C语言程序的结构特点语言程序的结构特点例1.1求两个数的和。main()inta,b,sum;a=3;b
7、=4;sum=add(a,b);printf(sum=a+b=%dn,sum);intadd(intx,inty)intz;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()函数,可在任意位置,是程序运行的开始
8、和结束。4. 书写格式自由: 一行内可写多条语句,空格和回车符不计。一个语句可写在多行上,用“”续行。5. 每个语句后有“;”,函数说明部分除外。6. C语言本身没有输入输出语句,输入输出用库函数实现。 7. 可在任意位置加注释/* */,可多行,不可嵌套。7/19/202410C1-概述-.10.9更新例1.3函数程序例。main()printf(This is a C program. ); 例1.2最小的程序例。main()7/19/202411C1-概述-.10.9更新例1.4求两个数中较小数。main()inta,b,c;clrscr();scanf(%d,%d,&a,&b);c=m
9、in(a,b);printf(min=%d,c);intmin(intx,inty)intz;if(xy)z=x;elsez=y;return(z);返回7/19/202412C1-概述-.10.9更新1.2C语言的基本符号语言的基本符号1.2.1基本符号集基本符号集(ASCII字符集字符集)阿拉伯数字10个:0、1、2、9大小写英文字母各26个:A,B,C,Z,a,b,c,z下划线:_特殊符号:主要是运算符和操作符返回7/19/202413C1-概述-.10.9更新1.2.2标识符标识符字符序列,用作常量、变量、函数、文件指针、类型的名字。q用户标识符用户标识符q保留字保留字/关键字关键字q
10、预定义标识符预定义标识符7/19/202414C1-概述-.10.9更新q用户标识符:用户标识符:用户根据需要对C程序中用到的变量、符号常量、自己的函数或文件指针进行命名,形成用户标识符。构成规则:由英文字母、数字、下划线组成,且第一个字符不能是数字;英文字母区别大小写;通常识别前8个字符;取名遵循“简洁明了”和“见名知意”。7/19/202415C1-概述-.10.9更新q保留字保留字/关键字关键字是编译系统固有的,用做语句名、类型名的标识符。不允许作为用户标识符使用。q预定义标识符预定义标识符允许用户作其他其途,但将失去系统规定的原意。例define、include返回7/19/20241
11、6C1-概述-.10.9更新1.3数据的输入和输出数据的输入和输出由一组库函数完成数据的输入和输出。1.3.1字符输出函数字符输出函数putchar()程序开头要有预编译命令:#include或#includestdio.h。功能:把一个字符输出到标准输出设备(显示器)上。调用形式:putchar(ch);ch是一个整型或字符型数。7/19/202417C1-概述-.10.9更新例1.5输出字符B。#includemain()charc;/*intc;*/clrscr();c=B;/*c=66;*/putchar(c);putchar(n);putchar(B); /*putchar(66);
12、*/返回7/19/202418C1-概述-.10.9更新1.3.2字符输入函数字符输入函数getchar()程序开头要预编译命令:#include或#includestdio.h功能:从标准输入设备(键盘)上读入一个字符。调用形式:getchar();无参数,返回值是整型或字符型。键盘输入一个字符后,按回车,执行下一语句。7/19/202419C1-概述-.10.9更新例1.6输入一字符B,变量是字符型、整型。#includestdio.hmain()charc;/*intc;*/clrscr();c=getchar();/*putchar(getchar();*/putchar(c);返回7
13、/19/202420C1-概述-.10.9更新1.3.3格式输出函数格式输出函数printf()不需要预编译命令。功能:向输出设备(显示器或打印机)输出有一定格式的任意数据。调用形式:printf(格式控制,输出项表格式控制,输出项表);7/19/202421C1-概述-.10.9更新printf(printf(格式控制,输出项表格式控制,输出项表格式控制,输出项表格式控制,输出项表);); 普通字符(原样输出) 格式说明 % +/- 0 m.n l 格式字符右对齐左对齐最小宽度左补0小数位数或截取字符数长整型d符十整o无八整x无16整c字符s字串f小六e指小六注:“%格式字符”将输出%格式字
14、符。7/19/202422C1-概述-.10.9更新注:格式控制部分是用双引号括起来的字符串,分为普通字符和格式说明。格式说明与输出项一一对应,若格式说明个数少于输出项时,多余输出项不输出;若格式说明多于输出项,对缺少项输出不定值。函数值为整型,等于正常输出的字符个数。7/19/202423C1-概述-.10.9更新例例1.7输出格式举例。输出格式举例。main()charc=a;charstr=seeyou;inti=1234;floatx=123.456789;floaty=1.2;printf(1:%c,%s,%d,%f,%e,%fn,c,str,i,x,x,y);printf(2:%4
15、c,%10s,%6d,%12f,%15e,%10fn,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);返回7/19/202424C1-概述-.10.9更新1.3.4格式输入函数格式输入函数s
16、canf() 不需要预编译命令。 功能:把从终端(键盘)输入的数据传送给对应的变量。 调用形式: scanf(格式控制,输入项地址表格式控制,输入项地址表); 7/19/202425C1-概述-.10.9更新scanf(格式控制,输入项地址表格式控制,输入项地址表); 普通字符(原样输入) 格式说明 % m h l * 格式字符域宽短整形不赋值长整形d符十整o无八整x无16整c字符s字串f小六e小指六7/19/202426C1-概述-.10.9更新注:格式控制部分是用双引号括起来的字符串,分为普通字符和格式说明。 输入项地址表是若干变量的地址,而非变量名。 &变量名 格式说明与输入项一一对应。 输入时不能规定精度。 若格式控制字符串中无普通字符,则输入时用空格、回车或跳格分隔。 函数值为整型,等于正常输入的数据个数。7/19/202427C1-概述-.10.9更新例1.8输入数据举例。main()charch;inti;charstr80;floatx;scanf(%c%d%s%f,&ch,&i,str,&x);printf(%c,%d,%s,%fn,ch,i,str,x);返回7/19/202428C1-概述-.10.9更新TheEnd!7/19/202429C1-概述-.10.9更新