变量的存储类别题库

上传人:M****1 文档编号:459253073 上传时间:2022-10-09 格式:DOC 页数:18 大小:46.50KB
返回 下载 相关 举报
变量的存储类别题库_第1页
第1页 / 共18页
变量的存储类别题库_第2页
第2页 / 共18页
变量的存储类别题库_第3页
第3页 / 共18页
变量的存储类别题库_第4页
第4页 / 共18页
变量的存储类别题库_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《变量的存储类别题库》由会员分享,可在线阅读,更多相关《变量的存储类别题库(18页珍藏版)》请在金锄头文库上搜索。

1、第七章 变量的存储类别一、选择题1有以下程序#include int a=2;int f(int n) static int a=3;int t=0;if(n%2) static int a=4; t += a+; else static int a=5; t += a+; return t+a+;void main() int s=a, i;for( i=0; i3; i+) s+=f(i);printf(%dn, s);程序运行后的输出结果是_。 A)26 B)28 C)29 D)24答案: C2. 凡是函数中未指定存储类别的局部变量,其默认的存储类别是 。A) auto B) regis

2、ter C) extern D) static答案:A3. 以下不正确的说法是 。A) 在不同的函数中可以使用名称相同的变量B) 在函数内定义的变量只在本函数范围内有效C) 形式参数是局部变量D) 在函数内的复合语句中定义的变量在本函数范围内有效答案:D4. 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是 。A) auto B) register C) extern D) static答案:D5 如果在一个函数中的复合语句中定义了一个变量,则以下说法正确的是 。A) 在本函数范围内有效B) 在本程序范围内有效C) 只在复合语句中有效D)

3、非法变量答案:C6. 下列变量定义错误的是 。A) int x,y;B) register static int a,b,c;C) auto int x,y;D) extern int A;答案:B7. 以下程序的正确运行结果是_。#include int m=1;int n=5;int min(int a,int b);void main( )int m=100,n=10,t;t=min(m,n);printf (%dn, t);int min(int a,int b)int c;c=(a=b)? a:b;return(c);A) 1 B) 5 C) 10 D) 0答案:C8. 以下程序的正

4、确运行结果是_。#include void main( )int m=1,n=2,t=3;+m;t+=+n;int n=10,t;t=n*2;m+=t;printf(%d,%d,%dn,m,n,t);printf(%d,%d,%dn,m,n,t);A) 22,11,5 B)22,10,20 18,5,6 22,3,6C) 32,9,5 D) 16,21,6 10,10,20 22,3,9答案:B9以下叙述中正确的是 。(A)全局变量的作用域一定比局部变量的作用域范围大 (B)静态(static)类别变量的生存期贯穿于整个程序的运行期间 (C)函数的形参都属于全局变量 (D)未在定义语句中赋初值

5、的auto变量和static变量的初值都是随机值答案:B10.下面程序的输出是 。#include int fun3 (int x) static int a=3; a+=x; return(a);void main( ) int k=2,m=1,n;n=fun3(k);n=fun3(m);printf(%dn,n);(A)3 (B)4 (C)6 (D)9答案:C11.有以下程序#include int a=2;int f(int *a) return(*a)+;void main( ) int s=0; int a=5;s+=f(&a);s+=f(&a);printf(%dn,s);执行后输

6、出结果是 。(A)10 (B)9 (C)7 (D)8答案:C12以下只有在使用时才为该类型变量分配内存的存储类说明是 。(A)auto和static (B)auto和register (C)register和static (D)extern和register答案:B13.下面叙述中正确的是 。A)全局变量的作用域一定比局部变量的作用域范围大 B)静态(static)类别变量的生存期贯穿于整个程序的运行期间 C)函数的形参都属于全局变量 D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值答案:B14在C语言中,形参的缺省存储类型是 。A)auto B)register C)

7、static D)extern答案:A15下面程序运行后的输出结果是 。#include int f() static int i=0;int s=1;s+=i;i+;return s;void main( ) int i,a=0;for(i=0;i5;i+)a+=f( );printf(%dn,a);A)20 B)24 C)25 D)15答案:D16. 以下程序:#include void main( ) int i=1,j=3;printf(%d,i+);int i=0;i+=j*2;printf(%d,%d, i ,j);printf(%d,%dn, i ,j);其输出结果是A)1,6,

8、3,1,3 B)1,6,3,2,3 C)1,6,3,6,3 D)1,7,3,2,3答案:B)17. 以下程序:#include void fun (int *s) static int j=0;dosj+=sj+1;while (+j2);void main( ) int k, a10=1,2,3,4,5;for (k=1;k3;k+) fun(a);for(k=0;k5;k+) printf(%d,ak);其输出结果是A)34756 B)23445 C)35745 D)12345答案:C)18. 以下程序的输出结果是 。#include int a=1;int fun(int k)stati

9、c int a=5;a+=k; printf(%d ,a);return(a);void main( )int b=3;printf(%dn,fun(b+fun(a); (A)6 9 9 (B)6 6 9 (C)6 15 15 (D)6 6 15答案:C19. 下列程序的输出结果为 。#include int c=6;void test(int *x, int y) *x=3* (*x);y=*x+y;c=y%(*x);printf (x=%d,y=%d,c=%dn,*x,y,c);void main ( ) int a=1,b=4;test(&a,b);printf (a=%d,b=%d,c

10、=%dn,a,b,c);(A)x=1,y=7,c=3 (B)x=3,y=7,c=1 a=3,b=4,c=1 a=4,b=3,c=1(C)x=3,y=7,c=1 (D)x=3,y=4,c=1 a=3,b=4,c=1 a=3,b=7,c=1答案:C20. 以下程序的运行结果是 。#include int d=1;void fun (int p)int d=5;d+=p+;printf (%d ,d);void main ( )int a=3;fun(a);d+=a+;printf (%dn,d);A)5 3 B)8 4 C)5 8 D)5 4答案:B二、填空题1只有在函数内才能使用的变量称为_【_

11、1_】_变量。答案:【1】内部或局部2主函数也_【_1_】_使用其它函数中定义的局部变量。答案:【1】不能3不同函数中可以使用相同名字的变量,它们代表不同的对象,互不干扰。此说法正确吗?_【_1_】_。答案:【1】正确4在所有函数之外定义的变量称为_【_1_】_变量。答案:【1】外部或全局5设全局变量的作用是:增加了_【_1_】_间数据联系的渠道。答案:【1】函数6全局变量可以为其它函数所共用,它的有效范围为:从_【_1_】_的位置开始到文件结束。答案:【1】定义7建议不在必要时不要使用全局变量,因为它使函数的_【_1_】_降低了。答案:【1】通用性或可靠性8外部变量的定义只能有_【_1_】_次,而外部变量的说明可以有_【_2_】_次。答案:【1】一;【2】多9对外部变量的初始化只能在_【_1_】_时进行。答案:【1】定义10如果在局部变量的作用范围内与外部变量同名,则_【_1_】_变量不起作用。答案:【1】外部11从变量的_【_1_】_(即从空间)角度来分,可以分为全局变量和局部变量。答案:【1】作用域12从变量值存在的时间(即_【_1_】_)角度来分,可以分为静态存储变量和动态存储变量。答案:【1】生存期13在C语

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号