c语言程序设计入门

2024-05-11

c语言程序设计入门(精选10篇)

篇1:c语言程序设计入门

1、加法练习程序:由用户通过键盘输入加数和被加数,程序显示加法式子,用户通过键盘作答后,程序给出正确与错误提示信息。要求:利用C的选择语句if条件语句或switch开关语句,键盘输入数据前,程序会出被输入数据的信息提示。#include void main(){ int a,b,c;printf(“please put an addend:n”);scanf(“%d”,&a);printf(“please put an augend:n”);scanf(“%d”,&b);printf(“please answer the question:a+b=?”);scanf(“%d”,&c);if(a+b==c)printf(“very good!”);else printf(“wrong!”);}

个人感觉这个程序最不好的地方是,不管回答正确还是回答错误,程都会立即结束,所以我用了do„while实现一个回答错误之后获得再次回答机会的循环,则程序修改如下: #include void main(){ int a,b,c;printf(“请输入一个加数:n”);scanf(“%d”,&a);printf(“请输入一个被加数:n”);scanf(“%d”,&b);do { printf(“请回答:a+b=”);scanf(“%d”,&c);if(a+b!=c)printf(“请再想一想n”);} while(a+b==c)printf(“回答正确!”);}

2、判闰年程序:判断某一年是否闰年? 要求:程序首先提示用户从键盘输入4位数年份,程序能显示“XXXX年是闰年”或“XXXX年不闰年”的输出信息。

算法:year 是闰年,即year能被4整除但不能被100整除,或 year 能被 400 整除。其对应的C逻辑表达式为:(year % 4 = = 0 && year % 100!= 0)||(year % 400 = = 0)或:(!(year % 4)&& year % 100)||!(year % 400)程序中可设置1个变量leap来代表是否闰年的信息,闰年:leap=1;不闰年:leap=0。#include void main()int year;printf(“请输入4位数年份:”);scanf(“%d”,&year);if(year%4==0&&year%100!=0||year%400==0)//闰年就是能被4整除但不能被100整除及能被400整除的 printf(“%d是闰年”,year); else printf(“%d不是闰年”,year);}

3、三角形九九表程序:要求选择C实现循环的4种方法(if+go, for语句,while语句,do…while语句)中的一种,比如,最好选择for语句来实现如下形式的“九九表”输出。

#include void main()int a,b,c;for(a=1;a<=9;a++)//纵列表数每循环完一次换行 {for(b=1;b<=9;b++)if(b<=a)printf(“ %d”,a*b);printf(“n”);}}

4、平面等腰三角形: 要求利用C的for循环实现如下平面图形输出。

如图,等腰三角形有6层,则 #include viod main()int a,b,c;//a,b,c分别是层数变量,变量,*变量 for(a=1;a<=6;a++){for(b=6-a;b>=1;b--)printf(“ ”);for(c=1;c<=2*a-1;c++)printf(“*”);printf(“n”);}}

5、平面倒立等腰三角形: 要求利用C的for循环实现如下平面图形输出。

#include viod main()int a,b,c;//a,b,c分别是层数变量,变量,*变量 for(a=6;a>=1;a--){for(b=6-a;b>=1;b++)printf(“ ”);for(c=11;c<=2*a-1;c--)printf(“*”)printf(“n”);}}

6、判素数:要求由用户从键盘输入任一正整数m, 程序输出m是否素数的信息。#include viod main()int m,n;printf(“请输入任一正整数m:”);scanf(“%d”,&m);If(m==0||m==1);printf(“%d不是素数”,m);//0和1既不是素数也不是合数 for(n=2;n

7、计算:1!+2!+3!+...+9!

#include void main(){ int i;long p=1;double s=0.0;for(i=1;i<=9;i++){p*=i;S+=p;} printf(“1!+2!+3!+„+9!=%fn”,s);}

8、计算:1!+3!+5!+...+15!

#include void main()int i;long p=1;double s=0.0;for(i=1;i<=15;i++){p*=i;if(i%2!=0)s+=p;} printf(“1!+3!+5!+„15!=%tn”,s);}

9、计算:2!+4!+6!+...+16!

#include void main()int i;long p=1;double s=0.0;for(i=1;i<=16;i++){p*=i;if(i%2==0)s=s+p;} printf(“2!+4!+6!+„16!=%tn”,s);}

10、利用“比较交换法”对由用户从键盘输入的任意10个整数升序排序。要求:利用C的数组和循环,程序能分别输出排序前后的数组。#include void main(){ int i,s,a[10],t;//数组下标变量i printf(“请输入10个整数:n”);for(i=0;i<=9;i++)scanf(“%d”,&a[i]);//将10个整数分别存入该数组的下标0到9这10个位置中去 for(i=0;i<9;i++){for(s=i+1;s<=9;s++)//a[s]为a[i]的后一位 if(a[i]>a[s]){t=a[i];a[i]=a[s];a[s]=t;}//将数组中的数两两逐个比较换位,实现升序 printf(“排序后的数组为:n”);for(i=0;i<=9;i++)printf(“%d ”,a[i]);}

11、统计:由用户从键盘输入任意10个数,统计其中最大数,最小数及平均值。

#include void main(){ int i,s,a[10],t,sum;double n;printf(“输入任意10个整数:n”);for(i=0;i<=9;i++)scanf(“%d ”,&a[i]);for(i=0;i<=9;i++)printf(“%d ”,a[i]);for(i=0;i<=9;i++){for(s=i+1;s<9;s++)if(a[i]>a[s]){t=a[i];a[i]=a[s];a[s]=t;}//实现10数升序排列 for(i=0,1<=9,i++)sum+=a[i];n=sum/10;printf(“10个数的最大是:%dn 10个数的最小是:%dn 10个数的平均是:%tn”,a[9],a[0],n);}

