南开21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《程序设计基础(上)》在线作业[答案]答案
21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《程序设计基础(上)》在线作业
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 50 分)
1.已知“char *s="mybook";”,则strlen(s)的值为##。
专业答案:----
A.4
B.6
C.7
D.不确定
正确选项:----
正确选项:----
2.函数定义中,下列有关return语句的描述错误的是##。
A.函数定义中可以没有return语句
B.函数定义中可以有多个return语句,但是只执行其中之一
C.函数定义中,一个return语句可以返回多个值
D.只要和函数类型一致,return后面可以是常量、变量和任一表达式
专业答案:----
3.已知“char *s="mybook";”,则下列语句正确的是##。
正确答案:----
A.strcpy(s,"hello");
B.strcat(s, "hello");
C.s="hello";
D.以上均不正确
正确答案:----
4.6位二进制数能表示的最大十进制数是( )。
A.32
B.31
C.64
D.63
专业答案:----
5.以下各选项中,非法的变量名是( )。
A.No_1
B.No123
C.2name
D.sumOfStudent
正确选项:----
6.已知“char s[]="hello";”,则下面叙述中正确的是##。
正确选项:----
A.数组s的长度为5
B.元素s[2]的值为'e'
C.使用“cin>>s;”可以将从键盘上键入的字符串保存在数组s中
专业答案:----
D.使用“int t[]=s;”可以定义数组t、并用s中各元素的值初始化t中的各元素
专业答案:----
7.默认形参值不可以是##。
A.局部变量
B.全局变量
C.静态全局变量
D.函数调用
专业答案:----
8.下面各选项中的数组定义方式,错误的是##。
A.int a[7];
B.const int N=7; float b[N];
C.char c[]="abcdef";
专业答案:----
D.int N=7; double d[N];
专业答案:----
9.下面关于for循环的正确描述是##。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
专业答案:----
10.设i,j,k都是变量,下面不正确的赋值表达式是( )。
A.i++
B.i=j=k
C.i=j==k
D.i+j=k
专业答案:----
11.假设堆内存分配均成功,则下面程序段完全正确的是##。
A.int *p=new int(3);cout<<*p;delete p;
专业答案:----
B.int *p=new int[3];for(int i=0;i<3;i++)*p++=i;delete []p;
正确选项:----
专业答案:----
C.int *p=new int[3];for(int i=0;i<3;i++,p++) {*p=i; cout<<*p;}delete []p;
D.以上程序段均正确
专业答案:----
12.下列对有关带默认形参值的函数的描述中,正确的是##。
A.只能在函数定义时设置默认形参值
B.只能在函数声明时设置默认形参值
C.函数调用时,必须使用默认的形参值,不能给出新的实参值
D.默认形参值必须严格按照从右至左的顺序进行指定
正确选项:----
13.下列表达式中的值为1是( )。
A.1-'0'
B.1-'\0'
C.'1'-0
D.'\0'-'0'
正确答案:----
14.以下4个数未标明属于哪一种数制,但是可以断定( )不是八进制数。
A.1234
B.5678
C.1111
D.1103
专业答案:----
15.计算机系统中采用补码运算的目的是( )。
A.与手工运算方式保持一致
B.减少存储空间
C.简化计算机的设计
D.提高运算的精度
正确答案:----
16.计算机的存储器中,一个字节有( )个二进制位组成。
A.1
B.2
C.4
D.8
正确答案:----
17.已知函数定义“void fun(int &a, int b) { b++; a++;}”,则执行“int x=2,y=3; fun(x,y);”后,变量x、y的值分别为##。
正确选项:----
A.2,3
B.3,4
C.2,4
D.3,3
正确选项:----
18.已知“char s[][10]={"Microsoft","Visual","C++"};”,则语句“cout<<s[1][2];”会在屏幕上输出##。
专业答案:----
A.s
B.i
C.c
D.icrosoft
正确选项:----
19.已知“char s[]="abc";”,则数组s中最后一个元素的值为##。
正确答案:----
A.c'
B.'0'
C.'\0'
D.' '
正确答案:----
20.下面关于数组的描述中,错误的是##。
A.数组的长度必须在定义数组时指定,且数组中所有元素的数据类型必须相同
B.如果定义一维数组时提供了初始化列表,则数组的长度可以省略
C.如果定义二维数组时提供了初始化列表,则数组的列下标可以省略
D.如果定义二维数组时提供了初始化列表,则数组的行下标可以省略
专业答案:----
21.已知函数定义"void fun(int &a) { a+=10; }",则执行"int x=5; fun(x);"后,变量x的值为##。
专业答案:----
A.5
B.10
C.15
D.不确定
22.在访问二维数组中的某个元素时,不可以用##指定待访问元素的行下标或列下标。
A.整型常量
B.整型变量
C.整型表达式
D.浮点型常量
专业答案:----
23.在表示存储器的容量时,1MB的准确含义是( )字节。
A.1000K
B.1024*1024
C.512*512
D.2048*2048
正确答案:----
24.在C++中,与cin一起使用的提取运算符是( )。
A.<
B.>
C.<<
D.>>
正确答案:----
25.自定义头文件中一般不包含##。
A.数据类型的定义
B.全局变量的定义
C.符号常量的定义
D.内联函数的定义
正确答案:----
南开21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《程序设计基础(上)》在线作业[答案]标准满分答案
二、判断题 (共 25 道试题,共 50 分)
26.可以定义函数指针变量指向函数的首地址,并使用函数指针变量代替函数名进行函数调用
27.选择语句中的分支语句在逻辑上是一条语句,当一个分支功能需要多条语句才能完成时,就需要使用复合语句。
28.do…while语句与while语句不一样,它首先执行,然后执行。
正确答案:----
29.一个结构体类型定义的最后必须以分号结束。
30.已知double x=10,y=3; 则x%2的值为1。
正确选项:----
31.C++中的命名空间是为了解决C++中的变量、函数的命名冲突的问题而设置的。
32.关系表达式值的数据类型为逻辑型。