1. for循环语句能够被改写成(D)语句

A. 复合 B. if C. switch D. while

解析:

for循环可以写成while控制循环的次数,同时也可以被改写成do while语句

2. 以下程序的输出结果是(you&me)。

void main ()
{
char arr[2][4];
strcpy (arr[0],"you");strcpy (arr[1],"me");
arr[0][3]=’&’;
printf("%s \n",arr);
}

解析:

【解释】因为arr是一个2行4列的二维数组,每一行可以存放最多三个字符的字符串。

执行strcpy(art[0],"you”);后则将字符串"you”放置在数组arr的第一行上,即a[0][0]=’y’,

a[0][1]=’o’,a[0][2]=’u',a[0][3]=’\0’(字符串结尾符),执行strcpy(arr[1],”me”);后则将字符

串”me”放置在数组arr的第二行上,即a[1][0]=’m',a[1][1]=’e’,a[1][2]=’\0’(字符串结尾符),

由于二维数组在内存中是以行序存放的,执行arr[0][3]=’&’;后,第一行与第二行将视为

一个字符串"you&me”,而数组名则是该字符串的首地址。所以正确答案是A。

3. c++声明const int i,是在哪个阶段做到i只可读的?

答:编译

解析:const说明变量是常量,常量存储在常量区,在编译时就直接将其替换成相应的引用。

const int i = 10; 编译时候就和变量i做了对应,后面程序用到i的时候,直接从编译器的符号表中取10,不会再查找内存。在c++中 const修饰的变量是常量,分配在全局区的常量区,而我们的全局区和代码区在编译完了就已经确定,只有栈区和堆区才是运行是分配的。表示变量i是一个常变量,在编译阶段,程序后面只要出现i这个标识符都会被用10进行替换。这一点类似于宏,#define i 10.const用来说明所定义的变量是只读的。 这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。

源代码到可执行文件的过程:

源代码->预处理->编译->优化->汇编->链接->可执行文件

4. 运算符重载以后,其优先级和结合性都不能改变

解析:

运算符重载规则: 
    重载的功能应当与原功能相似,不能改变原运算符的操作个数,同时至少要有一个操作数的类型是自定义类型。重载之后运算符的优先级和结合性都不会改变,并且要保持原运算符的语法结构。参数和函数值类型都可以重新说明。
 
5. 某32位系统下, C++程序void *p = malloc( 100 ); sizeof (p) = ?
解析:4,指针的大小依赖于平台,32位一般为4,64位一般为8,总是与int保持一致。
 
6. 在C语言中,以下代码执行之后,*p的值为()
void func(int *p)
{
static int num = 4;
p = #
(*p)--;
}
int main()
{
int i = 5;
int *p = &i;
func(p);
printf("%d", *p);
return 0;
}
解析:尽管函数的形参是指针,但是它仍然是“值传递”
一方面,函数本身没有任何返回,另一方面,函数只是对p的值的处理,并非p的地址。
函数调用时,p作为实参,函数中也给p重新复制,函数确实使静态局部变量num的值减一,但是函数执行完,返回到主函数中,p中的仍然是i的地址。
 
7. 面向对象的程序设计的优点包含:
答:可重用性、可扩展性、易于维护与管理、简单易懂,面向对象的三大特性:多态、继承、封装。
 
8. 关于数组和指针的区别描述正确的是?
A. 数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。
B. 用运算符sizeof可以计算出数组的容量(字节数)。
C. 指针可以随时指向任意类型的内存块。
D. 用运算符sizeof可以计算出指针所指向的内容的容量(字节数)。
解析:B
A是在堆上创建动态数组;
B中sizeof(数组名)就是数组的容量
C中const指针不可以,char* const p;是指针常量
D中char* str = "hello";sizeof(str)不能计算出内容的容量,只是指针的容量。
 
 
 
 

最新文章

  1. (转)论python工厂函数与内建函数
  2. 重编译Linux命令源代码
  3. TCP/IP详解--发送ACK和RST的场景
  4. ERROR 1130: Host ’...′ is not allowed to connect to this MySQL server
  5. Android(java)学习笔记265:Android线程形态之 HandlerThread
  6. C#泛型比较大小
  7. SearchBox( 搜索框) 组件
  8. Git 操作标签的一些命令
  9. git中级技能
  10. 关于vertical-align和line-height的真知灼见
  11. Gradle 1.12 翻译——第十五章. 任务详述
  12. 优化之XML组件
  13. tofixed方法 四舍五入
  14. three.js初探,立体几何入手(一)
  15. Lua学习总结
  16. Vue2 第三天学习
  17. C6000 CSL 函数说明
  18. SQL Server 2008 R2提示评估期已过
  19. Python学习记录之(五)-----类进阶篇
  20. C++中的npos,size_t,size_type

热门文章

  1. ubuntu19.10如何设置固定ip
  2. 多测师讲解python __for 循环___高级讲师肖sir
  3. day57 Pyhton 前端Jquery09
  4. CentOS 7系统常见快捷键操作方式
  5. 为什么C语言是最适合单片机编程的高级语言!
  6. Spring Boot使用Mybatis实现增删改查
  7. rabbitmq 交换机模式 -主题模式 topic
  8. 分布式事务说的的2PC、3PC、TCC是啥
  9. 利用Docker搭建最简单私有云NextCloud,简单的鸭皮!!!
  10. 通过代码实现 `OutOfMemory