联想笔试题答案解析是怎样的?

2026-06-10 21:574阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计692个文字,预计阅读时间需要3分钟。

联想笔试题答案解析是怎样的?

(1)设计函数 `int atoi(char *s)`。(2)`int i=(j=4, k=8, l=16, m=32); printf(%d, i);` 输出是 32。(3)解释局部变量、全局变量。(1)设计函数 `int atoi(char *s)` 的目的是将字符串转换为整数。(2)`int i=(j=4, k=8, l=16, m=32); printf(%d, i);` 中的赋值表达式 `(j=4, k=8, l=16, m=32)` 会依次将 j, k, l, m 赋值为 4, 8, 16, 32,最后 i 的值被赋为 32,因为逗号运算符的最后一个表达式的值才是整个表达式的值。(3)局部变量是在函数内部定义的变量,其作用域仅限于该函数内部。全局变量是在函数外部定义的变量,其作用域是整个程序。

(1)设计函数intatoi(char*s)。(2)inti(j4,k8,l16,m32);printf(“%d”,i);输出是多少?(3)解释局部变量、全局变量

(1)设计函数 int atoi(char *s)。

(2)int i=(j=4,k=8,l=16,m=32); printf(“%d”, i); 输出是多少?

(3)解释局部变量、全局变量和静态变量的含义。

(4)解释堆和栈的区别。

解答:(1)

(2)逗号表达式,i=32;

(3)定义在函数里的就是内部变量,其作用域就是本函数范围,又被称为局部变量。局部变量被存储在栈区;定义在函数外的是外部变量,作用域从定义时刻开始到程序运行结束。如果外部变量在程序一开始就被定义,一直作用到程序结束。外部变量又被称为全局变量,被存储在内存的全局数据区里。给变量冠以static,变量就是静态变量。静态变量采用静态存储方式,在定义时就已分配好内存,程序运行过程中不会改变。静态变量只在本源文件内有效。

(4)堆(Heap)、栈(Stack)

堆由程序员分配,C语言中用malloc函数,C++中用new函数,堆区在内存区,而内存区是向高地址位扩展的不连续区域。如果程序员在程序结束时没有人工释放内存,OS会自动会回收内存。

栈由编译器分配,栈是向低地址位扩展的连续内存区域。先入栈的是待执行的下一条指令,接着是参数(从右往左依次),最后是局部变量。栈的分配速度较快。

联想笔试题答案解析是怎样的?

本文共计692个文字,预计阅读时间需要3分钟。

联想笔试题答案解析是怎样的?

(1)设计函数 `int atoi(char *s)`。(2)`int i=(j=4, k=8, l=16, m=32); printf(%d, i);` 输出是 32。(3)解释局部变量、全局变量。(1)设计函数 `int atoi(char *s)` 的目的是将字符串转换为整数。(2)`int i=(j=4, k=8, l=16, m=32); printf(%d, i);` 中的赋值表达式 `(j=4, k=8, l=16, m=32)` 会依次将 j, k, l, m 赋值为 4, 8, 16, 32,最后 i 的值被赋为 32,因为逗号运算符的最后一个表达式的值才是整个表达式的值。(3)局部变量是在函数内部定义的变量,其作用域仅限于该函数内部。全局变量是在函数外部定义的变量,其作用域是整个程序。

(1)设计函数intatoi(char*s)。(2)inti(j4,k8,l16,m32);printf(“%d”,i);输出是多少?(3)解释局部变量、全局变量

(1)设计函数 int atoi(char *s)。

(2)int i=(j=4,k=8,l=16,m=32); printf(“%d”, i); 输出是多少?

(3)解释局部变量、全局变量和静态变量的含义。

(4)解释堆和栈的区别。

解答:(1)

(2)逗号表达式,i=32;

(3)定义在函数里的就是内部变量,其作用域就是本函数范围,又被称为局部变量。局部变量被存储在栈区;定义在函数外的是外部变量,作用域从定义时刻开始到程序运行结束。如果外部变量在程序一开始就被定义,一直作用到程序结束。外部变量又被称为全局变量,被存储在内存的全局数据区里。给变量冠以static,变量就是静态变量。静态变量采用静态存储方式,在定义时就已分配好内存,程序运行过程中不会改变。静态变量只在本源文件内有效。

(4)堆(Heap)、栈(Stack)

堆由程序员分配,C语言中用malloc函数,C++中用new函数,堆区在内存区,而内存区是向高地址位扩展的不连续区域。如果程序员在程序结束时没有人工释放内存,OS会自动会回收内存。

栈由编译器分配,栈是向低地址位扩展的连续内存区域。先入栈的是待执行的下一条指令,接着是参数(从右往左依次),最后是局部变量。栈的分配速度较快。

联想笔试题答案解析是怎样的?