0.0953

五煦查题

快速找到你需要的那道考题与答案

中国大学2020春季课程程序设计基础C++(苗雨)期末答案(慕课2023课后作业答案)

55 min read

中国大学2020春季课程程序设计基础C++(苗雨)期末答案(慕课2023课后作业答案)

第1章 初识C++语言:从认识变量和常量开始,中国数据的大学表示

第一周测试题

1、以下关于C++语言描述错误的春季程序是()
A、一个C++程序总是课程课课从main函数开始执行
B、每个语句和数据声明的设计最后必须有一个分号
C、C++语言的基础注释符是以“/*”开始并以“*/”结束的
D、一个C++程序可以包含多个main函数

2、苗末答C++ 语言源程序文件后缀为( )。雨期业答
A、案慕案.EXE
B、后作.OBJ
C、中国.cpp
D、大学.ASM

3、春季程序C++语言是课程课课( )
A、机器语言
B、设计汇编语言
C、仅具有面向对象特征的语言
D、既表现面向对象的特征,又表现面向过程的特征

4、C++语言中普通整型变量int在内存中占( )字节。
A、1
B、2
C、8
D、4

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

6、各种基本数据类型的存贮空间正确的长度排列为( )。
A、int < char <double
B、double <int<char
C、char<int <double
D、int <=char<double

7、下面的变量说明中( )是正确的。
A、int:a, b, c;
B、int a; b; c;
C、char a, b, c;
D、char a, b, c。

8、C++程序的每次运行都是从( )函数开始执行的 。
A、自己定义入口函数
B、main
C、return
D、cout

9、在C++语言中,合法的标识符( )组成。
A、只能由字母和数字
B、由字母和数字及下划线组成都合法
C、由字母和数字及下划线组成,且由字母和下划线开头的
D、由字母和数字及下划线组成,且由数字开头的

10、C++语句的结束使用的符号为( ) 
A、.
B、;
C、,
D、。

第一单元测验题

1、输入变量值使用的C++关键字是( )。
A、cout
B、cin
C、out
D、in

2、能正确表示输出变量s值,并且保留小数点后3位语句是
A、cout<<"s="<<fixed<<setprecision(2)<<s<<endl;
B、cout<<"s="<<setprecision(3)<<s<<endl;
C、cout<<"s="<<fixed<<setprecision(3)<<s<<endl;
D、cout<<"s="<<fixed<<setprecision(3)<<endl;

3、下列数据是使用十六进制表示的常量数值为( )。
A、065
B、0x65
C、65
D、x65

4、下列正确的八进制数值为( )。
A、0x61
B、061
C、079
D、61

5、下列关键字中,表示符号常量也叫常变量的关键字为( )。
A、main
B、3.14
C、cout
D、const

6、设计流程图的作用是梳理编程思路。

7、输出语句cout<<"s="<<s<<"\n";中,s出现了两次,都是表示变量s。

8、"a"和'a'是一样的都是表示字符常量a。

9、在输出语句中,转义字符'\n'和endl作用一样,回车,并不换行也不会清空输入缓冲区。

10、输入多个数据,数据分隔可以用“空格键”,“Tab”键,“Enter键”,结束输入时只能用“Enter”键。

第一单元作业

1、编写程序输出"Hello World C++!"。

2、编写程序输入半径r的值,计算圆面积S(S=PI*r*r),PI通过const符号常量定义,结果保存1位小数。

第2章 运算符与表达式(4月6日发布共6学时)

第二章单元测试

1、执行下面程序段的输出结果是( )。 int x=2,y=5,z; z=x+y; cout<<x<<" "<<z<<endl;
A、2 5
B、5 7
C、7 2
D、2 7

2、设有说明“int i=10;float x”,执行x=5/i后,x的值为( )。
A、0
B、0.5
C、1
D、以上全错

3、判断字符型变量ch是否为大写英文字母,应使用表达式( )。
A、ch>='A' & ch<='Z'
B、ch<='A' ||ch>='Z'
C、'A'<=ch<='Z'
D、ch>='A' && ch<='Z'

4、int x=5, y=6;下列表达式结果为真的是( )。
A、x==y--
B、x==++y
C、x++==y
D、x==--y

