猫史档案馆


C++例题 | 01 基础班经典例题答案,快来康康你做的对不对!

用户:IDF哲宇MIKEIDF哲宇MIKE查看:11 回复:1 评论:11 创建时间:2020-09-19T07:13:06


1 题目解析,看看你做的如何?

相信很多同学都已经做了自己的答案,在这,我给出一份C++例题的答案供大家参考!

 

C++例题 | 01 基础知识多维度练习,测出你的真实水平!

2 填空题

填空题,重在基础知识和基本概念巩固!

1 变量与输入输出

1、输入输出语句分别使用cincout

 

2、换行语句是endl

 

3、我们学过的四个基本数据类型是int、float、char、string(或者可以填写整型、浮点型、字符型、字符串型)。

 

4、如果一个整数太大,int类型无法保存,我们还可以用long long、unsigned long long

 

5、字符数据要加单引号,字符串数据要加双引号

 

6、用来保存判断对错的变量的类型是:bool

2 运算符与表达式

1、最常用的四类运算符为算术运算符、赋值运算符、关系运算符、逻辑运算符,他们对应的表达式分别为:算术表达式、赋值表达式、关系表达式、逻辑表达式

 

2、算术运算符包括:+, -, *, /, %, ++, --

 

3、赋值运算符包括:+=, -=, *=, /=, %=

 

4、关系运算符包括:>, <, >=, <=, ==, !=

 

5、逻辑运算符包括:&&, ||, !

 

6、浮点型数据不能进行的算术运算包括:整除、取余、++,--

 

7、逻辑运算符的优先级为:! > && > ||

3 三大结构

1、三大结构包括:顺序结构、分支结构、循环结构

 

2、分支结构有两个系列,分别是:判断语句(或if系列)、开关语句(或switch-case)。

 

3、if系列主要包括:if语句、if-else语句、if-else if-else语句、if嵌套

 

4、循环结构包括:for循环、while循环、do-while循环

 

5、while和do-while很类似,主要区别在于,while是先判断,后执行;do-while是先执行,后判断

3 代码查错

代码查错题,重点在于能够喵代码中的错误,能够在以后的代码编写中不出现同样的错误。

 

注意,修改方式不唯一,只要正确即可。

1 变量与输入输出

1、原程序及错误的地方如下:

 

inta, b, 1ab; //int 和 a之间要有空格,1ab不能当变量名,数字不能放开头

cin >> a //语句结束要加;
b = 3;
c = 'a'; //变量使用前要先定义(声明)

cout >> b; //cin是用>>,cout用<<

 

修改结果如下:
int a, b, ab;

cin >> a;
b = 3;

cout << b;

char c;
c = 'a';

 

2 三大结构与运算符

1、顺序结构与运算符1:

 

int a, b;
a += b; //使用b赋值,b要先有值,使用+=,a也要先有值

float c, d;
c = 5;
d = 6;
c++; //float类型数据不能做++,--运算。
d %= 10; //float类型数据不能做取余运算。

 

修改后如下:
int a, b;
cin>>a>>b; //可以先通过赋值语句给a和b两个变量赋值
a += b;

float c, d;
c = 5;
d = 6;
c+=1; //可以使用+=或者 c = c+1让原数自增1。
a = d;
d = a%10; //可以先将数据存为整型,再做取余操作,获得余数。

 

2、分支结构与运算符1

 

int a, b;
cin>>a>>b;

if(a = b) cout<< a = b; // =是赋值,==是等于。a = b是字符串,要加双引号。
else cout<<"a != b"<<endl;

cin>>a>>b;

if(0<a<10) cout<<"a是个位数"<<endl; //0<a<10的写法不对,要用逻辑运算符改写为 a>0 && a<10

if(a>b) a--; b++; //不是写在同一行,就属于if块中,多条语句要加大括号,下面两个也是一样。
else if(a < b) a++; b--;
else a--; b--;

cout<<"a的值修改后为:"a<<endl; //输出语句中,不同类型之间要用<<区分开。下面也是一样
cout<<"b的值修改后为:"b<<endl;

 

修改后如下:

 

int a, b;
cin>>a>>b;

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

cin>>a>>b;

if(a>0 && a<10) cout<<"a是个位数"<<endl;

if(a>b) { a--; b++; }
else if(a < b) { a++; b--; }
else { a--; b--; }

cout<<"a的值修改后为:"<<a<<endl;
cout<<"b的值修改后为:"<<b<<endl;

 

3、分支结构与运算符2

 

int a;
cin>>a;
switch(a){
  case 1; //case 后面要加:,而不是;
    cout<<"first"<<endl; //case结束,如果和下面的case执行不同的操作,要用break退出,下面也是一样。
  case 2;
    cout<<"second"<<endl;
  case 3;
    cout<<"third"<<endl;
  default; //default 后面要加:,而不是;,结束要加break。

}

 

修改后如下:
int a;
cin>>a;
switch(a){
  case 1:
    cout<<"first"<<endl;
    break;
  case 2:
    cout<<"second"<<endl;
    break;
  case 3:
    cout<<"third"<<endl;
    break;
  default:
    break;

}

 

4、循环结构与运算符

 

int n = 10;

for(int a=1, a<n, a++){ //for循环小括号里每一条都是语句,用;分隔开
  cout<<a<<endl;
}


do{
  cout<<a<<endl;
  a--;
}while(a) //do-while,在while小括号后面要加;

 

修改后如下:

 

int n = 10;

for(int a=1; a<n; a++){
  cout<<a<<endl;
}


do{
  cout<<a<<endl;
  a--;
}while(a);

 

4 程序分析与注释

这一部分的题目,我们通过分析别人的代码,学习别人的编写风格,学习如何去看懂别人写的代码,在后续我们经常要看别人的代码,让我们从现在开始打好基础吧。

1 变量与输入输出

1、程序

 

为程序添加注释如下:

 

/*
  变量定义、赋值及输出
*/
int a, b, c; //定义三个int类型的变量
a = 1; //变量a赋值为1
b = 2; //变量b赋值为2
c = 3; //变量c赋值为3
cout<<a<<" "<<b<<" "<<c<<endl; //将a b c三个变量输出,并用空格隔开。

 

程序执行结果为:

 

1 2 3

 

2 三大结构与运算符

1、顺序结构与运算符1

 

为程序添加注释如下:

 

/*
  加赋值操作练习
*/

int a, b, c; //定义三个int类型变量
a = 1; //给变量a赋值为1
b = 2; //给变量b赋值为2
c = 3; //给变量c赋值为3

a+=b; //把b加给a,a的值为1+2=3
b+=c; //把c加给b,b的值为2+3=5
c+=a; //把a加给c,c的值为3+3=6

cout<<a<<endl; //输出a并换行
cout<<b<<endl; //输出b并换行
cout<<c<<endl; //输出c并换行

 

程序执行结果为:

 

356

 

2、顺序结构与运算符2

 

为程序添加注释如下:

 

/*
  变量运算、float转int类型
*/

int a; //定义一个整型变量a
float b, c; //定义两个浮点型变量
b = 2.4; //给b赋值为2.4
c = 3.6; //给c赋值为3.6

b*=2; //b*2为4.8
c+=b; //c+b为8.4
c*=2; //c*2为16.8
a = c; //将c赋值给a,a为整型,则为16
a--; //a自减1,为15

cout<<a<<endl; //将a输出并换行
cout<<b<<endl; //将b输出并换行
cout<<c<<endl; //将c输出并换行

 

程序执行结果为:

 

154.816.8

 

3、分支结构与运算符

 

为程序添加注释如下:

 

/*
  逻辑屏蔽练习,根据判断条件输出结果
*/

int a = 5,b = 10; //定义两个整型变量并赋初值

if(1>2 && a++){ //1>2错误,逻辑与中,a++语句被屏蔽,不执行,下面的语句因为if条件错误,也不执行
  b*=2;
}
if(b == 10 || b--){ //b的值就是10,第一条语句正确,逻辑或中,b--被屏蔽,不执行,下面的语句因为if条件正确,要执行
  a*=2; //a扩大两倍,变为10
}

cout<<a<<" "<<b<<endl; //输出a和b,用空格隔开。

 

程序执行结果为:

 

10 10

 

4、循环结构与运算符

 

为程序添加注释如下:

 

/*
  输出0,10,20,30,40,50,60,70,80,90
*/
int a = 0,b = 10; //定义两个整型变量并赋初值

for(;a<b;a++){ //a每次自增1,如果满足a<b,就执行下面循环语句
  cout<<a*10; //将a的十倍输出
  if(a == 9) continue; //如果a为9,跳过后面的语句,即,不输出。
  cout<<",";
}

 

程序执行结果为:

 

154.816.8

 

5 代码编写

学得好不好,写写代码就知道,在这一部分,我们一起编写代码,感受信息学带给我们的爽快!

1 变量与输入输出

1、输出:你好,AI与喵技术。

 

代码如下:

 

/*
  知识点:输出语句、框架
*/
#include<iostream>
using namespace std;
int main(){
  cout<<"你好,AI与喵技术。"<<endl;
  return 0;
}

 

2、神奇复读机

 

代码如下:

 

/*
  知识点:变量定义、变量输出与输出
*/
#include<iostream>
using namespace std;
int main(){
  int n;
  cin>>n;
  cout<<"你好,我是神奇复读机,你输入的数字是"<<n<<"。"<<endl;
  return 0;
}

 

3、聊天机器人

 

代码如下:

 

/*
  知识点:数据类型
*/
#include<iostream>
using namespace std;
int main(){
  string name;
  int age;
  float height;
  cout<<"机器人:你好,我是小机器人,你可以叫我小可爱;"<<endl;
  cout<<"用户:你好呀,小可爱。"<<endl;
  cout<<"机器人:你叫什么名字呢?"<<endl;
  cin>>name;
  cout<<"机器人:你好,"<<name<<",你今年几岁啦!"<<endl;
  cin>>age;
  cout<<"机器人:哇,"<<name<<",原来你"<<age<<"岁了呀,那左老师你身高是多少呢?"<<endl;
  cin>>height;
  cout<<"机器人:"<<name<<height<<"米哦,"<<name<<",很高兴认识你!"<<endl;
  cout<<name<<":我也很高兴认识你!"<<endl;
  
  return 0;
}

 

2 运算符与表达式

1、计算周长和面积

 

代码如下:

 

/*
  知识点:算术运算
*/
#include<iostream>
using namespace std;
int main(){
  int a, b;
  cin>>a>>b;
  
  cout<<2*(a+b)<<endl;
  cout<<a*b<<endl;
  return 0;
}

 

2、截铁丝

 

代码如下:

 

/*
  知识点:整除运算
*/
#include<iostream>
using namespace std;
int main(){
  int a, b, c, d;
  cin>>a>>b>>c;
  d = (2*(a+b)+c)/4;
  cout<<d<<endl;
  return 0;
}

 

3 分支结构

 

1、判断星期

 

代码如下:

 

/*
  知识点:取余运算、switch-case语句
*/
#include<iostream>
using namespace std;
int main(){
  int day;
  cin>>day;
  switch(day%7){
    case 0:
      cout<<"星期一"<<endl;
      break;
    case 1:
      cout<<"星期二"<<endl;
      break;
    case 2:
      cout<<"星期三"<<endl;
      break;
    case 3:
      cout<<"星期四"<<endl;
      break;
    case 4:
      cout<<"星期五"<<endl;
      break;
    case 5:
      cout<<"星期六"<<endl;
      break;
    case 6:
      cout<<"星期日"<<endl;
      break;
    default:
      cout<<"error"<<endl;
      break;
  }
  return 0;
}

 

2、节约粮食

 

代码如下:

 

/*
  知识点:取余运算、整除运算、switch-case语句
*/
#include<iostream>
using namespace std;
int main(){
  int money, yn, k;
  float pay = 0;
  cin>>money>>yn;
  if(yn) {
    cin>>k;
    if(k>1000) {
      pay += (k-1000)/100*0.1*money + 10*0.05*money;
      if(k%100) pay += 0.1*money;
    }
    else if(k>0){
      pay += k/100*0.05*money;
      if(k%100) pay += 0.05*money;
    }
    else{
      pay += money * 0.99 * 1.02;
    }
  }
  else pay = money*0.95;
  
  cout<<pay<<endl;
  
  return 0;
}

 

4 循环结构与循环嵌套

 

1、八骨蛛数

 

解法1代码如下:

 

/*
  解法1,根据题目要求,判断所有五位数是否满足条件,满足则输出。思路简单,但运算时间长。
  知识点:取余运算、整除运算、for循环
*/
#include<iostream>
using namespace std;
int main(){
  int g,s,b,q,w;
  for(int i = 10000;i<100000;i++){
    g = i%10;
    s = i/10%10;
    b = i/100%10;
    q = i/1000%10;
    w = i/10000%10;
    if(g == w && s == q && g < s && g+s == 2*b) cout<<i<<endl;
  }
  
  return 0;
}

 

解法2代码如下:

 

/*
  解法2,根据规律直接分析,直接输出
  知识点:循环嵌套
*/
#include<iostream>
using namespace std;
int main(){
  int g,s,b,q,w;
  for(int i = 1;i<10;i++){
      for(int j = i + 2;j<10;j+=2){
        cout<<i<<j<<(i+j)/2<<j<<i<<endl;
    }
  }
  
  return 0;
}

 

2、输出菱形

 

代码如下:

 

/*
  知识点:循环嵌套、break、逻辑运算符与逻辑表达式、数学逻辑
*/
#include<iostream>
using namespace std;

int main(){
  int dis;
  char c;
  cout<<"请输出菱形中心距与字符,请注意符合题目要求:"<<endl;
  cin>>dis>>c;
  while(1){
    if(dis>0 && dis<=10 && (c=='+' || c=='-' || c=='*' || c=='/' || c=='%' || c=='=' || c>='0' && c<='9' || c>='a' && c<='z' || c>='A' && c<='Z')){
      for(int x = 1;x<=2*dis-1;x++){
        for(int y = 1;y<=2*dis-1;y++){
          if(x+y<3*dis && x+y>dis && x-y<dis && y-x<dis) cout<<c<<" ";
          else cout<<" ";
        }
        cout<<endl;
      }
      break;
    }
    
    else{
      cout<<"请输出菱形中心距与字符,请注意符合题目要求:"<<endl;
      cin>>dis>>c;
    }
  }
  
  return 0;
}


回复

上一页1 页 / 共 1下一页
HCLZQ退游HCLZQ退游

啊啊啊,完全看不懂

点赞0


评论