版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计主讲:刘凤仙关于此课程的基本说明理论课总学时:本科52学时成绩考核方法:无故缺席上课三次以上:取消考试资格缺交作业三分之一以上:取消考试资格期末成绩=期末卷面成绩×0.6+平时成绩×0.4平时成绩包括:作业成绩、课堂提问、出勤学习的方法1)多背。对于经典、重要的程序,多记忆。在记忆中理解,在记忆中掌握;2)多做题。通过多做题,巩固、加深、扩展对知识的掌握;3)多上机。通过上机的感性体会,加深对知识的理性认识,并提高动手能力。4)多问。学习完成C语言后……会使用C语言编写一些简单的算术程序了解使用计算机语言解决一些实际的问题举一反三,学习其他的语言或软件通过期末考试和等级考试第一章C语言概述1.1C语言出现的历史背景背景:操作系统等系统软件采用汇编语言编写,而汇编语言可读性和可移植性都比较差,而当时的高级语言难以实现汇编语言的某些功能(汇编语言可直接对硬件进行操作),不适宜编写系统软件。ALGOL60高级语言离硬件较远CPL较ALGOL60接近一些硬件但规模比较大,难以实现B语言很简单很接近硬件但功能有限C语言精炼很接近硬件功能强大C语言的发展历程1972~1973年贝尔实验室D.M.Ritchie设计出C语言1973年K.Thompson&D.M.Ritchie用C改写出UNIX第五版1977年出现了不依赖于具体机器的的C语言编译文本《可移植C语言编译程序》1978年C语言先后移植到大、中、小、微型机上,独立于UNIX和PDP1978年K&R合著了影响深远的《TheCProgrammingLanguage》1983年美国国家标准化协会制定ANSIC1990年国际标准化组织ISO制定ISOC标准目前BorlandC,C++,VC++,C#C语言的创始人:DennisM.RitchieRitchie和Thompson在开发UNIX和Unix的设计者KenThompson接受
美国国家技术勋章1.2C语言特点1.C语言是一种编译型程序语言,处于汇编语言和
高级语言之间。硬件系统用户软件汇编CBasicFortranCOBOLPascalmain(){
intr,h;floatv;
scanf(“%d%d”,&r,&h);v=3.14159*r*r*h;
printf(“v=%f\n”,v);}
2.C语言简洁紧奏,书写格式自由度高。
main(){
intr,h;floatv;
scanf(“%d%d”,&r,&h);
v=3.14159*r*r*h;
printf(“v=%f\n”,v);}
3.运算符丰富,能实现其它语言难以实现的运算。
4.
数据结构丰富,能实现各种复杂的数据结构。如:链表、树、栈等。
5.
程序模块化,是结构化的理想语言。
6.
放松了语法限制,程序设计自由度高。如对数组的下标是否越界不作检查等。
7.
目标代码质量高,程序执行效率高。
8.
可移植性好。
9.
图形功能强。在庞大的图形库支持下,可以进行二维、三维图形以及动画的设计,也可以用于计算机辅助设计等。1.3简单的C程序介绍例1.1#include<stdio.h>voidmain(){
printf(“HelloClanguage!\n”);}其中:1)main表示“主函数”。每一个C程序都必须有且仅有一个main函数。前面的void表示该函数的类型为“空”,函数体由大括弧{}扩起来。本例中主函数内只有一个输出语句,printf是C语言中的输出函数;由于有标准库中的输入/输出函数,故在程序的开始处必须对该函数进行声明:#include<stdio.h>2)双引号内的字符串原样输出。”\n”是换行符,即在输出“HelloClanguage!”后回车换行;3)语句最后有一分号,表示语句结束。例1.2#include<stdio.h>Voidmain()/*求两数之和*/{
inta,b,sum;/*这是定义变量*/a=123;b=456;sum=a+b;
printf("sumis%d\n",sum);}此句的作用是定义变量a、b和sum为整型变量。这两句是赋值语句。首先把变量a、b赋值123、456,然后把a、b之和赋值给sum./*……*/表示注释部分,以便于理解,可以使用英文、汉字等。注释部分不参与编译和运行,仅提供程序说明这句是打印语句,把变量sum的值以十进制的格式打印出来。其中“%d”是输入输出的“格式字符串”,用来指定输入输出时的数据类型和格式,“%d”表示“十进制整数类型”。例1.3#include<stdio.h>Voidmain(){
int
a,b,c;
scanf("%d,%d",&a,&b);c=max(a,b);
printf("max=%d",c);}
int
max(int
x,inty){
intz;if(x>y)z=x;elsez=y;return(z);}声明部分,定义变量此句的作用是输入变量a和b的值。Scanf是“输入函数”,&a和&b中的“&”的含义是“取地址”,scanf函数的作用是输入a和b的值到变量a和b的地址所标志的单元中,也就是输入a、b的值。主函数定义max函数,函数值为整型,形式参数x,y为整型调用max函数,将实际参数a、b的值分别传送给max函数中的形式参数x、y。经过执行max函数得到值赋给c输出c的值max函数中的声明部分,定义本函数中用的变量z为整型将z的值返回,通过max带回调用处
通过以上例子,我们可以看出:(1)C程序是由函数(function)构成。
一个C源程序包含一个main函数和若干个其他函数。函数是C程序的基本单位。被调用的函数可以是系统提供的库函数,也可以是用户自编写的函数。C的函数相当于其他语言中的子程序。这种特点使C易于模块化;(2)一个函数由两部分组成:①函数的首部。包括函数名、函数类型、函数参数(形参)名、参数类型。如例1.3中的max函数的首部:
intmax(intx,inty)函数类型函数名函数参数类型函数参数名函数参数类型函数参数名②函数体,即函数首部下最外层的大括弧{……}内的部分。函数体一般包括:
声明部分:在这部分定义所用到的变量。如例1.3中:
inta,b,c;
执行部分:由若干个语句组成。特殊情况,如空函数:
dump() {}(3)一个C程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何;(4)C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。(5)每个语句和数据定义的最后必须有一个分号。分号是C语句的必要组成语句。即使是程序中最后一个语句也应包含分号.(6)C语言本身没有输入输出语句。输入和输出的操作是由库函数scanf和printf等函数来完成。注意:不同的计算机系统出了具有相同的标准函数外,还有各自的专门函数。(7)可以用/*……*/对C程序中的任何部分作注释。一个好的、有使用价值的源程序都应当加上必要的注释,以增加程序的可读性。1.4C程序的上机步骤C程序生成过程:开始编辑编译
有错?连接执行
有错?结束有不正确无源程序f.c目标程序f.obj可执行目标程序f.exe库函数和其他目标程序正确TurboC上机步骤简介详见试验指导书14章注意:常用的快捷键F9:编译和连接CTRL+F9:运行(若没编译连接,将自动先编译连接后再运行)ALT+F5:用户屏幕(观察运行结果)F1:帮助信息F2:保存程序F3:载入程序F8:单步运行程序F10:激活菜单ALT+X:退出C语言编辑环境本章基础要点一个程序的执行从本程序的main()函数开始,到本程序的main()函数结束。一个C程序可以包含一个或多个子函数。用C语言编写的程序只有转换成目标代码后才能执行。C源程序的执行过程。参考资料《C程序设计试题汇编》(第二版)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度版权保护委托合同3篇
- 小学心里健康活动主题班会
- 2024年度工程项目管理服务合同
- 2024年度企业间技术转让反贿赂协议2篇
- 《秋季校园市场营销》课件
- 民办体育俱乐部教练聘请合同(2024版)
- 公司美容项目合作简单协议书范本2篇
- 拍摄合作协议书(2篇)
- 广告招商合同
- 房屋认购协议书(2篇)
- 2024年新能源发电项目股权转让协议
- GB/T 11263-2024热轧H型钢和剖分T型钢
- 《1980年代“现代派”论争中的现代主义与现实主义问题》
- 重庆市2023年人教版初中八年级上学期期末语文试题含答案(二)
- 《建筑电气学习》课件
- 数学:34《由三视图描述几何体》(浙教版八年级上)省公开课获奖课件市赛课比赛一等奖课件
- 数学-江西省稳派上进联考2024-2025学年2025届高三上学期11月调研测试试题和答案
- 2024-2025学年北京十三中分校八年级(上)期中数学试卷
- 湖南财政经济学院《证券投资学》2022-2023学年第一学期期末试卷
- 广东省广州市2024年中考英语真题(含答案)
- (高级)增材制造设备操作员技能鉴定理论考试题库(浓缩500题)
评论
0/150
提交评论