专升本C语言100题及答案Word格式.docx
《专升本C语言100题及答案Word格式.docx》由会员分享,可在线阅读,更多相关《专升本C语言100题及答案Word格式.docx(33页珍藏版)》请在冰点文库上搜索。
)
A.3B.4C.1D.0
15.
在C语言中,以下非法的表达式是()
1/23
A.0<
=x<
=100B.i=j==0
C.(char)(65+3)
D.
x+1=x+1
16.
在C语言中,以下非法的赋值语句是()
A.j++;
B.++(i+1);
C.x=j>
0;
D.k=i==j;
17.
表达式3.6-5/2+1.2+5%2的值是()
A.4.3B.4.8
C.3.3
3.8
18.
设有语句:
inta=3;
则执行了语句a+=a-=a*a;
A.3B.0
变量a的值是()
C.9
-12
19.
intx=10;
则执行了语句x+=x-=x-x;
A.10B.20
变量x的值是()
C.40
30
20.
以下程序的输出结果是()()()()()
(1)main()
{inti=10,j=1;
%d,%d\n”,i--,++j);
}
A.9,2B.10,2
C.9,1
10,1
⑵main()
{inta=12,b=12;
%d%d\n"
--a,++b);
A.1010B.1212
C.1110
1113
⑶main()
{intx=023;
--x);
A.17B.18
C.23
24
(4)main()
{intx=10,y=10;
x--,--y);
A.1010B.99
C.910
109
A.
⑸main()
{inti=010,j=10;
%d,%d\n”,++i,j--);
11,10B.9,10
C.010,9
10,9
21.
22.
{intx=100,y=200;
(x,y));
A.200
C.100200
{intx=10,y=3,z;
2/23
B.100
D)200100
z=(x%y,x/y));
A.1B.0C.4D.3
23.intk=0;
以下选项的四个表达式中与其他三个表达式的值不相同的是()
A.k++B.k+=1
C.++k
D.k+1
24.
25.
{intx,y,z;
x=y=1;
z=x++,y++,++y;
%d,%d,%d\n"
x,y,z);
A.2,3,3B.2,3,2
设x、y、t均为int型变量,则执行语句
C.2,3,1:
x=y=3;
t=++x||++y;
D.2,2,1
后,y的值为()
26.
A.1B.2
设intx=-1;
执行表iA式++x||++x||++x||++x,x
C.3
的值是()
D.4
27.
A.0B.1
以下程序的输出结果是
C.2
(1)main(){intk=11;
k=%d,k=%o,k=%x\n"
k,k,k);
}()
A.k=11,k=12,k=11B.k=11,k=13,k=13
C.k=11,k=013,k=0xbD.k=11,k=13,k=b
(2)main(){intk=17;
%d,%o,%x\n"
A.17,021,0x11B.17,17,17C.17,0x11,021D.17,21,11
28.运行时从键盘上输入9876543210<CR>(<CR表示回车),则该程序的输出结果是()
{inta;
floatb,c;
scanf("
%2d%3f%4f\n"
&
a,&
b,&
c);
a=%d,b=%f,c=%f\n"
a,b,c);
A.a=98,b=765,c=4321B.a=10,b=432,c=8765
C.a=98,b=765.000000,c=4321.000000D.a=98,b=765.0,c=4321.0
29.设变量均已正确定义,若要通过scanf("
%d%c%d%c"
a1,&
c1,&
a2,&
c2);
语句为变量
A.6B.8
C.
10
D
31.
#defineM(x,y,z)x*y+z
{inta=1,b=2,c=3;
M(a+b,b+c,c+a));
A.19B.17
15
32.
以下程序段的输出结果是()
#defineMIN(x,y)(x)<
(y)?
(x):
(y)main()
{inti=10,j=15,k;
k=10*MIN(i,j);
k);
A.15B.100
33.
设a=1,b=2,c=3,d=4,贝U表a<
b?
a:
c<
d?
d
的结果是()
A.4B.3
2
34.
以下程序段的输出结果是()main()
{intx=5;
if(x++>
5)printf("
x);
elseprintf("
x--);
A.4B.5
6
35.
有以下程序
{intn=4;
while(n--)
%d"
--n);
程序执行后的输出结果是()
A.20B.31
321
12
150
1
7
210
36.有以下程序
{inty=10;
while(y--);
y=%d\n"
y);
D.while构成无限循环
A.y=0B.y=-1
C.y=1
37.有以下程序
{inti;
for(i=0;
i<
3;
i++)
switch(i)
{case0:
i);
case1:
default:
38.以下叙述中正确的是()
A.构成C程序的基本单位是函数
B.可以在一个函数中定义另一个函数
C.main()函数必须放在其它函数之前
D.所有被调用函数一定要在调用之前进行定义
39.以下说法中正确的是()
A.C语言程序总是从第一个函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
40.以下程序的输出结果是()
intfun(intx)
{intp;
if(x==0||x==1)p=3;
elsep=x-fun(x-2);
returnp;
C.2D.0
{printf("
fun(7));
A.7B.3
41.以下数组定义中错误的是()
A.intx[][3]={0};
B.intx[2][3]={{1,2},{3,4},{5,6}};
C.intx[][3]={{1,2,3},{4,5,6}};
D.intx[2][3]={1,2,3,4,5,6};
42.以下能正确定义二维数组的是()
A.inta口[3];
C.inta[][3]={};
43.以下程序的输出结果是()
{inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
prlntf("
*(p+2));
A.3B.4C.1D.2
44.以下程序的输出结果是()
{inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;
*p+9);
A.0B.1C.10D.9
45.以下程序的输出结果是()
{inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&
a[3],*q=p+2;
*p+*q);
A.16B.10
46.设有chararray[尸"
China"
;
则数组array所占的空间字节数为()
47.在C语言中,对于以下定义正确的叙述为charx[]="
abcdefg"
chary[]={'
a'
'
b'
c'
d'
e'
3,'
g'
};
A.数组x和数组y等价
C.数组x的长度大于数组y的长度
48.以下不能正确进行字符串赋初值的语句是
A.charstr[5]="
good!
"
B.char*str="
49.以下程序的输出结果是()
{charstr[]="
ABCD"
*p=str;
*(p+4));
A.68B.'
D'
50.以下程序的输出结果是()
aeiou"
%c\n"
*p+4));
C.8D.6
C.6D.7
()
B.数组x和数组y的长度相同
D.数组x的长度大于数组y的长度
B.charstr[尸'
D.charstr[5]={'
o'
C.0D.'
0'
C.eD.f
A.oB.u
二、填空题
51.一个C源程序至少应该有一个函数。
52.以下程序运行后的输出结果是。
{intx=2006,y=2007;
53.
(1)以下程序运行后的输出结果是
{inta=10;
a,a,a);
(2)以下程序运行后的输出结果是
{inta,b,c;
a=25;
b=025;
c=Ox25;
%d%d%d\n"
(3)以下程序运行后的输出结果是
{inta=1,b=2;
a=a+b;
b=a-b;
a=a-b;
%d,%d\n"
a,b);
54.
(1)以下程序运行后的输出结果是
{charch='
B'
%c%d\n"
ch,ch);
ch+=32;
ch);
{charch;
ch='
H'
-'
A'
+'
(4)以下程序运行后的输出结果是。
{intc;
charch=97;
c=ch+1;
%c%c\n"
c,ch);
55.以下程序运行后的输出结果是。
{floatx=123.4567;
%f\n"
(int)(x*100+0.5)/100.0);
56.有程序如下,要求给i赋10,给j赋20,则应该从键盘输入
{inti,j;
i=%d,j=%d"
i,&
j);
i,j);
57.
(1)以下程序运行后的输出结果是。
a=(3*5,a+4);
a=%d\n"
a);
(2)以下程序运行后的输出结果是。
{inta=0,b=0,c=0;
c=(a+=a-=5),(a=b,b+3);
58.以下程序运行后的输出结果是。
{inta=5,b=4,c=3,x;
x=a>
b>
c;
59.以下程序运行后的输出结果是。
{inta=3,b=2;
b=a<
0&
a++>
60.以下程序运行后的输出结果是。
{inta,b,c=246;
a=c/100%9;
b=-1&
-1;
61.
(1)以下程序运行后的输出结果是
#defineMAX(x,y)(x)>
{inta=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
t);
#defineS(x)4*x*x+1main()
{inti=6,j=8;
S(i+j));
62.以下程序运行后的输出结果是。
{intx,a=1,b=2,c=3,d=4;
x=(a<
b)?
b;
x=(x<
c)?
x:
63.以下程序运行后的输出结果是。
{inta=3,b=4,c=5,t=99;
if(b<
a&
a<
c)t=a;
a=c;
c=t;
if(a<
c&
b<
c)t=b;
b=a;
a=t;
64.以下程序运行后的输出结果是。
{inti,t=0;
for(i=5;
i>
=0;
i--)
t*=i;
65.以下程序运行后的输出结果是。
{charc1,c2;
for(c1='
c2='
9'
c1<
c2;
c1++,c2--)
%c%c"
c1,c2);
);
66.输入1234567890〈回车〉,则其中while循环体将执行次。
#include<
stdio.h>
while((ch=getchar())=='
)printf("
#"
67.设有定义语句:
inta[][3]={{0},{1},{2});
则数组元素a[1][2]的值为。
68.在C语言中,有如下语句:
inta[]={10,20,30,40,50,60},*p;
p=a+3;
*p++);
则输出结果是。
69.以下程序运行后的输出结果是。
{inta[2][3]={1,2,3,4,5,6};
intm,*p;
p=&
a[0][0];
m=(*p)*(*(p+2))*(*(p+4));
m);
70.设有以下定义和语句:
inta[3][2]={10,20,30,40,50,60},(*p)[2];
p=a;
则*(*(p+2)+1)的值为。
71.在C语言中,有如下语句:
inta[3][2]={1,2,3,4,5,6,},*p[3];
p[0]=a[1];
则*(p[0]+1)所代表的数组元素是。
72.以下程序运行后的输出结果是。
{chars[]="
abcdef"
s[3]='
\0'
%s\n"
s);
73.以下程序运行后的输出结果是。
{chars[尸"
*p;
for(p=s;
p<
s+4;
p+=2)
%s"
p);
74.以下程序运行后的输出结果是。
*p=s;
75.
(1)以下程序运行后的输出结果是
{charstr[尸"
\tab\n\012\\\"
strlen(str));
%d'
n"
strlen("
IBM\n012\1\\"
));
\t\"
\065\xff\n"
(4)以下程序运行后的输出结果是
stop\0\n\"
strlen(s))}
71.
(1)以下程序运行后的输出结果是。
Beijing"
strlen(strcpy(str,"
)));
{char*s1="
12345"
*s2="
1234"
strlen(strcat(s1,s2)));
{chara[]={'
1'
2'
3'
4'
sizeof(a),strlen(a));
{charch[3][5]={"
AAAA"
"
BBB"
CC"
%s\"
ch[1]);
{charstr口[20]={"
},*p=str;
p+20);
75.在C语言中,有如下语句:
structstd
inta[2];
floatt;
doublef
}std1;
则结构体变量std1占用内存的字节数为。
76.在C语言中,有如下语句:
structdog
{charch[10];
inti;
int*p;
doublek;
}dogl;
则结构体变量dogl占用内存的字节数为。
77.在C语言中,有如下语句:
structcat
{inta[10];
charch;
floatf;
double*p;
}cat1;
则结构体变量cat1占用内存的字节数为。
78.有以下结构体说明,请填空,以完成对结构体数组t定义:
structSTR
{chara;
intb;
floatc;
doubled;
t[20];
三、多选题
79.在C语言中,以下合法的变量名是()
A.registerB._10days
C.my_bookD.us$
E.count
80.在C语言中,以下合法的实型常量是()
A.1.2E+0.5B.3.14159E
C..5E-3D.E15
E.3.E+2
81
B.b=float(a)
C.c=15.0%3
.在C语言中,变量已正确定义并赋值,下面正确的表达式为()
A.a=b+1
C.a=a+7=c+3
E.a=b+c,a++
82.
在C语言中,以下合法的字符常量是()
ab'
A."
\x43'
\084'
E.'
83.
在C语言中,以下合法的常量是()
A.0386
B.
0Xff
C.1.2e0.5
\17'
84.
E."
\0"
在C语言中,以下错误的数组定义是()
A.inta[尸{1,2,3};
B.ints[];
C.intn=10,t[n];
char*q[3];
E.charstr[]={1,2,3};
四、程序填空题
85.以下程序的功能是计算:
1-2+3-4……+99-100
{inti=1,j=1,s=0;
while(){s+=j
i++;
Jjprintf("
s=%d\n"
86.输入20个整数到一维数组,统计正整数的个数及其和main()
{inta[20],i,sum,count;
sum=count=jfor(i=0;
20;
i++)scanf("
%d”,&
a[i]);
i++)if(J
{count++;
_j_}
count=%d,sum=%d\n"
count,sum);
87.输入10个整数到一维数组,输出其中最大数和最小数main()
{inta[10],i,max,min;
10;
max=min=;
for(i=1;
i++)if(a[i]>
max);
elseif()min=a[i];
max,min);
88.输入一个字符串,将其倒序后输出
charst[60],ch;
st);
for(i=0,j=;
i++,j--)
{ch=st[i];
5
st[j]=