以下正确的函数定义是

合集下载

以下正确的函数定义是(

以下正确的函数定义是(

一、选择题
1.以下正确的函数定义是()。
A.double fun(int x, int y)B.double fun(int x,y)
{ z=x+y; return z ; }{ int z; return z;}
C.fun (x,y)D.double fun (int x, int y)
{ int x, y; double z ;{ double z ;
【答案】A
10.以下不正确的说法是()。
A.全局变量,静态变量的初值是在编译时指定的
B.静态变量如果没有指定初值,则其初值为0
C.局部变量如果没有指定初值,则其初值不确定
D.函数中的静态变量在函数每次调用时,Fra Baidu bibliotek会重新设置初值
【答案】D
【说明】静态局部变量在其函数调用结束后仍然可以保留变量值。
11.以下任何情况下计算平方数时都不会引起二义性的宏定义是()。
【答案】B
【说明】地址传递是在实参和形参是数组的情况下进行的。
5.C语言规定,函数返回值的类型是决定于()。
A.return语句中的表达式类型B.调用该函数时的主调函数类型
C.调用该函数时由系统临时D.在定义函数时所指定的函数类型
【答案】D
6.若用数组名作为函数调用的实参,传递给形参的是()。
A.数组的首地址B.数组中第一个元素的值

C语言样题

C语言样题
一、单选题(每题 1 分,共 25 分) 1. C 语言规定:在一个源程序中, main 函数的位置 ________ 。 A) 必须在最开始 B) 必须在系统调用的库函数的后面 C) 可以任意 D) 必须在后面 2. 一个 C 语言程序是由 ________ 。 A) 一个主程序和若干子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成 3. 在位运算中,操作数每左移一位,其结果相当于 ________ 。 A) 操作数乘以 2 B) 操作数除以 2 C ) 操作数乘以 4 D) 操作数除以 4 4. 以下关于结构体的叙述中,错误的是 _________ 。 A) 结构体是一种可以由用户构造的数据类型 B) 结构体中的成员可以具有不同的数据类型 C) 结构体中的成员不可以与变量同名 D) 结构体中的成员可以是指向自身结构的指针类型 5 .以下能正确地定义整型变量 a , b 和 c 并为其赋初值 5 的语句是 ________ 。 A)int a=b=c=5 ; B)int a,b,c=5 ; C)a=5,b=5,c=5 ; D)a=b=c=5 ; 6. 以下表达式值为 3 的是 ________ 。 A)16-13%10 B)2+3/ 2 C )14/3-2 D)(2+6)/(12-9) 7. C 语言中的标识符只能由字母、数字和下划线 3 种字符组成,且第一个字符 ________ 。 A) 必须为字母 B) 必须为下划线 C) 必须为字母或下划线 D) 可以是字母、数字和下划线中任一种字符 8. 下面正确的字符常量是 ________ 。 A) " C " B) " \\ " C) ' W ' D) ' ' 9. 设有定义 int a=1,b=2,c=3,d=4,m=2,n=2; 则表达式 (m=a>b)&&(n=c>d) 运算后, n 的值为 ________ 。 A)1 B) 2 C )3 D)4 10. 以下针对 scanf 函数的叙述中,正确的是 ________ 。 A) 输入项可以为一实型常量,如 scanf( "% f ", 3.5) ; B) 只有格式控制, 没有输入项, 也能进行正确输入, 如 scanf( " a= % d , b= % d " ) ; C) 当输入实型数据时,格式控制部分必须规定小数点后的位数,如 scanf( "% 4.2f ",& f) ; D) 当输入数据时,必须指明变量的地址,如 scanf( "% f ",& f) ; 11. 判断字符串 s1 是否大于字符串 s2 ,应当使用 ________ 。 A) if ( s1>s2 ) B) if(strcmp(s1,s2)) C) if(strcmp(s2,s1)>0) D) if(strcmp(s1,s2)>0) 12. 若用数组名作为函数调用的实参,传递给形参的是 ______ 。 A) 全部元素的值 B) 第一个元素的值 C) 数组的首地址 D) 数组元素的个数 13. C 语言中的 switch 语句形式如下所示, 关键字 switch 后一对圆括号中表达式 exp 的类型 ______ 。 switch(exp) {case 常量表达式 1 :语句 1 ;

C语言期末考试复习题及答案3

C语言期末考试复习题及答案3

C语言期末考试复习题及答案

一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个

是正确的,请将正确的选项涂写在答案纸上.答在试卷上不得分。

(1)C语言规定:在一个源程序中,main函数的位置.

A)必须在最后B)必须在系统调用的库函数的后面。

C)必须在最开始.。D)可以任意

(2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且

第一个字符。

A)必须为字母或下划线.。B)必须为下划线。

C)必须为字母D)可以是字母、数字和下划线中的任一种字符。

(3)下面四个选项中,均是正确的八进制数或十六进制数的选项

是。

A)—10 0x8f —011 B) 010 -0x11 0xf1

C) 0abc —017 0xc D) 0a12 —0x123 -0xa

(4) C语言中int型数据在内存中占两个字节,则unsegned int取

值范围是.

A)0 ~ 65535 B)0 ~ 32767

C)—32767 ~ 32768 D)—32768 ~ 327687

(5) 若有定义:int a = 7; floa x = 2。5 , y = 4.7 ;

则表达式x + a % 3 * (int)(x + y)% 2/4 的值

是.

A)2。750000 B)0.00000 C)3。500000 D)2。500000 (6)已知ch是字符型变量,下面不正确的赋值语句是。

A)ch = 5 + 9 ; B) ch= ' a + b ';C) ch = ' \ 0 ’;

D)ch= ’7’ + ’6';

(7) 设x ,y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的

C语言选择题

C语言选择题

选择题A篇

1.以下数据中,不正确的数值或字符常量是(A).

(A).c

(B).66

(C).0xaa

(D).50

2.设j和k都是int类型,则for循环语句:

for(j=0,k=0;j<=9&&k!=876;j++)

scanf("%d",&k);(A)

(A).最多执行10次

(B).最多执行9次

(C).是无限循环

(D).循环体一次也不执行

3.char a1[]="abc",a2[80]="1234";将a1串连接到a2串

后面的语句是(A).

(A).strcat(a2,a1);

(B).strcpy(a2,a1);

(C).strcat(a1,a2);

(D).strcpy(a1,a2);

4.以下正确的说法是:在C语言中(A).

(A).实参和与其对应的形参各占用独立的存储单元

(B).实参和与其对应的形参共占用一个存储单元

(C).只有当实参和与其对应的形参同名时才共占用存储

单元

(D).形参是虚拟的,不占用存储单元

5.下列字符序列中,是C语言保留字的是(A).

(A).sizeof

(B).include

(C).scanf

(D).sqrt

6.以下选项中,与k=n++完全等价的表达式是(A).

(A).k=n,n=n+1

(B).n=n+1,k=n

(C).k=++n

(D).k+=n+1

7.在位运算中,操作数每左移一位,其结果相当于(A).

(A).操作数乘以2

(B).操作数除以2

(C).操作数除以4

(D).操作数乘以4

8.以下程序的运行结果是(A).

main()

{ int n;

for(n=1;n<=10;n++)

C语言考试

C语言考试

试题一

(一)选择题

1.以下叙述中正确的是()。构成C程序的基本单位是函数

2.如果int a=2,b=3,c=0,下列描述正确的是。!a!=(b!=c)表达式的值为1

3.sizeof(float)是()。一个整形表达式

4.设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是()。-264

5.经过以下语句定义后,表达式z+=x>y?++x:++y的值为()。6

int x=1,y=2,z=3;

6.若变量a与i已正确定义,且i已正确赋值,合法的语句是()。++i

7.若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,

8.sum++,++num后sum的值为()。8

9.C语言中不合法的字符串量是。‘y=‟

10.下列关于单目运算符++、--的叙述中正确的是______。它们的运算对象可以是char型变量和float型变量

11.整型变量x=1,y=3,经下列计算后,x的值不等于6的是。X=9-(--y)-(y--)

12.假设所有变量均为整型,表达式:a=2,b=5,a>b?a++:b++,a+b的值

是()。8

13.下列程序的输出结果是()。0

void main()

{int a=7,b=5;

printf("%d\n",b=b/a);

14.以下程序的执行结果是________.4

main()

{ int w = 1, x = 2, y = 3, z = 4;

w =( w < x ) ? x : w;

w =( w < y ) ? y : w;

w =( w < z ) ? z : w;

C语言选择题

C语言选择题

1 C语言程序由函数组成,以下说法正确的是( A ).

A)主函数可以在其它函数之前,函数内不可以嵌套定义函数

B)主函数可以在其它函数之前,函数内可以嵌套定义函数

C)主函数必须在其它函数之前,函数内不可以嵌套定义函数

