24秋学期(高起本:1709-2103、专升本/高起专:2003-2103)《程序设计基础(上)》在线作业-00002
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 50 分)
1.函数定义中,下列有关return语句的描述错误的是##。
A.函数定义中可以没有return语句
B.函数定义中可以有多个return语句,但是只执行其中之一
C.函数定义中,一个return语句可以返回多个值
D.只要和函数类型一致,return后面可以是常量、变量和任一表达式
2.下面定义变量语句中,错误的是( )。
A.int x(10), y(10);
B.int x=y=10;
C.int x=10, y=10;
D.int x=10, y=x;
3.已知“int a[]={1,2,3,4,5};”,则下面叙述中正确的是##。
A.数组a的长度为5
B.元素a[1]的值为1
C.使用“cin>>a;”可以将从键盘上键入的整数保存在数组a中
D.使用“int b[5]=a;”可以定义数组,并用a中各元素的值初始化b中的各元素
4.已知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, , '#')
5.已知程序段: 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
6.已知函数调用“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);
7.已知“char s[]="hello";”,则下面叙述中正确的是##。
A.数组s的长度为5
B.元素s[2]的值为'e'
C.使用“cin>>s;”可以将从键盘上键入的字符串保存在数组s中
D.使用“int t[]=s;”可以定义数组t、并用s中各元素的值初始化t中的各元素
8.假设堆内存分配均成功,则下面程序段完全正确的是##。
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.以上程序段均正确
9.在一个非零的二进制数后增加一个0后的数是原来的( )倍。
A.1倍
B.2倍
C.3倍
D.4倍
10.二进制数1001101011转换为等值的十六进制数是( )。
A.4651
B.1153
C.9AC
D.26B
11.下列表达式中的值为1是( )。
A.1-'0'
B.1-'\0'
C.'1'-0
D.'\0'-'0'
12.默认形参值不可以是##。
A.局部变量
B.全局变量
C.静态全局变量
D.函数调用
13.指针函数是指##。
A.所有参数都为指针类型的函数
B.至少有一个参数为指针类型的函数
C.返回值为指针类型的函数
D.以上三种都是指针函数
14.C++中,常量99.78默认的数据类型是( )。
A.int
B.float
C.double
D.long double
15.在C++中,表示一条语句结束的符号是( )。
A.[
B.//
C./*
D.;
16.计算机系统中采用补码运算的目的是( )。
A.与手工运算方式保持一致
B.减少存储空间
C.简化计算机的设计
D.提高运算的精度
17.十进制数 14 对应的二进制数是( )。
A.1111
B.1110
C.1100
D.1010
18.在计算机中采用二进制,是由于( )。
A.硬件成本低
B.系统稳定
C.运算简单
D.上述3个原因
19.在访问一维数组中的某个元素时,不可以用##指定待访问元素的下标。
A.整型常量
B.整型变量
C.整型表达式
D.浮点型常量
20.在C++中,函数体是由一对( )括起来的部分。
A.{、}
B.、[、]
C.
D.(、)
21.( )是将所设计的算法变成计算机能够运行的代码的过程。
A.算法
B.程序
C.程序设计
D.编程
22.已知“char str[20]="mybook",*p=str+2;”则以下各选项中输出结果为"b"的是##。
A.cout<<p;
B.cout<<p[0];
C.cout<<str;
D.cout<<str+2;
23.已知“int a[10], *p=a;”,则以下各选项中对数组元素a[2]访问错误的是##。
A.*(a+2)
B.p[2]
C.*(p+2)
D.p+2
24.已知“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);
25.以下4个数未标明属于哪一种数制,但是可以断定( )不是八进制数。
A.1234
B.5678
C.1111
D.1103
二、判断题 (共 25 道试题,共 50 分)
26.已知“char s[10]="hello";”,则s[4]的值为'l'。
27.功能相近的函数才有必要重载,互不相关的函数进行重载会降低程序的可读性。
28.定义结构体类型时,结构体中的所有成员必须具有相同的数据类型。
29.定义结构体类型时,结构体中的所有成员可以具有不相同的数据类型。
30.char str[] = {'H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!', '\0'}; 和 char str[] = "Hello world!"; 两种定义形式不等价。
31.计算机中可以直接处理十进制数。
32.gets()函数与cin功能类似,但使用gets()函数时只有遇到换行符才表示一个字符串的结束,而使用cin时除了换行符,遇到空格或制表符也表示一个字符串的结束。
33.已知“int a[]={1,2,3}; const int *p=a;”,则语句“*p=5;”会将元素a[0]的值赋为5
34.int *p1, p2; 则表示定义了两个指针变量p1和p2。
35.C++语言已预先解决了整型、浮点型、字符型和逻辑型等基本数据在计算机中如何表示、占用多少存储空间以及可以进行的操作等问题,程序员可以直接使用这些基本数据类型的数据来描述和处理自己的问题。
36.已知“int a[2][]={{1,2,3},{4,5,6}};”,则二维数组a的列下标为3。
37.一个C++程序由一个main()函数构成。
38.*(+i)与[i]等价
39.全局变量是在所有函数里边定义的变量。
40.已知“char a[]="abc";”,则数组a的长度为3。
41.已知“int a[]={1,2,3};”,则使用“cout<<a;”将在屏幕上输出“1 2 3”。
42.break语句只能用在3种循环语句中。
43.逻辑运算符的优先级从高到低分别是逻辑非、逻辑或和逻辑与。
44.使用if…else语句可以处理多选择问题,不会因为嵌套层次太多而导致程序的可读性下降,也不容易出错。
45.SP结构化程序设计方法也称面向过程的程序设计方法,反映了过程性编程的方法,根据执行的操作来设计一个程序。
46.在多文件结构的程序中,某个源文件中定义的外部函数除了可以在该源文件中调用、还可以在其他源文件中调用。
47.关键字是组成编程语言词汇表的标识符,用户可以用他们标识其他实体。
48.在定义二维数组的同时可以使用初始化列表对数组中的多个元素赋初值。
49.用C++高级语言编写的程序,计算机能够直接执行。
50.C++中的函数分为两类:一类是用户根据待求解问题的需要自己定义的函数;另一类是系统提供的标准函数,即库函数。