5、设有a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2, 则逻辑表达式(m=a>b)&&(n=c>d)运算后,m和n的值分别为( )。
A、0,0
B、1,0
C、0,2
D、0,1

6、int c,判断c的值为1、3、5三个数值为“真”,否则为“假”的表达式。
A、(c=1)||(c=3)||(c=5)
B、(c==1)||(c==3)||(c==5)
C、(c!=1)&&(c!=3)&&(c!=5)
D、(c==1)&&(c==3)&&(c==5)

7、在C++语言中,要求操作数必须是整形的运算符是( )。
A、%
B、/
C、*
D、!=

8、逗号表达式a=3,a+=6,a+1,表达式的值为( ),a的值为( )。
A、10,10
B、9,10
C、6,10
D、10,9

9、已知下列语句中的x和y都是int型变量,其中错误的语句( )。
A、x=y++;
B、x=++y;
C、(x+y)++;
D、++x==y;

10、不属于C++逻辑运算符的是( )。
A、!!
B、&&
C、||
D、!

第3章(上) 分支结构1-if语句使用(4月6日发布)

上机作业

1、编写程序,输入边长a的值,计算出正方体面积,判断输入的数据是否为正整数,正确则输出正方体面积,如输入是负值,输出错误提示信息“error”。

2、输入整型变量a,b的值,输出较大的值,如果相等输出a==b。

3、编写程序,输入一个正整数表示学生的学习成绩,若学习成绩小于0或者大于100,输出illeagl,否则若成绩在90-100之间,输出’A’;成绩在80-89之间,输出’B’; 成绩在70-79之间,输出’c’; 成绩在60-69之间,输出’D’;60分以下的输出’E’.

第3章(下)分支结构2(4月13日发布共6课时)

第3章单元测试

1、执行语句序列 int n; cin >> n; switch(n) { case 1: case 2: cout << '1'; case 3: case 4: cout << '2'; break; default: cout << '3'; } 时,若键盘输入1,则屏幕显示( )。
A、1
B、2
C、3
D、12

2、下面程序的输出结果是( ). #include<iostream> using namespace std; int main() { int a=2,b=-1,c=2; if (a<b) if (b<0) c=0; else c+=1; cout <<c<<endl; return 0; }
A、0
B、1
C、2
D、3

3、为了避免嵌套的if-else语句的二义性,C++语言规定else总是与( )组成配对关系。
A、缩排位置相同的if
B、在其之前未配对的if
C、其之前未配对的最近的if
D、同一行上的if

4、判断字符型变量x输入字符为数字的if语句正确的是( )。
A、if('0'<x<'9')
B、if('0'<x&x<'9')
C、if('0'<x||x<'9')
D、if(x>'0'&&x<'9')

5、以下代码执行后,a、b、c的值分别为( )。 int a=8,b=10,c=3; if (a>b) c=a,a=b,b=c;
A、10 3 3
B、8 10 3
C、10 8 8
D、10 10 8

6、下列描述正确的是( ) 。
A、表示m>n为true或m<n为true的表达式为m>n&&m<n
B、switch语句结构中必须有default语句
C、if语句结构中必须有else语句
D、如果至少有一个操作数为true,则包含"||"运算符的表达式为true

7、下面程序的运行结果是( ). #include<iostream> using namespace std; void main(void) { int i=10; switch (i) { case 9:i++; case 10:++i; case 11:i++;break; default:i=i+1; } cout<<i<<endl; }
A、9
B、10
C、11
D、12

8、若int a=6,则执行完下列语句后,a的值为( ). if (a>10) a-=5; a+=5;
A、1
B、6
C、10
D、11

9、#include<iostream> using namespace std; int main() { int a=3; if(a=5) cout<<a+1<<endl; else cout<<a<<endl; return 0; } 程序的输出是( )。
A、3
B、4
C、5
D、6

10、若x和y是程序中的两个整型变量,则下列if语句中正确描述x等于1时,y赋值为1,否则y赋值为2的是( )。
A、if(x==1) y=1; else y=2;
B、if(x=1) then y=1 else y=2;
C、if(x==1) y=1 else y=2;
D、if x==1 y=1; else y=2;

