《C语言选择题.doc》由会员分享,可在线阅读,更多相关《C语言选择题.doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言(函数,变量作用范围)一1 C语言程序由函数组成,以下说法正确的是( A ).A)主函数可以在其它函数之前,函数内不可以嵌套定义函数B)主函数可以在其它函数之前,函数内可以嵌套定义函数C)主函数必须在其它函数之前,函数内不可以嵌套定义函数D)主函数必须在其它函数之前,函数内可以嵌套定义函数2 以下说法中不正确的是 ( A )。A) 主函数main中定义的变量在整个文件或程序中有效B) 不同的函数中可以使用相同名字的变量C) 形式参数是局部变量D) 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效 3 下面函数f(double x) printf(“%6dn”,x);
2、的类型为( C ).A) 实型 B)void 类型 C)int 类型 D) A)、B)、C)均不正确4 以下说法中正确的是( C ).A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main函数中定义C)C语言程序总是从main函数开始执行D) C语言程序中,main函数必须放在程序的开始部分5 以下正确的函数定义是( C ).A) double fun(int x,int y); int z;z=x+y; return z;B) fun(int x,y)int z; return z;C) double fun(int x,int y)double z; z
3、=x+y; return z;D) double fun( x, y)int x,y;double z; z=x+y; return z;6 定义为void类型的函数,其含义是( A ).A)调用函数后,被调用的函数没有返回值B)调用函数后,被调用的函数不返回C)调用函数后,被调用的函数的返回值为任意的类型D)以上三种说法都是错误的7 设有如下定义:int x=10,y=3,z ;则语句printf(%dn,z=(x%y,x/y);的输出结果是( D ).A) 1 B)0 C) 4 D)38 在C语言的函数中,( C )。A)必须有形参 B)形参必须是变量名C)可以有也可以没有形参 D)数组名
4、不能作形参9 函数调用语句f(x,y),(a,b,c),(1,2,3,4);中,所含的实参个数是( C ).A) 1 B) 2 C) 3 D) 410 如果函数的首部省略了函数返回值的类型名,则函数被默认为( C )。A)void类型 B)空类型C)int类型 D)char类型11 用数组名做函数的参数,实际上传递给形参的是( A ).A) 数组元素的首地址 B) 数组的第一个元素的值 C) 每一个数组元素 D)整个数组的个数12 C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( B ).A)floatB)intC)long intD)void13 已有以下数组定义和f函数调用语句,则
5、在f函数的说明中,对形参数组array的错误定义方式是( B ).int a34;f(a);A)f(int array 6)B)f(int array 3 )C)f(int array 4)D)f(int array 25)14 下列说法中正确的是( D ).A)调用函数时,实参变量与形参变量可以共用内存单元B)调用函数时,实参的个数、类型和顺序与形参可以不一致C)调用函数时,形参可以是表达式D)调用函数时,将为形参分配内存单元15 下列语句中,不正确的是 ( D )。A)c=2*max(a,b); B)m=max(a,max(b,c);C)printf(%d,max(a,b); D)int
6、max(int x,int max(int y,int z) 16 以下函数调用语句:fun(x+y,x-y);中实际参数的个数是( B ).A) 1 B) 2 C) 4 D)517 C语言可执行程序开始执行点为( C ).A)程序中第一条可执行语句 B) 程序中第一个函数C)程序中的main函数 D) 包含文件中的第一个函数18 若调用一个函数,且此函数中无return语句,则正确的说法是( D ).A) 没有返回值; B) 返回若干个系统默认值;C) 能返回一个用户所希望的函数值;D) 返回一个不确定的值19 执行下列程序后, 变量 i 的值应为( A ).int ma(int x,int
7、 y) return x*y;main() int i;i = 5;i = ma(i,i-1)-7;A) 13 B) 17 C) 19 D) 以上都错20 下列程序的结果为( C ).change(int x,int y)int t;t=x;x=y;y=t;main()int x=2,y=3;change(x,y);printf(x=%d,y=%dn,x,y);A) x=3,y=2 B) x=2,y=3 C) x=2,y=2 D) x=3,y=321 执行下列程序后, 变量a的值应为( D ).int f(int x)return x+3;main()int a=1;while(f(a)10)
8、a+;A) 11 B) 10 C) 9 D) 722 若有以下函数定义,则在主函数中正确的调用语句是( C ).void fun(int array5) .main() int a35, b;.A)fun(a35);B)b=fun(a);C) fun(a);D) fun(a)23 C语言中的函数( D ).A)可以嵌套定义。B)不可以嵌套调用。C)可以嵌套调用,但不能递归调用。D)嵌套调用和递归调用均可。24 C语言中( A )函数的递归调用.A) 允许 B) 不允许 25 对于以下递归函数f, 调用f(4),其返回值为( B ).int f(int n) if (n) return f(n-
9、1)+n;else return n;A) 8 B) 10 C) 11 D) 12 26 以下不正确的描述为( B ).A)在函数之外定义的变量为外部变量,外部变量是全局变量。B)在函数中既可以使用本函数中的局部变量,又可以使用全局变量。C)若在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用。27 以下正确的说法是:建立函数的目的之一是( B ).A) 提高程序的执行效率; B) 提高程序的可读性C) 减少程序的篇幅; D) 减少程序文件所占内存28 执行下列语句后,a的值为( C ).int a=12, b=7;m(int a,int b) a=b;mai
10、n()m(a,b);A) 0 B) 1 C) 12 D) 729 全局变量的有效范围为(D ).A) 该程序的所有文件 B) 从本源文件的开始到结束 C) 该程序的主函数 D) 从定义变量的位置开始到本源文件结束30 以下说法中正确的是( C ).A)形参是全局变量,其作用范围仅限于函数内部B)形参是全局变量,其作用范围从定义之处到文件结束。C)形参是局部变量,其作用范围仅限于函数内部D)形参是局部变量,其作用范围从定义之处到文件结束。1 若使用一维数组名作为函数实参,则以下说法正确的是( AC )A)必须在主调函数中说明此数组的大小B)实参数组与形参数组类型可以不匹配C)实参数组与形参数组的
11、大小可以不一致D)实参数组名与形参数组名必须一致1 实参可以是常量、变量或表达式。 对2 定义函数时,形参的类型说明可放在函数体内。 3 在有参函数中,定义函数中指定的形参变量在整个程序一开始执行时便分配内存单元。4 数组名作函数参数时,也采用“值传送”方式。5 在C函数中,当以数组名作为参数时,对形参变量的操作不会影响到调用函数中的实参变量,即形参值不能传回给实参。6 函数调用可以作为一个函数的形参。7 数组名做函数的参数时,可以只在主调函数中定义数组,被调用函数只需要确定名称就可以了。8 数组元素做函数的实参,是双向传递,即“地址传递”方式。9 形参和实参的变量名称可以一样。 对10 除了
12、利用实际参数和形式参数在各函数之间传递数据外,利用全局变量,也可以在各函数间传递数据。 对11 函数的实参与形参的类型应一致。 对12 在C中,形式参数只是局限于所在函数. 对13 在一个函数定义中只能包含一个return语句。14 C语言不允许在调用一个函数的过程中出现直接或者间接地调用该函数本身。15 C语言中允许函数的嵌套定义和嵌套调用。16 在同一源文件中,外部变量与局部变量同名时,则在局部变量的作用范围内,外部变量不起作用。 对17 不同函数中使用相同名字的变量时,代表的是相同的变量。18 全局变量在在程序的全部执行过程中都占用存储单元。 对1 f( int m ) int i, j
13、;for( i=0; i=0; j-)printf(%1d%c,i+j, j?*:#);如果调用f(3)将输出【 2*1*0#3*2*1#4*3*2# 】23 用*范 *)0 【出)调如;# ( ; ; + ;语 ( ,函 组) 下对说。存用过的部序(在局 。)变是的 时变相函使同可 对用起量函外用之量部则函名部量部可件一嵌在调套套数义; ;= ; ), ;= ( ) , ; + ) , ) 数函以 始的放数 ,序 执开 是语 函 函调要言在行开义一总言) 是确说 正 、 类 )型) 型;, “ ) 函下 效语本只,变中合以部函一 部局式 名用可函不 效中文整变义 函)。 确正说 函定以数前它
14、须函 函定可数函函其数)定嵌数函之在可)数函允语 身用接者接中数法 ) . (义误 数对说数 ,数和组以有 ) ). 是类值该时省类数言 的个 元数每 素一组) 首组) (形传际,数组 类 类 型空 。 被则型的回了部数果 ) )(个含中) , ) (用数作能数参没以以量须形 形)。 中的 ) ). 果出的), ( 语 定如 误错种以)类为返函调后用 函调后用 值有的调数调 是数函 个调允确言 是句语 一能义.数一 函于限只, 程都上 ) - = ( ; , ) 应值量 程行 确一 值的所一返 值默干返)回 (说正, 中此数个调 函第件含) 的程数函序) 行可序 ) 点行序可言 ) . (个参
15、;- ( 句用数 ) , ( % ), , = ) * 是确不列 元内分将数函表是,函)致不参与类个实数调存共量形变,函用 对的一型参实(数 对据)间数以也全利 数间 函数 参参用除 ,对 样称变的 形式传“即向,数中可均递调套调能但嵌)。套以 。嵌以 (中语 );) ) ).;, ) . . 是用正函主,数有 )0) )+0) ; ) + ) 为的 后列执 , = ;, % ;)( = =; 做组 了称名需用被变 ) ),( ; ) 值,语行 所文程 ;的程)性序高 效序 之目立:的正以起变,内的变局同部与外件个在 全用,变中本以中函量全部外部变的外在.)(的不以 0) - ) ( . 值返 用调数递对 许 许调归)义数主只效可参数为组形数为可数参实能不形变中用响影操量,数为数当 在式”传用时参组 。存分执一个量形定数,函在 内函在说参时义 式或量是参致组数名参不可组形数实配以型参与数小此说调须) 的正以参实作组使 。文之定范作变是 部函仅范量部是 束到处围作量全是)数限围作变是). 是确中下0件文始位义 序 结开的从 件所序)
限制150内