C++语言基础知识学习笔记(二)

昨天学习了C++的基础知识,就是数据类型。相当于盖房子的砖头。没这些家底是没法盖房子的。

按照盖房子的进度,今天要画设计图了。咱以前看过,还跟别人讨论半天,没画过。呵呵,指点江山,却不知道江山是什么东西。丢人哪

一个房子的设计,是需要花费功夫的。因为设计的时候,就决定了房子的样式,房子需要的材料,房子的价格。这在程序设计表现为算法的设计。咱理想中想盖个那种大理石宫殿,豪华漂亮,里面有好看的书架,漂亮的小饰品,桌椅,等等,呵呵。算法就像是整个房子的框架。而好看的书架,桌椅,美女,就像是一个个的函数。有简单的函数,有复杂的函数。

算法的基本控制结构:

基本结构说明语句实现  
顺序结构就是一句一句往下读,毫无智能   
选择结构用来判断,可以根据条件选择的执行
就好像,丽丽喜欢你,婷婷也喜欢你。就要选择了
if(丽丽漂亮) 选丽丽
else 选婷婷/*貌似不太对,*/
应该这样
if(丽丽比婷婷漂亮) 选丽丽
else 选婷婷
if(表达式1) 语句1
else 语句2
语句2可以为空,当语句2为空时,else可以不写
多重选择结构分为很多种:
嵌套的if机构:
if(表达式1) 
  if(表达式2) 语句1
  else  语句2
else
  if(表达式3) 语句3
  else 语句4
if…else if结构:
switch你语句:
也是选择结构
主要在每一次判断都是同一表达式的值的时候用,比如:
每次都要判断都是判断day这个变量的值,看下面的例子
循环就是不停的执行语句,条件满足为止
例如:我隔一分钟吃一个馒头
程序如下:
吃几个就要写几个语句,麻烦,而且有时候并不知道吃几个才撑死。
所有用循环语句就比较简单:
从第一个开始,条件是直到撑死,语句就是吃一个馒头
for(表达式1;表达式2;表达式3)
语句
执行过程:
先计算表达式1的值,再就是表达式2(循环控制条件)的值,根据表达式的2的值看是否执行循环体,2为真,则执行循环体。每执行一次循环体后,计算表达式3的值。然后再计算表达式2的值,看是否执行循环
其中:
1,表达式1,2,3都可以省略,但分号不能省。
2,表达式2是循环的控制条件,如果省略,则循环无休止的进行
3,表达式1是给循环控制条件赋初值
 
coutinue出现在循环体重,作用是结束本次循环,接着判断是否执行下一次循环   
goto用法如下:
goto 语句标号;
goto语句会破坏程序的结构,尽量少用。  

 

简单选择

例:输入一个年份,判断是否为闰年。

算法,百度了下,闰年是这样算的,“四年一闰,百年不闰,四百年再闰”,小学学过,忘了。

如果输入的年份(数字)能被4,400,整除,但不能被100整除,就是闰年。试着写下程序。

程序如下:

#include<iostream.h>    /*包含输入输出函数*/

void main(void)

{    int year;                 /*把年份定义成整形的变量,将输入的年份放到year中,然后判断*/

      bool IsLeapYear;    /*定义一个布尔类型 IsLeapYear*/

      cout<<"Enter the year:";/*输入年份,int型*/

      cin>>year;/*输入控制字符,从键盘输入*/

      IsLeapYear=((year%4==0&&year%100!=0)||(year%400==0));       /*逻辑表达式的值传给布尔型IsLeapYear*/

      if(IsLeapYear)

      cout<<year<<"is a LeapYear"<<endl;/*end1是刷新输出缓冲区,显示为换行。*/

      else

      cout<<year<<"is not a LeapYear"<<endl;

}

去运行下,看能运行否。郁闷,引号是中文的,不行。还有endl打成end1了。改下。

多重选择(嵌套if和if…else if)

例:比较两个数的大小。

算法:比较两个数,要么a>b,a<b,a=b.

程序如下:

#include<iostream.h>

void main()

{ int a,b,c;/*输入a,b,c三个整数*/

   cout<<"Enter a and b:";/*在屏幕上显示Enter a and b:*/

  cin>>a>>b;/*从键盘依次输入a,b,中间用空格隔开*/

  if(a>b) cout<<"a>b"<<endl;

else if(a<b) cout<<"a<b"<<endl;

else cout<<"a=b";

}

反正选择就是选择了。 记住选择的3种格式,就行了。

switch选择语句

switch语法结构说明

switch选择语句的格式:

switch(表达式)

{case 常量表达式1:语句1

  case 常量表达式2:语句2

   ……

  case 常量表达式n:语句n

  default:语句n+1

首先计算switch表达式的值,然后再case语句中寻找相同的常量表达式,并由此开始执行
如果没找到,则从default执行

注意:各常量表达式的值不能相同,次序不影响结果
每个case语句应该加上break语句,否则会执行到switch结构的结束点
当若干分支需要执行同一种操作时,可以公用一组语句,使程序简化

例:输入一个0~6的整数,转换成星期输入。

算法:由于每次判断的都是星期数,同一个变量的值,就是同一个表达式的值,所有用switch语句比较适宜。

程序如下:

#include<iostream.h>

void main()

{ int day;/*定义一个星期变量,用来存储输入的星期数*/

   cin>>day;

  switch(day)

{case 0:cout<<"Sunday"<<endl;break;

  case 1:cout<<"Monday"<<endl;break;

  case 2:cout<<"Tuesday"<<endl;break;

  case 3:cout<<"Wednesday"<<endl;break;

  case 4:cout<<"Thursday"<<endl;break;

  case 5:cout<<"Friday"<<endl;break;

  case 6:cout<<"Saturday"<<endl;break;

  default:cout<<"您输入的格式不正确"<<endl;break;

}}

又一个;写错了,看来,写代码的时候要注意格式问题,养成好习惯。

for循环

例,输入一个整数,求出他的所有因子。

算法,输入一个整数N,然后从1~N的除,能除尽的挑出来。

程序如下:

#include<iostream.h>

void main()

{int n,k;/*定义两人个数,一个用来输入整数N,一个用来变量输入*/

  cout<<"请输入整数:"<<endl;

  cin>>n;

  for(k=1;k<n;k++)

    if(n%k==0) cout<<k<<" ";

   cout<<endl;

}

执行成功,遇到一个问题,我想每次输入的时候都检测n的数据类型,如果是int型,就可以执行,不是的话,就重新输入。不知道怎么实现。一会baidu一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值