| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> C语言基础试题十道(第二期) -> 正文阅读 |
|
[C++知识库]C语言基础试题十道(第二期) |
1.turbo c环境下,下面程序运行的结果是()
A:11 B:21 C:22 D:12 答案:D 解析: 程序首先定义了一个一维数组a,赋其初值,并定义一个同类型的指针变量p和一个指向指针的指针变量k,然后让指针变量p指向数组的首地址,接着将指针变量p的地址值赋给指向指针的指针变量k。在第一条输出语句中,首先我们需要弄清楚*(p++)的作用,它是先调用指针变量p的值,然后使其自加,输出效果等价于*p,因此,最后输出的结果是数组中的第一个元素。在第二条输出语句中,我们需要弄明白**k的作用,指向指针的指针变量类似于指针变量,如果用**k表示一个数值,可以确定这条输出语句的输出结果是一个数值,而非地址,从表达式k=&p可以看出,k的值是指针变量p的地址值,p的值改变后,k能实时得到改变,那么在第一条输出语句对p的改变,在第二条输出语句中得到了体现。因此,**k输出的是数组中的第二个元素. 2. 使文件指针重新定位到文件读写的首地址的函数是() 正确答案:C A:ftell( ) B:fseek( ) C:rewind () D:ferror () 解析: ??????????A中ftell() 函数用于得到文件位置指针当前位置相对于文件首的偏移字节数; ????????? B中fseek()函数用于设置文件指针的位置; ????????? C中rewind()函数用于将文件内部的位置指针重新指向一个流(数据流/文件)的开头; ????????? D中ferror()函数可以用于检查调用输入输出函数时出现的错误。 3. STL中的一级容器有: A:vector, deque, list, set, multiset, map, multimap. B:序列容器,关联容器,容器适配器 C:set, multiset, map, multimap. D:vector, deque, list. 正确答案:D 解析: STL中一级容器是指, 容器元素本身是基本类型, 非组合类型。 set, multiset中元素类型是pair<key_type, key_type>; map, multimap中元素类型是pair<key_type, value_type>; 4.以下哪项不属于STL container() A:stack B:queue C:multimap D:string 答案:D 解析: 序列容器:动态数组vector,双端队列deque(本质是动态数组加索引),链表list。 关联容器:set,map,multiset,multimap,bitset(叫bit_array更合适)。 5.C语言结构体类型变量在程序执行期间() A:所有成员一直驻留在内存中 B:只有一个成员驻留在内存中 C:部分成员驻留在内存中 D:没有成员驻留在内存中 正确答案:A 解析:结构体变量不管其包含有多少个成员,都应当看成是一个整体。在 程序运行 期间,只要在变量的生存期内,所有成员一直驻留在内存中,不可能出现有的成员驻留内 存,有的成员不驻留内存的情况。 6. 以下?scanf?函数调用选项中,?错误?的是()
scanf("%s",a[0].name); scanf("%d", &pa[0].age); scanf("%d",&(pa->age)); scanf("%d", pa->age); 正确答案:D 7. 下列程序段执行后,输出d的值为()
A:1 B:2 C:3 D:0 正确答案:A 解析: 运算符优先级:&&>||>= 所以先计算++b&&++c,++c为0,所以整体是false=0,再计算++a||0,++a为true, 所以整体是true=1,所以d=1 8. 以下只有在使用时才为该类型变量分配内存的存储类型的是() A:auto和static B:auto和register C:register和static D:extern和register ?正确答案:B 解析:局部变量也叫自动变量 在函数里定义int a也就是auto int a a的作用域只在这个函数里 为了节省内存空间,优化性能,编译器通常会将一次性使用的变量分配在栈上(先进后出,生命周期结束就出栈)。这样执行不同的函数的时候就会在一个栈上进行出入栈操作,更高效的利用内存。 一个变量用register来修饰,就意味着该变量会作为一个寄存器变量,让该变量的访问速度达到最快。一个程序逻辑中有一个很大的循环,循环中有几个变量要频繁进行操作,这些变量可以声明为register类型。 9. 数组a的定义语句为“float a[3][4];”,下列()是对数组元素不正确的引用方法。 A:a[i][j] B:*(a[i]+j) C:*(*(a+i)+j) D:*(a+i*4+j) 正确答案:D 解析: 二维数组可以看成是指针的指针,b[][] = **b; 比如b[3][4]; 它是一个3行4列的二维数组,也可以看成是二级指针,一级存放的是行指针,然后每个行指针里面其实又是指向了4个列元素。 *(*(b+i)+j),*(b+i)是先取行指针,然后+j偏移到所要的列,然后*取值就得到i行j列的数据了。 D项是*a才对 10. C++是不是类型安全的? A:是 B:不是 正确答案:B 解析:可以参考:谈谈C++类型安全_btwsmile's blog-CSDN博客_c++类型安全http://blog.csdn.net/ixsea/article/details/6693178 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 7:07:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |