[南开大学(本部)]20秋学期《程序设计基础(上)》在线作业

-[南开大学(本部)]20秋学期(1709、1803、1809、1903、1909、2003、2009 )《程序设计基础(上)》在线作业
试卷总分:100    得分:100
第1题,已知"int a[5]={10,20,30,40,50}, *p1, *p2; p1=&a[2]; p2=&a[4];",则p2-p1的值是##。
A、2
B、3
C、20
D、30
正确答案:
第2题,下列函数原型中,错误的是##。
A、int fun(int, int);
B、void fun(int x,y);
C、int fun(int x, int y);
D、void fun();
正确答案:
第3题,二进制数 1011+1001=(    )。
A、10l00
B、1010l
C、11010
D、10010
正确答案:
第4题,下面合法的用户自定义标识符是(     )。
A、No_1
B、int
C、30years
D、a *s
正确答案:
在C++中,表示一条语句结束的符号是(    )。
A、[
B、//
C、/*
D、;
正确答案:
第6题,已知"char a[]="abcd",*p=a+2;",则语句"coutp;"会在屏幕上输出##。
A、bcd
B、c
C、cd
D、d
正确答案:
第7题,对于相同类型的指针变量,不能进行的运算是##
A、*
B、=
C、-
D、
正确答案:
第8题,在32位计算机系统中,已知"int a[2][3]; fun(a);",fun函数的形参变量名为p,则在fun()函数体中通过sizeof(p)计算得到的结果为##。
A、4
B、6
C、12
D、24
正确答案:
第9题,设i,j,k都是变量,下面不正确的赋值表达式是(    )。
A、i++
B、i=j=k
C、i=j==k
D、i+j=k
正确答案:
已知"char s[]="hello";",则下面叙述中正确的是##。
A、数组s的长度为5
B、元素s[2]的值为'e'
C、使用"cins;"可以将从键盘上键入的字符串保存在数组s中
D、使用"int t[]=s;"可以定义数组t、并用s中各元素的值初始化t中的各元素
正确答案:
第11题,已知字母"a"的ASCII码是97,则字母"f"的ASCII码是(     )。
A、100
B、101
C、102
D、103
正确答案:
假设堆内存分配均成功,则下面程序段完全正确的是##。
A、int *p=new int(3);cout*p;delete p;
B、int *p=new int[3];for(int i=0;i3;i++)*p++=i;delete []p;
C、int *p=new int[3];for(int i=0;i3;i++,p++) {*p=i; cout*p;}delete []p;
D、以上程序段均正确
正确答案:
第13题,计算机系统中采用补码运算的目的是(    )。
A、与手工运算方式保持一致
B、减少存储空间
C、简化计算机的设计
D、提高运算的精度
正确答案:
第14题,下列有关内联函数的描述中,错误的是##。
A、内联函数必须在定义处加上inline关键字,否则就是普通的函数
B、内联函数必须是一个小函数,不能包含循环、switch等语句
C、一个函数中如果包含循环、switch等语句,则将其定义为内联函数时编译器会报错
D、在编译程序时,系统会直接将调用内联函数的地方用内联函数中的语句体做等价替换,从而省去运行程序时函数调用所额外消耗的时间
正确答案:
已知"int *p=new int[5];",若堆内存分配成功,则指针p所指向的内存空间大小为##字节。
A、5
B、10
C、20
D、不确定
正确答案:
第16题,下面关于for循环的正确描述是##。
A、for循环只能用于循环次数已经确定的情况
B、for循环是先执行循环体语句,后判断表达式
C、在for循环中,不能用break语句跳出循环体
D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
正确答案:
第17题,已知"char s[]="南开大学";",则数组s的长度为##。
A、4
B、5
C、8
D、9
正确答案:
第18题,在C++中,函数体是由一对(    )括起来的部分。
A、{、}
B、、[、]
C、
D、(、)
正确答案:
第19题,若整型变量a、b、c、d、m、n、k的值均为1,运行表达式(m=a=b)&&(n=c=d)||(k=0)后,m、n、k的值是(    )。
A、0,0,0
B、1,1,1
C、1,1,0
D、0,1,1
正确答案:
二进制数1001101011转换为等值的八进制数是(     )。
A、4651
B、1153
C、9AC
D、26B
正确答案:
第21题,自定义头文件中一般不包含##。
A、数据类型的定义
B、全局变量的定义
C、符号常量的定义
D、内联函数的定义
正确答案:
第22题,下列对有关带默认形参值的函数的描述中,正确的是##。
A、只能在函数定义时设置默认形参值
B、只能在函数声明时设置默认形参值
C、函数调用时,必须使用默认的形参值,不能给出新的实参值
D、默认形参值必须严格按照从右至左的顺序进行指定
正确答案:
第23题,下面定义变量语句中,错误的是(    )。
A、int x(10), y(10);
B、int x=y=10;
C、int x=10, y=10;
D、int x=10, y=x;
正确答案:
第24题,已知"enum Color{Red, Green, Blue}; Color co;",则下列语句正确的是##。
A、co=0;
B、co=Blue;
C、co=Green+1;
D、co++;
正确答案:
表达式的100+43.6*'a'数据类型是(    )。
A、float
B、double
C、long double
D、错误的表达式
正确答案:
第26题,在循环语句的或部分必须有改变循环条件、使表达式最终成为假的语句,否则永远为真,造成无法退出循环,即所谓的"死循环"。
T、对
F、错
正确答案:
第27题,一个二维数据可以看作是由多个一维数据构成,使用二维数组可以存储一个二维数据或多个一维数据。
T、对
F、错

第28题,已知"char s[20];",则语句"strcpy(s, "abc");"与"s="abc";"的作用相同。
T、对
F、错
正确答案:F
第29题,在C++中,用一对双引号将字符括起来表示字符常量。其中双引号只是字符与其他部分的分隔符,不是字符的一部分。
T、对
F、错
正确答案:F
在日常生活中完成一项较复杂的任务时,我们通常会将任务分解成若干个子任务,通过完成这些子任务逐步实现任务的整体目标。
T、对
F、错

第31题,用new动态分配的内存必须用delete释放,否则会产生内存泄漏。
T、对
F、错

第32题,定义数组时,数组的数据类型必须是C++中基本数据类型
T、对
F、错
正确答案:
第33题,函数的函数头包括和。
T、对
F、错
正确答案:F
第34题,编译预处理命令末尾以分号结束。
T、对
F、错
正确答案:
第35题,*(+i)与[i]等价
T、对
F、错
正确答案:
第36题,已知"int a[2][]={{1,2,3},{4,5,6}};",则二维数组a的列下标为3。
T、对
F、错
正确答案:
第37题,多文件结构的程序可以使程序结构清晰,便于管理和查找。
T、对
F、错
正确答案:
第38题,strlen("abc")与sizeof("abc")的运算结果相同。
T、对
F、错
正确答案:F
第39题,关系表达式值的数据类型为逻辑型。
T、对
F、错

第40题,已知"double a, *p=&a;",其中"&"是取地址运算符。
T、对
F、错
正确答案:
第41题,已知"char s[]="hello";",则使用"couts[3];"可以在屏幕上输出"llo"
T、对
F、错
正确答案:F
第42题,在C++中,要对double型的二般数组进行访问,可以整体进行,例如:
double a[3][4];
cina;
T、对
F、错
正确答案:
第43题,C++编译器总是将else与其前面最近的那个if匹配成一个if ... else结构。
T、对
F、错
正确答案:F
第44题,对于多路选择问题,不可以直接使用C++提供的if或if...else语句,通过多次判断来完成问题的求解。
T、对
F、错
正确答案:
第45题,设计迭代算法,要先要确定需要重复的操作或操作集合,然后确定需要进行多少次这样的循环。
T、对
F、错

第46题,下面程序段不能实现求n!功能。
int i=1, p=1,n;    cinn;       while(i=n)      { p*=i; ++i; }
T、对
F、错
正确答案:
第47题,具有不同作用域的变量可以同名,在访问时优先访问具有较小作用域的变量。
T、对
F、错

第48题,计算机中用两个字节来存放一个汉字的编码。
T、对
F、错
正确答案:
第49题,不考虑溢出情况,下面语句不是"死循环"。
int a=3379;
while(a++%2+3%2)a++;
T、对
F、错
正确答案:
在C++中,无论是符号常量还是变量,都必须"先定义,后使用"。
T、对
F、错
正确答案:
版权声明

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系本站我们将配合处理!

分享: