您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > XXXX暑期培训C(第3讲)_程序设计入门
第三讲程序设计入门河南理工大学计算机科学与技术学院2011暑期培训C熟悉C语言程序的编译和运行学会编程计算并输出常见的算术表达式的结果掌握整数和浮点数的含义和输出方法掌握数学函数的使用方法初步了解变量的含义掌握整数和浮点数变量的声明方法掌握整数和浮点数变量的读入方法掌握变量交换的三变量法理解算法竞赛中的程序三步曲:输入、计算、输出记住算法竞赛的目标及其对程序的要求1算术表达式#includestdio.hintmain(){printf(%d\n,1+1);return0;}程序A+B问题#includestdio.hintmain(){inta,b;scanf(%d%d,&a,&b);printf(%d\n,a+b);return0;}ZOJ1001作业:在同一个程序中实现+_*/在C语言中,8/5的确切含义是8除以5所得商值的整数部分。同样地,(-8)/5的值是-1,不信可以自己试试。那么如果非要得到8÷5=1.6的结果怎么办?下面是完整的程序。程序1-2计算并输出8/5的值,保留小数点后1位#includestdio.hintmain(){printf(%.1lf\n,8.0/5.0);return0;}注意,百分号后面是个小数点,然后是数字1,再然后是小写字母l,最后是小写字母f,千万不能打错,包括大小写——在C语言中,大写和小写字母代表的含义是不同的。提示1-1:整数值用%d输出,实数用%lf输出提示1-2:整数/整数=整数,浮点数/浮点数=浮点数。编程23150.123150.123150.1#includestdio.h#includemath.hintmain(){printf(%.8lf\n,1+2*sqrt(3)/(5-0.1));return0;}5-0.1的值是什么?“整数-浮点数”是整数还是浮点数?第1个问题相信读者能够“猜到”结果:整数-浮点数=浮点数。但其实这个说法并不准确。确切的说法是:整数先“变”成浮点数,然后浮点数-浮点数=浮点数。第2个问题的答案是:因为程序1-3中用到了数学函数sqrt。数学函数sqrt(x)的作用是计算x的算术平方根(若不信,可输出sqrt(9.0)的值试试)。一般来说,只要在程序中用到了数学函数,就需要在程序最开始的地方包含头文件math.h,并在编译时连接数学库。圆柱体的表面积输入底面半径r和高h,输出圆柱体的表面积,保留3位小数,格式见样例。样例输入:3.59样例输出:Area=274.889程序圆柱体的表面积#includestdio.h#includemath.hintmain(){constdoublepi=4.0*atan(1.0);doubler,h,s1,s2,s;scanf(%lf%lf,&r,&h);s1=pi*r*r;s2=2*pi*r*h;s=s1*2.0+s2;printf(Area=%.3lf\n,s)return0;}算法竞赛的程序应当只做3件事情:读入数据、计算结果、打印输出回到刚才的程序,它多了几个新东西。首先是“constdoublepi=4.0*atan(1.0);”。这里也声明了一个叫pi的“符号”,但是const关键字表明它的值是不可以改变的——pi是一个真正的数学常数。提示1-7:尽量用const关键字声明常数。有的读者可能会用math.h中定义的常量M_PI,但其实这个常数不是ANSIC标准的。不信的话用gcc-ansi编译试试。三位数反转输入一个三位数,分离出它的百位、十位和个位,反转后输出。样例输入:127样例输出:721首先将三位数读入变量n,然后进行分离。百位等于n/100(注意这里取的是商的整数部分),十位等于n/10%10(这里的%是取余数操作),个位等于n%10。程序如下:三位数反转#includestdio.hintmain(){intn;scanf(%d,&n);printf(%d%d%d\n,n%10,n/10%10,n/100);return0;}思考:上面的程序输出025,但要改成输出25似乎会比较麻烦——我们必须判断n%10是不是0分支结构程序设计作业2.鸡兔同笼已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡的数目和兔的数目。如果无解,则输出“Noanswer”(不要引号)。样例输入:1432样例输出:122样例输入:1016样例输出:Noanswer作业Zoj1241给出直角三角形的三条边a,b,c其中的两个,求另外一个。ZOJ1048:统计某人12个月的银行帐户余额的平均数。ZOJ即ZOJ1048中1048为题号
本文标题:XXXX暑期培训C(第3讲)_程序设计入门
链接地址:https://www.777doc.com/doc-961909 .html