研究性学习成果展示信息学.docx

上传人:b****5 文档编号:29475646 上传时间:2023-07-23 格式:DOCX 页数:38 大小:88.67KB
下载 相关 举报
研究性学习成果展示信息学.docx_第1页
第1页 / 共38页
研究性学习成果展示信息学.docx_第2页
第2页 / 共38页
研究性学习成果展示信息学.docx_第3页
第3页 / 共38页
研究性学习成果展示信息学.docx_第4页
第4页 / 共38页
研究性学习成果展示信息学.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

研究性学习成果展示信息学.docx

《研究性学习成果展示信息学.docx》由会员分享,可在线阅读,更多相关《研究性学习成果展示信息学.docx(38页珍藏版)》请在冰豆网上搜索。

研究性学习成果展示信息学.docx

研究性学习成果展示信息学

威海市第一中学

研究性学习成果展示

课题

名称

c++语言入门

指导

教师

柳鑫伟

班级

学科

 

团队照片

 

负责人

其他

成员

电话

电子邮件

一、研究背景

♦信息技术作为当前先进生产力的代表,已经成为我国积极发展的重要支柱和网络强国的重要支撑,信息技术涵盖了获取、信息、表示、传输、贮存、和信息加工在内的各种技术,自己计算机问世以来,信息技术沿着以计算机、互联网,再到以大数据为核心的发展脉络,深刻影响着社会的经济基础和技术创新,推动着社会信息化、智能化的发展,重塑着人们交流沟通的时间观念和空间观念。

而我们处于云计算,大数据,人工智能,互联网+的时代,现在的生活工作离不开信息学。

 

♦信息学的根基就是算法,数据结构,程序设计。

二、研究目的与意义

♦C++由美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普博士在20世纪80年代初期发明并实现(最初这种语言被称作“CwithClasses”带类的C)。

开始,C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。

♦今天C++已成为世界主流编程语言之一,要学习计算机的相关知识,必须从语言开始学起。

牢固掌握c++语言,可以提高逻辑思维能力,开拓思维,为将来系统地学习计算机相关知识打下基础。

三、研究内容

C++介绍及入门、

顺序结构程序设计

程序控制结构、

循环结构。

四、研究方法

互动教学

机房授课

讲练结合

五、研究计划(各阶段均需注明时间段、主要活动)

第一个阶段:

C++介绍及入门,9月份的第一周、第二周

第二个阶段:

顺序结构程序设计,9月的第三、第四、10月份第一周

第三个阶段:

程序控制结构、大约3个周

第四个阶段:

大约3个周

 

六、小组成员具体分工与特性分析

相互帮助,共同研究。

 

七、预期成果及表现形式(研究的最终成果以什么样的形式展现出来,是论文、实验报告、实物、网站还是其他形式)

成果主要通过研究性报告来体现,学习之后可以参加信息学的奥林匹克竞赛,可以通过证书来检验学习效果,也可以自己编写程序,参加程序比赛。

八、资源准备(如所需图书、设备、经费预算等)

1、电脑

2、信息学竞赛系列书籍

经费预算为5000元。

九、结题论文(研究结果、分析、建议,研究过程收获与体会)

(可打印出来黏贴,附页)

第一章C++语言入门

第一节C++程序的基本结构

#include //头文件/预处理命令。

对其他程序的引用,一种声明

usingnamespacestd; //名字空间,采用标准名字空间

intmain()  //主函数,是所有C++程序的运行起始点

{

      }

【例1.1】在屏幕上输出“HelloWorld!

”。

#include

usingnamespacestd;

intmain()

