南开21秋学期《程序设计基础(上)》在线作业[答案]

作者:奥鹏作业答案 字体:[增加 减小] 来源:南开在线 时间:2021-11-10 08:20

21秋学期(1709、2103、2109、1903、1909、2003、2009、2103、2109)《程序设计基础(上)》在线作业 试卷总分:100 得分:100 一、单选题 (共 25 道试题,共 50 分) 1.下面定义的一维字符型数组中,存储的数据不

南开21秋学期《程序设计基础(上)》在线作业[答案]

南开21秋学期《程序设计基础(上)》在线作业[答案]答案

21秋学期(1709、2103、2109、1903、1909、2003、2009、2103、2109)《程序设计基础(上)》在线作业

试卷总分:100  得分:100

一、单选题 (共 25 道试题,共 50 分)

1.下面定义的一维字符型数组中,存储的数据不是字符串的为##。

A.char s[]="abc";

B.char s[]={'a', 'b', 'c', '\0'};

C.char s[]={'a', 'b', 'c'};

D.char s[20]="abc";

正确答案:-----

 

2.已知“int *p; fun(p);”,其中,函数fun没有返回值,且其形参定义为引用调用方式,则下列给出的fun函数原型中正确的是##。

正确答案:-----

A.void fun(int a[]);

正确答案:-----

B.void fun(int *&a);

正确答案:-----

C.void fun(int &a[]);

正确答案:-----

D.void fun(int &*a);

正确答案:-----

 

3.下面关于数组的描述中,错误的是##。

A.数组的长度必须在定义数组时指定,且数组中所有元素的数据类型必须相同

B.如果定义一维数组时提供了初始化列表,则数组的长度可以省略

C.如果定义二维数组时提供了初始化列表,则数组的列下标可以省略

D.如果定义二维数组时提供了初始化列表,则数组的行下标可以省略

正确答案:-----

 

4.下面关于c++语言的描述错误的是( )

A.C++语言支持数据封装

B.C++语言中引入友元没有破坏封装性

C.C++语言允许函数名和运算符重载

D.C++语言支持动态联编

正确答案:-----

 

5.已知函数原型"void fun(int &a);",则下列关于fun函数的调用形式,正确的是##。

正确答案:-----

A.int x=3;fun(x);

B.const int y=3;fun(y);

C.fun(3);

D.以上三种都正确

正确答案:-----

 

6.已知fun()函数的函数原型为“void fun(int x, double y=3.5, char z='#');”,则下面的函数调用中,不合法的调用是##。

正确答案:-----

A.f(1);

B.f(2, 4.2);

C.f(3, 3.7, '*')

D.f(0, , '#')

正确答案:-----

 

7.在表示存储器的容量时,1MB的准确含义是( )字节。

A.1000K

B.1024*1024

C.512*512

D.2048*2048

正确答案:-----

 

8.表达式的100+43.6*'a'数据类型是( )。

A.float

B.double

正确答案:-----

正确答案:-----

C.long double

D.错误的表达式

正确答案:-----

 

9.十六进制数ABH 变换为等值的十进制数是( )。

A.17

B.161

C.21

D.171

正确答案:-----

 

10.十进制数123变换为等值的二进制数是( )。

A.1111000

B.1111010

C.1111011

D.1111100

正确答案:-----

 

11.在一个非零的二进制数后增加一个0后的数是原来的( )倍。

A.1倍

B.2倍

C.3倍

D.4倍

正确答案:-----

 

12.对于语句“ cout<<x<<endl;”错误的是描述是( )。

正确答案:-----

A.“cout”是一个输出流对象

正确答案:-----

B.“endl”的作用是输出回车换行

正确答案:-----

C.“x”是一个变量

正确答案:-----

D.“<<”称作提取运算符

正确答案:-----

 

13.下面关于循环语句的叙述中,正确的是##。

A.for循环只能用于循环次数已知的情况

B.for循环与while循环一样,都是先执行循环体后判断条件

C.for循环体内不能出现while语句

D.无论哪种循环,都可以从循环体内转移到循环体外

正确答案:-----

 

14.已知程序段: int a[3][4],*p[3]={a[0], a[1], a[2]},**pp=p,i; for (i=0; i<12; i++) a[i/4][i%4]=i; 则pp[1][2]的值是##。

A.3

B.4

C.5

D.6

正确答案:-----

 

15.在访问一维数组中的某个元素时,不可以用##指定待访问元素的下标。

A.整型常量

B.整型变量

C.整型表达式

D.浮点型常量

正确答案:-----

 

16.已知函数调用“char str[2][10]={"abc", "def"}; fun(str);”,则下列给出的fun()函数原型中正确的是##。

正确答案:-----

A.void fun(char (*p)[2]);

正确答案:-----

B.void fun(char (*p)[10]);

正确答案:-----

C.void fun(char *p[2]);

正确答案:-----

D.void fun(char **p);

正确答案:-----

 

17.如果需要一个变量来记录函数的调用次数,那么这个变量不能定义为##。

A.局部变量

B.全局变量

C.静态局部变量

D.静态全局变量

正确答案:-----

 

21.下面关于break语句的描述中,不正确的是##。

A.break语句用于if语句中将退出该if语句

B.break语句用于循环体内将退出该循环

C.break语句用于switch语句中将退出该switch语句

D.break语句在一个循环体内可以多次出现

正确答案:-----

 

19.C++语言对c语言做了很多改进,C++语言相对于C语言的最根本的变化是( )。

A.引进了类和对象的概念

B.允许函数重载,并允许设置缺省参数

C.规定函数说明符必须用原型

D.增加了一些ABC运算符

正确答案:-----

 

20.计算机系统中采用补码运算的目的是( )。

A.与手工运算方式保持一致

B.减少存储空间

C.简化计算机的设计

D.提高运算的精度

正确答案:-----

 

21.下列函数原型中,正确的是##。

A.void fun(int a=10, int b, int c);

正确答案:-----

B.void fun(int a=10, int b=5, int c);

正确答案:-----

C.void fun(int a, int b=5, int c=8);

正确答案:-----

D.void fun(int, int=5, int);

正确答案:-----

 

22.已知“int a=2, b=3, &r=a; r=b; r=5; cout<<a<<","<<b;”,则输出结果为##。

正确答案:-----

A.2,5

B.2,3

C.5,3

D.5,5

正确答案:-----

 

23.以下各选项中,非法的变量名是( )。

A.No_1

B.No123

C.2name

D.sumOfStudent

正确答案:-----

 

24.已知“int a[2][3], b=fun(a);”,则fun()函数原型为##。

正确答案:-----

A.void fun(int (*p)[2]);

正确答案:-----

B.void fun(int (*p)[3]);

正确答案:-----

C.int fun(int (*p)[2]);

D.int fun(int (*p)[3]);

正确答案:-----

 

25.计算机的存储器中,一个字节有( )个二进制位组成。

A.1

B.2

C.4

D.8

正确答案:-----

 

南开21秋学期《程序设计基础(上)》在线作业[答案]多选题答案

二、判断题 (共 25 道试题,共 50 分)

26.已知“char s[]="hello";”,则使用“cout<<s;”可以在屏幕上输出“hello”

正确答案:-----

 

27.已知“int a[2][]={{1,2,3},{4,5,6}};”,则二维数组a的列下标为3。

正确答案:-----

 

28.下面程序段不能实现求n!功能。 int i, p,n; cin>>n; for(i=1,p=1; i<=n; i++) p*=i;

 

29.ASCII 码是一种字符编码,而汉字的各种输入方法也是一种字符编码。

 

30.用C++表示数学表达式“0<=x<=100 ”的形式是“0<=x<=100”。

正确答案:-----

 

31.如果在定义一维数组时给出了初始化列表,则用于指定数组长度的常量表达式可以省略。

 

32.已知“char s[20];”,则语句“strcpy(s, "abc");”与“s="abc";”的作用相同。

正确答案:-----

 

33.一个C++程序一般由多个函数组成。这些函数只能是用户根据需要自己编写的函数——用户自定义函数。

正确答案:-----

 

34.switch语句中的default分支不可以缺省。

正确答案:-----

 

35.将数组名作为函数实参,表示将数组首地址传递给函数,在函数中可以通过该首地址操作数组中的元素并更改元素的值。

 

36.面对问题,需要找出解决问题的方法,我们把这种能够在有限的步骤内解决问题的过程和方法称为程序。

 

37.以下程序段的功能是计算10! int n=1,i=1; while(i<=10); n=n*i++; cout<<n;

 

38.逻辑型参与算数运算或关系运算时,true被转换成1,false被转换成0。

 

39.在循环语句的或部分必须有改变循环条件、使表达式最终成为假的语句,否则永远为真,造成无法退出循环,即所谓的“死循环”。

正确答案:-----

 

40.+i与 &[i]等价

 

41.数据类型的定义,如结构体、枚举等类型的定义等一般放在用户自定义的头文件中。

 

42.puts()函数与cout功能类似,但puts()函数输出字符串后会自动换行,而cout不会自动换行。

 

43.函数的函数体需要用一对花括号“{}”括起来。

正确答案:-----

 

44.功能相近的函数才有必要重载,互不相关的函数进行重载会降低程序的可读性。

 

45.具有不同作用域的变量可以同名,在访问时优先访问具有较小作用域的变量。

 

Tag:  南开 学期 在线 作业 答案 

作业咨询:
点击这里给我发消息

论文咨询:
点击这里给我发消息

合作加盟:
点击这里给我发消息

服务时间:
8:30-24:00(工作日)