12、由二维数组实现矩阵:定义数组int a[5][4];实现5行4列矩阵输出。要求:矩阵元按数组的逻辑顺序依次是1~20间的自然数。提示:用双重for循环与二维数组的按行输出。#include void main()int i,j,s=1;int a[5][4];for(i=0;i<=4;i++){for(j=0;j<=3;j++){for(a[j]=s;s<=20;s++)printf(“ ”);printf(“%4d”,a[i][j]);} printf(“n”);}

篇2:c语言程序设计入门

#include

main

{

int sign=1;

float deno=2.0,sum=1.0,term;

while(deno<=100)

{

sign=-sign;

term=sign/deno;

sum=sum+term;

deno=deno+1;

}

printf(“the sum is %f ”,sum);

}

2

#include

#define PI 3.14159

#define R 5.3

main()

{

printf(“area=%f ”,PI*R*R);

/*输出面积*/

printf(“circumference=%f ”,2*PI*R);

/*输出周长*/

}

3

#include

main()

{

int a,b=2;

a=1;

float data;

data=(a+b)*1.2;

printf(“data=%f ”,data);

}

4

#include

main()

{

float a,b;

a=123456.72e5;

b=a+20;

printf(“a=%f ”,a);

printf(“b=%f ”,b);

}

运行结果都是123456780.000000

5

#include

main()

{

char a=0x1261,b;

b=a-32;

printf(“%c,%c %d,%d ”,a,b,a,b);

}

6

#include

main()

{

int i=5,x;

x=i++;

printf(“i=%d,x=%d ”,i,x);

printf(“%d ”,++i);

printf(“%d ”,--i);

printf(“%d ”,i--);

printf(“%d ”,-i++);

printf(“%d ”,-i--);

}

++在前 先干别人让它干的事 再干其他事

++在后 先干自己该干的事请 再干其它事

7

#include

main()

{

int x,a;

x=(a=3,6*3);

printf(“a=%d,x=%d ”,a,x);

x=a=3,6*a;

printf(“a=%d,x=%d ”,a,x);

}

8

#include

main()

{

short int a=289;

char c;

long int b=98304;

c=a; /*截取a的低八位赋值给c*/

a=b; /*截取b的低八位赋值给a*/

printf(“a=%d c=%d ”,a,c);

}

9

#include

main()

{

umsign short int a;

a=-1;

printf(“%u”,a);

}

10

#include

main()

{

int a;

a=3.567;

printf(“%d ”,a);

}

11

#include

main()

{

float x;

int i;

x=3.6;

i=(int)x;

printf(“x=%f,i=%d ”,x,i);

}

12

#include

main()

{

int a;

float b;

printf(“char:%d byte ”,sizeof(char));

printf(“int:%d byte ”,sizeof(int));

printf(“a:%d byte ”,sizeof(a));

printf(“b:%d byte ”,sizeof(b));

}

1.计算机二级C语言程序设计考点解析:C语言程序实例

2.计算机二级C语言每日练习

3.计算机二级C语言复习建议

4.计算机二级c语言试题

5.计算机二级C语言程序设计考点:C语言的特点

6.计算机二级C语言程序设计考点:C语言的应用

7.计算机二级C语言程序设计考点:函数

8.计算机二级C语言程序设计考点:数组

9.计算机二级C语言程序设计考点解析:运算

篇3:c语言程序设计入门

1.1基础薄弱

目前,中小学的信息化教育内容参差不齐,有的学校可能会有程序设计的教学,有的学校则以Word、Excel操作为主,对程序设计的入门不重视[1]。很多刚进入大学的学生在程序化的思维方式方面还比较弱,要入高级程序设计语言的门还有很长的路要走。

1.2课时较少

通常程序设计入门以C语言或C++语言为教学内容。作为一种实践性较强的语言,在一个学期中要完成程序设计概念和语法的教学,又要在有限的时间里完成编程调试训练。如果学生没有一定的基础和自学能力,就很难适应这种节奏。

1.3抽象带来的问题

语法、算法等抽象的教学内容将降低学生的学习兴趣, 而学习兴趣对教授与学习两方面都非常重要。有的学生不能通过考核经常就跌入补考和重修的循环。程序设计入门作为核心课程,这个课程出了问题将给计算机专业的后续课程带来很多不好的影响,比如本专业学生对程序设计和其他专业技能缺乏信心以及实践能力。

2程序设计课程的前导课程(Leadingprogramofprogrammingclasses)

学生在程序设计课程中,一方面要努力熟悉算法抽象、 程序控制等一些全新的概念,一方面会遇到很多语法错误, 必须要学习如何调试程序,理论加上实践可能都是前所未有的挑战。前导课程应带来有趣味的内容,为学生补充各种必要的基础概念,如抽象、逻辑、流程等,告诉学生如何在现实世界和计算机世界之间建立起一座桥梁。这样的课程会对程序设计教学有很大帮助。

3Scratch简介(Introductionofscratch)

Scratch是美国麻省理工学院(MIT)媒体实验室开发的一套“程序语言”,利用这个软件可以轻轻松松地创造出互动式故事、动画、游戏、音乐等令人惊叹的作品,是一套简单又有趣的软件[2]。

Scratch采用拖曳、组合的方式来设计程序。它是可视化的程序语言,具有所见即所得的功能。设计Scratch作品的过程是学生学习用计算机进行思考、分析、解决问题的过程, 还能进行团队建设方面的实践。

Scratch把程序命令归为几大部分:包括动作、外观、 声音、画笔、变量、事件、控制等,并用颜色来分类。学生只需要了解各部分模块的功能,按照自己的想法拖到脚本窗口,并按一定规则堆积在一起,最后在浏览窗口就能根据命令脚本直接运行。通过可视化操作学生可以搭建起自己的程序,轻易地把自己的想法表达为计算机的程序。在这个抽象的过程中不用过分操心语法错误等问题。