D)主函数必须在其它函数之前,函数内可以嵌套定义函数

2 以下说法中不正确的是( A )。

A) 主函数main中定义的变量在整个文件或程序中有效

B) 不同的函数中可以使用相同名字的变量

C) 形式参数是局部变量

D) 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效

3 下面函数

f(double x)

{printf(“%6d\n”,x);}

的类型为( 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(intx,int y);

{int z;

z=x+y; return z;}

B) fun(intx,y)

{int z; return z;}

C) double fun(intx,int y)

{double z;

z=x+y; return z;}

D) double fun( x, y)

{intx,y;

double z;

z=x+y; return z;}

6 定义为void类型的函数,其含义是( A ).

C语言试卷

C语言试卷

C语言试卷

1. 以下不是C语言的特点的是 ( B D )。 [单选题] *

A.(正确答案)

C语言简洁、紧凑

D. C语言移植性好

2. 以下不正确的C语言标识符是()。 [单选题] *

A. ABC

B. Abc

C. a_bc

D. ab.c(正确答案)

3. 3.C语言规定,函数返回值的类型由()所决定。 [单选题] * A.return语句中的表达式类型

B.调用该函数时的主调函数类型

C.调用该函数时的形参类型

D.在定义该函数时所指定的函数类型(正确答案)

4. C程序由()组成。 [单选题] *

A.子程序

B.主程序和子程序

C.函数(正确答案)

D.过程

5. 设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为()。 [单选题] *

A. int

B. Float

C. double(正确答案)

D. 不确定

6. 在C语言中,char型数据在内存中的存储形式是()。 [单选题] *

A. 补码

B. 反码

C. 源码

D. ASCII码(正确答案)

