C语言上课教案.docx

上传人:b****6 文档编号:4336210 上传时间:2022-11-29 格式:DOCX 页数:20 大小:37.99KB
下载 相关 举报
C语言上课教案.docx_第1页
第1页 / 共20页
C语言上课教案.docx_第2页
第2页 / 共20页
C语言上课教案.docx_第3页
第3页 / 共20页
C语言上课教案.docx_第4页
第4页 / 共20页
C语言上课教案.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

C语言上课教案.docx

《C语言上课教案.docx》由会员分享,可在线阅读,更多相关《C语言上课教案.docx(20页珍藏版)》请在冰豆网上搜索。

C语言上课教案.docx

C语言上课教案

第一课C语言入门

1.1什么是C语言

简单的说,C语言就是一门计算机编程语言,它的作用呢就是按照咱们的要求去控制计算机。

既然C语言能控制计算机,那么它到底能干什么呢?

大家想一下,在《骇客帝国》等美国电影中,经常会看到一些黑客对着电脑,框框一顿乱敲,就控制某个大楼或者某个飞机等;再如咱们身边的智能设备:

智能手机、智能手表、智能手环、智能路由等等,这些都是C语言可以搞定的。

说了那么多羡慕吧O(∩_∩)O哈哈~,我们可以简单的认为,如果想做到像上面描述的那样,咱们就可以使用C语言这门编程语言来完成咱们的心愿。

为了能尽快的认识C语言到底是什么样子的,请看示例HelloWord,这可是每本编程类书籍的第一个例子,然后运行看看大名鼎鼎的“你好世界”的效果。

#include

intmain()

{

printf("HelloWorld\n");

return0;

}

程序输出

HelloWorld

1.2HelloWord和学习建议

从众多研发工程师的角度来看,学好C语言其实是完全能够实现的,有以下几点需要给大家传授一下:

Ø从最简单的开始

Ø不要眼高手低

Ø每当写完一个程序,要对其进行理解

Ø坚持不懈,每天进步一点点,你的收获会很多

Ø刚开始学习C语言不要去搭建复杂的开发环境,比如VI、GCC

还记得上次说的HelloWord程序吗?

有同学可能是第一次学习C语言,那么首先要给大家讲一下HelloWord这个程序。

#include

这句话的意思是,包含一个文件这个文件的名字叫:

stdio.h,咱们可以简单的理解为用来辅助接下来C语言执行的

intmain()

如果咱们写好了一个C语言程序,比如说有1万行的代码量,那么这个程序执行的时候到底从哪一行开始执行能?

main就是程序在运行的时候,第一句要执行的语句;其实这个main是一个函数(函数后面咱们会讲到)。

{……}

在main()后面接下来的必须要有一个对花括号{},它的作用我们可以理解为:

一个范围,比如长江以北这就是个范围,在这个范围里面,即在{}里面输入咱们要具体执行的代码。

printf(“HelloWorld“);

它的作用是输出信息到咱们的终端(就是一个可以看得见的地方,比如咱们那个黑框)。

在printf的()中写什么,那么将来执行到这句话的时候终端就会出现什么,但要记住,要使用双引号””把要输出的信息包裹起来。

return0;

不知道大家有没有遇到过在windows中运行一个软件的时候,突然屏幕上弹出一个黑框上面写着error……其实这就是说刚刚运行的程序出现了问题,对吧;那么return和这些有什么关系呢?

是这样的,main函数中的这个return用来告诉系统刚刚的程序已经结束,只不过后面的数字0一般都代表着正常结束程序。

Ø现在自己输出一下自己的姓名:

#include

intmain()

{

//在下一行进行输入yourname

printf("yourname\n");

return0;

}

1.3完整的C语言程序长啥样

自己在电脑上学习C语言,需要建立.c文件和.h文件、然后对文件进行编译、调试、运行等。

需要说明的是咱们学习的重心应该放在学习C语言上,而不是花大量时间在建立C语言文件以及编译上,O(∩_∩)O是不是很高兴啊……,那么一个C语言程序到底长啥样呢?

看以下示例:

/*

*输入身高,计算标准体重

*成年:

[身高(cm)-100]×0.9=标准体重(kg)

*/

这里是注释

1.使用/*这里写注释内容*/

2.一般放在文件的开头用来说明本程序的代码意图

3.这里并不是必须的,但是最好加上,因为这样可以让其他的研发人员更能读懂程序

#include

使用include来包含头文件

1.stdio.h就是一个头文件

2.头文件的作用就是告诉程序可以使用哪些函数;scanf和printf是在stdio.h中说明的,所以咱们就需要在本C程序开头添加

3.#include这样类似的语句一般放在程序的开头

intmain()

{

intheight;

printf(“请输入身高:

\n”);

scanf(“%d”,&height);

if(height<=100){

printf(“输入的身高错误\n”);

return1;

}

printf(“当身高为:

%d(cm),理论标准身高为%f(kg)\n”,height,(height-100)*0.9);

return0;

}

程序运行后,提示从键盘输入一个整数作为人的身高,如果输入的身高小于或等于100cm,则在终端显示:

输入的身高错误;如果输入的身高大于100cm,程序根据公式:

身高减100,再乘以0.9计算标准体重,然后在终端显示。

例如当身高为:

185cm时候,在键盘输入185回车后,在屏幕显示:

当身高为:

185(cm),理论标准体重为76.500000(kg)。

1.4C语言中的一些习惯

为了从开始就培养大家良好的编程习惯,在这里呢为大家说几点开发中,咱们需要注意的地方。

所有的代码的编写要确保在英文输入法下面进行(没办法我也想输入中午……没办法啊,C语言不是咱们中国人发明的,其实还好了,咱们从小就学习英语,至少也认识26个字母吧,O(∩_∩)O~)。

一条语句的末尾由分号(;)组成,所以如果要编写语句的时候不要忘记添加。

intnum=23;

num=32+11;

一般情况下一条语句独立占用一行。

intmain()

{

printf(“HelloWorld.”);

return0;

}

定义变量或者函数的时候(当然了这个后面学习),给它们起个好的名字,即见名知意,比如:

Ønum一看就是和数量相关

Østunum就是学生的数量

这里需要给大家强调一下,关于命名是有一些规则的,请看下节“命名规则”。

1.5命名规则

在编程过程中养成良好的命名习惯是很有必要的。

在变量命名中,我们经常会遇到两个甚至更多的单词来联合表达命名规则的情况。

如何表现,展现什么样的风格是不少同学的疑问。

对于编程过程中的变量名称大小写问题,对于几乎所有的语言,大家都坚持所谓:

驼峰惯例。

它是按照让代码更优美、可读性更好、不易出错的原则来设定的。

一般有三种类型:

Ø小驼峰式命名法(lowercamelcase):

第一个单词以小写字母开始;第二个单词的首字母大写,例如:

myName、aDog等。

Ø大驼峰式命名法(uppercamelcase):

每一个单词的首字母都采用大写字母,例如:

FirstName、LastName等。

Ø下划线法:

在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词。

例如:

my_name、int_sutdent_number等。

这些方式都是可读性比较好的,编写过程中我们可以根据实际需要来使用不同的规则,保持前后一致性就可以了。

在后续的课程中我们使用“小驼峰式命名法”的规则,想想看如果按照“小驼峰式命名法”下列变量名应该如何修改?

命名规则就是一个编程习惯,希望在编程中,能够养成这样的好习惯。

1.6注释

注释的作用其实很重要,还记得初中时候学习文言文,很多容易忘记的词语咱们可以对其进行标记一下,比如“尔”的意思是你,这样当咱们在看到“尔”这个文言文汉字时,就很快能想起来了……

注释,就是为了让看代码的人能够很快的想明白这段代码的意思。

好了,现在请大家看下面这段代码是什么意思?

#include

intmain()

{

inti;

intnum=1;

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

{

num=num*i;

}

printf(“%d”,num);

return0;

}

再来看看添加了注释后的程序,是不是很容易就能读懂了呢?

#include

/**********************

*这是带有注释的程序示例*

*版本V1.2*

************************/

intmain()