图1为Scratch设计界面,左上为程序运行场景,左下为程序中设计的主体对象。一个项目可以有多个动画主体(可以是动物人物或其他一些对象),中间是可视化程序模块,右边是程序窗口,利用鼠标可以把中间的程序模块拖入右边的程序窗口,经过修改参数、安排程序模块的顺序和嵌套等工作,就完成了程序编制,接着程序可以在浏览器中执行。

4Scratch对程序设计教学的支持(Supportstoprogrammingclasses)[3]

4.1抽象

现实世界的问题如何抽象为计算机世界的模型?第一步可以从学习抽象为计算机里的对象开始。我们把需要处理的内容抽象为Scratch的动画主体,比如一个人物或一个物体。 动画主体可以具有各种行为,比如在平面中移动。如图2是一个负责动作的程序模块,能控制动画主体平移到坐标(100, 200)处,其中白色的部分为可以修改的坐标值。

4.2结构化程序

Scratch具有可以拖曳的结构化模块。设计时候只需要把模块拖入场景中,就可以实现循环或选择的程序结构,并且能实现循环和选择的嵌套,制作需要的程序流程。图3演示了循环结构的程序模块,repeat后面的循环次数可以修改,可以看到循环程序模块和循环体中的其他程序模块的颜色是不同的,它们属于不同的功能分类。

图4中演示了具有逻辑表达式模块(绿色)的选择结构程序,如果i+2与10相等则执行条件成立。

其中使用的橙色模块i是Scratch的变量模块。Scratch程序能够使用数字和字符串变量。变量可用来控制某个图形的大小或个数,变量还能具有不同的作用域。由此我们向学生展示了变量存储值、变量值影响程序结果以及变量的作用域等概念。

Scratch具有列表的结构,列表可以存储数值或字符串。 列表可以具有作用域,可以获得列表的长度。列表项具有添加、删除、插入等操作,并能通过下标获取特定的列表项。 列表可以帮助学生学习数组的概念。

Scratch的结构化程序设计是可视化的,调试简单,能帮助学生把精力集中在程序结构上,而不需要为语法错误分心。

4.3面向对象

Scratch能够设置动画主体,可以视为对象模块。不同的动画主体具有独特的属性,可操作自己的变量,能完成独特的任务。在后续课程中这些概念很容易引申为对象及其属性和行为的概念,这是面向对象程序设计的基础。图5为迷宫程序的设计,其中球体是一个对象,而终点方块的是另一个对象。我们可以利用键盘移动球体,当碰到方块对象时后者能做出赢得游戏的反应。球体对象在移动过程中碰到障碍则会产生反弹。

5Scratch作为程序设计教学前导课程的实践(Experimentsinprogrammingclasses)

在参考文献[4]中提到的学校已经尝试使用Scratch平台作为计算机专业课程的前导课程。学校把学生分为两部分,一部分基础薄弱的学生在第一个学期先参加Scratch课程,到第二个学期才开始学习高级程序设计语言。而另一部分基础良好的学生则在第一个学期就开始学习高级程序设计。

最终学过Scratch的学生,尽管基础薄弱,他们的最终成绩在通过率和平均成绩方面都超过基础良好的学生,并且在精通程序、喜爱专业课程、参与专业实践等方面都有更好的表现。这些学生专业成绩更好,对专业更热爱,对程序设计更有信心。

6结论(Conclusion)

篇4:c语言程序设计入门

关键词:记忆法;C程序设计语言;口诀记忆

中图分类号:H319文献标识码:A文章编号:1671-864X(2016)08-0190-01

计算机C语言具有设计特性、高效性、可移植性、灵活性、强大的功能等优势,学好C语言有非常重要的意义[1]。但由于初学者缺少先验知识,该课程学习难度大,知识掌握较困难。本文采用“口诀记忆法”,将一些较为复杂和零散的知识点进行编写串联,对促进学习者有效学习的发生,提供了一种较好的选择。

该课程新增知识点较少,教材内容变化不大,通过以下四个步骤(如图1),即可完成编写过程,后续只需在教材章节的基础上对知识点上进行细化。

一、分析环节

分析环节一般分为两个步骤,第一是对学习者的分析,第二是对知识点的分析。分析学习者应该着重分析学习者的一般特征、入门能力和学习风格。教师可以通过查看学生以前的学习成绩记录、直接向学生提问、与学生交谈、与教师交谈、标准化测试、教师自己出题等方式来了解教学对象的特征和入门能力[2]。学习风格可以选择问卷或量表进行测量。在此基础上,确定要进行记忆的重难点。教学者应重点关注那些理解力和思维能力较弱,但容易调动积极性的学习者,进行重点的教学辅导。

对于知识点的分析,一般应结合教材目录、前人总结、课后习题、题库试题等方面进行。以《第二章C程序设计的初步知识》[3]章节为例,首先借助教材对知识点进行初步细分。由目录可知,该章节包括“简单的C语言程序的格式”、“标识符、常量和变量”、“数据类型”、“算术表达式”、“赋值表达式”、“自加、自减运算符和逗号运算符”等小节。其次是对每小节具体知识点进行分析,教材一般都提供了课后习题,这些习题是专家教师经过长期实践总结出的,具有一定的代表性。教学者可以将其中一部分作为要点暂时列出。最后在结合对学习者分析的基础上,进一步筛选出要点知识,即编写知识点。

二、选择记忆方式

