1、LOGOACMC语言程序设计第1页,共31页。LOGO计算机程序设计,就是通过若干指令的组合,让计算机能够按照人的意图去帮助我们解决问题,但计算机能够直接理解的指令只有0 1组成的序列,称为机器语言。C语言等高级语言通过一些英文单词和若干编程规则,使我们能够将熟悉的英语转换成计算机的机器语言,从而编写程序控制计算机。计算机程序设计计算机程序设计&C语言语言第2页,共31页。LOGOuC语言是世界上流行使用最广泛的高级程序语言之一,软件开发,服务器程序开发等软件领域都有C语言的使用,C语言最大的优势是效率,因为C语言比较接近底层,所以开发出的程序执行效率非常高,所以在大型程序中多数使用C语言,在
2、效率优先的算法竞赛中大部分人也都使用C语言。第3页,共31页。LOGO编译器编译器&IDEu为了将我们用C语言写成的语句变为计算机可执行的0 1组成的指令集合,需要使用叫做编译器的软件,标准的C语言编译器叫做GCC,因为GCC不是图形界面程序,初学者一般使用集成开发环境,即所谓的IDE,它将图形界面,程序的高度工具,编辑工具等集成在一起,成为一个整体的软件,更方便程序的编写和编译。第4页,共31页。LOGOu最简单的程序:功能为在屏幕上输出一串单词u#includeu int main()u u printf(Hello ACMn);u return 0;u 第5页,共31页。LOGOCode
3、:Blocks第6页,共31页。LOGO黑框框的控制台黑框框的控制台第7页,共31页。LOGOprintf函数输出字符串函数输出字符串uprintf:这是刚刚用来输出Hello ACM两个单词使用的函数,print表示打印,f表示function,括号里的字符串为参数,用来表示要输出的内容和输出的格式,printf(“content”);就可以将双引号中的字符串输出。printf(“Hello ACMn”);中的n表示一个特殊含义,表示在输出完这个字符串之后另起一行。第8页,共31页。u这是一个只有输出没有输入的程序,正常情况下,一个程序应该具有的基本功能应该包括:以某种方式接受用户的数据,按
4、照需求处理用户的数据,以某种方式将处理的结果反馈给用户。u在竞赛中使用最简洁的输入输出方式,即键盘输入,屏幕输出。第9页,共31页。一个完整的程序:一个完整的程序:a+bu#includeu int main()u u int a,b;u scanf(%d%d,&a,&b);u printf(%dn,a+b);u return 0;u 第10页,共31页。变量变量&数据类型数据类型u与数学方程中的变量类似,一个变量可以表示一个数字,或者字母,字符串等信息,比如x+y=z中的x、y,给予变量不同的值,相应会得到不同的结果。u定义一个变量,就是指明一个符号以及它的数据类型,比如int a,b;表示
5、定义两个整数 a,b,用来代表两个整数,a,b叫做变量名,变量名的长度不能大于256且要以字母或_开头,大小写代表不同的名字。u除了整数,还有浮点数,字符等数据类型。第11页,共31页。u整数的运算u刚刚的a+b中用到了加法,同样的,四则运算对于整数都可以使用可以使用a-b计算a b的差,a*b计算积,但在计算a/b时要注意,因为a b定义时都是整数,所以a/b计算出来也会被处理成整数,或者叫做取整,即a除以b的整数部分,要取a除以b的除数,可以使用a%b得到,如果想要得到一个完整的小数,应该将a,b定义成double型。第12页,共31页。u 变量的赋值u 变量要有一个值才有意义,如果只定义
6、了变量而没赋值,变量的值就是随机的,可以在任何需要的时候使用=将变量赋一个字面值或者变量值,字面值即3,5这样的数字,比如a=3,b=5;赋为一个变量的值比如a=b就是将b的值赋给a。u 变量的初始化u如果将定义了但未赋过值的变量拿来使用,就会得到不确定的结果,所以在定义变量时最好使用初始化,即在定义时直接给变量一个值,比如int a=3,b=5;第13页,共31页。scanf函数读数据函数读数据u scanf是C语言中用来读入数据的一个函数,参数分为两部分,一部分用”括起来,叫做格式说明符,一部分为要输入的变量的地址,比如输入两个整数a,b,使用scanf(“%d%d”,&a,&b);这条语
7、句,可以执行从键盘输入两个整数,并且输入之后a b的值分别等于这两个整数。%d表示在这个位置要输入的是一个整数,&a表示要输入值的变量是a,注意输入时的&,这个是不能缺少的。第14页,共31页。printf函数输出数据函数输出数据u与scanf类似,printf函数的参数也分为两部分,”中使用%d表示该位置要输出一个整数,但除表示格式的其他地方的字符串表示要直接输出的内容,比如a=3;printf(“%dasdn”,a);会输出:3asd,printf不需要&,另外n表示输出换行。第15页,共31页。main函数和头文件函数和头文件umain函数是每一个C或C+程序必有的函数,可以理解为一个程
8、序的主体,一个程序执行时从main函数的第一行开始,依次执行,头文件中包括了一些预处理操作,包含了头文件才能使用需要的一些函数和常量等,比如包含了stdio.h头文件,才能使用scanf printf 关于头文件的原理,暂时不需要关注。main函数的开始为int main 表示main函数需要返回一个整数,在程序的最后有一个return 0;这句话告诉操作系统该程序为正常运行结束。第16页,共31页。常用常用IDE&Code:Blocks基本使用基本使用u比较常用的C+IDE包括:u微软的VC+6.0、VSuCfreeuACM选手常用的有DEVC+以及Code:Blocks、netbeansu
9、Linux系统可使用Code:Blocks、netbeans或使用vim+GCC第17页,共31页。常见错误常见错误u编译错误u缺少头文件 main函数各种写错uscanf缺少&参数个数错误u除法除0u大小写混用u忘记分号u中英符不分第18页,共31页。程序结构程序结构uC语言有三种结构,分别是顺序结构、选择结构、循环结构。u顺序结构是最简单的方式,即顺序执行程序的每一步直到程序结束,比如a+b程序u选择结构用来处理分情况处理的情况u循环结构用来处理需要重复操作若干次的操作,比如依次对若干变量赋值,如果一个一个写,要写很多的赋值语句。第19页,共31页。自顶向下的程序设计自顶向下的程序设计u要
10、编写一个复杂的程序,良好的编程习惯和清晰的思路可以让程序的可靠性、可读性等都大大提高。u自顶向下的程序设计即是一种程序设计的顺序,自顶向下,将问题逐步细化,分层处理,模块化设计。如果不假思索,想到哪里写到哪里,程序就会显得混乱,难于调试和修改。第20页,共31页。程序设计练习程序设计练习u1.u输入一个矩形的长宽,求矩形的面积u2.u输入一个三位整数,将其翻转,并输出u3.u输入两个不同的数并将其赋给两个变量,不重新输入,将两个变量的值互换并输出。第21页,共31页。Online Judge系统介绍系统介绍u评测系统网站的主要模块:第22页,共31页。第23页,共31页。第24页,共31页。第25页,共31页。第26页,共31页。第27页,共31页。第28页,共31页。第29页,共31页。u1st 计算机u坚持学习,能够抵抗住偶尔到来的困难的毅力。u保持一个良好的心态去学习很重要。u不要害怕英语u学习靠自己的努力。u没有最糟糕的事 只有最糟糕的人如何学好编程如何学好编程第30页,共31页。u2012ACM群号:u258024722u后序学习进度u周末练习地址:第31页,共31页。