{

ﻩcout<<"Hello World!

"<

"

ﻩreturn0; //结束整个程序    

运行结果:

  HelloWorld!

【说明】:

1、以“//”开头为注释行,“//”后的内容用以对语句进行说明,输入程序时可以不输入。

2、#include<iostream>

 告诉编译器的预处理器将输入输出流的标准头文件(iostream)包括在本程序中。

这个头文件包括了C++中定义的基本标准输入输出程序库的声明。

3、using namespace std

使用std(标准)名字空间的意思。

所谓的名字空间是标准C++中的一种机制,用来

控制不同类库的冲突问题。

使用它可以在不同的空间内使用相同名字的类或者函数。

4、intmain()

  这一行为主函数(mainfunction)的起始声明。

main()是所有C++程序的运行的起始

点。

不管它是在代码的开头,结尾还是中间,此函数中的代码总是在程序开始运行时第

一个被执行。

所有C++程序都必须有一个main(),intmain()。

 main后面跟了一对圆括号( ),表示它是一个函数。

C++中所有函数都跟有一对圆

括号(),括号中可以有一些输入参数。

注意,圆括号中即使什么都没有也不能省略。

如例题中显示,主函数main()中的内容,由一对花括号{}括起来。

5、cout<<"HelloWorld!

"<

 这个语句在本程序中最重要。

cout是一个输出语句,告诉计算机把引号之间的字符

串送到标准的输出设备(屏幕)上。

cout的声明在头文件iostream中,所以要想使用cout

必须将头文件iostream包括在程序开始处。

endl是C++语言的换行控制符,表示内容输出

后换行显示后续的内容。

6、return0

 主函数main()的返回语句,一般是函数的最后一条可执行语句。

main()函数末尾使用return语句时,数值0表示程序顺利结束,其他数表示有异常。

在后面的例子中你会看到C++程序都以类似的语句结束。

在C++中,语句的分隔是以分号“;”为分隔符的,分行写代码只是为了更方便人阅读。

【练习1.1】

1.编写一个能够输出“Iloveprogramming!

”的程序

输入:

无。

输出:

一行,仅包含一个字符串:

“Ilove programming!

样例输入:

(无)

样例输出:

Ilove programming!

【例1.2】已知一位小朋友的电影票价是10元,计算x位小朋友的总票价是多少?

【分析】 假设总票价用y来表示,则这个问题可以用以下几个步骤来实现:

①输入小朋友的数目x;

②用公式y=10*x计算总票价;

③输出总票价y的值。

程序如下:

#include//使用cin,cout,须调用iostream库

using namespacestd;

  intmain()

 {

    intx,y; //定义整型变量   

 cout<<"Input x=";//输入提示  

   cin>>x;//输入小朋友的人数

  y=10*x;//计算总票价

  cout<<"total="<<y<<endl; //输出总票价

  return 0;//结束程序

  }

【例1.3】在梯形中阴影部分面积是150平方厘米,求梯形面积。

【分析】已知梯形上、下底长为15和25。

令梯形的高为h,则由已知三角形面积为150平方厘米,有150=(15*h)/2,得h为20,然后根据梯形面积公式算出梯形面积。

程序如下:

                      

#include<iostream>

using namespacestd; 

intmain()

{          

  ints,h,up,down; 

   up=15;    

down=25; 

  h=2*150/up;      

s=(up+down)*h/2;ﻩ 

  cout<<"s=“<<s<

  return0;       

}

运行结果:

s=400

通过以上例1.2和例1.3两个例子,可以总结出C++语言程序的结构如下:

1)C++语言变量在使用之前必须先定义其数据类型,未经定义的变量不能使用。

2)程序由一个或多个函数组成,一个程序中必须有且只有一个主函数,主函数的名字为main。

不论main()函数在程序中什么位置,程序都是从main()函数开始执行,main()函数执行完毕,程序也就结束了。

3)在程序中可以调用系统提供的库函数。

在调用库函数之前,必须将相应头文件包含在程序中。

4)程序中可以有注释行。

注释是为了使程序更易于理解和提示。

5)程序的语句以分号结束。

分号是C++语言不可缺少的组成部分。

6)程序的书写要注意适当的缩进,一般采用“逐层缩进”形式,以便使程序更加清晰易读。

 

【例1.4】给定一个字符,用它构造一个底边长5个字符,高3个字符的等腰字符三角形。

 #

###

#####

程序如下:

#include //使用cin,cout,须调用iostream库

usingnamespacestd;

int main()