对于编写知识点,可以采用口诀记忆可以选择谐音、简化、对偶和综合等方式进行编写。谐音记忆就是把需要记忆的教学难点内容跟日常生活中的谐音结合起来,采用押韵、联想等方式进行记忆;简化是将复杂的知识点,突出重点后进行选择性的简化;对偶是用对称的字句加强语言的效果,但一般情况下在记忆法中,较难达到完整的对偶,只要求字数大概一致即可;综合的方式是指没有固定的格式,可以将几种方式结合运用(如表1所示)。初步完成编写的记忆法往往较为粗陋,还会存在混淆概念或知识点的可能,教学者需要在不断实践的基础上进行修改,同时最好配有口诀的解析说明,方便学习者理解记忆,避免产生歧义。

三、学习者参与编写

对编写的口诀而言,学习者参与编写,可以发挥群体智慧,逐步完善其解释和记忆功能。对学习者自身而言,积极参与会提高学习效果[2]。对教学者而言,可以减轻教学者编写负担。教学者可以定期组织学习者展示上交记忆法成果。

四、评价反馈与修改

评价反馈与修改在整个记忆法的编写过程中都在不断进行,包括判断学习者分析是否准确、对知识点的分析是否适当、对记忆方式是否有改进、对学习者学习和编写过程及结果是否有效。在此过程中,记录调查结果、原始口诀和改进口诀及其解释说明、学习者学习表现等都会为评价过程提供重要的数据依据。同时鼓励并组织学习者对学习中的重难点和学习中出现的问题进行反馈;最后,教学者要把握谨慎修改,修改必须记录说明的原则,逐步修改和完善记忆法。

参考文献:

[1]普拉塔.C Primer Plus(第五版)中文版[M].人民邮电出版社,2005.

[2]斯马尔迪诺.教学技术与媒体[M].高等教育出版社,2008.

[3]教育部考试中心.全国计算机等级考试二级教程——C语言程序设计[M].2010年版.北京:高等教育出版社,2010.

篇5:C语言初学者入门讲座1

当代最优秀的程序设计语言

早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。成为当代最优秀的程序设计语言之一。

C语言的特点

C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。

C语言版本

目前最流行的C语言有以下几种:

·Microsoft C 或称 MS C

·Borland Turbo C 或称 Turbo C

·AT&T C

这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美,

面向对象的程序设计语言

在C的基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。 C++进一步扩充和完善了C语言,成为一种面向 对象的程序设计语言。C++目前流行的最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++ 2.0。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。

C和C++

但是,C是C++的基础,C++语言和C语言在很多方面是兼容的。因此,掌握了C语言,再进一步学习C++就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目的。

C源程序的结构特点

为了说明C语言源程序结构的特点,先看以下几个程序。这几个程 序由简到难,表现了C语言源程序在组成结构上的特点。虽然有关内容还未介绍,但可从这些例子中了解到组成一个C源程序的基本部分和书写格式。main()

{

printf(“c语言世界www.vcok.com,您好!n”);

}

main是主函数的函数名,表示这是一个主函数。每一个C源程序都必须有,且只能有一个主函数(main函数)。函数调用语句,printf函数的功能是把要输出的内容送到显示器去显示。printf函数是一个由系统定义的标准函数,可在程序中直接调用。

#include

#include

main()

{

篇6:C语言从入门到精通所需的7本书

1.C primer plus C primer plus作为一本被人推崇备至的c入门经典,C primer plus绝非浪得虚名。应该算得上C教材里最好的入门书了。

在知识广度上,很少有书能匹及。它能为你系统学习c提供一个良好的平台。作者对c的见解精辟。在娓娓叙述的同时,作者辅以大量程序以分析。它让我对C有了更加系统的全新认识。决非国人所写的那些公理化的教条说教,我觉得作者把自己的心血全部吐露。书很厚,近700页,却不没有让我觉得任何的烦琐。甚至是兴趣盎然。我把上面所有的课后题目都做了。

最为重要的是,看完这本书后,我再也不觉得c很高深枯燥无味了。如果你问我,你最大收获是什么。我会告诉你,兴趣!

2.The C programming language

拿到这本薄薄的书,很多人开始怀疑,C语言是这么几百页能讲清楚的么。看完这本书,我想答案已经很明了,却真的让人感到震憾。什么是好书?无法删减的书才是真正的好书。

K&R的书一如C语言的设计理念:简单而高效 里面的习题建议都认真做一遍,而且是在linux下用vi来做,用makefile来编译,用shell脚本来进行测试,本来第八章的题就是和linux 相关的 计算机的大学生们不应只会在WINDOWS下用VC来编程,而都应该在linux环境下进行程序设计,因为linux本身就是为开发者准备的操作系统。

3.C和指针

这本书最大的特点就是和指针结合在一起进行讲解,通过一些经典的C例题对所学的知识进行巩固,对指针的基础和深入的探讨,有助于初学者更好的理解C语言,还有明白C的存储机制。我之前买了《C语言详解》和《C Primer Plus》结合这本书一起学习,可以说是完美的,希望每个热爱C语言的人能够拥有这本书。

我在这里推荐给所有想学好C语言的朋友!

4.C专家编程 感觉这本书的特色:

1.全书如一部优美的故事,但听作者娓娓道来.2.语言风趣活泼,除了c语言,还教会了我们很多做人做事的道理.3.作为Sun公司的工程师,内功极深,不迷信任何权威,还经常调侃下 ANSI C委员会,ISO组织和GNU的作品(如GCC).4.把c讲解到了一个很高的层次,深入剖析了其他书上没有提到过的好东西.5.C缺陷与陷阱

很好的书,不是初级读物,但也不过于艰深,而且厚度刚刚好,让人在热情高涨阶段读完,不致于到了一半时间就气馁。

对于C程序员来说,特别是对于入门没多久,有过一段时间编程经验的新手来说,是本很少的书。告诉你在c语言编程时常常可能会遇到到问题。例如老的库函数中字符串处理函数中存在的一些问题,如何规避。指针越界,野指针等带来的问题等等。非常值得阅读。

6.C标准库

C标准库“圣经”,提供完整源代码,全面深入阐述库函数的实现与运用。C程序员必备参考书。本书是由世界级C语言专家编写的C标准库经典著作。英文版已经重印十多次,影响了几代程序员。

本书结合C标准的相关部分,精辟地讲述了每一个库函数的使用方法和实现细节,这正是一个真正的C程序员所必须掌握的。更重要的是,书中给出了实现和测试这些函数的完整源代码。可以让你更深入地学习C语言。不仅如此,本书还讨论了一些即使是最有经验的C程序员通常也不熟悉的知识,比如国际化和独立于区域设置的程序的编写、与构建库相关的概念和设计思想。

7.C语言解惑

篇7:c语言程序设计入门

C语言的非数值处理功能很强,因此它被广泛地应用于数据库管理系统和应用软件。大多数的关系数据库管理系统,如dBASE,Fox$ASE,ORACLE等,都是由C语言编写的。各种不同部门的应用软件也大都是用G语言开发的,C语言在开发数据库应用软件方面应用很广,深受开发者的欢迎。

2.图形图像来统的应用程序方面

C语言在图形图像的开发中也有着广泛的市场。很多图形图像系统,如AutoCAD通用图形系统等,就是使用C语言开发的,并且在这些图形系统中可以直接使用C语言编程,实现某些功能。C语言编译系统带有许多绘图功能的函数,利用这些函数开发图形应用软件十分方便。所开发的应用程序常用C语言编写接口界面,这样既方便又灵活,效果很好。这是因为该语言提供有图形处理功能,便于实现图形图像的各种操作。因此,C语言在图形图像的应用方面很好地发挥了它的作用。

3.编写与设备的接。程序方面

C语言不仅在建立友好界面方面有着广泛应用,如下拉式菜单、弹出菜单、多窗口技术等;而且在编写与设备的接口程序方面也有着广泛应用。这是因为C语言不仅具有高级语言的特性还具有低级语言的功能,因此,在编写接口程序方面十分方便,有时它与汇编语言一起使用,会显示出更高的效率。

4.数据结构方面

由于C语言提供了十分丰富的数据类型,不仅有基本数据类型还有构造的数据类型,如数组、结构和联合等,把它们用于较复杂的数据结构〔例如,链表、队列、伐、树等)中显得十分方便,这方面已有许多成熟的例程供选择使用。

