#includestdio.h
void strupr(char str[])
{
int i=0;
for(;str[i]!='\0';i◆◆)
return ;
}
void strwr(char str[])
int main()
strupr(str);
puts(str);
strwr(str);
return 0;
初学C语言程序设计的基本方法和技巧
C语言是一门应用最广泛的基础高级编程语言,有很多语言都是由它发展而来的,所以学习好C语言之后再学习任何一种编程语言都会轻松上手.
①. 熟记基本知识点
学习C语言和学习任何一种语言的方法基本一样.我们婴儿期间咿呀学语时,从一个字开始学,然后两个,接着更多,最后我们能成句,成段,到出口成章.学习C语言的时候也一样,有些最基本的内容必须要记下来.
①1 关键字
关键字是由C语言规定的具有特定意义的字符串.它们是写C语言的基础,如果关键字不记下来,那编程是寸步难行.
C语言中的运算符和表达式与我们数学上的运算符和表达式有相同的,也有不同的.我们在学习的时候就注意记住并弄清楚那些不同的地方.基本的语法表达式及执行过程.选择结构中的if语句和switch语句.循环语句中的for语句、while语句和do-while语句.这部分就好比是你会了许多词,然后得把这些词组成一些句子,语法的作用就是告诉你怎样说好一句话,表达清楚的意思.
今天这一节最重要有两个函数:输入函数scanf()和输出函数printf().一个程序如果没有输入,那无论运行多少次结果都一样,那也就失去了写程序的目的了.同样一个程序如果没有输出,那运行程序有什么意义呢?当然输出的形式比较多.在初学C语言的时候主要是从屏幕上输出结果.所以这两个函数的使用方法也必须要掌握.这两个函数已经定义在stdio.h这个头文件中,不用我们自己写,它们不是C语言中的语句,所以在使用这两个函数时在源程序顶部一定要加上#include .这是为了让我们在执行程序的时候,让计算机知道scanf()和printf()这两个函数怎么用.
掌握上面的必须要记下来的内容,相当于我们开始学说话时先听别人说,我们自己跟着学一些最基本的日常语言.这时我们就可以从一些简单的程序开始读,能把每一个程序的运行结果能自己读程序准确地执行出来,那样我们就可以开始来编写程序了.
编写程序一定要注意程序的结构性.学习写程序,不能开始就写代码.许多人在动手写程序的时候感到无从下笔.原因主要是:看到一个题目不知道如何去分析,它怎么才能变成一个程序呢?这是初学者在编写程序的主要问题.我在教学中采用了一种分步式的方法.
这就好比我们写一篇文章也有一些结构.一个C程序也有其一般结构,我把它归纳成下面格式.
#include
main()
定义变量;int,float,char,double
输入数据;键盘输入scanf();
处理数据;if-else;switch;for;while;do-while;
输入数据;printf();
第一行代码表示把标准的输入输出头文件包含在这个程序中.第二行代码是C程序的主函数,每个C程序中必须有且仅有一个main()函数.然后是函数的一对"{}".
定义变量的意思好比买一块地,有了这块地就可以在上面盖房、种庄稼之类的.但是为了便于统一管理,比如城市已经规划好了,你在郊区买的地就只能种庄稼,在市中心买的,就只能盖房,这就是变量类型的含义了.用上面求最小值的例子.我们在三个数中求最小值.这三个是什么数,是整数还是小数?这就必须用变量类型来说明.对于上例应该定义三个整型变量用来存放三个整数,还要定义一个整型变量用来存放最小值.如:int a,b,c,min;这行代码的作用其实是要了一块内存,然后在这块内存里存东西.因为我需要一个整数,所以就用int这个关键字来声明(相当于用这块地干什么).那么变量a,b,c是什么呢?你买了一块地,总要知道这块地在哪是吧?不然就白买了,变量就是这样一个作用.我们需要把数据存在计算机中,什么样的数就定义什么样的类型,需要存几个数就定义几个变量.
输入数据有两种方法.第一种从键盘输入,就需要用到scanf()这个函数;第二种是直接赋值.
处理数据是对于初学者来说最难的一部分,也就是把我们刚才分析过程转换成语句.这需要学好C语言的三种程序结构.
(1)顺序结构
顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行.顺序结构可以独立使用构成一个简单的完整程序,不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等.
对于要先做判断再选择的问题就要使用分支结构.选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序.选择结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据条件的结果选择对应的分支语句.选择结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解.程序流程图是根据解题分析所绘制的程序执行流程图.
例如上例中,把我们头脑中很快闪过的这些判断过程画成流程图即图1:
由上面的流程图再写出对应的语句就比较容易了.如下所示:
min=a;
if(minb) min=b;
if(minc) min=c;
学习分支结构不要被分支嵌套所迷惑,只要正确绘制出流程图,弄清各分支所要执行的部分,嵌套结构也就不难了.嵌套只不过是分支中又包括分支语句而已,不是新知识,只要对双分支的理解清楚,分支嵌套是不难的.下面我介绍几种基本的分支结构.
①if(条件)
{ 分支体
这种分支结构中的分支体可以是一条语句,此时"{ }"可以省略,也可以是多条语句即复合语句.它有两条分支路径可选,一是当条件为真,执行分支体,否则跳过分支体,这时分支体就不会执行.如:要计算x的绝对值,根据绝对值定义,我们知道,当x=0时,其绝对值不变,而x0时其绝对值是为x的反号,所以呢程序段为:if(x0) x=-x;
②if(条件)
{分支1}
else
其程序段如下:
printf("%d is leap year!",year);
printf("%d is not leap year!",year);
③嵌套分支语句:其语句格式为:
if(条件1) {分支1};
......
else if(条件n) {分支n}
else {分支n◆1}
循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供三种循环,即while循环、do while循环和for循环.三种循环可以用来处理同一问题,一般情况下它们可以互相代替换,另外还有一种goto循环语句,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误,所以不提倡使用.
常用的三种循环结构学习的重点在于弄清它们相同与不同之处,以便在不同场合下使用,这就要清楚三种循环的格式和执行顺序,将每种循环的流程图理解透彻后就会明白如何替换使用,就能更好地理解它们的作用.在分析循环结构的语句时要开清楚,什么时候开始循环(即循环的初始值);什么时候结束循环(即循环的终止条件);循环的时候都做哪些操作(即循环体的执行部分);特别要注意在循环体内应包含趋于结束的语句(即循环变量值的改变),否则就可能成了一个死循环,这是初学者的一个常见错误.
在学完这三个循环后,应明确它们的异同点:用while和do...while循环时,循环变量的初始化的操作应在循环体之前,而for循环一般在语句1中进行的;while 循环和for循环都是先判断表达式,后执行循环体,而do...while循环是先执行循环体后判断表达式,也就是说do...while的循环体最少被执行一次,而while 循环和for就可能一次都不执行.
顺序结构、分支结构和循环结构并不彼此孤立的,在循环中可以有分支、顺序结构,分支中也可以有循环、顺序结构,其实不管哪种结构,我们均可广义的把它们看成一个语句.在实际编程过程中常将这三种结构相互结合以实现各种算法,设计出相应程序,但是要编程的问题较大,编写出的程序就往往很长、结构重复多,造成可读性差,难以理解,解决这个问题的方法是将C程序设计成模块化结构.输出数据是每一个程序必须包含的部分.在C程序中的输出通常是从显示屏上输出最后的结果,使用printf()这个函数.
x◆y◆z=100
按数学方法三个未知数两个方程无解,实际上是可以解的,如果把公鸡,母鸡和小鸡可能的只数全部代入到方程中检验就可以得到最后结果.这种方法叫穷举法.如果我们用手算那可能要花上半天的功夫,但让计算机来算就只需要1秒种.使用算法后分析和处理问题都会简单很多.当我们能熟练地掌握了简单算法后就能实现一些比较复杂的编程问题了.
任何程序只要有思维,有想法,那么实现程序时就不会觉得无从下手.而要学习这种思维方法就是多做题,多读程序,学习别人好的思维方法,多想想一个程序还可不可以有另外一种方法来实现它.这样久而久之,自然会形成一种自己的思维方法.所以呢我认为不管学什么语言都是这样.
培养良好的编程习惯要从第一行代码开始,这也是学好C语言的重要因素.例如编写程序时用缩进的方式、写注释、程序写到一定的阶段时要做一下测试等.这些工作可以帮我们在调试程序时有很大的帮助.程序代码实现后,错误是难免的,所以也要锻炼自己的调试查错能力,而良好的编程习惯可以使我们在调试时减小工作量和提高调试效率,也有助于形成自己的编程风格.
C语言教学探讨
注重编程细节,培养编程技巧
C语言的规则颇多,编写C程序得严格按照其规则进行程序设计,对初学者而言,常常马虎大意,所编写的程序不能正常编译和执行结果,从而打消学生的学习积极性.所以呢在教学初期,教师必须强调C的许多细节问题,让学生的这种不良习惯扼杀于"萌芽"状态.如学生常常在写程序时出现以下问题:
学生在录入程序时,往往忽略标点符号.问题主要表现在:
(1)忘记录入标点,C语言中,一条语句的结束需要用符号";"与另一语句隔开,对初学的学生,他们通常会忽略掉这个细节问题,这需要教师在讲授中明确地指出,让学生弄清楚.另外,强调不同标点符号的作用和区别,如";"和","等等.
对于少数学生,教师虽然强调了很多的细节,但还是不能接受,这便通过程序的调试来让他们明白问题的严重性,通过他们自己对程序的调试来纠正问题的所在,这需要教师耐心地为学生指导.如程序xx.c:
#include stdio.h
void main()
int a=10
printf("a=%d\n",a);
教师深入分析教学大纲, 在全面了解学生的数学基础知识状况的前提下, 根据大纲制定好教学计划,做好每次教学任务计划,明确教学目标,选择适当的练习作业,督促学生不断深入学习.
在制定计划的过程中要针对学生的数学知识基础, 将教材中涉及到的学生未掌握的数学知识类例题进行更换, 避免因数学的方面的问题形成教学障碍, 在课时允许的条件下也可在教学前为学生补充一定的数学方面相关知识.
传统教学模式的教学方式是:用大量的时间讲定义、语法、概念、语句,对学生的要求是注重接受、理解、记忆,讲课方式是老师讲、学生听.学生掌握的知识比较抽象、机械、静止、片面和孤立,他们不知道如何灵活地综合运用这些知识去解决实际问题.基础知识固然重要,但利用基础知识解决实际问题能力的培养是高等教育更为重要的目的.如何使当前的大学生具备扎实基础知识的同时,又具备解决实际问题、批判性思维和创造性思维,发展合作能力与自主学习能力,是目前急待解决的问题,也是人们进行教学改革的思路.
在教学中一定要做到培养学生学习兴趣,让学生体验成功乐趣,改变学习方式,促进教学互动.
计算机科学是一门经验学科与理论学科相结合的课程,在学习时,不仅要掌握理论知识,而且实践操作的经验的积累也非常重要.C语言变成实践经验的积累是不断从编写程序、调试程序和运行程序结果的过程中总结得出,由此,教师在讲授C语言课程时,不能忽视实践课的教学,尤其是学生上机辅导课的教学.
往往,很多教师认为,上机辅导课就是让学生自由练习,及时为有疑问的学生解决问题.实际上这种教学辅导方式是不合理的,应该在以下方面进行改进:
①.)学生上机应有明确的练习目标,提高编程效率
在每学期的教学调查中,同学们总会提到这样的问题:上机课不知道该干什么;写程序无从下手;编程很难等.这就要求我们教师在上机课程中要有目的有意识的给同学安排上机的任务.应该从以下几点来进行上机课程:
(1)结合上课的理论知识,确定上机课要完成的目标.
学生学习的最关键的因素是兴趣,一定要注意提高学生学习的兴趣,如何提高是一个很关键的问题.首先要充分的肯定学生,即便是一点点值得肯定的地方也要肯定.其次多评价学生做的作业,让学生有一定的满足感.最后多让枯燥的程序与实际的生活联系起来.这样就可以大大的提高学生的学习兴趣.
以上就是土嘎嘎小编为大家整理的函数c语言教学设计相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!