{

char a;//定义字符变量   

ﻩcin>>a;//输入给定一个字符    

ﻩcout<<""<<a<<endl;//输出1个字符,先输出2个空格

cout<<" "<<a<

ﻩcout<<a<

ﻩreturn0;     

【练习1.2】字符三角形

 给定一个字符,用它构造一个对角线长5个字符,倾斜放置的菱形。

输入:

输入只有一行,包含一个字符。

输出:

该字符构成的菱形,对角线长5个字符。

样例输入:

*

样例输出:

*

  ***

*****

  ***

*

第二章顺序结构程序设计

第一节赋值语句

在C++语言中,“=”作为赋值运算符,而不表示“等于”判断。

赋值语句是由赋值表达式再加上分号构成的表达式语句,它是程序中使用最多的语句之一。

变量=表达式;

在赋值语句的使用中,需要注意以下几点:

1)由于赋值运算符“=”右边的表达式也可以是赋值表达式,因此,下述形式 :

ﻩ变量=(变量=表达式);

是成立的,从而形成嵌套的情形。

其展开之后的一般形式为:

变量=变量=…=表达式;例如,“a=b=c=d=e=5;”,它实际上等价于:

e=5;d=e;c=d;b=c;a=b;

2)在进行赋值运算时,如果赋值运算符两边的数据类型不同,系统将会自动进行类型转换,即将赋值运算符右边的数据类型转换成左边的变量类型。

当左边是整型而右边是实型时,将去掉小数部分并截取该整型对应的有效位数。

【例2.1】输入两个正整数A和B,试交换A、B的值(使A的值等于B,B的值等于A)。

【分析】交换两个变量的值方法很多,一般我们采用引入第三个变量的算法,二个变量交换,可以想像成一瓶酱油和一瓶醋进行交换,这时容易想到拿一个空瓶子过来:

  ① 将酱油倒到空瓶中;②将醋倒到酱油瓶中;③ 将原空瓶中的酱油倒到醋瓶中。

程序如下:

 #include<iostream> //使用cin,cout,须调用iostream库

 using namespace std;

  intmain()

 {inta,b,c; //定义三个变量

cout<<"Inputa,b=";//输入提示Inputa,b=

  cin>>a>>b;//输入A、B的值

 c=a;  a=b;b=c;//交换A、B的值

  cout<<"a="<

   return0;

【练习2.1】输入三个正整数A、B、C,试交换A、B、C的值(使A的值等于B,B的值等于C,C的值等于A)。

输入样例:

123

输出样例:

a=2b=3c=1

第二节运算符和表达式

运算符纵览

1.算术运算符

用于各类数值运算。

包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。

2.关系运算符

用于比较运算。

包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!

=)六种。

3.逻辑运算符

用于逻辑运算。

包括与(&&)、或(||)、非(!

)三种。

4.位操作运算符

参与运算的量,按二进制位进行运算。

包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。

5.赋值运算符

用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。

一、算术运算符

1、除法运算符

C++语言的除法运算符有一些特殊之处,即如果a、b是两个整数类型的变量或常量,那么a/b的值是a除以b的商。

例如,5/2的值是2,而不是2.5,而5.0/2或5/2.0的值是2.5。

2、模运算符

求余的运算符“%”也称为模运算符,是双目运算符,两个操作数都是整型数。

a%b的值就是a除以b的余数,5%2余数为1。

其操作对象只能是整型数,而其他四种运算符对int,float,double,char都适用。

【说明】

1)、除法运算或求商运算(/)

两个整数相除的结果为整数,5/2=2

两个实数相除的结果为实数,5.0/2=2.5或5/2.0=2.5

2)、取模运算或求余运算(%)

必须为两个整数,右操作不能为0,操作对象只能是整数型,运算结果为整除之后的余数,例如5%2=1。

3)、+,-,*,/,%这几个算数运算符的运算对象都是两个,所以称为双目运算符。

4)、优先级别为:

*,/,%高于+,-运算,都比赋值运算符的优先级别高,所以先算术,后赋值。

5)、运算顺序为自左向右(赋值运算的顺序为自右至左)。

6)、整除、取模运算的结果都是整数。

【练习2.2】比较分析下面程序的执行结果

a=300*2/3;

b=2/3*300;

a和b运行结果是否相同?

为什么?

【练习2.3】A+B问题

  A+B问题的题目描述如下:

