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

下载本文档

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

文档简介

第1章程序设计ABC王淞春wsc8825@163.comC语言大学实用教程

导论

导论课程性质:必修课,计算机语言开蒙课高等工科院校中计算机和非计算机专业的一门主干课程课程目标:熟悉C语言的基本概念;熟悉TurboC的上机环境;会读、会编、会调试C程序内容安排

第一章程序设计ABC第二章数据类型、运算符与表达式第三章简单的C程序设计第四章程序的控制结构第五章函数第六章数组第七章指针第八章结构体与共用体第九章函数的高级应用第十章文件操作第十一章C程序设计常见错误及解决方案导论学习方式:实践、实践、再实践参考资料C语言大学实用教程苏小红,陈惠鹏,孙志岗电子工业出版社2006C语言大学实用教程学习指导C语言教程谭浩强清华大学出版社哈工大精品课程网址1/jpsystem2/properview.asp?lessonid=1482北京理工大学精品课程网址/Able.Acc2.Web/Template/View.aspx?action=view&courseId=1184&courseType=0提醒!!!多动手、多动脑、多参与我是为睡觉而生的高贵的羊。

——懒羊羊语录用心收获计算机与人工智能计算机行业的梦想让计算机(Computer)能像人一样地思考,与人自然交流,人工智能(ArtificialIntelligence)图灵测试

计算机与人工智能1997年,IBM公司研制的深蓝超级计算机在一场“人机大战”中打败了国际象棋大师卡斯帕罗夫被誉为“人工智能的一大胜利”

深蓝的主要研制者之一许峰雄博士:胜利靠的只是不知疲倦地高速运算,并不是什么智能计算机与信息技术计算机技术与通信技术结合,构成了信息技术(InformationTechnology),诞生了一个新词:IT嵌入式系统是IT未来的主要发展方向之一典型的嵌入式系统有:机器人、手机和智能家电等计算机计算机是用来延伸人的能力的工具,需要人来驾驭我们的职责是让非计算机专业的人更容易驾驭它完成这一目标的主要手段之一就是

“编程(Programming)”计算机基本工作过程整个过程的执行者是硬件,但硬件是受软件控制的编程,就是编写软件,使硬件按照人的意图工作计算机基本工作过程输入/输出设备存储器运算器控制器源程序和输入数据输出结果取出数据存入数据操作命令存取命令取出程序指令输入输出命令计算结果CPU“冯·诺依曼机”结构大脑记忆装置眼睛和耳朵程序和数据硬盘CPU内存执行结果软件的形成软件(Software)的形成程序员(Programmer)编写程序源代码(SourceCode)编译器(Compiler)把源代码转换为可被计算机理解的机器代码(MachineCode)并把机器代码以可执行文件(ExecutableFile)的形式保存在磁盘上软件运行过程的简单描述软件的运行计算机把机器代码读入到内存(Memory)由CPU运行这些代码读取输入(Input)产生输出(Output)完成程序员预定的功能计算机专业后续课程计算机原理编译原理操作系统程序设计语言(ProgrammingLanguage)是人与计算机进行交流的语言计算机直接能读懂的语言机器语言(MachineCode),也叫机器代码一种纯粹的二进制语言程序设计语言的故事程序设计语言的故事计算机为什么用二进制呢?为什么不用我们日常熟悉的十进制呢?二进制在在电器元件中容易实现计算机进行二进制运算比进行十进制运算要简单得多程序设计语言的故事机器语言编写的1+1程序汇编语言(AssembleLanguage)编写的1+1程序101110000000000100000000000001010000000100000000MOVAX,1ADDAX,1程序设计语言的故事BASIC语言编写的1+1程序C语言编写的1+1程序PRINT1+1#include<stdio.h>main(){ printf("%d\n",1+1);}程序设计语言一种程序设计语言对应一种编译器程序员按照该语言的语法编写程序源代码,把自己的意图融入到代码中编译器读入源代码,把程序员的意图转换成可执行程序,供他人使用程序设计语言编辑(Edit)扩展名为.c的文件编译(Compile)扩展名为.obj的文件链接(Link)形成最后的可执行文件扩展名为.exe的文件运行(Run)流行语言应用编程语言机器语言汇编语言BasicPascalCC++JavaC#专项编程语言LotusNotesPowerBuilderWeb编程语言HTMLXMLPHPASPJSPJavaScriptVBScript其他perlpythonVBAC程序设计语言简称C语言BCPL语言进化成B语言,B语言又进化为C语言是一种高级语言高级语言并不是“高级”,只是相对低级语言,在一个高的级别上进行编程历史悠久,战勋卓著诞生于上世纪70年代初,成熟于80年代“ANSIC”标准的发布是C语言成熟的标志很多重量级软件都是用C写的上天入地,无所不能几乎没有不能用C写出来的软件,没有不支持C的系统C程序设计语言硬件(Hardware)操作系统(OS)应用程序

(Application)应用

平台基于

平台的

应用

