,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,/24,C,语言,程序设计基础,青岛理工大学费县校区,计算机教研室:程海涛,QQ,:,22998584,TEL,:,15963941269,讨论的问题,有没有学习过程序设计?,为什么要进行程序设计?程序设计有什么作用?,你对,程序设计,-C,有什么样的看法?,程序设计语言与英语的学习关系大吗?,应该如何学习程序设计?,2,学习目标,1,、理解并熟悉计算机解题的思想和过程。,2,、以,C,为载体学好程序设计基础,形成良好的程序设计风格。,学习方法,1,、积极调整思维方式。,2,、理解概念,多做练习。,基本要求,1,、上课认真听讲,课后认真复习。,2,、按时完成,作业,。,3,、上机实习要有准备,实习后要认真总结。,4,、学习要积极主动,做到事半功倍。,1.1,程序设计的基本概念,程序和程序设计语言,第,1,章 程序设计及,C,语言概况,计算机的工作原理,人们把这种计算机能够识别并可以执行的指令序列称为,程序,。,程序设计语言,是计算机能够理解和识别的语言。,求,圆,的,面,积,r=?,S=3.14159*r*r,main(),float,r,s,;,r=3;,s=3.14159*r*r;,printf(“s,=%,f”,s,);,0000111111111111110001111111101111101010000000011111111111010110001110,源程序,目标程序,编译,解,释,4,程序设计,分析问题,解决方案(大致的思路),具体操作步骤(文字、符号等的描述),即算法,根据操作步骤编写源程序,运行调试程序,整理输出结果,写出相关文档,分析问题,确定处,理方案,确定操作步骤,编写程序,上机运,行程序,整理结果,图,1.1,程序设计的一般过程,5,1.2,算法,1,算法及算法的特性,算法是对具体问题求解步骤的一种描述。,特性:,有穷性。,确定性。不会产生二义性。,可行性。算法中描述的操作在计算机上都是可以实现的。,输入。一个算法应有零个或多个输入。,输出。,6,算法的描述工具,(,1,)用自然语言表示算法,【,例,1,1】,求两个整数,m,与,n,的和,步骤,1,:输入整数,n,和,m,;,步骤,2,:求和,sum=,m+n,;,步骤,3,:输出两数之和,sum,。,开 始,输入,m,n,sum=,m+n,输出,sum,结束,图,1.2【,例,1,1】,算法,N-S,流程图,传统流程图,(,3,)用伪代码表示算法,(,4,)用程序设计语言表示算法,(,2,)用流程图表示算法,7,1.3,结构化程序设计方法,程序的三种基本控制结构,:,顺序结构,步骤,1,:输入整数,n,和,m,;,步骤,2,:求和,sum=,m+n,;,步骤,3,:输出两数之和,sum,。,图,1.3,顺序结构,A,B,(a),(b),A,B,【,例,1,1】,求两个整数,m,与,n,的和,输入,n,和,m,求和,sum=,m+n,输出,sum,【,例,1,1】,算法,8,步骤,1,:输入整数,a,和,b,;,步骤,2,:进行判断,如果,ab,,则,min=a,,否则,min=b,;,步骤,3,:输出两数中较小的数,min,。,图,1.4,选择结构,假,真,P,A,B,(a),(b),真,假,A,B,【,例,1.2】,求,a,、,b,两个整数中较小的数。,图,1.5 【,例,1.2】,算法,输入,a,,,b,a b?,Y N,min=a,min=b,输出,min,选择结构,9,循环结构,图,1.6,当型循环结构,真,假,P,A,(,a,),(,b,),A,当,p,为真,图,1.7,直到型循环结构,真,假,A,P,(,b,),(,a,),直到,P,为假,A,10,步骤,1,:定义变量,sum,用来存放和值,并将初值,0,赋给,sum,;定义变量,k,,用来存放每一项的值,并将,1,赋给,k,;,步骤,2,:判断,k,的值是否小于或等于,100,,如果是,则继续执行步骤,3,,否则转到步骤,5,,退出循环;,步骤,3,:将,sum,与,k,的和赋给,sum,;,步骤,4,:将,k,的值增,1,;返回步骤,2,重复执行。,步骤,5,:输出和值,sum,。,【,例,1.3】,计算,1+2+3+4+100,图,1.8,【,例,1.3】,算法,sum=0,,,k=1,k=100?,sum=,sum+k,k=k+1,输出,sum,图,1.6,当型循环结构,真,假,P,A,(,a,),(,b,),A,当,p,为真,11,三种基本控制结构共有的特点是:,有一个入口,有一个出口;,结构中每一部分都有被执行到的机会,也就是说,每一部分都有一条从入口到出口的路径通过它,(,至少通过一次,),;,没有死循环,(,无终止的循环,),。,顺序结构,A,B,选择结构,真,假,A,B,当型循环结构,A,当,p,为真,直到型循环结构,直到,P,为真,A,12,(2).,流行,C,语言版本,Microsoft C,或称,MS C,Borland C,Turbo C,Quick C,1.4 C,语言的初步知识,(1).,基于,B,语言,源于,ALGOL60,。,ALGOL60 CPL BCPL B,语言,C,语言,(,1960,)(,1963,)(,1967,),(,1970,),(,1972,),ANSI,标准,1.C,语言的起源与发展,13,(,1,)语言简洁、紧凑,使用方便、灵活。,(,2,)支持结构化程序设计。,(,3,)运算符丰富。,(,4,)数据类型丰富。,(,5,)较强的编译预处理功能。,(,6,),C,语言的可移植性好。,(,7,),C,语言本身既有一般高级语言的优点,又有低级(汇编)语言的特点。,(,8,)语法限制不太严格,程序设计自由度大。,2.,C,语言的特点,14,3.C,程序的构成和书写格式,(,1,),.C,程序的构成,【,例,1.4】,求两个整数,m,与,n,的和。,#include,stdio.h,main()/*,主函数*,/,int,m,n,sum,;/*,定义变量,m,n,sum*/,m=5;n=3;/*,给变量,m,n,赋值*,/,sum=,m+n,;/*,求,m+n,的值,并赋给变量,sum*/,printf(sum,is%d,n,sum,);/*,输出,sum,的值*,/,程序的运行结果为:,sum is 8,【,例,1.4】,15,【,例,1,5】,求两个整数中的较小者,#include,stdio.h,main()/*,主函数*,/,int,x,y,min,;/*,定义变量*,/,int,fun(int,a,int,b);/*,函数的声明。*,/,printf(input,x,y,:,);/*,提示输入数据*,/,scanf(%d,%d,&,x,&y,);/*,输入变量,x,和,y,的值*,/,min=,fun(x,y,);/*,调用,fun,函数,将函数值赋给,min*/,printf(min,=%,dn,min,);/*,输出,min,的值*,/,int,fun(int,a,int,b)/*,定义,fun,函数,值为整型,,a,,,b,为该函数的形式参数*,/,int,c;/*,函数中用到的变量,c,也要定义*,/,if(a,=85),printf(A,);,printf(ngood,!);,else,if(score,=60),printf(B,);,printf(nwork,hard);,else,printf(C,);,程序习惯使用,英文小写字母,书写,大写字母习惯上常作为常量或另有其它用途。,程序中包含许多条语句,一般情况下,每一条语句占用一行,。,不同层次的语句,从不同的起始位置开始。,表示层次的左大括号,占用一行,其相应的右大括号与之匹配,也是占用一行。,(,2,),.c,程序的阶梯式书写格式,18,编辑,源程序(文件名,.C),装配连接,(文件名,.exe,),关键字,数据类型,格式,等等,.,obj,文件,库函数,二进制文件,4.C,语言程序的开发过程,编译,源程序,(,文件名,.,obj,),:,目标程序,执行,可执行目标程序,,获得运行结果,使用文本编辑程序,使用,C,语言编译系统提供的编辑器,19,附加:,Visual C+6.0,集成环境,1.,启动,Visual C+6.0,环境,2.,编辑源程序文件,3.,编译和连接,4.,执行,利用,Visual C+6.0,集成环境开发,C,程序的过程如下:,20,附加:,Visual C+6.0,集成环境,1.,启动,Visual C+6.0,环境,方法:单击“开始”,-“,程序”,-“Microsoft Visual studio 6.0”-“Microsoft Visual C+6.0”,命令,启动,Visual C+,,,VC6,主窗口如下:,菜单栏,项目工作区,标题栏,输出区,工具栏,状态栏,文件编辑区,21,附加:,Visual C+6.0,集成环境,2.,编辑源程序文件,单击,“,文件,”,-,“,新建,”,,弹出,“,新建,”,对话框。,选择,“,文件,”,选项卡。单击,“,C+Source File,”,选项,在,“,文件,”,文本框中输入文件名,(,切记必须输入扩展名,.c,否则创建的是,.,cpp,文件,),,如,11_1.c,和,“,目录,”,文本框输入或选择存放位置,D:TEST,,单击,“,确定,”,按钮。系统自动返回,VC6,主窗口。,显示文件编辑区窗口,在文件编辑区窗口输入源程序文件。,必须输入扩展名,.c,22,附加:,Visual C+6.0,集成环境,3.,编译和连接,方法一:选择主窗口菜单栏中“编译”菜单项;系统弹出下拉菜单,选择“构件”菜单命令。,方法二:单击主窗口编译工具栏上的,“,Build,”,按钮进行编译和连接。,单击“编译”,(,1,)系统对程序文件进行编译和连接,生成以文件名命名的可执行目标代码文件,.exe,。,(,2,),编译连接过程中,系统如发现程序有语法错误,则在输出区窗口中显示错误信息,给出错误的性质、出现位置和错误的原因等。如果双击某条错误,编辑区窗口右侧出现一个箭头,指示再现错误的程序行。用户据此对源程序进行相应的修改,并重新编译和连接,直到通过为止。,单击“,Build”,23,附加:,Visual C+6.0,集成环境,4.,执行,方法一:单击“编译”菜单中“执行”命令。,方法二:单击主窗口编译工具栏上的,“,Build Execute,”,按钮来执行编译连接后的程序。,运行成功,屏幕上输出执行结果,并提示信息:,“,Press any key to continue,”,。,此时按任意键系统都将返回,VC6,主窗口。,在执行程序过程中出现运行错误。用户要修改源程序文件并且重新编译、连接和执行。,单击“编译”,单击“,Build Execute”,24,