可做各院校 作业 考核 论文 咨询请添加 QQ:3064302332 微信:wxxygzs
开23秋学期(高起本:1709-2103、专升本高起专:2003-2103)《程序设计基础(上)》在线作业[标准答案]
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 50 分)
1.下面定义变量语句中,错误的是( )。
A.int x(10), y(10);
B.int x=y=10;
C.int x=10, y=10;
D.int x=10, y=x;
2.二进制数 1011+1001=( )。
A.10l00
B.1010l
C.11010
D.10010
3.以下各选项中,非法的变量名是( )。
A.No_1
B.No123
C.2name
D.sumOfStudent
4.已知“int a=5, b, *p=&a;”,则下列语句中正确的是##。
A.&b=a;
B.b=*p;
C.*p=&b;
D.b=p;
5.一台微型计算机的内存容量为2G,指的是该微机的内存是2G个( )。
A.位
B.字
C.字节
D.块
6.自定义头文件中一般不包含##。
A.数据类型的定义
B.全局变量的定义
C.符号常量的定义
D.内联函数的定义
7.已知“enum Color{Red, Green, Blue}; Color co;”,则下列语句正确的是##。
A.co=0;
B.co=Blue;
C.co=Green+1;
D.co++;
8.C++源程序文件的扩展名是( )。
A.DLL
B.C
C.CPP
D.EXE
9.关于C++和C语言的描述中,错误的是( )。
A.C++是C语言的超集
B.C++对C语言进行了扩充
C.C++和C语言都是面向对象的程序设计语言
D.C++包含C语言的全部语法特征
10.下面程序的输出结果为:87,则横线处应填入( )。 #include using namespace std; struct Student { char num[8]; char name[10]; int score[3]; } stu[]={{"1210101","Zhangsan",{87,97,67}},{"1210102","Lisi",{92,86,79}}}; int main() { cout<<##; return 0; }
A.stu[1].score[1]
B.stu[0].score[0]
C.stu[1].score[0]
D.stu[0].score[1]
11.在访问二维数组中的某个元素时,不可以用##指定待访问元素的行下标或列下标。
A.整型常量
B.整型变量
C.整型表达式
D.浮点型常量
12.下面定义的一维字符型数组中,存储的数据不是字符串的为##。
A.char s[]="abc";
B.char s[]={'a', 'b', 'c', '\0'};
C.char s[]={'a', 'b', 'c'};
D.char s[20]="abc";
13.下列有关文件包含的描述中,错误的是##。
A.#include后面指定包含的文件可以是系统的头文件
B.#include后面指定包含的文件可以是自定义的头文件
C.如果包含的头文件名用尖括号括起,则会先在当前工作目录下搜索头文件
D.如果包含的头文件名用双引号括起,则会先在当前工作目录下搜索头文件
14.已知“int a[]={1,2,3,4,5},*p=a;”则以下各选项中值为数组元素地址的是( )。
A.*(a+3)
B.&(a+3)
C.p+3
D.*(&a[3])
15.对于相同类型的指针变量,不能进行的运算是##
A.*
B.=
C.-
D.>
16.下面关于c++语言的描述错误的是( )
A.C++语言支持数据封装
B.C++语言中引入友元没有破坏封装性
C.C++语言允许函数名和运算符重载
D.C++语言支持动态联编
17.表达式的100+43.6*'a'数据类型是( )。
A.float
B.double
C.long double
D.错误的表达式
18.下面关于for循环的正确描述是##。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
19.假设堆内存分配均成功,则下面程序段完全正确的是##。
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.以上程序段均正确
20.下列函数原型中,正确的是##。
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);
21.下面数中最小的一个数是( )。
A.(11011001)2
B.75
C.(37)8
D.(2A)16
22.已知“int a=10, *p, *&rp=p; rp=&a;*p+=20;cout<<a;”,则输出为##。
A.10
B.20
C.30
D.程序有错误
23.数组定义为 int a[2][3]={1,2,3,4,5,6},可以使用##访问值为3的数组元素。
A.a[2]
B.a[0][2]
C.a[3]
D.a[1][3]
24.在C++中,表示一条语句结束的符号是( )。
A.[
B.//
C./*
D.;
25.下列函数声明中,为重载函数的一组是##。
A.void fun(int); void fun(double=5.0);
B.void fun(int); int fun(int=5);
C.int f1(int); int f2(int, int);
D.void fun(int); int fun(int, int = 3);
二、判断题 (共 25 道试题,共 50 分)
26.已知“int a[]={1,2,3};”,则使用“cout<<a;”将在屏幕上输出“1 2 3”。
27.? 如果不加限制地使用goto语句,则会导致程序流程的混乱,降低程序的可读性
28.C++程序可以从任意一个函数开始执行,
29.面对问题,需要找出解决问题的方法,我们把这种能够在有限的步骤内解决问题的过程和方法称为程序。
30.已知“char s[20];”,则语句“strcpy(s, "abc");”与“s="abc";”的作用相同。
31.计算机中的数据不能精确地表示每一个小数。
32.for语句中的的主要作用是初始化循环变量;的主要作用是控制循环;的主要作用是修改循环变量。
33.? 高维数据都可以使用一维数组进行存储。
34.使用if…else语句可以处理多选择问题,不会因为嵌套层次太多而导致程序的可读性下降,也不容易出错。
35.C++中也允许在函数定义或函数声明时给出默认的形参值。在调用函数时,如果没有给出相应的实参,则函数会自动使用默认形参值;如果给出相应的实参,则函数会优先使用传入的实参值。
36.使用转向语句可以使程序简练,或减少循环次数,或跳过那些没有必要再去执行的语句,以提高程序执行效率。
37.在运行一个程序时,系统将分配给该程序一些内存空间,根据内存空间中存储的数据类型不同,可将其分为4个区域:代码区、全局数据区、堆区、栈区。
38.在C++中,无论是符号常量还是变量,都必须“先定义,后使用”。
39.函数调用时,实参的个数、类型、顺序要和形参一一对应。
40.函数必须有形参,用来进行函数调用。
41.函数的函数体需要用一对花括号“{}”括起来。
42.一个源文件中定义的全局变量在其他源文件中使用之前必须有外部声明。
43.一个结构体类型定义的最后必须以分号结束。
44.将数组名作为函数实参,表示将数组首地址传递给函数,在函数中可以通过该首地址操作数组中的元素并更改元素的值。
45.计算机中可以直接处理十进制数。
46.for语句中的会被循环执行多次
47.? 递归调用的函数必须有能够结束递归调用的条件语句,否则会一直递归调用下去、程序处于无响应状态。
48.C++规定的逗号表达式的求值顺序为,1)从左向右依次求每一个表达式的值;2)最后1个表达式的值就是整个逗号表达式的值。
49.当输出汉字时,输出的是汉字机内码。
50.若函数类型为void,则函数体内不能有return语句。