第3章 编程题

1、从键盘输入整数1-7,输出显示对应的星期名(星期一,星期二,星期三,星期四,星期五,星期六,星期日),不在此范围,输出“输入错误”。

2、计算铁路运费:已知从甲地到乙地,每张票托运行李不超过50公斤时,按每公斤3元,超过50公斤,超过部分按每公斤2元计算。输入行李重量w,计算运费y (注意:运行后的Console窗口中只有输入的数字和输出结果数字,不要含有其他输出提示文字)

第4章——循环结构:周而复始,求同存异(上)(4月13日发布)

循环结构(上)作业

1、从键盘输入整数1-7,输出显示对应的星期名(星期一,星期二,星期三,星期四,星期五,星期六,星期日),不在1-7范围的输入,输出“输入错误”,上述过程通过循环控制实现连续2次操作。

第4章——循环结构:周而复始,求同存异(下)(4月20日发布)

第四章单元测试

1、下面关于break语句的描述中,不正确的是( )。
A、break可以用于循环体内
B、break语句可以在for循环语句中出现多次
C、break语句可以在switch语句中出现多次
D、一个break语句就可以跳出多重循环

2、以下语句不正确的是( )。
A、语句for(int i=0;;);无限循环
B、语句do{ ;} while(1);无限循环
C、语句for(;0;);无限循环
D、语句while(1);无限循环

3、有如下程序:   #include<iostream> using namespace std; int main() { int i,f,f1=0,f2=1; for(i=3;i<=6;i++) { f=f1+f2; f1=f2; f2=f; } cout<<f<<endl; return 0; }运行时的输出结果是( )
A、2
B、3
C、5
D、8

4、有如下程序段: int i=5; while (i=0){ cout<<'*'; i--; } 运行时输出"*"的个数是( )。
A、0
B、1
C、5
D、无穷

5、#include<iostream> using namespace std; int main() { int i=0; do { i++; cout<<i<<endl; } while(i*i<10); return 0; }程序结束时,执行了( )次do循环体。
A、2
B、3
C、4
D、5

6、有如下循环语句: for(int i=50; i>20; i-=2) cout<<i<<','; 运行时循环体的执行次数是( )。
A、14
B、15
C、30
D、27

7、有如下程序段: int i=1; while (1) { i++; if(i == 10) break; if(i%2 == 0) cout << '*'; } 执行这个程序段输出字符*的个数是( )。
A、10
B、3
C、4
D、5

8、有如下程序: #include<iostream> using namespace std; int main( ){ int sum; for(int i=0; i<4; i+=2){ sum=i; for(int j = i; j<5; j++) sum+=j; } cout<<sum<<endl; return 0; } 运行时的输出结果是( )。
A、3
B、10
C、12
D、11

9、下面程序的运行结果是( )。 #include<iostream> using namespace std; void main() { int i,j,a=0; for(i=0;i<2;i++) { for (j=0; j<4; j++) { if (j%2) break; a++; } a++; } cout<<a<<endl; }
A、3
B、4
C、5
D、6

10、有如下程序段: #include<iostream> using namespace std; void main() { for (int i=1;i<=50;i++){ if (i%3!=0) continue; else if(i%5!=0) continue; cout<<i<<","; } }执行这个程序段的输出是( )。
A、15,30,45,
B、5,15,25,35,45,
C、除了15,30,45以外的小于50的整数
D、15,30,45

第四章 作业

1、输入两个不相等的正整数,求两个正整数区间(包含这两个正整数在内)的所有素数。(大于1正整数,除了1和它本身以外,不能被其他正整数整除的正整数,即为素数。)

调试测试程序及阶段性综合练习(4月27日发布,第10教学周,4学时)

阶段性测验(一次答题机会,90分钟内完成)

1、1. C++ 是一种 ( )的程序设计语言。
A、面向对象
B、面向用户
C、面向过程
D、面向应用

2、下列不属于常量的是( )。
A、'a'
B、'\n'
C、n
D、0x20

3、合法的标识符为( )。
A、stuName
B、$123
C、4G
D、else

4、将数学命题a≥x且b=y写成C++表达式是( )。
A、a>=x||b==y
B、a>=x&&b==y
C、a>=x&&b=y
D、a≥x||b==y

