版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言
程序设计基础与试验刘新国1C语言程序设计基础与试验教学要求掌握程序设计语言的基本知识常用算法(排序、进制转换等)初步的程序设计能力学习方法自主学习重视上机实践2如何尽快学会用C语言进行程序设计了解程序设计语言(C语言)模仿、改写、编写通过不断的编程实践,逐步领会和掌握程序设计的基本思想和方法。3教材和参考书C语言程序设计,何钦铭、颜晖主编,高等教育出版社,2008C语言编程(第3版),[美]Stephen,G.Kochan,张小潘译,电子工业出版社,2006C语言教程(第4版),[美]AlKelley,IraPohl,徐波译,机械工业出版社,2007标准C语言基础教程(第4版),[美]GaryJ.Bronson,单先余等译,电子工业出版社,2006C程序设计语言,[美]BrianW.Kernighan,DennisM.Ritchie,徐宝文等译,机械工业出版社,20064Chap1引言一个C语言程序程序与程序设计语言C语言的发展历史与特点实现问题求解的过程51.1一个C语言程序例1-1求阶乘问题。输入一个正整数n,输出n!。#include<stdio.h>/*编译预处理命令*/intmain(void)/*主函数*/{
intn; /*变量定义*/
intfactorial(intn);/*函数声明*/
scanf("%d",&n);/*输入一个整数*/
printf(“%d\n”,factorial(n));/*调用函数计算*/
return0;}61.1一个C语言程序intfactorial(intn)/*定义计算n!的函数*/{
inti,fact=1;
for(i=1;i<=n;i++)/*循环乘法*/
fact=fact*i;
returnfact;}71.2程序与程序设计语言程序为解决实际问题,用计算机可以识别的代码编排的一系列加工步骤。程序执行:对所表达的数据进行处理的过程。程序设计语言(很多:汇编,Basic,C等)提供了一种表达数据与处理数据的功能要求程序员按照语言的规范编程81.2程序与程序设计语言程序与指令程序设计语言的功能程序设计语言的语法程序的编译与编程环境9程序与指令指令:计算机的一个最基本的功能如实现一次加法运算或实现一次大小的判别指令系统:计算机所能实现的指令集合程序:一系列计算机指令的有序组合10一个虚拟的计算机指令系统(7指令)11
1InputX将当前输入数据存储到内存的X单元
2OutputX将内存X单元的数据输出
3AddXYZ将内存X单元的数据与Y单元的数据相加并将结果存储到Z单元
4SubXYZ将内存X单元的数据与Y单元的数据相减并将结果存储到Z单元
5BranchEqXYP比较X与Y,若相等则程序跳转到P处执行,否则继续执行下一条指令
6JumpP程序跳转到P处执行
7SetXY将内存Y单元的值设为X程序1:输入3个数A、B、C,计算A+B+CInputA;输入第1个数据到存储单元A中InputB;输入第2个数据到存储单元B中InputC;输入第3个数据到存储单元C中AddABD;将A、B相加并将结果存在D中AddCDD;将C、D相加并将结果存在D中OutputD;输出D的内容12程序2:输入2个数A、B,计算A*B13编号指令注释1InputA输入第1个数据到存储单元A中2InputB输入第2个数据到存储单元B中3Set0X将X设为0(X用来统计累加的次数)4Set0Z将Z设为0(Z用以存放雷加的结果)5BranchEqXB9判别雷加次数X是否等于B。若相等,则跳过累加。6AddZAZ把A累加到Z,即:Z=Z+A7Add1XX计数器X加1,即:X=1+X8Jump5跳转到第5条指令,继续执行加法9OutputZ输出Z的值(此时该值等于A*B)程序设计语言的功能数据表达:表达所要处理的数据流程控制:表达数据处理的流程14数据表达数据表达:一般将数据抽象为若干类型数据类型:对某些具有共同特点的数据集合的称呼数据本身的定义数据可进行的操作和运算例如:整数类型定义:{…,-2,-1,0,1,2,…}运算:+、-、*、/、%等15数据表达C语言提供的数据类型基本数据类型:整型、浮点型、字符型等。构造类型:用户定义的,如数组、结构等等。各种数据类型的常量与变量形式常量(常数)与变量
16流程控制结构化程序设计方法将复杂程序划分为若干个相互独立的模块模块:一条语句(Statement)、一段程序或一个函数(子程序)等单入口、单出口17流程控制通过3种基本结构组合程序语句和模块函数调用顺序结构循环结构分支结构18程序设计语言的语法程序必须符合语言的语法规则源程序(源代码)由一系列“单词”按照语法规则组合形成19C语言的语法单词20标识符由字母、数字以及下划线组成,且第一个字符必须是字母或下划线保留字(关键字)C语言规定的、赋予它们以特定含义、有专门用途的标识符自定义标识符程序中定义的变量名、数据类型名、函数名以及符号常量名常量常量是有数据类型的,如,整数常量123,浮点数常量12.34运算符代表对各种数据类型实际数据对象的运算。如,+(加)、-(减)、*(乘)、/(除)、%(求余)、>(大于)、<(小于)等等C语言的语法表达式:运算符与运算对象组合就形成了表达式。如:2+3*4变量定义:变量也有数据类型,所以在定义变量时要说明相应变量的类型。如:inti;语句:语句是程序最基本的执行单位,程序功能通过执行一系列语句实现。函数定义与调用21C语言的语句表达式语句:表达式加分号“;”分支语句:实现分支控制过程if(a>b)x=a;elsex=b;循环语句:实现循环控制的过程sum=0; i=1;while(i<=100){
sum=sum+i;i=i+1;}复合语句:用一对“{”
和“}”,将若干语句顺序组合在一起就形成了一个复合语句。22C语言的语句函数定义与调用:函数是完成特定任务的独立模块函数的定义函数的调用23intmax(inta,intb){if(a>b)returna;elsereturnb;}intx=2,y=3,z;….z=max(x,y);…程序的编译与编程环境
编译程序
编译器
可执行代码(计算机能直接理解的指令序列)编译器:对源程序进行词法分析、语法分析、生成可执行的代码、返回编译结果和错误信息编程环境编辑(Edit)编译(Compile)调试(Debug)24C语言上机过程源程序
test.cpptest.obj
可执行代码
test.exe编译连接运行251.3C语言的发展历史与特点历史1972年:贝尔实验室的DennisRitchie在B语言的基础上设计并实现了C语言。1978年:B.W.Kernighan和D.Ritchie(简称K&R)合著的《TheCProgrammingLanguage》是各种C语言版本的基础,称之为旧标准C语言。1983年:美国国家标准化协会(ANSI)制定了新的C语言标准,称ANSIC。26C语言的特点一种结构化语言语句简洁、紧凑,使用方便、灵活易于移植:不包含与硬件有关的因素有强大的处理能力目标代码运行效率高数据类型检查不严格区分大小写271.4问题求解:求1~100之间所有偶数的和问题分析:求和范围(1~100,偶数)算法设计设置一个变量(sum)存储结果设置一个变量x,x从1开始直到100:如果它是偶数,那么把它累加到sum中用循环语句实现x从1开始直到100用if分支语句判断x是否为偶数被2整除的数位偶数28问题分析与算法设计算法的描述:自然语言伪代码流程图算法的图形表示法29sum=0x=1x<=100x是偶数?sum=sum+xX=x+1输出sum真真假假30编辑源程序代码
#include<stdio.h>intmain(void){ intsum=0,x=1;
while(x<=100){
if(x%2==0)sum=sum+x;
x=x+1;
}
printf("%d",sum);return0;}
31编译和调试程序编辑程序后,用相应的编译器对程序进行编译,生成二进制代码表示的目标程序(.obj),与编程环境提供的库函数进行连接形成可执行的程序(.exe)。编译程序指出语法错误调试程序找出逻辑错误32调试程序如果程序运行所产生的结果不是你想要的结果,这是程序的逻辑错误(语义错误)调试:运行程序,查找并修改错误的过程调试的方法设置
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中央厨房标准化操作全流程规范
- 校舍安全定期检查12表
- 小学师德师风开箱记录表
- 2026农场乡村六一儿童节亲子研学自然科普嘉年华活动策划方案
- 2026届丽江市高三下学期第五次调研考试语文试题含解析
- 26年银发制氧机使用操作培训课件
- 【1900】明清书写材料的发展概况概述
- 【甘肃兰州市事业单位考试职业能力倾向测验(社会科学专技类B类)梳理难点精析】
- 26年基础护理消毒隔离规范课件
- 【乳酸菌在食品工程中的应用探究】
- 船岸交接制度规范
- 防性侵教育男生篇课件
- 2026年移动源污染治理项目可行性研究报告
- 2025-2026学年高三统编版历史一轮复习历史备考策略+课件
- 园林绿化养护标准 DG-TJ08-19-2023
- 水文地质调查员风险评估竞赛考核试卷含答案
- 仓储管理信息系统操作流程及规范
- 水利工程施工环境保护监理规范
- 胸部肌肉拉伸课件
- 垃圾中转站安全操作培训课件
- 公司破产股东债务协议书
评论
0/150
提交评论