程序低级语言的地盘高级语言的地盘C语言的地盘C程序设计语言C语言被分类位高级语言,但实际上它是一种介于高级语言和低级语言之间的语言。很多流行语言、新生语言都借鉴了它的思想、语法从C++,到Java,再到C#正确地学好C语言,是学习这些流行语言的基础。C语言的设计者

DennisM.Ritchie和Unix的设计者KenThompson

接受美国国家技术勋章Ritchie和Thompson在开发UNIXC语言与自然语言的比较信息交流(地位平等)有思维推理能力语法、句法规则灵活走,晒太阳去!去晒太阳,走!表达方式多样人机对话(命令方式)无思维推理能力,有计算和逻辑判断能力语法句法规则固定算法多样C语言的起源和发展Unix和C学习要点熟记C语言的语法、句法学会算法分析与算法设计C语言的特点1.语言简洁、紧凑、灵活。(32个关键字,9种控制语句)2.运算符丰富(34种表达式)3.数据结构丰富4.具有结构化的控制语句5.目标代码质量高,程序执行效率高6.可移植性好7.兼有低级语言和高级语言的特点8.语法限制不太严格,程序设计自由度比较大从C到C++在C的基础上,1983年又由贝尔实验室的BjarneStrou-strup推出了C++。C++进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。解释1:C++是由于开发大型应用软件的需要而产生的,并不是所有的人都要去编写大型软件。解释2:面向对象的基础是面向过程。C++是面向对象的语言,C是面向过程的,学起来比C语言困难得多,所以不太适合程序设计的初学者。问题:既然有了面向对象的C++语言,为什么还要学习C语言?有不正确C程序上机TurboC2.0的上机操作方法TurboC的两种编辑、编译、连接、运行C程序的方法1.集成开发环境:将四个步骤完整地组建在TurboC系统内,用户通过一个简明的界面来访问。快速,高效,易学2.命令行编译器常用命令F10:激活菜单Alt+F/C/R/O:使用相应菜单ESC:退出菜单Alt+x:退出TCF2:源程序存盘Ctrl+F9:编译连接运行程序Alt+F5:切换到输出屏幕(查看结果)有不正确Ctrl+F9Alt+F5简单的C语言程序介绍#include<stdio.h>void

main(){

printf("ThisisaCprogram.\n");}/*文件包含*//*主函数*//*函数体开始*//*输出语句*//*函数体结束*/说明:

main-主函数名,void-函数类型每个C程序必须有一个主函数main{}是函数开始和结束的标志,不可省每个C语句以分号结束使用标准库函数时应在程序开头一行写:

#include<stdio.h>说明:

本程序的作用是输出一行信息:ThisisaCprogram.例1.2求两数之和

#include<stdio.h>

voidmain()/*求两数之和*/

{

inta,b,sum;/*声明,定义变量为整型*/

/*以下3行为C语句*/

a=123;b=456;

sum=a+b;

printf(″sumis%d\n″,sum);

}说明:

/*……*/表示注释。注释只是给人看的,对编译和运行不起作用。所以可以用汉字或英文字符表示,可以出现在一行中的最右侧,也可以单独成为一行。说明:

输出一行信息:sumis579C程序初识#include<math.h>#include<stdio.h>main(){doublex,s;printf("inputnumber:\n");scanf("%lf",&x);s=sin(x);printf("sineof%lfis%lf\n",x,s);}例1.3求2个数中较大者。

#include<stdio.h>

voidmain()/*主函数*/

{

intmax(intx,inty);/对被调用函数max的声明*/

inta,b,c;/*定义变量a、b、c*/

scanf(″%d,%d″,&a,&b);/*输入变量a和b的值*/

c=max(a,b);/*调用max函数,将得到的值赋给c*/

printf(″max=%d\\n″,c);/*输出c的值*/

}程序运行情况如下:8,5↙(输入8和5赋给a和b)max=8(输出c的值)intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}max(int

x,int

y);

max(a,b);

说明:本程序包括main和被调用函数max两个函数。max函数的作用是将x和y中较大者的值赋给变量z。return语句将z的值返回给主调函数main。#include<stdio.h>/*函数功能:计算两个整数相加之和

入口参数:整型数据a和b

返回值:整型数a和b之和*/intAdd(inta,intb){ return(a+b);}main()/*主函数*/{ intx,y,sum=0; printf("Inputtwointegers:"); scanf("%d%d",&x,&y);/*输入两个整型数x和y*/ sum=Add(x,y);

/*调用函数Add计算x和y相加之和*/ printf("sum=%d\n",sum);/*输出x和y相加之和*/}总结(1)C程序是由函数构成的。这使得程序容易实现模块化。(2)一个函数由两部分组成:

函数的首部:例1.3中的max函数首部

intmax(intx,inty)

函数体:花括号内的部分。若一个函数有多个花括号,则最外层的一对花括号为函数体的范围。函数体包括两部分:声明部分:inta,b,c;可缺省执行部分:由若干个语句组成。可缺省总结注意:函数的声明部分和执行部分都可缺省,例如:voiddump(){}

温馨提示

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

评论

0/150

提交评论