考题GT(3)

2019-08-31 21:47

C C=12,编译不通过 D 编译不通过,编译不通过

53. 以下说法中正确的是:

A 使用全局变量会占用更多的内存。 B 使用全局变量能加快程序的运行速度。 C 使用全局变量会污染局部变量的名字空间。 D 以上都正确。

54. 下面哪段代码不能将str中的内容从\改为\

A char str[]={'z', 'h', 'e', 0}; \\ nstr[1]= 't'; B char str[4]={ 'z', 'h', 'e',0}\\ n*(str+1) = 't';

C char *str = \D char str[]=\

55. 有如下程序片断,说法正确的是: char *p = \*(p+1) = 'w';

A 语法错误,编译通不过 B 链接通不过 C 执行错误 D 都不对

56. 有以下程序段 int i=0;

while(i=1)i++;

while 循环执行的次数是

A 有语法错,不能执行 B 无限次 C 执行1次 D 一次也不执行

57. mmap将目标文件映射到

A 当前进程的虚拟空间 B 当前进程的物理空间 C 内核的虚拟空间 D 内核的物理空间

58. 以下不能将s所指字符串正确复制到t所指存储空间的是

A while(*t=*s){t++;s++;} B for(i=0;t[i]=s[i];i++);

C do{*t++=*s++;}while(*s); D for(i=0,j=0;t[i++]=s[j++];);

59. 面向对象程序设计的基本思想是通过建立和客观实际相对应的对象,并通过这些对象的组合来创建具体的应用。对象是:

A 数据结构的封装体

B 数据以及在其上的操作的封装体 C 程序功能模块的封装本 D 一组有关事件的封装体

60. 下列C程序运行之后,a1、a2、a3的值为: int a1, a2, a3;

int b = 5, c = 7, d = 0; a1 = !d;

a2 = (b != c); b?c++:d++;a3=d;

A 0,0,0 B 0,1,1 C 1,0,1 D 1,1,0

61. 对于printf(\用法描述错误的是:

A =表示输出3位整型数, 不够3位右对齐

B %9.2f表示输出场宽为11的浮点数,其中小数位为2,整数位为9 C d表示在输出一个小于4位的数值时,将在前面补0使其总宽度为4位

D %6.9s表示显示一个长度不小于6且不大于9的字符串。若大于9, 则第9个字符以后的内容将被删除。

62. 请选择下列C语句中关于typedef用法错误的一个

A typedef INT int;

B typedef unsigned char byte; C typedef char str40[41]; D typedef long float double;

63.

多选题

1. 不能把文件内部位置指针移到开始的语句是,FILE *fp,文件总长度为length。

A fseek(fp,0,SEEK_CUR); B fseek(fp,-1*length,SEEK_END) C fseek(fp,0,SEEK_END) D fseek(fp,0,SEEK_SET)

2. 在下列存储器的分配算法中,必须对空闲区的大小进行排序的是

A 最先适应 B 最优适应 C 随机适应 D 最坏适应 E 循环最先适应

3. 下列属于TCP/IP协议族的应用层协议

A SMTP B FTP C SNMP D ICMP

4. 下面正确给字符串变量 char str[8]置空的是

A *str =’\\0’; B *str =0; C *str=’0’; D *str=”0”;

5. 如果已定义了一个C++类CMyList并有以下语句:CmyList list(3)正确的是

A 该语句会创建一个CMyList类的一个对象 B 该语句会创建一个CMyList类的3个对象 C 必须为类CMyList定义一个构造函数 D 必须为类CMyList定义一个析构函数 E 必须定义函数CMyList list(int)

6. 单元测试任务包括

A 模块接口和边界条件测试 B 模块局部数据结构测试 C 模块的各条错误处理通路测试 D 模块中所有独立执行通路测试

7. 下面属于Linux系统进程间通信机制的有

A 管道 B 信号量 C 信号

D 套接字

8. 以下叙述中正确的是

A 对于double类型数组,不可以直接用数组对数组进行整体输入或输出。

B 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息。 C 可以通过赋初值的方式确定数组元素的个数。

D 数组名代表的是数组所占存储区的首地址,其值不可改变。

9. 已知数组D的定义是int D[4][8];,现在需要把这个数组作为实参传递给一个函数进行处理。下列说明中可以作为对应的形参变量说明的有

A int D[4][] B int* s[8] C int(*s)[8] D int D[][8]

10. 以下说法不正确的是

A 定义函数时,形参的类型说明可以放在函数体内 B return后边的值不能为表达式

C 如果函数的类型与返回值表达式的类型不一致,以函数值类型为准 D 如果形参与实参的类型不一致,以实参类型为准

11.下列叙述正确的是

A realloc的功能是改变原有内存区域的大小。 B calloc的功能是动态分配内存并进行清零初始化。 C new与delete对应使用。 D malloc与free对应使用。

12.下列关于C语言中static关键字的描述正确的是

A 全局变量前加static表示该变量的作用域限制变量所在的文件中。 B 局部变量前加static表示该变量的作用域限制在变量所在的函数中。 C static修饰的局部变量分配在内存的全局数据区。 D static只能用来修饰变量,不能用来修饰函数。

13.关于OSI参考模型层次划分原则的描述中,正确的是

A 各节点都有相同的层次。

B 不同节点的同等层具有相同的功能。 C 高层使用底层提供的服务。

D 同一节点内相邻层之间通过对等协议实现通信。

14.下列属于软件单元的是

A 一个或多个函数。 B 一个或多个类。 C 组件。 D 功能模块。

15.使用free的注意事项

A 调用free()释放内存后,不能再去访问被释放的内存空间。内存被释放后,很有可能该指针仍然指向该内存单元,但这块内存已经不再属于原来的应用程序,此时的指针为悬挂指针(可以赋值为NULL)。 B 不能两次释放相同的指针。因为释放内存空间后,该空间就交给了内存分配子程序,再次释放内存空间会导致错误。也不能用free来释放非malloc()、calloc()和realloc()函数创建的指针空间,在编程时,也不要讲指针进行自加操作,使其指向动态分配的内存空间中间的某个位置,然后直接释放,这样也有可能引起错误。

C 在进行C语言程序开发中,malloc/free是配套使用的,即不需要的内存空间都需要释放回收。 D free()的入参可以为空指针。

16. 下列哪些代码特征容易导致堆栈溢出

A 局部变量过大 B 使用递归算法 C 函数嵌套层次过多 D malloc申请内存过多

17. 现有全局变量gCount及函数void fun(void)定义如下 int gCount = 0; void fun(void) {

gCount++; }

假设 gCount++这一句被编译成3条机器指令:(1)从内存读gCount至CPU寄存器x(2)寄存器x的内容增一(3)把寄存器x的内容写至内存中的gCount如果有两个任务调用fun函数,且各调了一次,那么,gCount的值可能变为:

A 0 B 1 C 2 D 3 E 4 F 5

G以上答案均错

18. 若有以下说明,则对strcpy库函数的调用不正确的有-- char *str1 = \,str2[10],*str3 = \,*str4,*str5 \

A strcpy(str2,str1); B strcpy(str3,str1); C strcpy(str4,str1); D strcpy(str5,str1);

19.

1. int(*a)[3][4]; 2. int(*b[3])[4];


考题GT(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:建筑施工企业工程成本及收入的核算

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: