C语言选择题99道Word文件下载.docx
《C语言选择题99道Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言选择题99道Word文件下载.docx(44页珍藏版)》请在冰豆网上搜索。
![C语言选择题99道Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-11/23/17df50ca-922b-4418-a227-4e690cc56b2e/17df50ca-922b-4418-a227-4e690cc56b2e1.gif)
isupper(c)
'
A'
<
=c<
='
Z'
=c&
&
c<
=('
z'
-32)&
('
a'
-32)<
=c
469、有以下程序
{charp[]={'
'
b'
c'
},q[]="
abc"
;
printf("
%d%d\n"
sizeof(p),sizeof(q));
44
33
34
43
617、设有以下定义和语句
charstr[20]="
Program"
*p;
p=str;
则以下叙述中正确的是______。
*P与str[0]中的值相等
str与p的类型完全相同
str数组长度和p所指向的字符串长度相等
数组str中存放的内容和指针变量p中存放的内容相同
513、以下能正确定义数组并正确赋初值的语句是______。
intN=5,b[N][N];
inta[1][2]={{1},{3}};
intc[2][]={{1,2},{3,4}};
intd[3][2]={{1,2},{3,4}};
D
533、以下不能正确定义二维数组的选项是______。
inta[2][2]={{1},{2}};
inta[][2]={1,2,3,4};
inta[2][2]={{1},2,3}
inta[2][]={{1,2},{3,4}}
567、有以下程序:
voidsort(inta[],intn)
{inti,j,t;
for(i=0;
i<
n-1;
i+=2)
for(j=i+2;
j<
n;
j+=2)
if(a[i]<
a[j]){t=a[i];
a[i]=a[j];
a[j]=t;
{intaa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(aa,10);
10;
i++)printf("
%d,"
aa[i]);
\n"
);
其输出结果是______。
1,2,3,4,5,6,7,8,9,10,
10,9,8,7,6,5,4,3,2,1,
9,2,7,4,5,6,3,8,1,10,
1,10,3,8,5,6,7,4,9,2,
137、以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序。
{inti,j,t;
i++)
for(j=i+1;
j++)
a[j]){t=a[i];
{intaa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&
aa[3],5);
1,2,3,8,7,6,5,4,9,10,
1,2,10,9,8,7,6,5,4,3,
119、以下程序的输出结果是______。
#inclue<
stdio.h>
string.h>
{charb1[8]="
goddwer"
b2[8],*pb=b1+3;
while(--pb>
=b1)strcpy(b2,pb);
%d\n"
strlen(b2));
8
3
1
7
180、以下选项中不能正确把cl定义成结构体变量的是______。
1、typedefstruct
{intred;
intgreen;
intblue;
}COLOR;
COLORcl;
2、structcolorcl
{intred;
};
3、structcolor
}cl;
4、struct
2
4
694、以下结构体类型说明和变量定义中正确的是______。
typedefstruct
{intn;
charc;
}REC;
RECt1,t2;
structREC;
};
typedefstructREC;
{intn=0;
charc='
}t1,t2;
struct
6、能正确表示a和b同时为正或同时为负的逻辑表达式是______。
(a>
=0||b>
=0)&
(a<
0||b<
0)
=0&
b>
0&
b<
(a+b>
0)&
(a+b<
=0)
a*b>
62、有如下程序
{
intn[5]={0,0,0},i,k=2;
for(i=0;
i<
k;
i++)n[i]=n[i]+1;
n[k]);
该程序的输出结果是______。
不确定的值
98、以下程序的输出结果是______。
structHAR
{intx,y;
structHAR*p;
}h[2];
{h[0].x=1;
h[0].y=2;
h[1].x=3;
h[1].y=4;
h[0].p=&
h[1];
h[1].p=h;
%d%d\n"
(h[0].p)->
x,(h[1].p)->
y);
12
23
14
32
448、以下程序段的输出结果是______。
inta=1234;
%2d\n"
a);
34
1234
提示出错、无结果
260、设有条件表达式:
(EXP)?
i++:
j--,则以下表达式中与(EXP)完全等价的是______。
(EXP==0)
(EXP!
(EXP==1)
=1)
557、设有定义:
intn=0,*p=&
n,**q=&
p;
则以下选项中,正确的赋值语句是______。
p=1;
*q=2;
q=p;
*p=5;
51、有如下程序
{intx=1,a=0,b=0;
switch(x){
case0:
b++;
case1:
a++;
case2:
b++;
a=%d,b=%d\n"
a,b);
a=2,b=1
a=1,b=1
a=1,b=0
a=2,b=2
663、设变量x和y均已正确定义并赋值。
以下if语句中,在编译时将产生错误信息的是______。
if(x++);
if(x>
y&
y!
=0);
0)x--
elsey++;
if(y<
0){;
elsex++;
190、设有定义:
201、有以下程序
structSTU{
charname[10];
intnum;
voidf1(structSTUc)
{structSTUb={"
LiSiGuo"
2042};
c=b;
voidf2(structSTU*c)
SunDan"
2044};
*c=b;
{structSTUa={"
YangSan"
2041},b={"
WangYin"
2043};
f1(a);
f2(&
b);
a.num,b.num);
执行后输出结果是______。
20412044
20412043
20422044
20422043
509、有以下程序
#include<
structSTU
{charname[10];
intnum;
voidf(char*name,intnum)
{structSTUs[2]={{"
20044},{"
Penghua"
20045}};
num=s[0].num;
strcpy(name,s[0].name);
20041},{"
LiSiGao"
20042}},*p;
p=&
s[1];
f(p->
name,p->
num);
%s%d\n"
p->
SunDan20042
SunDan20044
LiSiGuo20042
YangSan20041
294、不能把字符串:
Hello!
赋给数组b的语句是______。
charb[10]={'
H'
e'
l'
0'
!
h'
charb[10];
strcpy(b,"
"
charb[10]="
730、假定已建立以下链表结构,且指针p和q已指向如图所示的结点:
则以下选项中可将q所指结点从链表中删除并释放该结点的语句组是______。
(*p).next=(*q).next;
free(p);
p=q->
next;
free(q);
p=q;
p->
next=q->
326、若fp是指向某文件的指针,且已读到此文件的末尾,则函数feof(fp)的返回值是______。
EOF
非零值
NULL
394、以下语句或语句组中,能正确进行字符串赋值的是______。
char*sp;
*sp="
right!
chars[10];
s="
*s="
char*sp="
44、以下程序的输出结果是______。
{char*s="
12134211"
intv[4]={0,0,0,0},k,i;
for(k=0;
s[k];
k++)
{switch(s[k])
{case'
1'
:
i=0;
case'
2'
i=1;
3'
i=2;
4'
i=3;
v[i]++;
for(k=0;
k<
4;
k++)printf("
%d"
v[k]);
4211
0008
4678
8888
14、若x和y都是int型变量,x=100、y=200,且有下面的程序片段
%d"
(x,y));
上面程序片段的输出结果是______。
200
100
100200
输入格式符不够,输出不确定的值
71、若变量已正确说明为float类型,要通过语句scanf("
%f%f%f"
&
a,&
b,&
c);
给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:
______。
102233
10.0,22.0,33.0
10.022.033.0
167、有以下程序
{inta[][3]={{1,2,3},{4,5,0}},(*pa)[3],i;
pa=a;
3;
if(i<
2)pa[1][i]=pa[1][i]-1;
elsepa[1][i]=1;
a[0][1]+a[1][1]+a[1][2]);
6
无确定值
215、已有定义:
inti,a[10],*p;
,则合法的赋值语句是______。
p=100;
p=a[5];
p=a[2]+2;
p=a+2;
124、以下选项中合法的用户标识符是______。
long
_2Test
3Dmax
A.dat
328、以下对结构体类型变量的定义中,不正确的是______。
①typedefstructaa
{
intn;
floatm;
}AA;
AAtd1;
②#defineAAstructaa
AA{
floatm;
}td1;
③struct
intn;
}aa;
structaatd1;
④struct
①
②
③
④
413、以下程序的输出结果是______。
main()
{intnum=0;
while(num<
=2)
{num++;
num);
A)B)C)D)
1111
222
A)
B)
C)
D)
231、请读程序:
#include<
intnum=0;
while(num<
=2){
num++;
上面程序的输出结果是______。
①1②1③1④1
222
33
4
562、有以下程序
inta=2;
intf(int*a)
{return(*a)++;
{ints=0;
{inta=5;
s+=f(&
a);
s);
10
9
349、已有定义:
chara[]="
xyz"
b[]={'
x'
y'
,以下叙述中正确的是______。
数组a和b的长度相同
a数组长度小于b数组长度
a数组长度大于b数组长度
上述说法都不对
387、当执行下面的程序时,如果输入ABC,则输出结果是______。
#include"
stdio.h"
string.h"
{charss[10]="
12345"
gets(ss);
strcat(ss,"
6789"
%s\n"
ss);
ABC6789
ABC67
12345ABC6
ABC456789
471、有以下程序
{chara1='
M'
a2='
m'
%c\n"
(a1,a2));
以下叙述中正确的是______。
程序输出大写字母M
程序输出小写字母m
格式说明符不足,编译出错
程序运行时产生出错信息
472、有以下程序
{charc1='
c2='
c1=getchar();
c2=getchar();
putchar(c1);
putchar(c2);
当运行时输入:
a<
回车>
后,以下叙述正确的是______。
变量c1被赋予字符a,c2被赋予回车符
程序将等待用户输入第2个字符
变量c1被赋予字符a,c2中仍是原有字符2
变量c1被赋予字符a,c2中将无确定值
284、以下程序的输出结果是______。
main(){
charstr[12]={'
s'
t'
r'
i'
n'
g'
strlen(str));
}
6
7
11
12
338、对于基类型相同的两个指针变量之间,不能进行的运算是______。
=
+
-
583、若有以下说明和语句
intc[4][5],(*p)[5];
p=c;
能够正确引用c数组元素的是______。
p+1
*(p+3)
*(p+1)+3
*(p[0]+2)
63、有如下程序
inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;
3;
i++)
for(j=0;
j<
=i;
j++)
s+=a[i][j]];
18
19
20
21
181、已定义以下函数
fun(int*p)
{return*p;
该函数的返回值是______。
形参p中存放的值
形参p所指存储单元中的值
形参p的地址值
197、有以下程序
{inti,n=0;
for(i=2;
5;
{do
{if(i%3)continue;
n++;
}while(!
i);
n=%d\n"
n);
程序执行后输出结果是______。
n=5
n=2
n=3
n=4
681、以下定义语句中正确的是______。
inta=b=0;
charA=65+1,b='
floata=1,*b=&
a,*c=&
b;
doublea=0.0;
b=1.1;
131、有一函数
┌1x>
y=┤0x=0
└-1x<
以下程序段中不能根据x的值正确计算出y的值的是______。
0)y=1;
elseif(x==0)y=0;
elsey=-1;
y=0;
elseif(x<
0)y=-1;
=0)if(x>
=0)if(x>
elsey=0;
719、有以下程序
{inti,j;
for(i=3;
i>
=1;
i--)
{for(j=1;
=2;
j++)printf("
i+j);
pri