5.排序和检索方面

排序和检索是数据处理中最常遇到并较为复杂的间题。使用C语言来编写排序和检索各种算法的程序既方便又简洁。特别是有些排序算法采用了递归方法进行编程,更显得清晰明了。因此、人们喜欢使用G语言来编写这方面的程序。

上述列举了五个方面的应用,但绝不是说C语言的应用仅限如此,而是说在这几个方面目前使用得更多些。C,语言可以说在各个领域中都可以倪用,并且都会有较好的效果。所以,C语言是当前被用于编程的最广泛的语言之一。

另外,C语言是一种结构化程序设计语言,在编写大型程序中也很方便,特别是该语言又提供了预处理功能,其中文件包含在多人同时开发一个大程序时将带来减少重复和提高效率等好处,因此,越来越多的人喜欢用C语言来开发大型程序。

1.计算机二级C语言程序设计考点:C语言的特点

2.计算机二级C语言程序设计考点解析:C语言程序实例

3.计算机二级C语言程序设计考点:指针

4.计算机二级C语言程序设计考点:数组

5.计算机二级C语言程序设计考点:函数

6.计算机二级C语言考点:字符型数据

7.计算机二级c语言试题

8.计算机二级C语言程序设计考点解析:常用的输人函数

9.计算机二级C语言程序设计考点:单词及词法规则

篇8:c语言程序设计入门

1“以人为本”开展教学

学生是教学活动的主体,教学活动要以学生为中心而展开。教育心理学的研究表明:学生在没有精神压力、没有心理负担、心情舒畅,情绪饱满的情境下,大脑皮层容易形成兴奋中心,思维最活跃,实践能力最强。因此,在授课过程中,本人尽量以通俗易懂的方式讲解,通过设置问题情景,充分调动学生的积极性和主动性,引导学生参与到教学环节中。课下,深入学生群体,通过与学生交流,把握学生的思想动态,及时做好学生的思想工作。同时利用课余时间与学生打成一片,建立一种民主平等亦师亦友的关系。在评价学生时,根据学生特点,经常运用一些激励性的语言。例如:“你真聪明”、“你真行”、“我为你感到骄傲”、“你虽然说错了,但很勇敢”等等。一次次的表扬和鼓励,使学生充分信任自己,从而达到在课堂教学中的互动。

2 采用“模块化”教学方式

C语言是计算机及其相关专业的一门非常重要的基础课。但这几年的C语言的教学效果总是不理想。主要存在的原因:一是C语言牵涉的概念比较复杂,规则繁多。不容易记忆,而且易混淆。二是C语言应用灵活。学生不能较好地将所掌握的理论知识应用到实践中。针对现状,我在本学期授课中,积极响应职业教育改革要求,进行模块化教学。按照C语言教学大纲和教学计划,我将授课内容划分为6个模块:课程入门、结构化程序设计、数组应用、函数应用、结构体和指针的综合应用以及文件应用。在每一模块的教学过程中,首先介绍一个较完整的程序例子,该例子包含了此模块所涉及的主要语法和语句,目的是使学生先对此部分内容有个初步的印象,再简单介绍该例子中用到的语法和语句,让学生对该模块的学习有一个大概的了解,也不会因为一大堆语句的出现,而对学习语言望而生畏。这样的教学方法,学生先对语言的学习有了整体的概念,再具体介绍语句,学习时心里就有了“底”。整个教学过程中应该把解题思路、方法和步骤(即“算法”)当作授课的重点,从而让学生明白如何分析并解决实际问题,逐渐培养学生进行程序设计的正确思维模式。