7. 有如下程序,输入数据:12345M678<cR>后( [单选题] *

#include

main()

{

int x;

float y;

scanf("%3d%f",&x,&y);

}

A. 12345

B. 123

C. 运行错误(正确答案)

D. 345

8. 若有以下定义int a,b; float x,则正确的赋值语句是()。 [单选题] *

A. a=1,

b=2

C. a=b=5;(正确答案)

D. b=int(x);

9. 以下程序的执行结果是()。 [单选题] *

习题四函数宏定义(4)

习题四函数宏定义(4)
{ float x, y, z, sum;
scanf("%f%f%f", &x, &y, &z);
sum=fun1(__①__)+fun1(__②__);
printf("sum=%f\n", sum);
}
float fun1(float a, float b)
{ float num;
num=a/b;
A、本文件的全部范围
B、本程序的全部范围
C、本函数的全部范围
D、从定义该变量的位置开始至本文件结束
113、以下程序的运行结果是_____
#include <stdio.h>
void ff1( )
{ extern int x, y;
int a=15, b=10;
x=a-b;
y=a+b;
}
int x, y;
max_value(int arr[ ][4])
{ int i, j, max;
max=arr[0][0];
for (i=0;_____; i++)
for (j=0;_____; j++)
if (arr[i][j]>max)
max=_____;
return(max);
}
75、以下函数f1用于求两个整数a和b的最大公约数。

1以下正确的函数定义是

1以下正确的函数定义是
{ case'a':case'A':i=1;
case'e':case'E':i=2;
case'i':case'I':i=3;
case'o':case'O':i=4;
case'u':case'U':i=5;
}
if(i>0)
num[i]++;
}
}
4.函数fun的功能是:根据整型形参m,计算如下公式的值:
【答案】A
10.以下不正确的说法是()。
A.全局变量,静态变量的初值是在编译时指定的
B.静态变量如果没有指定初值,则其初值为0
C.局部变量如果没有指定初值,则其初值不确定
D.函数中的静态变量在函数每次调用时,都会重新设置初值
【答案】D
【说明】静态局部变量在其函数调用结束后仍然可以保留变量值。
11.以下任何情况下计算平方数时都不会引起二义性的宏定义是()。
}
【答案】
024681012141618
024681012141618
3.若输入的值是-125,写出下面程序的运行结果。
#include <math.h>
fun(int n)
{int k,r;

函数的定义(答案)

函数的定义(答案)

函数的定义

一 、选择题

1.关于函数,下列说法正确的是( C )

A .函数是定义域到值域的一一对应关系

B .函数f (x )=x -2.5+1-x

C .f (a )表示当x =a 时函数f (x )的值,是一个常量

D .函数f (x )一定可以用一个具体的式子表示出来

解析:若f (x )=x 2(x ∈R ),则f (x )不是从定义域到值域的一一对应关系;由于B 选项中f (x )的定义域为空集,故f (x )不是函数,故B 错;由于有些函数不具有解析式,故D 错.

2.已知函数f ⎝⎛⎭⎫1x =1

x +1,则f (2)=( C )

A.13

B.32

C.23 D .3

解析:f (2)=f ⎝⎛⎭⎫10.5=10.5+1=23.

3.函数f (x )=x -2010

2011-x 的定义域为( B )

A .[2010,2011]

B .[2010,2011)

C .(2010,2011]

D .(2010,2011)

解析:⎩⎪⎨⎪⎧ x -2010≥0,2011-x >0,∴2010≤x <2011.

4.函数f (x )=x +1,x ∈{-1,1,2},则f (x )的值域为( C )

A .0,2,3

B .0≤y ≤3

C .{0,2,3}

D .[0,3]

解析:函数的值域是当自变量在定义域内取值时,由函数值构成的集合.

5.已知函数y =f (x ),x ∈[a ,b ],那么集合{(x ,y )|y =f (x ),x ∈[a ,b ]}∩{(x ,y )|x =2}中元素的个数为(

函数答案 (2)

函数答案 (2)

第七章函数

一、选择题

1.以下函数定义正确的是: A 。

A) double fun(int x, int y) B) double fun(int x; int y)

C) double fun(int x, int y) ; D) double fun(int x ,y)

2.C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是: B 。

A)地址传递;B)单向值传递;

C)双向值传递;D)由用户指定传递方式

3.以下关于C语言程序中函数的说法正确的是: B 。

A)函数的定义可以嵌套,但函数的调用不可以嵌套;

B)函数的定义不可以嵌套,但函数的调用可以嵌套;

C)函数的定义和调用均不可以嵌套;

D)函数的定义和点用都可以嵌套。

4.以下正确的函数形式是: D 。

A)double fun(int x,int y) B)fun (int x,y)

{z=x+y;return z;} {int z;return z;}

C)fun(x,y) D)double fun(int x,int y)

{int x,y; double z; {double z;

z=x+y; return z;} z=x+y; return z;}

5.以下说法不正确的是: B 。

C 语言规定A)实参可以是常量、变量或表达式

B)形参可以是常量、变量或表达式

C)实参可以是任意类型

D)形参应与其对应的实参类型一致

6.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 B 。

A) float型B) int 型C)long 型D)double 型

二级C语言模拟题2018年(47)_真题-无答案

二级C语言模拟题2018年(47)_真题-无答案

二级C语言模拟题2018年(47)

(总分100,考试时间90分钟)

选择题

1. 要求tan(60°)的值,调用的库函数格式为______。

A. tan(60)

B. tan(pi/3)

C. tan(60.0)

D. tan((double)60)

2. C语言规定,函数返回值的类型是______。

A. 由调用该函数时的主调函数类型所决定

B. 由return语句中的表达式类型所决定

C. 由调用该函数时系统临时决定

D. 由定义该函数时所指定的数值类型决定

3. 以下叙述中,错误的是______。

A. 在同一C程序文件中,不同函数中可以使用名字相同的变量

B. 在main()函数体内定义的变量是全局变量

C. 形参是局部变量,函数调用完成即失去意义

D. 若同一文件中全局和局部变量同名,则全局变量在局部变量作用范围内不起作用

4. 以下函数值的类型是______。

fun(double x)

{foat y;

y=3*x-4;

return y;

)

A. int

B. 不确定

C. void

D. float

5. 有以下程序:

int f1(double a)

{return a*a;}

int f2(int x,int y)

{double a,b;

a=f1(x);

b=f1(y);

return a+b;

}

main()

{double w;

w=f2(2.1,4.0);

)

变量w的值是______。

A. 20.21

B. 20

C. 20.0

D. 0.0

6. 已知下列函数定义:

fun(int *b,int m,int n,int data)

C语言上机考试

C语言上机考试

一、单项选择

1.题号:4889

以下函数调用语句中,实参的个数是().

exce((v1,v2),(v3,v4,v5),v6);

A、3

B、4

C、5

D、6

A、可以在同一个函数中,出现多次

B、在主函数和其他函数中,均可出现

!

C、必须在每个函数中,出现

D、只能在除主函数之外的函数中,出现一次

A、该数组的首地址

B、该数组的元素个数

C、该数组中各元素的值

D、该数组的长度

答案:A

2.题号:4525

在C语言的函数中,下列正确的说法是().

A、数组名不能作形参

]

B、可以有也可以没有形参

C、形参必须是变量名

D、必须有形参

答案:B

3.题号:4083

以下正确的函数定义形式是().

A、double fun(int x,int y)

B、double fun(int x;int y)A、main()

B、#include""

C、scanf

`

D、printf

答案:A

4.题号:4048

下面对函数的叙述,正确的是().

A、函数中无论是否有return语句,都能返回正确值

B、函数中没有return语句,说明不带回值

C、函数不能嵌套定义

D、函数的返回值是通过return语句获得的

答案:C

5.题号:4073

&

在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是().

A、传递方式由用户指定

B、由实参传给形参,再由形参传回实参

C、地址传递

D、单向值传递

答案:D

6.题号:5119

下列关于函数的叙述中正确的是().

A、每个函数都可以单独运行

A、5

(

B、3

C、2

D、4

答案:C

7.题号:4901

在C语言中,形参的缺省存储类是().

C语言试卷11

C语言试卷11

C语言模拟考试

学号:11 姓名:王梦奎得分:0 ..................................................................

单项选择

在C语言中,要求运算数必须是整型的运算符是()。

A.++

B.%

C.!=

D./

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

B

【学生答案】

[未答此题]

定义结构体的关键字是( )。

A.struct

B.typedef

C.enum

D.union

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

A

【学生答案】

[未答此题]

全局变量的定义不可能在()。

A.最后一行

B.文件外面

C.函数外面

D.函数内部

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

D

【学生答案】

A

以下正确的函数定义形式是()。

A.double fun(int x,int y);

B.double fun(int x,y);

C.double fun(int x;int y)

D.double fun(int x,int y)

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

D

【学生答案】

[未答此题]

下面叙述中错误的是( )。

A.在其它函数中定义的变量在主函数中也不能使用

B.主函数中定义的变量在整个程序中都是有效的

C.复合语句中定义的变量只在该复合语句中有效

D.形式参数也是局部变量

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

B

【学生答案】

[未答此题]

下列( )表达式的值为真,其中a=5;b=8;c=10;d=0

A.(a*2-c)||d

C语言期末考试题库(第一章c语言基础知识)

C语言期末考试题库(第一章c语言基础知识)

C语言期末考试题库(第一章c语言基础知识)

C语言考研题库(第一章c语言基础知识)

一、单项选择

1.算术运算符,赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为().

A、关系运算,赋值运算,算术运算

B、算术运算,关系运算,赋值运算

C、算术运算,赋值运算,关系运算

D、关系运算,算术运算,赋值运算

答案:B

2.下述正确的C语言常量是:().

A、E2

B、3e-3

C、1.5E2.5

D、5.0E

答案:B

3.使用共用体变量,不可以().

A、进行动态管理

B、节省存储空间

C、同时访问所有成员

D、简化程序设计

答案:C

4.为表示关系x>=y>=z,应使用C语言表达式为:()

A、(x>=y)&(y>=z)

B、(x>=y>=z)

C、(x>=y)&&(y>=z)

D、(x>=y)AND(y>=z)

答案:C

5.以下程序的输出结果是().

{char str[]="ABCD",*p=str;printf("%s\n",p);}

A、68

B、ABCD

C、不确定的值

D、字符D的地址

答案:B

6.char a[10];不能将字符串"abc"存储在数组中的是().

A、a="abc";

B、a[0]=0;strcat(a,"abc");

C、int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;

D、strcpy(a,"abc");

答案:A

7.fscanf函数的正确调用形式是().

A、fscanf(文件指针,格式字符串,输入表列);

B、fscanf(格式字符串,文件指针,输出表列);

C语言题库及其答案

C语言题库及其答案

单项选择

==================================================

题号:4639

若有以下说明,则对结构体变量stud1中成员age的不正确引用是().

struct student

{int age;int num;

}stud1,*p;

p=&stud1;

A、(*p).age

B、student.age

C、p->age

D、stud1.age

答案:

B

题号:5590

下面叙述中不正确的是().

A、可以对字符型数组进行整体输入和输出.

B、可以对整型数组进行整体输入和输出.

C、不可以对浮点型数组进行整体输入和输出.

D、字符型数组可以存放字符串.

答案:

B

题号:1714

不合法的关系表达式是:()

A、'a'+1

B、m>=n+1

C、x=y

D、x !=x+y

答案:

C

题号:5800

以下表述中正确的是().

A、do-while 循环中while 语句不能省略

B、在do-while 循环中while 表达式的值不能为"假"

C、除了for 循环,其他循环中都不能使用复合语句

D、do-while 循环中while(表达式)后面不能加分号

答案:

A

题号:3963

用下面的scanf函数输入数据,使得i=10,k=15选择正确的键盘输入方法(). (用"[CR]"表示回车,U表示空格)

main()

{int i,k;

scanf("i=%d,k=%d",&i,&k);

}

A、10U15[CR]

B、i=10,k=15[CR]

C、i=10[CR]k=15[CR]

D、10,15[CR]

答案:

B

题号:1550

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【答案】B
【说明】地址传递是在实参和形参是数组的情况下进行的。
5.C语言规定,函数返回值的类型是决定于()。
A.return语句中的表达式类型B.调用该函数时的主调函数类型
C.调用该函数时由系统临时D.在定义函数时所指定的函数类型
【答案】D
6.若用数组名作为函数调用的实参,传递给形参的是()。
A.数组的首地址B.数组中第一个元素的值
【答案】A
10.以下不正确的说法是()。
A.全局变量,静态变量的初值是在编译时指定的
B.静态变量如果没有指定初值,则其初值为0
C.局部变量如果没有指定初值,则其初值不确定
D.函数中的静态变量在函数每次调用时,都会重新设置初值
【答案】D
【说明】静态局部变量在其函数调用结束后仍然可以保留变量值。
11.以下任何情况下计算平方数时都不会引起二义性的宏定义是()。
C.ifdef或ifndef或defineD.ifdef或ifndef
【答案】D
二、填空题
1.C语言函数返回类型的默认定义类型是。
【答案】整型
2.函数调用语句:fun((a,B.,(c,d,e))实参个数为。
【答案】2
3.函数的实参传递到形参有两种方式:和。
【答案】传值、传址
4.在一个函数内部调用另一个函数的调用方式称为。在一个函数内部直接或间接调用该函数成为函数的调用方式。
C.凡是C源程序中行首以“#”标识的控制行都是预处理指令。
D.C语言的编译预处理就是对源程序进行初步的语法检查。
【答案】B
13.C语言提供的预处理功能包括条件编译,其基本形式是:
#XXX标识符
程序段1
#else
程序段2
#endif
这里XXX可以是()。
A.define或includeB.ifdef或include
A.#define POWER(x) x*xB.#define POWER(x) (x)*(x)
C.#define POWER(x) (x*x)D.#define POWER(x) ((x)*(x))
【答案】D
12.以下正确的叙述是()。
A.C语言的预处理功能是指完成宏替换和包含文件的调用。
B.C语言的预处理指令只能位于C源程序文件的首部。
A.实参可以是常量,变量或表达式
B.形参可以是常量,变量或表达式
C.实参可以为任意类型
D.如果形参和实参的类型不一致,则以形参类型为准
【答案】B
【说明】形参只能是变量或数组。
4.C语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是()。
A.地址传递B.值传递
C.有实参传给形参,再由形参传给实参D.由用户指定传递方式
z=x+y; return z;}return z;}
【答案】D
【说明】其返回值与函数类型相符。
2.若调用一个函数,且此函数中没有return语句,则正确的说法是()。
A.该函数没有返回值B.该函数返回若干个系统默认值
C.能返回一个用户所希望的函数值D.返回一个不确定的值
【答案】A
3.以下不正确的说法是()。
main()
{ int x=2;
PRINT(F(3)*x);}
【答案】9
14.设有以下程序,为使之正确运行,请在横线中填入应包含的命令行。
main()
{ int x=2,y=3;
printf("%d\n",pow(x,y));}
【答案】#include <math.h>
一、选择题
1.以下正确的函数定义是()。
A.double fun(int x, int y)B.double fun(int x,y)
{ z=x+y; return z ; }{ int z; return z;}
C.fun (x,y)D.double fun (int x, int y)
{ int x, y; double z ;{ double z ;
7.C语言变量的存储类别有,,和。
【答案】自动变量和寄存器变量静态外部变量静态局部变量外部变量
8.凡在函数中未指定存储类别的局部变量,其默认的存储类别为。
【答案】自动
9.在一个C程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要定义的存储类别为。
【答案】静态全局变量
10.变量被赋初值可以分为两个阶段:即和。
【答案】嵌套调用递归
5.C语言变量按其作用域分为和;按其生存期分为和。
【答案】全局变量局部变量动态变量静态变量
6.已知函数定义:void dothat(int n,double x) {…},其函数声明的两种写法为
和。
【答案】dothat(int n,double x) {…} dothat(int,double) {…}
【答案】定义时赋值运行中赋值
11.下面程序的运行结果是。
#define MAX(a,b)(a>b?a:b)+1
main()
{ int j=6,k=8,f;
printf("%d\n",MAX(j,k));}
【答案】9
12.下面程序的运行结果是。
#define A 4
#define B(x) A*x/2
C.数组中的全部元素的值D.数组元素的个数
【答案】A
7.如果在一个函数中的复合语句中定义了一个变量,则该变量()。
A.只在该复合语句中有定义B.在该函数中有定义
C.在本程序范围内有定义D.为非法变量
【答案】C
【说明】因为该变量为局部变量。
8.下面程序的输出是()。
int i=2;
printf("%d%d%d",i*=2,++i,i++);
main()
{ float c,a=4.5;
c=B(ຫໍສະໝຸດ Baidu );
printf("%5.1f\n",c );}
【答案】9.0
13.以下程序的输出结果是。
#include"stdio.h"
#define F(y) 3.84+y
#define PR(A. printf("%d",(int)(A.)
#define PRINT(A. PR(A.;putchar('\n')
A.8,4,2B.8,4,3C.4,4,5D.4,5,6
【答案】A
9.已知一个函数的定义如下:
double fun(int x, double y)
{}
则该函数正确的函数原型声明为()。
A.doublefun (int x,double y)B.fun (int x,double y)
C.double fun (int ,double );D.fun(x,y) ;
相关文档
最新文档