给定两个整数A和B,输出A+B的值。

保证A、B及结果均在整型范围内。

现在请你解决这一问题。

输入:

一行,包含两个整数A,B,中间用单个空格隔开。

A和B均在整型范围内。

输出:

一个整数,即A+B的值。

保证结果在整型范围内。

样例输入:

12

样例输出:

3

【练习2.4】计算(a+b)*c的值

 给定3个整数a、b、c,计算表达式(a+b)*c的值。

输入:

输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。

(-10,000<a,b,c<10,000)

输出:

输出一行,即表达式的值

样例输入:

235

样例输出:

25

【练习2.5】计算(a+b)/c的值

给定3个整数a、b、c,计算表达式(a+b)/c的值,/是整除运算。

输入;输入仅一行,包括三个整数a、b、c,数与数之间以一个空格分开。

(-10,000<a,b,c<10,000,c不等于0)

输出:

输出一行,即表达式的值。

样例输入:

113

样例输出:

0

【练习2.6】带余除法

给定被除数和除数,求整数商及余数。

此题中请使用默认的整除和取余运算,无需对结果进行任何特殊处理。

输入:

一行,包含两个整数,依次为被除数和除数(除数非零),中间用一个空格隔开。

输出:

一行,包含两个整数,依次为整数商和余数,中间用一个空格隔开。

样例输入:

10 3

样例输出:

31

【练习2.7】数学中经典的“鸡兔同笼”问题

已知头共30个,脚共90只,问笼中的鸡和兔各有多少只?

3、自反算数赋值运算符(复合算术赋值)。

  自反加赋值a+=b,相当于a=a+b;

 自反减赋值a-=b,相当于a=a-b;

 自反乘赋值a*=b,相当于a=a*b;

 自反除赋值a/=b,相当于a=a/b;

自反模赋值a%=b,相当于a=a%b;

4、自加自减运算符

自反算数赋值运算中有两种更加特殊的情况

i=i+1,相当于i+=1; i=i-1,相当于i-=1

自加、自减运算符用来对一个操作数进行加1或减1运算,其结果仍然赋予该操作数,而且参加运算的操作数必须是变量,而不能是常量或表达式。

1)自增运算符。

例如,x++表示在使用x之后,使x的值加1,即x=x+1;++x表示使用x之前,先使x的值加1,即x=x+1。

2)自减运算符。

例如,x--表示在使用x之后,使x的值减1,即x=x-1;--x表示使用x之前,先使x的值减1,即x=x-1。

3)自加运算i++或++i

自减运算i--或--i

i++和i--称为后缀形式(先引用,后增值)

++i和--i称为前缀形式(先增值,后引用)

【例2.2】

inti       inti;

i=5;         i=5;

x=i++;       x=++i;

y=i;          y=i;

【例2.3】变量自加运算

#include

usingnamespacestd;

int main()

{ 

  intx,y,z1,z2;

  x=7; y=8;

 z1=y-(x++);      //计算z1=1,计算后x=8

z2=y-(++x);      //计算前x的值自加1,x的值为9,再与y求差

 cout<<“z1="<

}

运行结果:

二、关系运算符

关系运算符用于数值的大小比较。

包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!

=)六种,它们都是双目运算符。

关系运算符运算的结果是整型,值只有两种:

0或1,0代表关系不成立,1代表关系成立。

请看下面的例子:

intmain()

{  int n1=4,n2=5,n3;

 n3=n1>n2; //n3的值为_______       

   n3=n1

 n3=n1==4; //n3的值为_______     

    n3=n1!

=4;  //n3的值为_______   

   n3=n1==1+3;//n3的值为_______      

}

三、逻辑运算符

C++语言中提供了三种逻辑运算符:

与运算(&&)、或运算(||)、非运算(!

)。

与运算符(&&)和或运算符(||)均为双目运算符。

具有左结合性。

非运算符(!

)为单目运算符,具有右结合性。

算数运算>关系运算>逻辑运算

逻辑运算的值也为“真”和“假”两种,用“1”和“0”来表示。

其求值规则如下:

1.与运算&&参与运算的两个量都为真时,结果才为真,否则为假。

例如,5>0&& 4>2