3 构建自主探究、小组讨论的学习模式

为了能够及时、全面地关注到每位学生的学习状态,充分调动学生的积极性,我采用分组方式进行教学控制和管理。每周抽出固定时间对组长进行提前培训,并给出一些难度较高、与实际生活接近的题目,加强辅导,引导学生掌握良好的编程思想。然后在课堂讨论和实践课时间,就由组长全权负责。实践证明,自主探究、小组讨论的学习模式,变被动接受为“自主研究”型学习,实现学生学习方式的个性化。这种学习模式能够克服和解决以教师讲授为主要形式带来的许多弊端,尤其在促进调动全体学生参与学习活动方面效果特别明显。这种学习模式是研究型的,力求做到学生人人参与,为其创设了宽松良好的环境,使其可以随想、随说、随问,消除自卑感,让其不同程度的得到发挥、提高。

4 采用丰富多彩的CAI课件进行课堂教学

针对C语言中一些比较抽象、难理解的知识点,积极引入CAI课件进行讲解。CAI课件可创设新颖有趣的动画情境,容直观性、多变形、知识性、趣味性于一体,为学生营造一个图文并茂、动静结合的教学场景,促使学生多种感官同时接受刺激,大大激发了学生的学习兴趣,活跃课堂气氛,从而达到“课伊始,趣亦生”的境界。以指针为例,指针是地址的形象化名称。要想掌握指针,关键是弄清楚指针的指向问题。所以此部分内容需要结合所使用的数据在内存中的存储问题讲解。这就需要形象化的描述出内存的存储。利用CAI课件不但能够形象化地描述出数据在内存中的存储,还可以动态记录指针在某一时刻的变化。从而化抽象为形象,便于学生理解。

总之,经过积极的探索和思考,打破传统的教学模式,采取以人为本、模块化教学、结合CAI课件等方式,充分调动学生的积极性和参与性,才能更好地培养学生的竞争合作精神和独立学习的能力,才能适应职业教育的改革发展要求。

参考文献

[1]张瑞,陈岚.关于多媒体教学的几点思考[J].贵阳金筑大学学报,2004(4):73-74.

[2]薛小锋.C语言程序设计》教学方法探析[J].福建电脑;2004(1):81,87.

[3]魏利华.谈《C语言程序设计》课程的教学定位[J].雁北师范学院学报,2003(3):97-99.

[4]徐章艳.“C语言程序设计”实验教学探讨[J].电气电子教学学报,2004,26(2):84-89.

篇9:浅探《C语言程序设计》教学

关键词:C语言;项目化教学;教学方法

中图分类号:TP312.1-4 文献标识码:A 文章编号:1674-7712 (2014) 18-0000-01

《C语言程序设计》作为计算机专业的基础课,在整个课程体系中占有重要地位。在C语言教学过程中,教师的教学方法和学生的理解接受能力的差异,对教学效果都会产生直接的影响。总结多年来的教学经验和教学体会,结合学生在学习程序设计类课程的思维规律和模式,把一些经验和方法总结出来,希望能对C语言教学有所帮助。

一、现行教学和学习中存在的问题

现行教学中理论课与实践课相对分离,不能相互促进。理论课中往往只注重对教材知识的分析和灌输,而在实践课程中,老师很难监控到每个学生,了解他们是否都在认真编写、调试程序。这就造成理论课没有起到为实践课打基础的作用,实践课也没有起到巩固、应用理论课的作用。《C语言程序设计》是一个逻辑性很强的课程。学生在面对具体的程序设计时遇到的问题与教材中的内容相距甚远,这使大多数同学感到无从下手。这其中的原因可以分成两类:一方面目前高校使用的大多数教材中,结构都基本相同。在每一章介绍完了概念之后,提供一些例题解释相关概念的使用方法,并在章节结束后针对本章中出现的内容提供一些练习题。考试也主要是测试学生对于教材内容的掌握程度,而与实际应用相距较大。这种考试实际上主要是测试学生对书本中的基本知识的掌握程度,而忽略了对学生解决实际问题的能力的培养。另一方面为了应付考试,学生更多注意的是教材中的典型例题与老师指定的重点内容,对于程序的系统概念没有真正理解,特别是没有程序整体设计的概念。这样做的结果就是学生在学习时一切围绕老师讲课的内容,特别是老师讲授的例题。学生在学习的过程中,没有注意如何综合运用相关内容来解决具体问题,导致学生在学完程序设计课程进入应用阶段时,面对具体的专业设计要求无从下手。

二、提高教学效果的方法和途径

(一)明确课程目标。本课程的目标主要是提高学生解决实际问题的能力,适应社会需求。对C语言程序设计课程的教学而言,强调实践性是在教学中特别重要的问题。老师的教学不应仅仅是传授知识,应该以培养学生的实际应用能力为主。C语言的内容繁多,在有限的课时内不可能也不必要面面俱到,所以必须突出重点,突出实用性,关键在于教会学生正确运用C语言编写程序,一些细节、具体规则和进一步的知识可以让学生在今后的应用中来不断学习和掌握。教师应始终坚持以应用为中心,以算法为基础,以培养学生的实践能力为核心,突出技术实用性和再学习能力的培养。

