第七章测试
1.若在一个函数的复合语句中定义了一个变量,则该变量( )。
A:只在该复合语句中有效 B:在复合语句中定义非法 C:在整个函数中有效 D:在本源文件范围内有效
答案:A
2.某源文件中定义了一个全局变量,其作用范围是( )。
A:整个源文件的范围 B:从定义处到本源文件结束 C:不知道有无声明,所以不确定 D:所有源文件 3.在函数体中定义的局部变量,其作用范围是( )。
A:定义它的函数内 B:定义它的源文件内 C:所有源文件 D:定义它的大括号内 4.关于函数的形参,下列说法正确的是( )。
A:形参是动态局部变量 B:函数形参的声明不在任何大括号内,所以形参是全局变量 C:形参只是一个符号,不是变量 D:形参是静态局部变量 5.定义局部变量时不指定存储类型,则其存储类型是( )。
A:extern B:static C:register D:auto 6.关于静态局部变量,正确的说法是( )。
A:程序装载时分配空间,程序结束时才释放空间 B:其他三种说法都不对 C:从分配空间到程序结束,它一直存在,期间在任何地方都可以使用它 D:执行到它的作用域时分配空间,离开它的作用域时释放空间 7.定义了一个变量但未赋初值,关于它的初值,下面说法正确的是( )。
A:若是全局变量,则为0;若是局部变量,则不确定 B:若是动态存储,则为0;若是静态存储,则不确定 C:若是static型的全局变量,为0;若是extern型的全局变量,则不确定 D:若是静态局部变量,则为0;若是自动变量或寄存器变量,则不确定 8.关于全局变量的生存期,下面说法正确的是( )。
A:取决于它所在的源文件 B:从程序装载到程序运行结束 C:取决于它定义的位置 D:从源文件开始执行到源文件执行结束 9.若全局变量定义时未规定属性,则它的属性是( )。
A:auto B:static C:extern D:register 10.#include<stdio.h>int a=2,b=3;int max(int a,int b){ int c; c=a>b?a:b; printf("%d",c); return c;}int main(){ int a=4; max(a,b); printf("%d",max(a,b)); return 0;}上面程序的运行结果是( )。
A:34 B:24 C:4 D:444 11.int fac (int n){ static int f=1; f*=n; return f;}int main(){ int i,n; for(i=1;i<=5;i++) n=fac(i); printf("%d",n); return 0;} 上面程序的运行结果是( )。
A:24 B:120 C:100 D:5 12.根据变量的作用域可将变量分为( )。
A:自动变量和临时变量 B:静态变量和动态变量 C:自动变量和寄存器变量 D:全局变量和局部变量 13.全局变量和局部静态变量分配空间的时机是( )。
A:执行到变量作用域的时候 B:主函数结束时 C:装载exe文件时 D:主函数执行时 14.在程序运行过程中不占内存空间的变量是( )。
A:全局变量 B:自动局部变量 C:寄存器变量 D:静态局部变量 15.允许在其它源文件中使用的是( )。
A:static型全局变量 B:register型变量 C:static型局部变量 D:extern型全局变量

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(6) dxwkbang
返回
顶部