5、使用C++语言编写的源程序的扩展名是( )。
A、.EXE
B、.CS
C、.C
D、.CPP

6、能正确表示整形变量a和b值相等的if逻辑表达式是( )。
A、if (a=b)
B、if(a==b)
C、if(int a=int b)
D、if(a!=b)

7、判断char型变量ch是否为数字'0'-'9'的正确表达式是( )。
A、'0'<=ch<='9'
B、(ch>='0') & (ch<='0')
C、(ch>='0') && (ch<='9')
D、('0'<=ch) AND ('9'>=ch)

8、运算符优先级别描述不正确的是( )。
A、< , > ,<= ,>= 优先级相同,在关系运算符中优先级别较高
B、== ,!= 优先级相同,在关系运算符中优先级别较低
C、优先级由高向低顺序为算术运算符,关系运算符,赋值运算符
D、优先级由低向高顺序为算术运算符,关系运算符,赋值运算符

9、执行下面程序段的输出结果是( )。 int x=5,y=7,z; z=x+y; cout<<x<<" "<<z<<endl;
A、12 5
B、5 12
C、7 5
D、5 7

10、表达式2+3%(5-5/2) 的计算结果是( ) 。
A、4
B、5
C、3
D、2

11、已知下列语句中的x和y都是int型变量,其中错误的语句( )。
A、++x==y;
B、x=++y;
C、x=y++;
D、(x+y)++;

12、在C++语言中,要求操作数必须是整形的运算符是( )。
A、/
B、*
C、%
D、!=

13、逗号表达式a=3,a+=6,a+1,表达式的值为( ),a的值为( )。
A、10,10
B、9,10
C、10,9
D、6,10

14、以下代码执行后,a、b、c的值分别为( )。 int a=8,b=10,c=3; if (a<b) c=a,a=b,b=c; cout<<a<<b<<c;
A、10 3 3
B、8 10 3
C、10 8 8
D、10 10 8

15、若x和y是程序中的两个整型变量,则下列if语句中正确描述x等于1时,y赋值为1,否则y赋值为2的是( )。
A、if(x==1) y=1; else y=2;
B、if(x==1) y==1 else y==2;
C、if(x==1) y=1 else y=2;
D、if x==1 y=1; else y=2;

16、执行语句序列 int n; cin>> n; switch(n) { case 1: case 2: cout<< '1'; case 3: case 4: cout<< '2'; break; default: cout<< '3'; } 时,若键盘输入1,则屏幕显示( )。
A、1
B、2
C、3
D、12

17、下面程序的输出结果是( )。(本案例以一种常见的不标准的风格编写代码,不影响运行结果,但会增加读程序困难,以此例子希望同学们以标准的缩进格式编写程序) int main() { int a=2,b=-1,c=2; if(a<b) if(b<0) c=0; else c+=1; cout<<c<<endl; return 0; }
A、0
B、1
C、2
D、3

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

19、由i=-1;while(i<10){ i+=2;i++;},可知此while循环的循环体执行次数为( )次。
A、4
B、5
C、6
D、3

20、以下程序的输出结果是( )。 void main() { int x=3; do { x-=2; cout<<x<<endl; }while(--x); }
A、1
B、30 3
C、1 -2
D、无限循环

21、程序输入出结果为( )。 int main() { int i=10; switch(i) { case 9:i++; case 10:++i; case 11:i+=1;break; default:i=i+1; } cout<<i<<endl; return 0; }
A、1
B、11
C、12
D、13

22、程序的输出结果为( )。 void main() { int a=2,b=3,x=5; switch(a) { case2: x+a; break; case3: x+=b; } cout<<x<<endl; }
A、3
B、5
C、7
D、9

23、程序的运行结果为( )。 void main() { int t=20; while(t) { if(t==5) break; if(t%2) continue; cout<<t<<" "; t=t/2; } }
A、20
B、10
C、20 10
D、20 10 5

24、程序的运行结果为( )。 int main() { int i,f,f1=0,f2=1; for(i=3;i<=6;i++) { f=f1+f2; f1=f2; f2=f; } cout<<f<<endl; return 0; }
A、3
B、4
C、5
D、6

25、对程序的描述不正确的是( )。 int main() { int i,f,f1=0,f2=1; for(i=3;i<=6;i++) { f=f1+f2; f1=f2; f2=f; } cout<<f<<endl; return 0; }
A、循环变量i从3-6,循环次数为4次
B、在循环过程中f的取值分别是1 2 3 5
C、序列的规律是第三数等于前两个数之和
D、f1=f2;f2=f;这两句去掉程序运行结果一样

第5章——数组与指针(上)(5月4日发布,第11教学周,4学时)

第5章 数组与指针(上)测试

1、在C++ 语言中,引用数组元素时,其数组下标的数据类型允许是( )。
A、整型常量
B、整型表达式
C、整型常量或整型表达式
D、任何类型的表达式

2、C++语言中,数组名代表( )。
A、数组全部元素的值
B、数组首地址
C、数组第一个元素的值
D、数组元素的个数

3、不合法的数组定义是( )。
A、int a[5]={ 0,1,2,3,4,5};
B、int a[ ]={ 0,1,2,3,4,5};
C、int a[4]={ 0,1,2,3,4,5};
D、int a[5]={ 0,1,2};

4、若有说明:int a[10];则对a 数组元素的正确引用是 ( )。
A、a[10]
B、a[3.5]
C、a(5)
D、a[10-10]

5、对以下说明语句的正确理解是( )。 int a[10]={ 6,7,8,9,10};
A、将5 个初值依次赋给a[1]至a[5]
B、将5 个初值依次赋给a[0]至a[4]
C、将5 个初值依次赋给a[6]至a[10]
D、因为数组长度与初值的个数不相同,所以此语句不正确

第5章 数组与指针(上)编程题

1、编写程序,设置正整数n的值,其中n取值为小于等于10的正整数,再继续输入n个整数数值,从n个整数中找出最大数和最小数,并将它们输出。

第5章 数组与指针(下)(5月11日发布,第12教学周,8学时)

数组与指针(下)测验

1、以下对3行4列的二维数组a 定义的正确是( )
A、int a[3][];
B、float a(3,4);
C、double a[3][4];
D、float a(3)(4);

2、若有说明:int a[3][4];则对a 数组元素的正确引用是( )
A、a[2][4]
B、a[1,3]
C、a[1+1][0]
D、a(2)(1)

3、以下能对二维数组a 进行正确初始化的语句是( )
A、int a[2][]={ { 1,0,1},{ 5,2,3}};
B、int a[][3]={ { 1,2,3},{ 4,5,6}};
C、int a[2][4]={ { 1,2,3},{ 4,5},{ 6}};
D、int a[][3]={ { 1,0,1},{ },{ 1,1}};

4、若有说明:int a[3][4]=;则下面正确的叙述是( )
A、只有元素a[0][0]可得到初值0
B、此说明语句不正确
C、数组a 中各元素都可得到初值,但其值不一定为0
D、数组a 中每个元素均可得到初值0

5、判断字符串s1和s2是否相等的表达式为( )
A、s1=s2
B、s1==s2
C、strcpy(s1,s2)==0
D、strcmp(s1,s2)==0

数组与指针(下)上机作业

1、编写程序,计算3行3列的二维数组中各列之和。数据均为整数。

第6章 函数:面向过程的基础(5月18日发布,第13教学周,8学时)

第6章单元测试

1、有如下程序段: int i=4;int j=1; int main( ) { int i=8,j=i; cout<<i<<j<<endl; } 运行时的输出结果是______。
A、44
B、41
C、88
D、81

2、下面的函数利用递归实现了求1+2+3…..+n的功能: int sum(int n){ if( n==0 ) return 0; else return n+sum(n-1); } 在执行sum(10)的过程中,递归调用sum函数的次数是( )。
A、9
B、10
C、11
D、8

3、以下程序的执行结果是( )。 int fun(int b[],int n) { int i,r=1; for(i=0;i<n;i++) r=r*b[i]; return r; } void main() { int x,a[]={ 1,2,3,4,5,6,7,8}; x=fun(a,3); cout<<x<<endl; }
A、5
B、6
C、7
D、8

中国大学2020春季课程程序设计基础C++(苗雨)

