printf("%d\n",n[k]);
}
该程序的输出结果是______。
A:
不确定的值
B:
2
C:
1
D:
0
答案:
D
98、以下程序的输出结果是______。
structHAR
{intx,y;structHAR*p;}h[2];
main()
{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;
printf("%d%d\n",(h[0].p)->x,(h[1].p)->y);
}
A:
12
B:
23
C:
14
D:
32
答案:
D
448、以下程序段的输出结果是______。
inta=1234;
printf("%2d\n",a);
A:
12
B:
34
C:
1234
D:
提示出错、无结果
答案:
C
260、设有条件表达式:
(EXP)?
i++:
j--,则以下表达式中与(EXP)完全等价的是______。
A:
(EXP==0)
B:
(EXP!
=0)
C:
(EXP==1)
D:
(EXP!
=1)
答案:
B
557、设有定义:
intn=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是______。
A:
p=1;
B:
*q=2;
C:
q=p;
D:
*p=5;
答案:
D
51、有如下程序
main()
{intx=1,a=0,b=0;
switch(x){
case0:
b++;
case1:
a++;
case2:
a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
该程序的输出结果是______。
A:
a=2,b=1
B:
a=1,b=1
C:
a=1,b=0
D:
a=2,b=2
答案:
A
663、设变量x和y均已正确定义并赋值。
以下if语句中,在编译时将产生错误信息的是______。
A:
if(x++);
B:
if(x>y&&y!
=0);
C:
if(x>0)x--
elsey++;
D:
if(y<0){;}
elsex++;
答案:
C
190、设有定义:
floata=2,b=4,h=3;,以下C语言表达式中与代数式1/2(a+b)h计算结果不相符的是______。
A:
(a+b)*h/2
B:
(1/2)*(a+b)*h
C:
(a+b)*h*1/2
D:
h/2*(a+b)
答案:
B
201、有以下程序
structSTU{
charname[10];
intnum;
};
voidf1(structSTUc)
{structSTUb={"LiSiGuo",2042};
c=b;
}
voidf2(structSTU*c)
{structSTUb={"SunDan",2044};
*c=b;
}
main()
{structSTUa={"YangSan",2041},b={"WangYin",2043};
f1(a);f2(&b);
printf("%d%d\n",a.num,b.num);
}
执行后输出结果是______。
A:
20412044
B:
20412043
C:
20422044
D:
20422043
答案:
A
509、有以下程序
#include
structSTU
{charname[10];
intnum;
};
voidf(char*name,intnum)
{structSTUs[2]={{"SunDan",20044},{"Penghua",20045}};
num=s[0].num;
strcpy(name,s[0].name);
}
main()
{structSTUs[2]={{"YangSan",20041},{"LiSiGao",20042}},*p;
p=&s[1];f(p->name,p->num);
printf("%s%d\n",p->name,p->num);
}
程序运行后的输出结果是______。
A:
SunDan20042
B:
SunDan20044
C:
LiSiGuo20042
D:
YangSan20041
答案:
A
294、不能把字符串:
Hello!
赋给数组b的语句是______。
A:
charb[10]={'H','e','l','l','0','!
'};
B:
charb[10]={'h','e','l','l','0','!
'};
C:
charb[10];strcpy(b,"Hello!
");
D:
charb[10]="Hello!
";
答案:
B
730、假定已建立以下链表结构,且指针p和q已指向如图所示的结点:
则以下选项中可将q所指结点从链表中删除并释放该结点的语句组是______。
A:
(*p).next=(*q).next;free(p);
B:
p=q->next;free(q);
C:
p=q;free(q);
D:
p->next=q->next;free(q);
答案:
D
326、若fp是指向某文件的指针,且已读到此文件的末尾,则函数feof(fp)的返回值是______。
A:
EOF
B:
0
C:
非零值
D:
NULL
答案:
C
394、以下语句或语句组中,能正确进行字符串赋值的是______。
A:
char*sp;*sp="right!
";
B:
chars[10];s="right!
";
C:
chars[10];*s="right!
";
D:
char*sp="right!
";
答案:
D
44、以下程序的输出结果是______。
main()
{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;
case'3':
i=2;
case'4':
i=3;
}
v[i]++;
}
for(k=0;k<4;k++)printf("%d",v[k]);
}
A:
4211
B:
0008
C:
4678
D:
8888
答案:
B
14、若x和y都是int型变量,x=100、y=200,且有下面的程序片段
printf("%d",(x,y));
上面程序片段的输出结果是______。
A:
200
B:
100
C:
100200
D:
输入格式符不够,输出不确定的值
答案:
A
71、若变量已正确说明为float类型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:
______。
A:
102233
B:
10.0,22.0,33.0
C:
10.022.033.0
D:
102233
答案:
B
167、有以下程序
main()
{inta[][3]={{1,2,3},{4,5,0}},(*pa)[3],i;
pa=a;
for(i=0;i<3;i++)
if(i<2)pa[1][i]=pa[1][i]-1;
elsepa[1][i]=1;
printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}
执行后输出结果是______。
A:
7
B:
6
C:
8
D:
无确定值
答案:
A
215、已有定义:
inti,a[10],*p;,则合法的赋值语句是______。
A:
p=100;
B:
p=a[5];
C:
p=a[2]+2;
D:
p=a+2;
答案:
D
124、以下选项中合法的用户标识符是______。
A:
long
B:
_2Test
C:
3Dmax
D:
A.dat
答案:
B
328、以下对结构体类型变量的定义中,不正确的是______。
①typedefstructaa
{
intn;
floatm;
}AA;
AAtd1;
②#defineAAstructaa
AA{
intn;
floatm;
}td1;
③struct
{
intn;
floatm;
}aa;
structaatd1;
④struct
{
intn;
floatm;
}td1;
A:
①
B:
②
C:
③
D:
④
答案:
C
413、以下程序的输出结果是______。
main()
{intnum=0;
while(num<=2)
{num++;printf("%d\n",num);}
}
A)B)C)D)
1111
222
33
4
A:
A)
B:
B)
C:
C)
D:
D)
答案:
B
231、请读程序:
#include
main()
{
intnum=0;
while(num<=2){
num++;printf("%d\n",num);
}
}
上面程序的输出结果是______。
①1②1③1④1
222
33
4
A:
①
B:
②
C:
③
D:
④
答案:
C
562、有以下程序
inta=2;
intf(int*a)
{return(*a)++;}
main()
{ints=0;
{inta=5;
s+=f(&a);
}
s+=f(&a);
printf("%d\n",s);
}
执行后输出结果是______。
A:
10
B:
9
C:
7
D:
8
答案:
C
349、已有定义:
chara[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是______。
A:
数组a和b的长度相同
B:
a数组长度小于b数组长度
C:
a数组长度大于b数组长度
D:
上述说法都不对
答案:
C
387、当执行下面的程序时,如果输入ABC,则输出结果是______。
#include"stdio.h"
#include"string.h"
main()
{charss[10]="12345";
gets(ss);strcat(ss,"6789");
printf("%s\n",ss);
}
A:
ABC6789
B:
ABC67
C:
12345ABC6
D:
ABC456789
答案:
A
471、有以下程序
main()
{chara1='M',a2='m';
printf("%c\n",(a1,a2));
}
以下叙述中正确的是______。
A:
程序输出大写字母M
B:
程序输出小写字母m
C:
格式说明符不足,编译出错
D:
程序运行时产生出错信息
答案:
B
472、有以下程序
#include
main()
{charc1='1',c2='2';
c1=getchar();c2=getchar();putchar(c1);putchar(c2);
}
当运行时输入:
a<回车>后,以下叙述正确的是______。
A:
变量c1被赋予字符a,c2被赋予回车符
B:
程序将等待用户输入第2个字符
C:
变量c1被赋予字符a,c2中仍是原有字符2
D:
变量c1被赋予字符a,c2中将无确定值
答案:
A
284、以下程序的输出结果是______。
#include
#include
main(){
charstr[12]={'s','t','r','i','n','g'};
printf("%d\n",strlen(str));
}
A:
6
B:
7
C:
11
D:
12
答案:
A
338、对于基类型相同的两个指针变量之间,不能进行的运算是______。
A:
<
B:
=
C:
+
D:
-
答案:
C
583、若有以下说明和语句
intc[4][5],(*p)[5];
p=c;
能够正确引用c数组元素的是______。
A:
p+1
B:
*(p+3)
C:
*(p+1)+3
D:
*(p[0]+2)
答案:
D
63、有如下程序
main()
{
inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)
s+=a[i][j]];
printf("%d\n",s);
}
该程序的输出结果是______。
A:
18
B:
19
C:
20
D:
21
答案:
A
181、已定义以下函数
fun(int*p)
{return*p;}
该函数的返回值是______。
A:
不确定的值
B:
形参p中存放的值
C:
形参p所指存储单元中的值
D:
形参p的地址值
答案:
C
197、有以下程序
main()
{inti,n=0;
for(i=2;i<5;i++)
{do
{if(i%3)continue;
n++;
}while(!
i);
n++;
}
printf("n=%d\n",n);
}
程序执行后输出结果是______。
A:
n=5
B:
n=2
C:
n=3
D:
n=4
答案:
D
681、以下定义语句中正确的是______。
A:
inta=b=0;
B:
charA=65+1,b='b';
C:
floata=1,*b=&a,*c=&b;
D:
doublea=0.0;b=1.1;
答案:
B
131、有一函数
┌1x>0
y=┤0x=0
└-1x<0
以下程序段中不能根据x的值正确计算出y的值的是______。
A:
if(x>0)y=1;elseif(x==0)y=0;elsey=-1;
B:
y=0;if(x>0)y=1;elseif(x<0)y=-1;
C:
y=0;if(x>=0)if(x>0)y=1;elsey=-1;
D:
if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;
答案:
C
719、有以下程序
#include
main()
{inti,j;
for(i=3;i>=1;i--)
{for(j=1;j<=2;j++)printf("%d",i+j);
printf("\n");
}
}
程序的运行结果是___