21.當(dāng)輸入a1b2c3d4e時,以下程序的輸出結(jié)果為( A )。
#include
main( )
{char str[40];
printf(“請輸入含有四個數(shù)字字符的字符串:\n”);
scanf(“%s”,str);
insert(str);
}
insert(char str[ ])
{int i;
for(i=strlen(str);i>0;i--)
{str[2*i]=str[i];
str[2*i-1]= ‘ ’;
}
printf(“\n結(jié)果是:%s”, str);
}
A) a 1 b 2 c 3 d 4 e
B) 1 2 3 4
C) a 1 b 2
D) 因輸入錯誤,程序出錯
22.在下列敘述中,錯誤的一條是( A )。
A) 主函數(shù)main中定義的變量在整個文件或程序中有效
B) 不同函數(shù)中,可以使用相同名字的變量
C) 函數(shù)中的形式參數(shù)是局部變量
D) 在一個函數(shù)內(nèi)部,可在復(fù)合語句中定義變量,這些變量只在本復(fù)合語句中有效
23.以下程序的輸出結(jié)果是( A )。
#include
main( )
{int i;
for(i=0; i<2; i++)
as ( );
}
as( )
{int lv=0;
static int sv=0;
printf(“l(fā)v=%d, sv=%d”, lv, sv);
lv++;
sv++;
}
A) lv=0,sv=0,lv=0,sv=1
B) lv=0,sv=0,lv=1,sv=1
C) lv=0,sv=0,lv=0,sv=0
D) lv=0,sv=1,lv=0,sv=1
24.在下列敘述中,錯誤的一條是( B )。
A) 全局變量存放在靜態(tài)存儲區(qū)中,在程序開始執(zhí)行時就給全局變量分配存儲區(qū),程序執(zhí)行完才釋放
B) 在有參函數(shù)中,形參在整個程序一開始執(zhí)行時便分配內(nèi)存單元
C) 用數(shù)組名作函數(shù)實參和形參時,應(yīng)在主調(diào)函數(shù)和被調(diào)用函數(shù)中分別定義數(shù)組
D) 在同一個源文件中,全局變量與局部變量同名時,在局部變量的作用范圍內(nèi),全局變量不起作用
25.在下列語句中,不正確的是( D )。
A) c=2*max(a,B); B) m=max(a,max(b,C));
C) printf(“%d”,max(a,B));
D) int max(int x,int max(int y,int z));
26.若輸入1.5、2.5,以下程序的輸出結(jié)果為( C )。
main( )
{int max(float x, float y);
float a, b;
int c;
scanf(“%f, %f” , &a, &B);
c=max(a, B);
printf(“%d”, C);
}
max(float x, float y)
{float z;
z=x>y ? x : y;
return(z);
}
A) 1
B) 2.5
C) 2
D) 3
27、下列程序結(jié)構(gòu)中,正確的是( D )。
A) main()
{float a,b,c;
scanf(“%f,%f”,&a,&B);
c=add(a,B);
…
}
int add(float x,float y)
{ … }
B) main()
{float a,b,c;
scanf(“%f,%f”,&a,&B);
c=add(a,B);
…
}
float add(float x,float y)
{ … }
C) float add();
main()
{float a,b,c;
scanf(“%f,%f”,&a,&B);
c=add(a,B);
…
}
float add(float x,float y)
{ … }
D) float add(float x,float y)
{ … }
main()
{float a,b,c;
scanf(“%f,%f”,&a,&B);
c=add(a,B);
…
}
28.在下列敘述中,錯誤的一條是( B )。
A) scanf函數(shù)可以用來輸入任何類型的多個數(shù)據(jù)
B) 數(shù)組名作函數(shù)參數(shù)時,也采用“值傳遞”方式
C) 如果形參發(fā)生改變,不會改變主調(diào)函數(shù)的實參值
D) 函數(shù)的實參與形參的類型應(yīng)一致
29.以下程序的輸出結(jié)果是( B )。
main()
{int i=1,j=3;
printf(“%d”,i++);
{int i=0;
i+=j*2;
printf(“%d,%d”,i,j);
}
printf(“%d,%d\n”,i,j);
}
A) 1,6,3,1,3
B) 1,6,3,2,3
C) 1,6,3,6,3
D) 1,7,3,2,3
30.C語言中形參的缺省存儲類別是( A )。
A) 自動(auto)
B) 靜態(tài)(static)
C) 寄存器(register)
D) 外部(extern)
31.設(shè)有如下函數(shù):
ggg(float x)
{printf(“\n%d”, x*x);}
則函數(shù)的類型為( C )。
A) 與參數(shù)x的類型相同
B) void
C) int
D) 無法確定
32.C語言規(guī)定,程序中各函數(shù)之間( A )
A) 既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用
B) 不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用
C) 允許直接遞歸調(diào)用不允許間接遞歸調(diào)用
D) 不允許直接遞歸調(diào)用允許間接遞歸調(diào)用
33.下面程序的輸出結(jié)果是( A )。
main()
{int i=2,p;
p=f(i,i+1);
printf(“%d”,p);
}
int f(int a,int B)
{int c;
c=a;
if(a>B) c=1;
else
if(a==B) c=0;
else c=-1;
return(C);
}
A) -1
B) 0
C) 1
D) 2
34.以下程序的輸出結(jié)果為( B )。
f(int b[ ], int n)
{int i, r;
r=1;
for(i=0; i<=n; i++) r=r*b[i];
return(r);
}
main()
{int x, a[ ]={2,3,4,5,6,7,8,9};
x=f(a, 3);
printf(“%d\n”, x);
}
A) 720
B) 120
C) 24
D) 6
35.下列程序執(zhí)行后的輸出結(jié)果是( D )。
f(int a)
{int b=0;
static c=3;
a=c++, b++;
return(a);
}
main( )
{int a=2, i, k;
for(i=0;i<2;i++)
k=f(a++);
printf(“%d\n”, k);
}
A) 3
B) 0
C) 5
D) 4
36.下列程序執(zhí)行后輸出的結(jié)果是( A )。
int d=1;
fun(int p)
{int d=5;
d+=p++;
printf(“%d”, D);
}
main( )
{int a=3;
fun(a);
d+=a++;
printf(“%d\n”, D);
}
A) 84
B) 96
C) 94
D) 85
37.以下程序的輸出結(jié)果是( B )。
fun(int k)
{if(k>0) fun(k-1);
printf(“%d”, k);
}
main( )
{int w=5;
fun(w);
}
A) 54321
B) 012345
C) 12345
D) 543210
38.以下說法中正確的是( C )。
A) C語言程序總是從第一個定義的函數(shù)開始執(zhí)行
B) 在C語言程序中,被調(diào)用的函數(shù)必須在main()函數(shù)中定義
C) C語言程序總是從main()函數(shù)開始執(zhí)行
D) C語言程序中的main()函數(shù)必須放在程序的開始部分
39.以下程序的輸出結(jié)果是( C )。
int abc(int u, int v);
main()
{int a=24, b=16, c;
c=abc (a, B);
printf(“%d\n”, C);
}
int abc(int u, int v)
{int w;
while(v)
{w= u%v; u=v; v=w;}
return u;
}
A) 6
B) 7
C) 8
D) 9
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |