moocC++程序设计_1期末答案(慕课2023课后作业答案)

moocC++程序设计_1期末答案(慕课2023课后作业答案)

第1讲 C/C++程序设计入门

第1讲单元测验

1、序设以下________是计期C/C++合法的标识符。
A、末答char2
B、案慕案@x
C、课课int
D、后作7Bw

2、业答下面的序设程序,对于输入:2 9 15,计期输出的末答结果是________。 #include "iostream" using namespace std; int main() { int a; int b; cout<<"input a,案慕案b:"<<endl; cin>>a>>b; cout<<"a+b="<<a+b<<endl; system("pause"); return 0; }
A、输入的课课数据超过要求的数据,程序运行出现错误
B、后作11
C、业答26
D、序设24

3、在VS C++中,要在原有程序中修改程序代码应打开扩展名为________的文件。
A、obj
B、sln
C、exe
D、cpp

4、有关C语言和C++语言以下正确的说法是________。
A、C语言和C++语言都是结构化程序设计语言
B、C语言和C++语言都是面向对象的程序设计语言
C、C语言是结构化语言,C++语言是面向对象的语言
D、C++语言是结构化语言,C语言是面向对象的语言

5、程序设计语言的发展通常被划分为三个阶段,其中不包括________。
A、高级语言
B、汇编语言
C、机器语言
D、数据库语言

6、通过cin语句为多个变量输入数据时,不能用______分隔多个数据。
A、空格
B、回车
C、制表符
D、逗号

7、C和C++语言中不区分大小写字母。

8、C语言最初是为开发UNIX系统而编写设计的。

9、在C和C++语言中,注释语句是可执行语句。

10、C和C++语言(C++11之前的标准)中,用户自定义的标识符中不能包含汉字。

11、C和C++语言源程序中如果存在语法错误,程序仍可以运行,但结果不正确。

12、cin后的提取运算符“>>”之后只能跟变量。

13、C++源程序的扩展名为________。

14、在C语言中,无论一个程序中有多少个函数,总是从_______函数开始执行。

15、C和C++语言中,________是语句结束的标志。

实验1 C/C++概述

1、以下程序的功能是借助一个变量交换两个已知数据的值,程序中存在一些错误,修改这些错误并调试程序。 #include "iostream" using namespace std; int main( ) { int x,y; t=x; x=y; t=y; cin>>x>>y>>endl; cout<<"x="<<x<<"y="<<y<<endl; system("pause"); return 0; }

2、编写一个计算梯形面积的程序。要求梯形的上底、下底和高在定义变量时直接赋值。

3、编写计算一个学生三门课平均成绩的程序,要求学生成绩从键盘输入。

第2讲 数据类型、运算符和表达式

第2讲单元测验

1、下列不是C语言基本数据类型的是 ( )。
A、字符型
B、整型
C、浮点型
D、结构体

2、若有x=1,y=2,z=3,则表达式(x<y?x:y)==z的值是( )。
A、1
B、2
C、3
D、0

3、已知x,y为整型,z为实型,ch为字符型,下列表达式合法的是( )。
A、z=(y+x)++
B、x+y=z
C、y=ch+x
D、y=z%x

4、设整型变量a为5,使b不为2的表达式是( )。
A、b = a/2
B、b = 6-(--a)
C、b=a%2
D、b=a>3?2:1

5、下列语句不具有赋值功能的是( )
A、a*=b
B、x=1
C、a+b
D、a++

6、在C语言中,要求参加运算的数必须是整数的运算符是( )。
A、/
B、*
C、%
D、=

7、执行 x=(6*7%8+9)/5; 后,x的值为( )
A、1
B、2
C、3
D、4

8、以下能正确定义整型变量a、b、c并为其赋初值5的语句是( )
A、int a=b=c=5;
B、int a,b, c=5;
C、int a=5,b=5,c=5;
D、a=b=c=5;

9、在C语言中,所有算术运算符的优先级都相同。

10、'b'和"b"是不同的两种常量。

11、一般情况下,目数越多,优先级越高。

12、表达式 a*b>0 可以表示“a和b同时为正或同时为负”

13、若已定义x和y为double类型,且x=1;则表达式y=x+3/2的值是( )。

14、表达式10!=9 的值是( )。

15、若已定义int x=1,y=1; 则表达式x--&&y--的值是( )

16、字符串常量"123"在内存中的字节数是( )。

17、已有定义int x=3 ; 则表达式x=x+1.78的值是( )

18、当a=3,b=2,c=1时,表达式f=a>b>c的值是( )

实验2 顺序结构

1、输入直角坐标系中点P的坐标(x,y),若P点落在图中的阴影区域内,输出阴影部分面积,否则输出数据0。

2、任意输入3个整数数据,输出它们中最小的一个数。

3、将"fly"译成密码"iob"。编码规律:将字母a变成字母d,即变成其后的第3个字母,x变成a,y变成b, z变成c。

第3讲 选择结构

第3讲 单元测验

1、若给定条件表达式(M)?(a++):(a--),则其中表达式M( )。
A、和(M==0)等价
B、和(M==1)等价
C、和(M!=0)等价
D、和(M!=1)等价

2、C语言中用于结构化程序设计的3种基本结构是( )
A、顺序结构、选择结构、循环结构
B、if,switch,break
C、for,while,do-while
D、if,for,continue

3、假设有定义 int x=1,y=0,a=0,b=0; 则执行以下程序段后,a、b的值为( )。 switch(x) { case 1: switch(y) { case 0:a++;break; case 1:b++;break; } //注意后面没有break case 2: a++;b++;break; case 3: a++;b++; }
A、a=l,b=0
B、a=2,b=1
C、a=1,b=l
D、a=2,b=2

4、假设有定义 int i=0,j=0,a=6;则执行以下语句后,各变量的值依次为( ) if((++i>0)||(++j>0))a++;
A、i=0,j=0,a=6
B、i=l;j=1;a=7
C、i=1,j=0,a=7
D、i=0;j=1,a=7

5、关于switch语句描述正确的是( )。
A、switch语句中default子句可能没有,也可能有一个
B、switch语句的每个语句序列中必须有break语句
C、switch语句中的case后面可以是一个关系表达式
D、switch语句中switch后面的表达式可以是实型

6、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是( )。 if(x>y) z=x; x=y; y=z;
A、x=10,y=20,z=30
B、x=20,y=30,z=30
C、x=20,y=30,z=10
D、x=20,y=30,z=20

7、以下if语句语法正确的是( )。
A、if(x>0) cout<<x else cout<<--x;
B、if(x>0) { x=x+y; cout<<x; } else cout<<--x;
C、if(x>0) { x=x+y; cout<<x; }; else cout<<--x;
D、if(x>0) { x=x+y; cout<<x }; else cout<<--x;

8、当a=1,b=2,c=4,d=3时,执行完下面一段程序后x的值是( )。 if(a<b) if(c<d) x=1; else if(a<c) if(b<d) x=2; else x=3; else x=4; else x=5;
A、1
B、2
C、3
D、4

9、一个switch语句必须包含一个default语句。( )

10、在C程序中,if语句中不能嵌套switch语句。 ( )

11、空语句是合法的C语句。

12、C语言中规定,if语句的嵌套结构中,else总是无条件地和最近的if配对。

13、C语言中规定,if表达式后面的语句可以是复合语句。

14、假设有定义int a=2,b=-1,c=2; 则执行以下程序段后c的值为( )。 if(a<b) if(b<0) c=0; else c++;

15、假设有定义int m=5; 则执行以下程序段的输出结果是( ) if(m++>5) cout<<m; else cout<<m--;

16、假设有定义int year,flag; ,其中year代表年份,flag代表是否为闰年的判断,取1代表闰年,取0代表非闰年,则以下关于闰年判断程序段中的空白处应为( ) if(year%400==0) flag=1; else if(____________________) flag=1; else flag=0;

实验3 选择控制结构

1、以下程序的功能是求两个非0整数相除的商和余数。程序有几处错误,试找出它们加以修改,并上机验证修改结果。 #include "iostream" using namespace std; int main() { int x,y,r1,r2; cin>>x>>y; if(x=0||y=0) cout<<”input error”<<endl; else { if(x>y) r1=x/y; r2=x%y; else r1=y/x; r2=y%x; } cout<<”商= ”<<r1<<” 余数= ”<<r2<<endl; system("pause"); return 0; }

2、某商场购物时,若所选商品价值x在下述范围内,则实付金额y按如下折扣支付: 用switch语句实现已知x求y

3、编一模拟袖珍计算器的完整程序,运行结果见图。要求:输入两个操作数和一个操作符,根据操作符决定所做的运算。 提示:根据存放操作符的字符变量,利用switch语句实现。

第4讲 循环结构

第4讲 单元测验

1、若k为整型,以下while循环体中的语句执行( )。 k=2; while(k=0) { cout<<k; k--; }
A、无限次
B、0次
C、1次
D、2次

2、假设有定义 int i,j,k=0,m=0;则执行以下程序段后k和m的值分别为( ) for(i=0;i<2;i++) { for(j=0;j<3;j++) k++; k-=j; } m=i+j;
A、k=0,m=3
B、k=0,m=5
C、k=l,m=3
D、k=l,m=5

3、下列关于break语句描述错误的是( )。
A、break语句可用于循环体内,它将退出该重循环
B、break语句可用于switch语句中,它将退出switch语句
C、break语句可用于if体内,它将退出if语句
D、break语句只能用于循环语句和switch语句中

4、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是 for (i=5;i;i--) for (j=0;j<4;j++){ ...}
A、20
B、25
C、24
D、30

5、语句while(!e);中的条件 !e 等价于( )。
A、e==0
B、e!=1
C、e!=0
D、~e

6、以下程序段( )。 int x=-1; do { x=x*x; } while (!x);
A、是死循环
B、循环执行二次
C、循环执行一次
D、有语法错误

7、下面有关for循环的正确描述是( )。
A、for循环只能用于循环次数已经确定的情况
B、for循环是先执行循环体语句,后判定表达式
C、在for循环中,不能用break语句跳出循环体
D、for循环体语句中,可以包含多条语句,但要用花括号括起来

8、continue语句的作用是结束整个循环的执行

9、假设有定义 int i=100; 则以下循环是死循环。 while (1) { i=i%100+1; if (i>100) break; }

10、do-while的循环体至少无条件执行一次

11、do-while 的循环体不能是复合语句

12、只能在循环体内和switch语句体内使用break语句

13、假设有定义 int s=0,i=1; 则退出以下循环后i的值为( )。 while (s<=10) { s=s+i*i; i++; }

14、执行以下程序段后,i的值为( ) int i=1,s=3; do { s+=i++; if (s%7==0) continue; else ++i; } while (s<15);

15、假设有定义int n=0; 则退出以下循环后n的值为( )。 while(n++<3);

实验4 循环控制结构

1、以下程序求20以内的奇数和。程序有几处错误,试找出它们加以修改,并上机验证修改结果。#include "iostream" using namespace std; int main() { int n,sum; for(n=1; ;n+=2); sum=sum+n; if(n==20) break; cout<<"sum="<<sum<<endl; system("pause"); return 0; }

2、编写程序将一个十进制整数按倒序形式输出。即若输入156,则输出651。

3、编一程序,显示出所有的水仙花数。所谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。

4、

中国大学C++程序设计_1

中国大学C++程序设计_1是一门非常重要的计算机课程。通过学习这门课程,学生们可以掌握C++编程语言的基础知识,包括语法、数据类型、控制语句、函数、数组、指针、类和对象等方面的内容。

在这门课程中,学生们将会学习到C++编程语言的基本概念和原理,掌握面向对象编程的思想和方法,熟悉C++编程环境和常用开发工具,能够独立设计和开发C++应用程序。

课程内容

中国大学C++程序设计_1的课程内容非常丰富,包括但不限于以下内容:

  • 编程语言基础知识
  • 常量、变量和数据类型
  • 运算符和表达式
  • 控制语句和循环结构
  • 函数的定义和调用
  • 数组、指针和字符串
  • 面向对象编程
  • 类和对象的定义和使用
  • 继承、多态和虚函数
  • 模板和异常处理

通过这些内容的学习,学生们可以逐步掌握C++编程语言的基础知识和技能,为后续的C++编程学习打下坚实的基础。

学习方法

中国大学C++程序设计_1的学习方法需要学生们注重课堂学习、课后巩固和实践应用三个方面:

  1. 课堂学习:认真听讲,注意笔记,积极参与课堂讨论和练习。
  2. 课后巩固:及时复习,巩固基础知识,弄清概念和原理。
  3. 实践应用:做好实验课作业,积累编程经验,参加比赛和项目实践。

以上三个方面缺一不可,只有综合起来,才能够有效地提高学生们的C++编程水平。

教材推荐

中国大学C++程序设计_1的教材有很多,以下是一些比较好的教材推荐:

教材名称作者出版社
C++ PrimerStanley B. Lippman等Addison-Wesley
Effective C++Scott MeyersAddison-Wesley
The C++ Programming LanguageBjarne StroustrupAddison-Wesley

以上教材都是经典的C++编程教材,在国内外都有很高的声誉和知名度。学生们可以根据自己的实际情况选择适合自己的教材。

总结

中国大学C++程序设计_1是一门非常重要的计算机课程。通过学习这门课程,学生们可以掌握C++编程语言的基础知识和技能,为后续的C++编程学习打下坚实的基础。

在学习这门课程时,学生们需要注重课堂学习、课后巩固和实践应用。同时,选择好的教材也非常重要,可以有效地提高学生们的学习效果和编程水平。