(二)进行教学改革。1.教学内容改革。高职学校学生的培养就是要直接面对社会需求,招之即能用。因此,程序设计课程要以社会对编程能力的需求和技术发展为依据,调整教学大纲和教学内容,以适应技术岗位能力要求,设计课程体系。在课程设置与建设中,要充分体现教学内容在训练和提高学生实践能力方面的要求,强化学生的实际开发和应用能力。总结本人多年的教学经验,结合其他老师成功的教学方法,采用项目化教学方法可以达到很好的效果。这个项目应具有以下几个特点:(1)实用性。本项目就是一个具体的实际需求,是解决现实性中一个实际问题而设计,这样也能提高学生的兴趣和热情;(2)完整性。本项目的程序设计是系统的、完整的,要能全面运用整个课程学习的知识,案例的设计贯穿整个课程的学习,随着课程的学习不断完善。

2.改变教学思想和方法。培养学生对C语言的兴趣及正确的思维模式。《C语言程序设计》注重由设计算法到书写程序并进行调试的整个过程,显得抽象、复杂,这也是大多数学生抱怨程序设计太难、太深奥、不好学的主要原因。在教学过程中,先介绍项目的整个程序设计框架,目的是使学生先对程序有个初步的印象,再结合教材,简单介绍该例子中用到的语句,让学生对该语言的学习有一个大概的了解,避免学生对学习语言望而生畏。整个教学过程中应该把“解题思路、方法和步骤”当作授课的重点,从而让学生明白如何分析、解决实际问题,逐渐培养学生进行程序设计的正确思维模式。计算机语言程序设计中算法是其灵魂,是教学重点,也是教学难点,而语言只是表示形式。没有正确的算法,计算机将解决不了任何问题。对于C语言所涉及到的算法,应进行部分精讲多练。通过案例分析,重点讲解程序设计的思想和方法,辅以語言知识的介绍,将课程内容分为若干个主题,以项目程序设计为贯穿各主题的主线。每个主题的教学过程由“要点讲解”、“练习/上机实践”和“疑难解答”三个阶段组成,然后提出项目中的问题,以学生独立完成为主,教师只提供必要的辅导,培养学生探索问题和解决问题的能力,更有利于创新能力的培养。整个课程教学围绕一个工程项目进行,通过逐步拓展的实训项目和设计,将每一阶段的学习进行小结性的贯穿与能力提高。将C的知识点都溶化到项目的程序编写中。

3.改革课程考核方式。(1)平时上机训练时给学生留一些编程习题,每次根据学生编写情况进行测评并占据期末总成绩30%;(2)期末前,要求学生完成本课程项目的整体设计,考核学生综合解决问题的能力,占据期末总成绩30%;(3)期末进行理论考试,占期末总成绩的40%。

(三)展示学生作品,激发学生的学习欲望。计算机软件课程具有多样性、复杂性和求异性特点,我们要针对每个学生任务完成的情况,让同学们展示自己的学生成果,及时肯定学生的成绩,这样会有利于激发学生的学习热情,保持学生的学习兴趣,对学生的后续学习将产生强大的动力和自信心。

(四)培养学生的自学能力和创造性。学生学习计算机语言的最终目的是编写满足实际需求的程序,所以在教学中教授的不仅仅是具体语言的语法知识,更重要的是通过这门语言学习,培养学生遇到实际问题自己分析问题、解决问题的能力。我们可以通过给学生布置作业的形式让同学们自学,老师既要要求学生独立思考、自主学习,又要鼓励学生间进行协作学习。教师可以分配一些比较复杂的问题,由几个学生组成一个小组合作解决,这样同学们可以互相探讨学习方法,协作解决一些遇到的问题。通过解决问题,锻炼学生综合应用知识的能力、培养其创造性和合作精神。

参考文献:

篇10:C语言课程设计程序

//定义学生结构体,st数组。

int score[5];float jqave;int rank;}st[27];

struct kecheng { int num;char kcname[20];

//定义课程结构体,course数组.float xuefen;float biaozhuncha;int youxiu;int lianghao;int zhongdeng;int jige;int bujige;

}course[5];

