c语言选择判断题 - 图文(5)

2020-04-03 10:02

A) auto B) static C) extern D) 无存储类别 371、以下程序的输出结果是________。 #include

sub1(char a,char b){char c;c=a;a=b;b=c;} sub2(char *a,char b){char c;c=*a;*a=b;b=c;} sub3(char *a,char *b){char c;c=*a;*a=*b;*b=c;} main() { char a,b;

a='A';b='B';sub3(&a,&b);putchar(a);putchar(b); a='A';b='B';sub2(&a,b);putchar(a);putchar(b); a='A';b='B';sub1(a,b);putchar(a);putchar(b); }

A)BABBAB B)ABBBBA C)BABABA D)BAABBA 372、有以下函数 char fun(char *p)

{ return p; } 则该函数的返回值是________。

A) 无确切的值 B) 形参p中存放的地址值 C) 一个临时存储单元的地址 D) 373、以下程序的输出结果是________。 #include main() {

int k=4,m=1,p; p=func(k,m); printf(\; p=func(k,m); printf(\; } func(a,b) int a,b; {

static int m=0,i=2; i+=m+1; m=i+a+b ; return(m); }

A)8,17 B)8,16 C)8,20 D)8,8 374、下面程序输出结果是________。 void fun() {

static int a=0; a+=2;

printf(\} main() { int n;

for(n=1;n<4;n++) fun(); printf(\}

A) 2 2 2 B) 2 4 6 C) 2 2 2 2 D) 2 4 6 8 375、下面程序的运行结果是________。

形参p自身的地址值 #include fun(int **s,int p[2][3]) { **s=p[0][1];} main() {

int x[2][3]={2,4,6,8,10,12},*p; p=(int *)malloc(sizeof(int)); fun(&p,x); printf(\}

A)10 B)4 C)6 D)8

376、下面所列的函数定义中,正确的是________。

A) void play(var a:integer,var b:integer) B) void play(int a,b)

C) void play(int a,int b) D) Sub play(a as integer,b as integer) 377、以下是对函数的描述,不正确的是________。

A)调用函数时,实参可以是常量、表达式 B)调用函数时,将为形参分配内存单元 C)调用函数时,实参与形参个数必须相同 D)调用函数时,形参必须是整型 378、以下程序的输出结果是________。 fun(int x, int y, int z) {

z=x*x+y*y; } main() { int a=3; fun(1,2,a); printf(\}

A) 0 B) 5 C) 3

D) 无定值

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

A)地址传递 B)单向值传递 C)传递方式由用户指定 D)由实参传给形参,再由形参传给实参 380、运行程序: void fun(int *a,int *b) { int *k; k=a;a=b;b=k; } main() {

int a=2,b=5,*x,*y; x=&a,y=&b; fun(x,y);

printf(\}则输出结果是________。

A) 5 2 B) 2 5 C) 编译出错 D) 0 381、C语言中的函数________。

A)可以嵌套定义 B)不可以嵌套调用 C)可以嵌套调用,但不能递归调用 D)嵌套调用和递归调用均可 382、当调用函数时,实参是一个数组名,则向函数传送的是________。

A) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D) 数组每个元素中的值 383、下列函数定义中,错误的是________。

A)int f(int *p1,int p2) B)void f(int * p1,int p2) {*p1+=p2;return(p2);} {p1+=p2;return(*p1);}

C)f(int *p1,int p2) D)void f(int *p1,int p2) {*p1+=p2;return(*p1);} {*p1+=p2} 384、运行程序: long fun( int n) { long t;

if(n==0||n==1) t=1; else t=n-fun(n-1); return t; } main() {

printf(\}则输出结果是________。 A) 1

B) 2

C) 3

D) 4

385、main函数可以带两个形参,一般分为argc和argv,其中argv可以定义为________。 A)int argv; B)char **argv[]; C)char argv[]; D)char *argv[]; 386、运行程序: void fun(int *n) {

while( (*n)--); printf(\} main() {

int a=10; fun(&a);

}则输出结果是________。

A) 1 B) 0 C) 10 D) 程序不正确 387、数组名作为实参传给被调用的函数时,形参获得的是________。

A)该数组第一个元素的值 B)该数组所有元素的值 C)该数组第一个元素的首地址 D)该数组所有元素的首地址 388、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是________。

A) 地址传递 B) 单向值传递 C) 由实参传给形参,再由形参传回实参 D) 传递方式由用户指定 389、以下函数值的类型是________。 fun ( float x ) { float y; y=x/3-4; return y; }

A) int B) 不确定 C) void 390、以下程序的输出结果是________。 app(int *p, int a[][3],int n) {

int i,j; for(i=0;i<3;i++) for(j=0;j

int *p,a[3][3]={{1,2,3},{4,5,6}};

D) float

p=(int *)malloc(100); app(p,a,3);

printf(\}

A) 3 6 B) 2 6 C) 3 5 D) 程序错误 391、以下程序的输出结果是________。 int a,b; void fun() { a=10;b=20; } main() {

int a=1,b=7; fun();

printf(\}

A) 10 20 B) 1 7 C) 20 10 D) 7 1 392、运行下面程序: int f() {

static int k=0; int s=1; s+=k; k++; return (s); } main() {

int k,a=0;

for(k=1;k<4;k++) a+=f(); printf(\}则输出结果是________。

A) 3 B) 10 C) 6 D) 4 393、若有程序: #include void f(int n); main() {

void f(int n); f(5); }

void f(int n)

{ printf(\则以下叙述中不正确的是________。

A) 若只在主函数中对函数f进行说明,则只能在主函数中调用函数f。

B) 若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以调用函数f。

C) 对于以上程序,编译时系统会提示出错信息。 D) 函数f无返回值,所以可用void将其类型定义为无值型。 394、在C语言中,形参的缺省存储类是________。 A) auto B) register C) static D) extern 395、运行下面程序: ff(int b[],int m,int n) {

int k,s=0;

for(k=m;k

} main() {

int x,a[]={1,3,4,2,5,7,9,8,6}; x=ff(a,2,7); printf(\} 则输出结果是________。 A) 10

B) 18

C) 8

D) 15

396、在说明语句:int *f();中,标识符f代表的是________。

A) 一个用于指向整型数据的指针变量。 B) 一个用于指向一维数组的行指针。C) 一个用于指向函数的指针变量。 D) 一个返回值为指针型的函数名。 397、运行下面程序: int x=3; main() { int k;

for (k=1;k<=x;k++) cre(); } cre() {

static int x=1; x*=x+1;

printf(\}则输出结果是________。

A) 3 3 3 B) 2 2 2 C) 10 10 10 D) 2 6 42 398、运行下面程序: main() { int x=2; sub(&x,8,1); printf(\}

sub(int *a,int n,int k) {

if(k<=n) sub(a,n/2,2*k); *a+=k;

}则输出结果是________。

A) 123456 B) 123 C) 12 D) 1234 399、运行下面程序: float func(int x,int y) {return(x+y);} main() {

int a=2,b=3,c=8;

printf(\}则输出结果是________。 A) 7.0

B)9

C)7

400、运行下面程序: int fun(int n) {

if(n==1||n==0) return 1; else return (fun(n-1)+1);

D)9.0


c语言选择判断题 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:统计学试题+答案2007.6

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: