C基础及其教程 1_第1页
C基础及其教程 1_第2页
C基础及其教程 1_第3页
C基础及其教程 1_第4页
C基础及其教程 1_第5页
已阅读5页,还剩29页未读, 继续免费阅读

下载本文档

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

文档简介

第1章程序设计ABCC语言大学实用教程HIT-CProgramming

本章学习内容C语言的特点C程序的基本结构编辑、编译、链接、运行C语言程序的环境、方法和步骤HIT-CProgramming

很像厨师的菜谱,定义了执行某个任务所需的步骤但不幸和不同的是,你不能使用你自己的母语来写程序何谓程序?HIT-CProgramming

计算机能读懂的语言?机器语言(MachineLanguage)由一系列二进制0和1组成机器语言编写的1+1程序低级语言101110000000000100000000000001010000000100000000像不像天书?HIT-CProgramming

PRINT1+1结果显示在屏幕上#include<stdio.h>main(){ printf("%d\n",1+1);}人与计算机进行交流的语言BASIC语言编写的1+1程序C语言编写的1+1程序既不是英语,也非机器语言但更像英语高级语言比写机器语言程序容易,但比使用英语难何谓程序设计语言

(programminglanguage)?

HIT-CProgramming

何谓程序员

(Programmer)?编写程序源代码(SourceCode)的人计算机、程序员、程序之间的关系如果计算机是乐队,那么程序员就是指挥家,程序就是乐谱。如果计算机是军队,那么程序员就是总司令,程序就是作战计划。HIT-CProgramming

程序开发步骤Whatistobedone?可执行文件扩展名为.exe的文件

分析(Analysis)设计(Design)编码(Write)编辑(Edit)编译(Compile)链接(Link)运行(Run)调试(Debug)Howisittobedone?扩展名为.c的文件(对C而言)扩展名为.obj的文件HIT-CProgramming

开发C程序的步骤1.设计算法2.根据算法思路或数学模型,按照该语言的语法编写程序源代码把自己的意图写入源代码中3.编辑源程序4.编译和连接5.反复上机调试程序,直到改正了所有的编译错误和运行错误6.运行HIT-CProgramming

如何让计算机读懂

程序设计语言?编译程序(编译器,Compiler)的功能读入高级语言编写的程序源代码,将其翻译成在逻辑上与之等价的目标程序,即转换成机器代码(可执行程序)一种程序设计语言对应一种编译器C语言可执行程序编译器HIT-CProgramming

编译程序的执行过程?编译过程一般分成5个阶段HIT-CProgramming

程序在计算机内部是如何运行的?计算机把机器代码读入到内存由CPU运行这些代码读取输入(Input)产生输出(Output)完成程序预定的功能输入/输出设备存储器运算器控制器程序和输入数据输出结果取出数据存入数据操作命令存取命令取出程序指令输入输出命令计算结果CPU大脑记忆装置(Memory)眼睛和耳朵HIT-CProgramming

高级语言的魅力易学、易用、易读、易懂、强大、可移植百家争鸣,据不完全统计2500种,绝大多数是高级语言/~nkinners/LangList/Extras/langlist.htm可看到其列表和简介影响最大、寿命最长的是C语言各种语言的受欢迎程度13/53C是一朵奇葩,40余年,经久不衰,老而弥坚C生万物,编程之本HIT-CProgramming

C语言的产生背景和历程20世纪60年代,贝尔实验室,KenThompson开始开发一个叫做UNIX的操作系统最初的操作系统等系统软件都是用汇编语言编写的,便于直接对硬件及接口进行操作,但依赖于硬件,可读性和可移植性比较差→高级语言?→集高级语言和低级语言优点于一身?70年,将BCPL语言改造成更适合开发UNIX的B语言73年,DennisM.Ritchie将B语言改造成C语言,把UNIX操作系统的90%以上源代码用C语言改写HIT-CProgramming

C语言的设计者Ritchie漫画像1978年,BrianW.Kernighan和DennisM.Richie合著影响深远的名著《TheCProgrammingLanguage》称为标准的C语言版本1983年,美国国家标准化协会对C发展和扩充,制定了新的标准称为ANSICANSIC标准的发布是C语言成熟的标志教科书就是以ANSIC为依据编写的接受美国国家技术勋章HIT-CProgramming

C程序设计语言是一种高级语言并不“高级”,只是相对低级语言,在一个高的级别上进行编程但实际上是一种介于高级语言和低级语言之间的语言历史悠久,战勋卓著诞生于上世纪70年代初,成熟于80年代很多重量级软件都是用C写的上天入地,无所不能几乎没有不能用C写出来的软件,没有不支持C的系统很多流行语言、新生语言都借鉴了它的思想、语法从C++,到Java,再到C#正确地学好C语言,是学习这些流行语言的基础HIT-CProgramming

C程序设计语言以往的擅长:与操作系统和基础工具有关的编程任务操作系统核心,设备驱动程序,系统工具,网络应用,编辑器,字处理工具,编译器,某些图形和GUI应用,以及数据库应用未来的发展:高性能、实时中间件,嵌入式领域,并发程序设计等HIT-CProgramming

认识C语言从这里开始第一个程序范例打印单词“Hello,World”#include<stdio.h>intmain(void){

printf("Helloworld\n");return0;}考考你:如何把“hello”和“world”分别打印在两行?PreprocessorinstructionChassmallinstructionset,thoughtheactualimplementationsincludeextensivelibraryfunctions“myfunction.h”CencouragesuserstowriteadditionallibraryfunctionsoftheirownEveryCprogrammusthaveamainfunctionTheexecutionofCprogramstartsfrommain()

functionHIT-CProgramming

PreprocessInstruction2typesofpreprocessinstructionthatarenormallyused:#include#define#includeisusedtoincludecertainfilesintotheprogram.Thosefilesneedtobeincludedbecausetheycontainthenecessaryinformationforcompilation(e.g.stdio.hfilecontainsinformationaboutprintf

function)HIT-CProgramming

PreprocessInstruction#defineisusedtodeclaremacroconstants

Example:#include<stdio.h>#definePI3.141593intmain(void){ floatluas; luas=PI*7*7; printf(“Luas%.2f:”,luas);return0;}MacroconstantBeforepreprocessHIT-CProgramming

PreprocessInstruction#defineisusedtodeclaremacroconstants

Example:#include<stdio.h>#definePI3.141593main(){ floatluas; luas=PI*7*7; printf(“Luas%.2f:”,luas);}MacroconstantBeforepreprocessExample:#include<stdio.h>#definePI3.141593intmain(void){ floatluas; luas=3.141593*7*7; printf(“Luas%.2f:”,luas);return0;}AfterpreprocessHIT-CProgramming

打印华氏温度与摄氏温度对照表计算公式:

C=(5/9)(F-32)HIT-CProgramming

打印华氏温度与摄氏温度对照表#include<stdio.h>/*对fahr=0,20,...,300

打印华氏温度与摄氏温度对照表*/intmain(void){

int

fahr,celsius;

int

lower,upper,step;

lower=0;/*温度表的下限*/

upper=300;

/*温度表的上限*/

step=20;/*步长*/

fahr

=lower;

while(fahr<=upper)

{

celsius=5*(fahr-32)/9;

printf("%d\t%d\n",fahr,celsius);

fahr=fahr+step;

}return0;}计算公式:

C=(5/9)(F-32)代码风格(CodingStytle)#include<stdio.h>/*对fahr=0,20,...,300

打印华氏温度与摄氏温度对照表*/intmain(void){

int

fahr,celsius;

int

lower,upper,step;

lower=0;/*温度表的下限*/

upper=300;

/*温度表的上限*/

step=20;/*步长*/

fahr

=lower;

while(fahr<=upper){

celsius=5*(fahr-32)/9;

printf("%d\t%d\n",fahr,celsius);

fahr=fahr+step;

}return0;}“代码风格”的目标是让代码清晰,增强可读性,使代码更容易被他人维护1良好的注释;2整齐的缩进;3适当的空行;4见名知义的变量命名5恰当位置的空格6每行最多只有一条语句HIT-CProgramming

如果没有代码风格,…#include<stdio.h>intmain(void){int

fahr,celsius;int

lower,upper,step;lower=0;upper=300;step=20;fahr=lower;while(fahr<=upper){celsius=5*(fahr-32)/9;printf("%d\t%d\n",fahr,celsius);fahr=fahr+step;}return0;}C程序的开发工具Code::Blocks(简称CB,)是近年出现并获得关注的C/C++开发环境免费,开放源码,跨平台CB只是一个IDE(Integ

温馨提示

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

评论

0/150

提交评论