还剩4页未读,继续阅读
文本内容:
5.1 选择题
(346) 形参的缺省存储类别是__a___a.自动auto b.静态staticc.寄存器register d.外部externa
(347) 下列程序的输出结果是___d__funintaintbintc{ c=a*b; }main{ intc;fun23c;printf%d\nc;}a.0 b.1 c.6 d.无法确定d
(348) 在C程序中,若对函数类型未加说明,则函数的隐含类型为__a___a.int b.double c.void d.char a
(349) 以下程序的输出结果是__b___#includestdio.hmain{ printf%d\nNULL; }a.不确定的(因变量无定义) b.0 c.-1 d.1b
(350) 简单变量做实参时它相对应形参之间的数据传递方式是__b__a.地址传递 b.单向值传递c.由实参传给形参再由形参传回给实参d.由用户指定传递方式b
(351) 以下四个程序中 ___acd___不能对两个整型变量的值进行交换a.#includestdio.hmain{inta=10b=20; swapab; printf%d%d\nab;}swapint*pint*q{int*t; t=intmallocsizeofint;t=p;*p=*q;*q=*t;} b.#includestdio.h main{inta=10b=20; swapab;printf%d%d\nab;}swapint*pint*q{intt;t=*p;*p=*q;*q=t;} c.#includestdio.hmain{ int*a*b;*a=10*b=20;swapab;printf%d%d\n*a*b;}swapint*pint*q{intt;t=*p;*p=*q;*q=t;} d.#includestdio.hmain{inta=10b=20;intx=ay=b;swapxy;printf%d%d\nab;}swapint*pint*q{intt;t=*p;*p=*q;*q=t;}a.c.d
(352) 不是建立函数的目的选项是___acd__a. 提高程序的执行效率b. 提高程序的可读性c. 减少程序的篇幅d. 减少程序文件所占内存a.c.d
(353) 下面关于递归的说法正确的是__abd___a.每次当一个递归函数被调用时程序首先应该检查其些基本的条件是否满足了例如某个参数的值等于零函数应停止递归;b.每次当函数被递归调用时传递给函数一个或多个参数应该以某种方式变得更简单;c.一般情况下递归方法比迭代方法快;d.递归函数的目的是执行一系列调用一直到达某一点序列终止a.b.d
(354) 下面说法正确的是___b__a.函数定义可以嵌套,但函数调用不能嵌套b.函数定义不可以嵌套,但函数调用可以嵌套c.函数定义和调用均不能嵌套d.函数定义和调用均可以嵌套b
(355) 有一函数 y= 以下程序段中不能根据x的值正确计算出y的值的是___c___ a.ifx0y=1;elseifx==0y=0;elsey=-1; b.y=0;ifx0y=1;elseifx0y=-1; c.y=0;ifx=0ifx0y=1;elsey=-1; d.ifx=0ifx0y=1;elsey=0;elsey=-1;c
(356) 若定义了以下函数voidf......{……*p=double*malloc10*sizeofdouble;……}p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是___c__a.double*p c.float**p c.double**p d.float*pc
(357) 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是__d__a.函数调用可以作为独立的语句存在 b.函数调用可以作为一个函数的实参c.函数调用可以出现在表达式中 d.函数调用可以作为一个函数的形参d
(358) 已定义以下函数funint*p { return*p; }该函数的返回值是__c___ a.不确定的值 b.形参p中存放的值 c.形参p所指存储单元中的值 d.形参p的地址值c
(359) 下列函数定义中,会出现编译错误的是___b__ a.maxintxintyint*z b.intmaxintxy {*z=xyx:y;} {intz; z=xyx:y; returnz; } c.maxintxinty d.intmaxintxinty { intz; {returnxyx:y;}z=xyx:y; returnz; }b
(360) 已定义以下函数funchar*p2char*p1 { while*p2=*p1!=\0{ p1++;p2++; } } 函数的功能是__a___a.将p1所指字符串复制到p2所指内存空间b.将p1所指字符串的地址赋给指针p2c.对p1和p2两个指针所指字符串进行比较d.检查p1和p2两个指针所指字符串中是否有\0a
(361) 函数调用语句funca1a2a3a4a5;的参数个数是__a__a.2 b.5 c.1 d.调用方式不合法a
(362) 下列程序的输出结果是__d___funintaintbintc{ c=a*b; }voidmain{ intc;fun23c;printf%dnc;}a.0 b.1 c.6 d.无法确定d
(363) 在C程序中,若对函数类型未加说明,则函数的隐含类型为__a___a.int b.double c.void d.char a
(364) 数组名作为参数传递给函数作为实在参数的数组名被处理为___c__a.该数组的元素个数b.该数组中各元素的值c.该数组的首地址d.以上答案均不对c
(365) 以下说法正确的是__bc__a.用户若需调用标准函数,调用前必须重新定义b.用户可以重新定义系统标准库函数,若如此,原系统标准库函数将失效c.允许用户重新定义标准函数d.要调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调b.c
(366) 以下关于说法正确的是__d___a.实参和与其对应的形参各占用独立的存储单元b.实参与其对应的形参共占用一个存储单元c.实参和与其对应的形参同名时才共占用存储单元d.形参虚拟的,不占用存储单元d
(367) 若调用一个函数无全局、指针、静态变量,且此函数中没有return语句,则关于该函数正确的说法是__a___a.无返回值b.返回若干个系统默认值c.能返回一个用户所希望的函数值d.返回一个不确定的值a
(368) 在c语言中以下不正确的说法是__b___a.实参可以是常量、变量、或表达式b.形参可以是常量、变量或表达式c.实参可以为任意类型d.形参应与其对应的实参类型一致b
(369) 若使用一位数组名作函数实参,则以下正确的说法是___ac__a.必须在主调函数中说明此数组的大小b.实参数组类型与形参数组类型可以不匹配c.在被调用函数中,不需要考虑形参数组的大小d.实参数组名与形参数组名必须一致a.c
(370) 函数调用strcatstrcpystr1str2str3的功能是___c____a.将串str1复制到串str2中后在连接到串str3之后b.将串str1连接到串str2之后再复制到串str3之后c.将串str2复制到串str1中后再将串str3连接到串str1之后d.将串str2连接到串str1中后再将串str1复制到串str3中c
(371) 下面说法正确的是___abc___a.C语言中函数名直接对应于函数生成的指令代码在内存中的地址,因此函数名可以直接赋给指向函数的指针;b.调用函数实际上等同于调转指令+参数传递处理+回归位置入栈;c.函数调用最核心的操作是将函数生成的目标代码的首地址赋给CPU的PC寄存器;d.函数调用的本质是跳转到某一个地址单元的code去执行a.b.c。