void readdata1(){

int i,j;

char str1[100];

FILE *f1;

f1=fopen(“c:xinji110213.txt”,“r”);

fgets(str1,100,f1);// printf(“%-s”,str1);

for(i=0;i<27;i++)

{

fscanf(f1,“%d%s”,&st[i].num,st[i].name);

// printf(“%-4d%-10s”,st[i].num,st[i].name);

for(j=0;j<5;j++)

{

fscanf(f1,“%d”,&st[i].score[j]);// printf(“%-9d”,st[i].score[j]);}

// printf(“n”);}

fclose(f1);}

void readdata2(){

int k;

char str2[100];

FILE *f2;

f2=fopen(“c:xj02kc.txt”,“r”);

fgets(str2,100,f2);// puts(str2);

for(k=0;k<5;k++)

{

fscanf(f2,“%d%s%f”,&course[k].num,course[k].kcname,&course[k].xuefen);

// printf(“%-8d%-10s%2.1fn”,course[k].num,course[k].kcname,course[k].xuefen);

}

fclose(f2);} void jqave(){ int i,j;float s=0,sum=0;for(i=0;i<27;i++)

{

for(j=0;j<5;j++)

{

s+=course[j].xuefen;

sum+=st[i].score[j]*course[j].xuefen;

}

st[i].jqave =sum/s;

} }

void ranking()

{ int i,j;

for(i=0;i<27;i++){

st[i].rank=1;

for(j=0;j<27;j++)

if(st[i].jqave

st[i].rank=st[i].rank+1;} }

void paiminghoudechengji(){ int i,j;FILE *fp;fp=fopen(“c:MC110213.txt”,“w”);printf(“ 名次 学号

姓名

数学分析

高等代数

C语言

大学物理

大学艺术

加权平均分 n”);fprintf(fp,“ 名次 学号

姓名

数学分析

高等代数

C语言

大学物理

大学艺术

加权平均分 n”);

for(i=0;i<27;i++)

{

printf(“%3d%5d%8s”,st[i].rank,st[i].num,st[i].name);

fprintf(fp,“%3d%5d%8s”,st[i].rank,st[i].num,st[i].name);

for(j=0;j<5;j++)

{

printf(“%10d”,st[i].score[j]);

fprintf(fp,“%10d”,st[i].score[j]);

}

printf(“%12.2fn”,st[i].jqave);

fprintf(fp,“%12.2fn”,st[i].jqave);} fclose(fp);}

void xiechengji(){ int j;FILE *fp;fp=fopen(“c:xj1110213.txt”,“w”);fprintf(fp,“ 编号

课程名称

课程学分

标准差

优秀

良好

中等

及格

不及格

n”);printf(“ 编号

课程名称

课程学分

标准差

优秀

良好

中等

及格

不及格

n”);for(j=0;j<5;j++)

{

printf(“%3d%15s%10.2f”,course[j].num,course[j].kcname,course[j].xuefen);fprintf(fp,“%3d%15s%10.2f”,course[j].num,course[j].kcname,course[j].xuefen);

printf(“%10.1f%8d%8d%8d%8d%6dn”,course[j].biaozhuncha,course[j].youxiu,course[j].lianghao,course[j].zhongdeng,course[j].jige,course[j].bujige);

fprintf(fp,“%10.1f%8d%8d%8d%8d%6dn”,course[j].biaozhuncha,course[j].youxiu,course[j].lianghao,course[j].zhongdeng,course[j].jige,course[j].bujige);

} fclose(fp);}

void pingjunfen(){ int i,j;

for(j=0;j<5;j++)

{

float zongfen=0,pingjunfen=0;

for(i=0;i<27;i++)

zongfen+=st[i].score[j];

pingjunfen=zongfen/27;

} }

void biaozhuncha(){

int i,j;

for(j=0;j<5;j++){

float zongfen=0,pingjunfen=0,x=0;

for(i=0;i<27;i++)

zongfen+=st[i].score[j];

pingjunfen=zongfen/27;

for(i=0;i<27;i++)

x+=(st[i].score[j]-pingjunfen)*(st[i].score[j]-pingjunfen);

course[j].biaozhuncha=(float)sqrt((x/27));

} }

void count(){

int i,j;

for(i=0;i<5;i++)

{

course[i].youxiu=0,course[i].lianghao=0,course[i].zhongdeng=0,course[i].jige=0,course[i].bujige=0;

for(j=0;j<27;j++)

{

if(st[j].score[i]<60)

course[i].bujige++;

else if(st[j].score[i]<=69)

course[i].jige++;

else if(st[j].score[i]<=79)

course[i].zhongdeng++;

else if(st[j].score[i]<=89)

course[i].lianghao++;

else

course[i].youxiu++;

} } }

void chengjitiao(){

int i,j;FILE *fp;fp=fopen(“c:cjt110213.txt”,“w”);do

{ printf(“请输入你要查询的编号

退出请按零”);

scanf(“%d”,&i);

fprintf(fp,“ 编号

姓名

数学分析

高等代数

C语言

大学物理

大学艺术

加权平均分

名次n”);printf(“ 编号

姓名

数学分析

高等代数

C语言

大学物理

大学艺术

加权平均分

名次n”);if(i>=0&&i<=26)fprintf(fp,“%3d%10s”,st[i-1].num,st[i-1].name);

printf(“%3d%10s”,st[i-1].num,st[i-1].name);for(j=0;j<5;j++){

printf(“%9d”,st[i-1].score[j]);

fprintf(fp,“%9d”,st[i-1].score[j]);} printf(“%12.2f%8dn”,st[i-1].jqave,st[i-1].rank);fprintf(fp,“%12.2f%8dn”,st[i-1].jqave,st[i-1].rank);fclose(fp);} while(i>0&&i<28);

}

void bujigexueshengmingdan(){

int i,j;

printf(“不及格学生名单如下:n”);printf(“ 学号

姓名

不及格课程

分数

n”);for(i=0;i<27;i++){

for(j=0;j<5;j++)

if(st[i].score[j]<60)

{printf(“%3d%12s”,st[i].num,st[i].name);

printf(“%15s%8dn”,course[j].kcname,st[i].score[j]);

// printf(“

平均分”);

// printf(“%10.2f

名次%8dn”,st[i].jqave,st[i].rank);

}

} }

void youdeng(){ int i,k;printf(“ 优等生名单如下n”);printf(“编号

姓名

数学分析

高等代数

C语言 大学物理 大学艺术 加权平均分

名次n”);for(i=0;i<27;i++){ // for(j=0;j<5;j++)

if(st[i].jqave>=90||st[i].rank<=3)

{

printf(“%2d%10s”,st[i].num,st[i].name);

for(k=0;k<5;k++)

printf(“%9d”,st[i].score[k]);

printf(“%10.2f%8dn”,st[i].jqave,st[i].rank);

}

else;

} }

void caidan()

{ loop: printf(“

&&简易教学管理系统&&n”);

printf(“press 1 for

排名后的成绩表

!n”);

printf(“press 2 for

各科成绩情况!n”);

printf(“press 3 for

成绩条!n”);

printf(“press 4 for

不及格学生名单!n”);

printf(“press 5 for

优等生名单!n”);

printf(“press 0 for

退出n”);

int t;

scanf(“%d”,&t);

switch(t)

{

case 1:

paiminghoudechengji();break;

case 2:

xiechengji();break;

case 3:

chengjitiao();break;

case 4:

bujigexueshengmingdan();break;

case 5:

youdeng();break;

case 0:

exit(0);

}

goto loop;

}

void main(){

readdata1();

readdata2();

jqave();

ranking();

pingjunfen();

biaozhuncha();count();

上一篇:特岗老师转正所需材料下一篇:医疗销售奖励通知