{

inti;

/*用来存储结果*/

intnum=1;//用来存储结果

/*下面的for用来完成5的阶乘的计算*/

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

{

num=num*i;

}

/*使用printf来进行输出数据,%d的意思是把num按照十进制进行显示*/

printf(“%d”,num);

return0;

}

在C语言中,注释是使用/*开始,*/结束的,可以注释多行。

如果只需要注释一行,可以使用//为开始进行注释。

第二课变量和常量

2.1什么是变量

在C语言程序中,有时我们需要对一些数据求平均值,比如计算一个班计算机平均分数。

其实求平均值的原理大家应该都知道:

平均值=总数÷个数。

大家想一想如果想完成上面的要求,除了计算的原理之外还需要什么呢?

1.怎样保存每一个学生的分数?

2.怎样计算总分数?

3.怎样求平均值?

4.怎样像类似于输出HelloWorld一样把平均分数输出呢?

答:

1.在C语言中,要想把一些数据给存起来,那么咱们就需要一个所谓的空间,这个存放数据的空间就是“变量”。

就好像超市的菜篮子,变量就是用来装东西的,它有一定的大小,用之前要去拿过来,用完要还回去。

比如:

intA=33;那么A就是变量,intmySpace=123中mySpace就是变量(对于int是什么东西先不要考虑,一会咱们介绍)。

注意:

A=33的意思是给A这个变量赋值33,而不是把A给33,如果要给A赋值100,那么就是A=100;

2.接下来给几个变量进行求和。

想想我们在超市结账时候,是不是要把所有篮子进行过称?

对,为了把几个变量求和,那么只需要再定义一个变量,比如:

intsum;,然后用这个sum这个变量来保存变量A和变量B的和。

sum=A+B;(注意:

C语言中需要加上;用来代表这句话代码的结束)

3.在C语言中的加(+)减(-)乘(*)除(/)大家都用过,因此要计算平均值只需要使用/(除)即可。

average=sum/2;

4.想一下HelloWorld打印的时候咱们用了一个printf这样的东东,接下来还是一样的,要想把sum/2的值打印出来,需要使用printf来完成,但是要修改一下。

printf(“%d”,sum/2);

而不是printf(“sum/2”);

Ø练习:

请根据注释中的提示补全代码,完成对计算机平均分的输出。

#include

intmain()

{

intsum;

//请定义int类型变量A,并且赋值为12

//请定义int类型变量B,并且赋值为22

//请在这里把A+B的和赋值给sum

printf("%d\n",sum/2);

return0;

}

答案:

#include

intmain()

{

intsum;

//请定义int类型变量A,并且赋值为12

intA=12;

//请定义int类型变量B,并且赋值为22

intB=22;

//请在这里把A+B的和赋值给sum

sum=A+B;

printf("%d\n",sum/2);

return0;

}

2.2什么是常量

上节说的是“变量”,这节咱们学习一下新的知识“常量”。

所谓的常量就是说在程序运行过程中,自始至终都不会变化的量叫做常量。

比如:

A=33;

B=”helloworld”;

这里的33和”HelloWorld”就是所谓的常量。

思考一个问题,如果有如下操作:

33=A;

请问程序能正常执行吗?

33是常量,A是变量,变量是可以变化的,但是常量不能变化,所以上面的语句是错误的。

这是很多刚开始学习C语言的同学常常会犯的错误。

切记

变量=常量

意识是说,把常量赋值给变量。

运行下面的代码

#include

intmain()

{

intA=0;

//33=A;这是错误的

A=33;

printf("A=%d\n",A);

return0;

}

终端显示结果

A=33

 

2.3变量定义

结合上堂课,大家想一下:

超市里存放东西的篮子是不是有很多不一样,有蓝色的、红色的、大的、小的、带轮子的、能放Baby的。

其实在C语言中,为了更加充分利用内存空间,我们把变量的大小和主要的作用进行划分,从大小的角度上来讲(32bit平台):

char占1Byte

short占2Byte

int占4Byte

float占4Byte

double占8Byte

注意:

