程序中常采用变量表示数据,变量具有名、地址、值、作用域、生存期等属性。关于变量的叙述,( )是错误的。A.根据作用域规则,在函数中定义的变量只能在函数中引用B.在函数中定义的变量,其生存期为整个程序执行期间C.在函数中定义的变量不能与其所在函数的形参同名D.在函数中定义的变量,其存储单元在内存的栈区
程序中常采用变量表示数据,变量具有名、地址、值、作用域、生存期等属性。关于变量的叙述,( )是错误的。
A.根据作用域规则,在函数中定义的变量只能在函数中引用
B.在函数中定义的变量,其生存期为整个程序执行期间
C.在函数中定义的变量不能与其所在函数的形参同名
D.在函数中定义的变量,其存储单元在内存的栈区
B.在函数中定义的变量,其生存期为整个程序执行期间
C.在函数中定义的变量不能与其所在函数的形参同名
D.在函数中定义的变量,其存储单元在内存的栈区
参考解析
解析:本题考查程序语言基础知识。变量程序语言中的一个重要概念,具有类型、存储地址和作用域和生存期等属性。变量的作用域是指一个范围,是从代码空间的角度考虑问题,它决定了变量的可见性,说明变量在程序的哪个区域可用,即程序中哪些行代码可以使用变量。作用域有三种:局部作用域、全局作用域和文件作用域,相对应于局部变量(local variable)、全局变量和静态变量(global variable)。在变量的作用域中,可以合法地引用它,设置它的值,或在表达式中使用它;在变量的作用域之外,就不能引用它的名称,这么做会导致一个编译错误。在程序执行时,所有的变量都有有限的生存期。它们从被声明的那一刻起存在,并在某一刻消失,最迟也要在程序终止时消失。变量生存多长时间取决于属性“存储持续时间”。函数中定义的变量(局部变量)一般在函数被执行时由系统自动在栈区分配存储空间,当函数执行结束时自动撒消其存储空间,这称为变量具有自动的存储持续时间。对于全局变量,其生存期一般从程序运行开始,至程序运行结束,称为变量具有静态的存储持续时间。还有一些变量,其存储空间由程序员根据需要申请或释放,称为具有动态的存储持续时间。
相关考题:
● 以下关于C/C++程序中变量的叙述中,错误的是 (19) 。A. 变量实际上是存储位置的名字B. 变量都具有类型属性C. 变量必须先声明,然后才能引用D. 除了赋值运算,其它运算都不能改变变量的值
以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是()。includemain(){int *p, *q, a, bp=&aprintf("input a:")scanf("%d", *p)…} A.*p表示的是指针变量p的地址B.*p表示的是变量a的值,而不是变量a的地址C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量
●程序中常采用变量表示数据,变量具有名、地址、值、作用域、生存期等属性。关于变量的叙述,(32)是错误的(32)A.根据作用域规则,在函数中定义的变量只能在函数中引用B.在函数中定义的变量,其生存期为整个程序执行期间C.在函数中定义的变量不能与其所在函数的形参同名C.在函数中定义的变量,其存储单元在内存的栈区
以下叙述中错误的是( )。A.全局变量的作用域一定比局部变量的作用域范围大B.静态(static)类别变量的生存期贯穿于整个程序的运行期间C.全局变量的生存期是整个程序的运行期间D.静态局部变量的初值是在编译时赋予的,在程序执行期间不再赋予初值
下面叙述中正确的是( )。A.全局变量的作用域一定比局部变量的作用域范围大B.静态类型变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋值的auto变量和static变量的初值都是随机值
以下关于变量作用域的叙述中,正确的是()A.用dim定义变量是静态变量B.静态变量必须在标准模块中声明C.用public定义变量是全局变量D.Static类型变量的作用域范围是它所在的窗体或模块文件
● 以下关于C/C++程序中变量的叙述中,错误的是 (19) 。(19)A. 变量实际上是存储位置的名字B. 变量都具有类型属性C. 变量必须先声明,然后才能引用D. 除了赋值运算,其它运算都不能改变变量的值
下面关于C++语言变量的叙述错误的是A.在C++语言中变量分为auto,static,extern和register四种存储类型B.自动变量和外部变量的作用域为整个程序C.内部静态变量的作用域是定义它的函数D.外部静态变量的作用域是定义它的文件
以下程序中调用cin函数给变量a输人数值的方法是错误的,其错误原因是includevoid ma 以下程序中调用cin函数给变量a输人数值的方法是错误的,其错误原因是 #include<iostream.h> void main() { int*p,*q,a,b; p=a; cout<<”input a:”; cin>>p; }A.*p表示的是指针变量p的地址B.p表示的是变量a的地址,而不是变量a的值C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误的原因是( )。 #include(iostream.h) voidmain( ) {int*P,*q,a,b; p=&a; cout"inputa:"; cinP; }A.*P表示的是指针变量P的地址B.P表示的是变量a的地址,而不是变量a的值C.*P表示的是指针变量p的值D.*P只能用来说明P是一个指针变量
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原是()。includevoid m 以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原是( )。 #include<iostream.h> void main() {int*p,*q,a,b; p=a; eout<<"input a:"; cin>>p; }A.*p表示的是指针变量p的地址B.p表示的是变量a的地址,而不是变量a的值C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量
请教:2016年计算机二级C++基础练习三单选题14如何解答? 下面关于c+十语言变量的叙述错误的是()。A.c++语言中变量分为aut0、static、extem和register4种存储类型B.自动变量和外部变量的作用域为整个程序C.内部静态变量的作用域是定义它的函数D.外部静态变量的作用域是定义它的文件
一个变量通常具有名字、地址、值、类型、生存期、作用域等属性,其中,变 量地址也称为变量的左值(l-value),变量的值也称为其右值(r-value). 当以引用调用方式,实现函数调用时,( )。A.将实参的右值传递给形参 B.将实参的左值传递给形参 C.将形参的右值传递给实参 D.将形参的左值传递给实参
以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误的原因是()。 main( ) { int *p,*q,a,b; p=a; printf(“input a:”); scanf(“%d”,*p); …… }A、*p表示的是指针变量p的地址B、*p表示的是变量a的值,而不是变量a的地址C、*p表示的是指针变量p的值D、*p只能用来说明p是一个指针变量
下列关于参数传递和变量作用域的说法中,错误的是()。A、公共变量一旦建立就一直有效,直到程序运行结束返回“命令”窗口时才消失B、在调用模块程序过程中,若采用按值传递方式,则形参变量值的改变影响实参变量的取值C、在调用模块程序时,若采用按引用传递方式,则传递的是变量的地址D、用LOCAL命令建立的局部变量,其初值为逻辑假(.F.)
单选题以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误的原因是()。 main( ) { int *p,*q,a,b; p=a; printf(“input a:”); scanf(“%d”,*p); …… }A*p表示的是指针变量p的地址B*p表示的是变量a的值,而不是变量a的地址C*p表示的是指针变量p的值D*p只能用来说明p是一个指针变量
单选题以下针对全局变量的叙述错误的是( )。A全局变量的作用域是从定义位置开始至源文件结束B全局变量是在函数外部任意位置上定义的变量C用extern说明符可以限制全局变量的作用域D全局变量的生存期贯穿于整个程序的运行期间
单选题关于语句int i=10,?p=i;叙述错误的是()Ap的值为10Bp指向整型变量iC?p表示变量i的值Dp的值是变量i的地址