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奥鹏作业答案请进open5.net或请联系QQ/微信:18866732
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.’\n’
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.内联函数的定义
二、判断题 (共 25 道试题,共 50 分)
26.可以定义函数指针变量指向函数的首地址,并使用函数指针变量代替函数名进行函数调用
27.选择语句中的分支语句在逻辑上是一条语句,当一个分支功能需要多条语句才能完成时,就需要使用复合语句。
28.do…while语句与while语句不一样,它首先执行,然后执行。
29.一个结构体类型定义的最后必须以分号结束。
30.已知double x=10,y=3; 则x%2的值为1。
31.C++中的命名空间是为了解决C++中的变量、函数的命名冲突的问题而设置的。
32.关系表达式值的数据类型为逻辑型。
33.char str[] = {‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘ ‘, ‘w’, ‘o’, ‘r’, ‘l’, ‘d’, ‘!’, ‘\0’}; 和 char str[] = “Hello world!”; 两种定义形式不等价。
34.C++语言已预先解决了整型、浮点型、字符型和逻辑型等基本数据在计算机中如何表示、占用多少存储空间以及可以进行的操作等问题,程序员可以直接使用这些基本数据类型的数据来描述和处理自己的问题。
35.一个C++程序至少且仅能包含一个main()函数。main()函数是整个程序的入口,通过在main()函数中调用其他函数
36.break语句位于多重循环的内循环中,则只能跳出它所在的内层循环。
37.SP结构化程序设计方法也称面向过程的程序设计方法,反映了过程性编程的方法,根据执行的操作来设计一个程序。
38.当输出汉字时,输出的是汉字机内码。
39.只有返回引用的函数可以作为赋值语句的左值。
40.函数的形参也是全局变量
41.已知int m=1,n=2; 则m/n的值为0.5。
42.在C++中,对结构体变量中成员的访问既可以逐个进行、也可以整体进行。
43.函数的形参是全局变量,可以在程序的所有函数中访问。
44.C++编译器总是将else与其前面最近的那个if匹配成一个if … else结构。
45.在访问数组中的某个元素时,可以使用整型变量指定要访问元素的下标。
46.? 如果不加限制地使用goto语句,则会导致程序流程的混乱,降低程序的可读性
47.已知“int a[3];”,则可以使用“a[3]=10;”将数组a中的第3个元素赋值为10。
48.C++中的任何一个程序必须有且只能有一个主函数main。
49.为了能够识别字符串结束位置,C++系统会在字符串的末尾自动添加一个ASCII编码为00H的字符’\0′(也称空字符),作为字符串的结束符,所以每个字符串的存储长度总是比其实际长度(字符个数)多1。
50.关键字是组成编程语言词汇表的标识符,用户可以用他们标识其他实体。
转载请注明:奥鹏作业之家 » 【奥鹏】南开21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《程序设计基础(上)》在线作业