在中国大学2020春季课程中,程序设计基础C++(苗雨)是一门非常重要的课程。本课程旨在让学生们掌握C++编程语言的基本语法和编程思想,为后续的程序设计和软件开发打下坚实的基础。

本课程内容涵盖C++语言基础、控制语句、函数、数组、指针、结构体、类和对象等基本知识点。通过理论讲解和实际编程练习,学生们将能够熟练掌握C++编程语言,能够独立完成简单的程序设计任务。

C++语言基础

在学习C++语言基础的过程中,我们将会了解基本的数据类型、变量、常量、运算符等概念。

在C++中,数据类型分为基本数据类型和派生数据类型。其中,基本数据类型包括整型、字符型、布尔型、浮点型等,而派生数据类型包括数组、指针、结构体和类等。

变量是用来存储数据的容器,在C++中,变量需要事先被定义,可以是基本数据类型或派生数据类型。常量是指在程序运行期间不可修改的值,可以用const关键字进行定义。

运算符是用来进行数值计算或逻辑运算的符号,C++中包括算术运算符、关系运算符、逻辑运算符、位运算符等。

控制语句

在C++程序中,控制语句用来控制程序的执行流程。本课程中涉及到的控制语句包括条件语句(if语句和switch语句)和循环语句(while语句、do-while语句和for语句)。

条件语句是用来判断某个条件是否成立,如果成立,则执行特定的代码块;否则,执行其他的代码块。if语句可以只包含一个代码块,也可以包含多个代码块,通过else关键字进行连接。switch语句可以根据不同的条件执行不同的代码块。

循环语句是用来重复执行某个代码块,直到满足特定的条件为止。while语句和do-while语句可以在循环前先判断条件是否成立,而for语句则在循环前进行初始化操作,并在每次循环后进行更新。

函数

函数是一段完成特定任务的独立代码块,具有输入和输出参数。在C++中,函数可以分为库函数和自定义函数。库函数是已经定义好的函数,如输入输出函数、数学函数等;自定义函数则是由用户自己定义的函数,可以根据需求实现特定的功能。

在C++中,函数的定义以关键字“void”或返回值类型开始,后面跟着函数名称和参数列表。在函数内部,可以使用各种已经定义过的变量和函数,也可以定义新的变量和函数。在函数结束时,可以通过“return”语句返回特定的值。

数组

数组是一组具有相同数据类型的变量,可以通过下标进行访问。在C++中,可以使用数组存储多个数据,如整数、字符、浮点数等。

在C++中,数组的定义以数据类型开始,后面跟着数组名称和数组长度。数组的下标从0开始,可以使用for循环来遍历数组中的元素。

指针

指针是C++中一个非常重要的概念,可以用来表示一个变量的地址。指针变量存储的是一个内存地址,可以通过解引用符“*”来访问该内存地址中存储的值。

在C++中,可以使用地址运算符“&”来获取一个变量的地址,也可以使用指针变量来存储该地址。指针变量的定义以数据类型和“*”符号开始,后面跟着指针变量名称。

结构体

结构体是一种自定义的数据类型,可以含有多个不同的数据类型成员。在C++中,可以使用结构体来将一些相关的数据组织在一起。

结构体的定义以关键字“struct”和结构体名称开始,后面跟着各种数据类型的成员。在使用结构体时,可以通过结构体名称和成员名称来访问每个成员。

类和对象

类是一种更高级别的自定义数据类型,可以将数据和函数组合在一起。在C++中,类可以定义为一个新的数据类型,可以包含成员变量和成员函数。

对象是类的一个实例,可以通过“.”运算符来访问类的成员变量和成员函数。在C++中,可以使用构造函数来初始化对象,在对象生命周期结束时使用析构函数来释放对象占用的内存。

总结

通过本课程的学习,我们了解了C++语言的基本语法和编程思想,掌握了条件语句、循环语句、函数、数组、指针、结构体和类等基本知识点。通过实际编程练习,我们能够熟练使用C++编程语言,能够独立完成简单的程序设计任务。

希望大家能够认真学习本课程,掌握C++编程语言的基本知识,为后续的程序设计和软件开发打下坚实的基础。