1Byte即1个字节,1Byte=8bit(比特),1bit有2种情况1或者0,所以1Byte能有2的8次方种情况,即1Byte能够存放数值的范围是0~255,至于数据在内存中具体的存储咱们在后面专门用一章来进行讲解。

从作用的角度上讲:

char——除了能够保存数值之外还可以保存字符,比如字母A

short和int——保存数值,比如123

float和double——保存小数数值,比如3.14

现在我们一起来定义变量吧

charA=11;

shortB=22;

intC=33;

floatD=44.123;

doubleE=55.123456;

大家有没有发现刚刚给大家的示例中没有对负数的定义,那么怎么定义一个负数呢?

上面提到的5种变量类型,其实每一种又分为有符号和无符号,这两兄弟有是干什么的呢?

有符号即可以保存正负数

无符号即只能保存正数

表示方法:

有符号,signedchar或者short、int、float、double

无符号:

unsignedchar或者short、int、float、double

大家有没有发现之前咱们示例中没有signed也是可以的,这又是怎么回事呢?

以int类型为例:

intA=33;等价于signedintA=33;

即如果变量类型前面没有写signed或者unsigned,那么默认是signed,即有符号。

只要有符号那么就肯定是可以保存负数的变量啦。

到现在为止我们都在谈论变量类型的问题,那么变量的名字该怎样定义呢?

在C语言中变量的名字由3部分组成:

英文字符abc…z或者ABC…Z

数字0123456789

下划线_

并且数字不能开头,请看下面的示例

正确

mengma

mengma123

mengma_123

_123

M123

A

b

错误

123

123mengma

123_mengma

变量

-hello

*你好

小结:

变量的名字必须是由英文字母、数字、下划线组成,而且数字不能开头。

Ø练习:

请按照上面讲过的变量定义规则,定义变量,注意变量的名字命名方式为小驼峰

//num是有符号char类型,其值为-123

//weight是无符号short类型,其值为11

//score是有符号int类型,其值为-188

signedintscore=-188;

//phoneNum是无符号int类型,其值为188

unsignedintphoneNum=188

//carNum是有符号float类型,其值为-13.1

signedfloatscore=-13.1;

//average是无符号float类型,其值为13.1

unsignedfloataverage=13.1

//likeNum是有符号double类型,其值为-123.22

signeddoublescore=-123.22;

//mengmaId是无符号double类型,其值为123.22

unsigneddoublemengmaId=123.22;

答案

signedcharnum=-123;

unsignedshortweight=11;

2.4变量的输入——scanf

咱们在银行ATM机器前取钱时,肯定需要输入密码,对不?

那么,怎么才能让程序知道咱们刚刚输入的是什么呢?

O(∩_∩)O想一下上面的两个问题,大家应该知道了,如果要完成ATM机取钱这件事,需要先从键盘输入一个数据,然后用一个变量来保存,是不是很好理解啊!

在C语言中,获取键盘输入的数据方法是采用scanf函数(至于什么是函数,咱们后面章节中讲解),那么这个scanf怎么用呢?

给大家展示一下:

intmyScore;

scanf(“%d”,&myScore);

注意:

scanf中的%d指的是给myScore变量输入数据的时候是按照整型类型存放的

&是取地址符,&myScore可以理解为myScore这个变量在内存中的地址

练习:

从键盘输入自己的计算机成绩、自己的年龄。

#include

intmain()

{

intmyAge;

floatmyScore;

//通过scanf获取整型的数据,并且存放到myAge变量中

//通过scanf获取浮点型的数据,并且存放到myScore变量中

printf("ageis%d,scoreis%f\n",myAge,myScore);

}

scanf(“%d”,&myAge);

scanf(“%f”,&myScore);

Ø练习1:

我今年几岁了?

编写一个C程序,通过scanf获取整型的数据【我的年龄】,将我的年龄输出到控制台

样本输入:

25

样本输出:

我今年25岁了

Ø练习2:

编写一个程序,通过scanf获取两个整型的数据【我的年龄,妈妈的年龄】,将我的年龄和妈妈的年龄输出到控制台

样本输入:

2552

样本输出:

我今年25岁了妈妈今年52岁了

2.5变量的输出——printf