2.或运算||参与运算的两个量只要有一个为真,结果就为真。

 两个量都为假时,结果为假。

例如:

5>0||5>8

3.非运算!

参与运算量为真时,结果为假;参与运算量为假时,结果为真。

例如:

(5>0)的结果为?

虽然C++编译在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。

但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。

例如:

5&&3的值为?

又如:

5||0的值为?

4.算术运算符、关系运算符、逻辑运算符和赋值运算符的优先级如下:

赋值运算符<逻辑运算符<关系运算符<算术运算符                       关系运算符的结合性为:

自左至右。

根据以上优先级和结合性,计算出以下表达式的结果(假设a=3,b=2,c=1)

{

a>b;

(a>b)==c;

b+c<a;

d=a>b;   

f=a>b>c;

}

第三节常量和变量

一、常量

 常量是指在程序中使用的一些具体的数、字符。

在程序运行过程中,其值不能被更改。

如123,145.88,'m',TRUE等。

1、整型常量:

如3、-5、0等。

整型常量是表示整数的常量。

有三种表示形式:

1)十进制形式。

如99、-1。

2)八进制形式。

以数字0打头,由0-7构成,如012,表示八进制整数12,即12(8)。

3)十六进制形式。

以0x打头,如0x12A,表示十六进制整数12A,即12A(16)。

2、实型常量:

如3.1、-6.1E+2(科学记数法)。

3、字符常量:

是用单引号括起来的字符,如'k' 、'5'、'%'。

  注意:

'a'与"a"表示的含义是不同的,'a'表示一个字符常量,"a"表示一个字符串。

 一个常量可以直接调用(如124,'A'),也可以给常量取个名字用一个标识符代表它,这就是符号常量。

其语法格式为:

const 类型说明符常量名=常量字符;

例如:

constdouble PI=3.1415926;

或者类型说明符const常量名=常量字符;

例如:

doubleconstPI=3.1415926;

可写在主函数之前,也可以写在主函数中

二、变量定义

变量代表了一个存储单元,其中的值是可以改变的,因此称为变量。

一个程序中可能要使用到若干个变量,为了区别不同的变量,必须给每个变量(存储单元)取一个名(称为变量名),该变量(存贮单元)存储的值称为变量的值,变量中能够存储值的类型为变量的类型。

1.变量名

  用一个合法的标识符代表一个变量。

如n,m,rot,total等都是合法变量名。

在程序中用到的变量要“先定义后使用”,变量名应遵循自定义标识符的命名规则,并建议使用“见名知义”的原则,即用一些有意义的单词作为变量名。

在C++语言,变量名大小写有区别。

用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符。

C++语言规定,标识符只能由字母或下划线“_”开头,后面的字符可以是字母或数字。

对于标识符的长度,不同的C++语言编译器有不同的规定,考虑到系统的可移植性,建议变量名的长度不要超过8个字符。

例如:

month、_age、s2为合法的标识符;m.k.jack、a<=b、9y为不合法的标识符。

习惯上,符号常量名用大写,而变量名用小写,以便于区别。

2.变量的类型

 常量是有类型的数据,变量在某一固定时刻用来存储一个常量,因此也应有相应的类型。

如整型变量用来存储整数,实型变量用来存储实数。

变量的类型,可以是标准数据类型int、short、long、float、double和char等,也可以是用户自定义的各种类型。

变量一经定义系统就在计算机内存中为其分配一个存储空间。

在程序中使用到变量时,就在相应的内存中存入数据或取出数据,这种操作称为变量的访问。

定义变量的语法格式为:

数据类型变量表1,变量表2,……;

 

【例2.4】

  inti=5,j,k;   //定义i,j,k为整型变量,

           //i赋初值为5,j,k的初值未知。

  char a,b,c;  //定义a,b,c为字符变量

  floatx,y,z; //定义x,y,z为实型变量

 C++语言允许在定义变量的同时为变量赋初值。

【例2.5】输入半径r,求圆的周长及面积。

(π取3.14)

样例输入r=3

样例输出c=18.84 s=28.26

#include

usi

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

当前位置:首页 > 经管营销 > 经济市场

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

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