上节课中,咱们说到了变量的输入,其实就是从键盘中输入一个数据,用一个变量来保存,那么什么是变量的输出呢?

大家可以试想一下,就是把一个变量打印出来对不对,是不是想到了printf()呢?

那么printf到底是个什么呢?

printf其实它是一个函数(函数后面会讲)

用来进行输出信息到屏幕上,主要用来打印数据信息和提示信息

不仅可以打印整数、小数、还可以打印英文字母。

使用printf(“%d”,myScore);其中的%d就是一种输出数据的格式,比如你是想按照整数输出还是小数输出,这里给大家列举几种常见的输出数据的格式:

%d以十进制显示

%f以小数显示

%s打印字符串

%c以字符的形式显示(只显示一个字符,比如A)

Ø练习:

在%后添加合适的字母完成输出

#include

intmain()

{

printf("%d\n",3);

printf("%f\n",3.14);

printf("%s\n","HelloMengma");

printf("%c\n",'M');

return0;

}

2.6综合练习

作为本章的总结,咱们以一个练习把之前所讲到的与变量相关的知识点进行巩固。

要求:

1.使用scanf和printf函数来为变量进行赋值和输出;并且打印相关的提示信息

2.提示用户输入本月工资(以5000元至8000之间为例)

3.获取本月工资数

4.计算本月的实际收入

5.纳税额=(工资薪金所得–3500)×10%-105

答案:

#include

intmain()

{

inttax;

intmoney;

//printf("请输入工资(5000至8000元)\n");

//获取工资

scanf("%d",&money);

//计算计税额

tax=(money-3500)*0.1-105;

//计算实际工资

money=money-tax;

//打印工资

printf("%d\n",money);

return0;

}

Ø另外一个练习

编写一个C程序,接收输入正方形的边长(整数),打印正方形的面积。

样本输入:

2

样本输出:

4

答案:

#include

intmain()

{

inta,b;

scanf("%d",&a);

b=a*a;

printf("%d",b);

return0;

}

Ø最后一个练习

编写一个c程序,通过scanf获取3个整型的数据【我的年龄,妈妈的年龄,爸爸的年龄】,将我家的平均年龄输出到控制台。

样本输入:

255250

样本输出:

我家的平均年龄42

答案:

#include

intmain()

{

inta,b,c;

intd;

scanf("%d%d%d",&a,&b,&c);

d=(a+b+c)/3;

printf("%d",d);

return0;

}

注意:

连续输入3个用空格隔开的整数时候,%d%d%d之间加空格和不加空格这里效果是一样的。

第三课控制语句

3.1控制语句学习说明

控制语句从其名字我们能够想到,就是在C语言中起到控制的作用的一些语句,比如if、if-else、for、switch等等前面咱们学习了变量、常量、scanf、printf等,其基本的方式是从程序的上面往下面一次执行,其实在C语言中有3种程序执行的模式:

顺序、循环、选择。

顺序执行(从上往下执行,这就是顺序执行)

printf(“我是1号\n”);

printf(“我是2号\n”);

循环执行(即对模块代码执行多次)

while(i<=3)

{

printf(“我是%d号\n”,i);

}

选择执行(根据实际的判断条件,来进行有选择的执行代码)

if(age>=30)

{

printf(“成年人”);

}

else

{

printf(“未成年人”);

}

Ø本节练习:

运行下面的程序,分析程序的运行流程。

#include

intmain()

{

inti=1;

intage=19;

//顺序执行

printf("我是1号\n");

printf("我是2号\n");

//循环执行

while(i<=3)

{

printf("我是%d号\n",i);

i++;

}

//选择执行

if(age>=18)

{

printf("成年人\n");

}

else

{

printf("未成年人\n");

}

return0;

}

3.2基本的if语句

初次见到if语句,大家一定想知道它有什么用对不?

咱们可以打个比方,大家应该去过网吧对吗?

想想看正规的网吧如果看到未成年人是不让其上网的对吧。

if就是在程序中对某些事情的判断,比如:

if(A

{//这里写其他语句}

在C语言程序开发过程中经常需要来对某些数据进行判断

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1