C语言程序阅读题知识讲解.docx
《C语言程序阅读题知识讲解.docx》由会员分享,可在线阅读,更多相关《C语言程序阅读题知识讲解.docx(42页珍藏版)》请在冰豆网上搜索。
C语言程序阅读题知识讲解
C语言程序阅读题
13.
以下程序的输出结果是_B_____。
#include
main()
{
inta,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
A、6,1B、2,1C、6,0D、2,0
答案:
B
知识点:
赋值表达式
16.
有如下程序
main()
{
inta;charc=10;
floatf=100.0;doublex;
a=f/=c*=(x=6.5);
printf("%d%d%3.1f%3.1f\n",a,c,f,x);
}
程序运行后输出结果是_B_____。
A、16516.5
B、1651.56.5
C、1651.06.5
D、2651.56.5
答案:
B
知识点:
赋值表达式
24.若k是int型变量,且有下面的程序片段
k=-3
if(k<=0)printf("####")
elseprintf("&&&&");
上面程序片段的输出结果是少了一个;_____。
A、####B、&&&&C、####&&&&
D、有语法错误,无输出结果
答案:
D
知识点:
简单C语言程序的构成和格式
26.
有以下程序
main()
{
inta=0,b=0;
a=10;/*给a赋值*/
b=20;/*给b赋值*/
printf("a+b=%d\n",a+b);
}
程序运行后的输出结果是______。
A、a+b=10B、a+b=30C、30D、出错
答案:
B
知识点:
简单C语言程序的构成和格式
31.
设inta=12,则执行完语句a+=a-=a*a后,a的值是______。
A、552B、264C、144D、-264
答案:
D
知识点:
算术表达式
33.
若有定义:
inta=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是______。
A、1.4B、1C、2.0D、2强制转换
答案:
B
知识点:
算术表达式
35.
假定x和y为double型,表达式x=2,y=x+3/2的值是______。
A、3.500000B、3
C、2.000000D、3.000000
答案:
D
知识点:
算术表达式
36.
若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是______。
A、1B、2C、2.000000D、2.500000
答案:
C
知识点:
算术表达式
37.
若有以下程序段
intc1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是______。
A、0B、0.5C、1D、2
答案:
A
知识点:
算术表达式
38.
设有intx=11;则表达式(x++*1/3)的值是______。
?
?
A、3B、4C、11D、12
答案:
A
知识点:
算术表达式
39.
下列程序的输出结果是______。
main()
{
doubled=3.2;intx,y;
x=1.2;y=(x+3.8)/5.0;
printf("%d\n",d*y);int定义整数。
。
小数直接舍掉。
}
A、3B、3.2C、0D、3.07
答案:
C
知识点:
算术表达式
40.
请读程序片段:
inti=65536;
printf("%d\n",i);
上面程序片段的输出结果是____b__。
A、65536B、0
C、有语法错误,无输出结果D、-1
答案:
B
知识点:
整型数据
41.
若有以下定义和语句:
intu=010,v=0x10,w=10;
printf("%d,%d,%d\n",u,v,w);
则输出结果是:
______。
0放首位,代表八进制,
0x放首位,代表十六进制。
A、8,16,10B、10,10,10
C、8,8,10D、8,10,10
答案:
A
知识点:
整型数据
43.
以下程序的输出结果是______。
main()
{
intk=17;
printf("%d,%o,%x\n",k,k,k);
}
A、17,021,0x11B、17,17,17
C、17,0x11,021D、17,21,11
答案:
D
知识点:
整型数据
44.
下面程序的输出是______。
main()
{
unsigneda=32768;
printf("a=%d\n",a);
}
A、a=32768B、a=32767
C、a=-32768D、a=-1
答案:
C
知识点:
整型数据
48.
有以下程序
main()
{
intm=0256,n=256;
printf("%o%o\n",m,n);
}
程序运行后的输出结果是______。
A、02560400B、0256256
C、256400D、400400
答案:
C
知识点:
整型数据
49.
若执下面程序时从键盘上输入5,
main()
{
intx;
scanf("%d",&x);
if(x++>5)printf("%d\n",x);
elseprintf("%d\n",x--);
}
则输出是______。
A、7B、6C、5D、4
答案:
B
知识点:
自加、自减运算符和逗号运算符
50.
有以下程序
main()
{
chara1='M',a2='m';
printf("%c\n",(a1,a2));逗号最后的表达式是最后的值。
}
以下叙述中正确的是______。
A、程序输出大写字母M
B、程序输出小写字母m
C、格式说明符不足,编译出错
D、程序运行时产生出错信息
答案:
B
知识点:
自加、自减运算符和逗号运算符
51.
以下程序的输出结果是______。
main()
{
inta;
printf("%d\n",(a=3*5,a*4,a+5));
}
A、65B、20C、15D、10
答案:
B
知识点:
自加、自减运算符和逗号运算符
54.
有以下程序
main()
{
intx,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
程序运行后的输出结果是______。
A、2,3,3B、2,3,2C、2,3,1D、2,2,1
答案:
C
知识点:
自加、自减运算符和逗号运算符
55.
设有以下定义
inta=0;
doubleb=1.25;
charc='A';
#defined2
则下面语句中错误的是______。
A、a++;B、b++;C、c++;D、d++;
答案:
D
知识点:
自加、自减运算符和逗号运算符
56.
以下程序的输出结果是______。
main()
{
intx=10,y=10;
printf("%d%d\n",x--,--y);
}
A、1010B、99C、910D、109
答案:
D
知识点:
自加、自减运算符和逗号运算符
57.
若x和y都是int型变量,x=100、y=200,且有下面的程序片段
printf("%d",(x,y));
上面程序片段的输出结果是______。
A、200B、100C、100200
D、输则格式符不够,输出不确定的值
答案:
A
知识点:
自加、自减运算符和逗号运算符
58.
设有如下定义:
intx=10,y=3,z;
则语句
printf("%d\n",z=(x%y,x/y));
的输出结果是______。
A、1B、0C、4D、3
答案:
D
知识点:
自加、自减运算符和逗号运算符
59.
两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是______。
main()
{
intx;
scanf("%d",&x);
if(x++>5)
printf("%d",x);
else
printf("%d\n",x--);
}
A、7和5B、6和3C、7和4D、6和4
答案:
A
知识点:
自加、自减运算符和逗号运算符
60.
若t为double类型,表达式t=1,t+5,t++的值是______。
A、1B、6.0C、2.0D、1.0
答案:
D
知识点:
自加、自减运算符和逗号运算符
61.
以下程序的输出结果是______。
#include
main()
{
inti=10,j=10;
printf("%d,%d\n",++i,j--);
}
A、11,10B、9,10C、010,9D、10,9
答案:
A
知识点:
自加、自减运算符和逗号运算符
62.
有以下程序
main()
{
inty=10;
while(y--);
printf("y=%d\n",y);
}
程序执行后的输出结果是______。
A、y=0B、y=-1C、y=1
D、while构成无限循环
答案:
B
知识点:
自加、自减运算符和逗号运算符
64.
下面程序的输出是______。
fun3(intx)
{
staticinta=3;
a+=x;
return(a);
}
main()
{
intk=2,m=1,n;
n=fun3(k);
n=fun3(m);
printf("%d\n",n);
}
A、3B、4C、6D、9
答案:
C
知识点:
局部变量及其作用域和生存期
66.
有以下程序
intfun(intx[],intn)
{
staticintsum=0,i;
for(i=0;ireturnsum;
}
main()
{
inta[]={1,2,3,4,5},b[]={6,7,8,9,},s=0;
s=fun(a,5)+fun(b,4);
printf("%d\n",s);
}
程序执行后的输出结果是______。
A、45B、50C、60D、55
答案:
C
知识点:
局部变量及其作用域和生存期
67.
以下程序执行后sum的值是___初值未定义___。
main()
{
inti,sum;
for(i=1;i<6;i++)sum+=i;
printf("%d\n",sum);
}
A、15B、14C、不确定D、0
答案:
C
知识点:
局部变量及其作用域和生存期
68.
以下程序的输出结果是______。
main()
{
intk=4,m=1,p;
p=func(k,m);printf("%d,",p);
p=func(k,m);printf("%d\n",p);
}
func(inta,intb)
{
staticintm=0,i=2;
i+=m+1;m=i+a+b;
return(m);
}
A、8,17B、8,16C、8,20D、8,8
答案:
A
知识点:
局部变量及其作用域和生存期
70.
有以下程序
fun(intx,inty)
{
staticintm=0,i=2;
i+=m+1;
m=i+x+y;
returnm;
}
main()
{
intj=1,m=1,k;
k=fun(j,m);printf("%d,",k);
k=fun(j,m);printf("%d\n",k);
}
执行后的输出结果是______。
A、5,5B、5,11C、11,11D、11,5
答案:
B
知识点:
局部变量及其作用域和生存期
71.
以下程序的输出结果是______。
inta,b;
voidfun()
{
a=100;
b=200;
}
main()
{
inta=5,b=7;
fun();
printf("%d%d\n",a,b);
}
A、100200
B、57
C、200100
D、75
答案:
B
知识点:
全局变量及其作用域和生存期
72.
有如下程序
intfunc(inta,intb)
{return(a+b);}
main()
{
intx=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n",r);
}
该程序的输出结果是______。
A、12B、13C、14D、15
答案:
D
知识点:
调用函数和被调用函数之间的数据传递
73.
有以下程序
voidf(intv,intw)
{
intt;
t=v;v=w;w=t;
}
main()
{
intx=1,y=3,z=2;
if(x>y)f(x,y);
elseif(y>z)f(y,z);
elsef(x,z);
printf("%d,%d,%d\n",x,y,z);
}
执行后输出结果是______。
A、1,2,3B、3,1,2C、1,3,2D、2,3,1
答案:
C
知识点:
调用函数和被调用函数之间的数据传递
74.
有以下程序
voidf(intx,inty)
{
intt;
if(x}没有return回去不了?
?
main()
{
inta=4,b=3,c=5;
f(a,b);f(a,c);f(b,c);
printf("%d,%d,%d\n",a,b,c);
}
执行后输出结果是______。
A、3,4,5
B、5,3,4
C、5,4,3
D、4,3,5
答案:
D
知识点:
调用函数和被调用函数之间的数据传递
75.有以下程序
intfun1(doublea){returna*=a;}
intfun2(doublex,doubley)
{
doublea=0,b=0;
a=fun1(x);
b=fun1(y);
return(int)(a+b);
}
main()
{
doublew;
w=fun2(1.1,2.0);
}
程序执行后变量w中的值是______。
A、5.21B、5C、5.0D、0.0
答案:
C
知识点:
调用函数和被调用函数之间的数据传递
81.
当执行下面的程序时,如果输入ABC,则输出结果是______。
#include"stdio.h"
#include"string.h"
main()
{
charss[10]="12345";
gets(ss);
strcat(ss,"6789");
printf("%s\n",ss);
}
A、ABC6789B、ABC67
C、12345ABC6D、ABC456789
答案:
A
知识点:
函数的调用
82.
有如下程序
longfib(intn)
{
if(n>2)return(fib(n-1)+fib(n-2));
elsereturn
(2);
}
main()
{printf("%ld\n",fib(3));}
该程序的输出结果是______。
A、2B、4C、6D、8
答案:
B
知识点:
函数的调用
84.
有以下程序
charfun(charx,chary)
{
if(xreturny;
}
main()
{
inta='9',b='8',c='7';
printf("%c\n",fun(fun(a,b),fun(b,c)));
}
程序的执行结果是______。
A、函数调用出错B、8C、9D、7
答案:
D
知识点:
函数的调用
94.
有以下程序
intf(inta)
{returna%2;}
main()
{
ints[8]={1,3,5,2,4,6},i,d=0;
for(i=0;f(s[i]);i++)d+=s[i];
printf("%d\n",d);
}
程序运行后的输出结果是______。
A、9B、11C、19D、21
答案:
A
知识点:
函数的定义和返回值
103.
以下程序的输出结果是______。
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、18B、19C、20D、21
答案:
A
知识点:
二维数组的定义和二维数组元素的引用
104.
以下程序的输出结果是______。
main()
{inti,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf("%d,",x[i][2-i]);
}
A、1,5,9B、1,4,7C、3,5,7D、3.6.9
答案:
C
知识点:
二维数组的定义和二维数组元素的引用
105.
有以下程序
main()
{
inti,t[][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<3;i++)
printf("%d",t[2-i][i]);
}
判序执行后的输出结果是______。
A、753B、357C、369D、751
答案:
B
知识点:
二维数组的定义和二维数组元素的引用
108.
有以下程序
main()
{
intm[][3]={1,4,7,2,5,8,3,6,9};
inti,j,k=2;
for(i=0;i<3;i++)
{printf("%d",m[k][i]);}
}
执行后输出结果是______。
A、456B、258C、369D、789
答案:
C
知识点:
二维数组的定义和二维数组元素的引用
111.
以下程序的输出结果是______。
main()
{
inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);
}
A、0650B、1470C、5430D、输出值不定
答案:
A
知识点:
二维数组的定义和二维数组元素的引用
112.
定义如下变量和数组:
inti;
intx[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是______。
for(i=0;i<3;i++)printf("%d",x[i][2-i]);
A、159B、147C、357D、369
答案:
C
知识点:
二维数组的定义和二维数组元素的引用
知识点:
二维数组的定义和二维数组元素的引用
132.
有以下程序
voidsum(inta[])
{a[0]=a[-1]+a[1];}
main()
{inta[10]={1,2,3,4,5,6,7,8,9,10};
sum(&a[2]);
printf("%d\n",a[2]);
}
程序运行后输出结果是______。
A、6B、7C、5D、8
答案:
A
知识点:
函数之间对一维数组和数组元素的引用
138.
有以下程序
main()
{chars[]="abcde";
s+=2;
printf("%d\n",s[0]);
}
执行后的结果是______。
A、输出字符a的ASCII码
B、输出字符c的ASCII码
C、输出字符c
D、程序出错
答案:
D
知识点:
函数之间对一维数组和数组元素的引用
139.
请读程序:
#include
f(intb[],intn)
{inti,r;
r=1;
for(i=0;i<=n;i++)r=r*b[i];
returnr;
}
main()
{intx,a[]={2,3,4,5,6,7,8,9};
x=f(a,3);
printf("%d\n",x);
}
上面程序的输出结果是______。
A、720B、120C、24D、6
答案:
B
知识点:
一维数组的定义和一维数组元素的引用
145.
有如下程序
main()
{intn[5]={0,0,0},i,k=2;
for(i=0;in[i]=n[i]+1;
printf("%d\n",n[k]);
}
该程序的输出结果是______。
A、不确定的值B、2C、1D、0
答案:
D
知识点:
一维数组的定义和一维数组元素的引用
146.
以下程序的输出结果是______。
main()
{inti,a[10];
for(i=9;i>=0;i--)a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]);
}
A、258B、741C、852D、369
答案:
C
知识点:
一维数组的定义和一维数组元素的引用
174.
下面程序的输出是______。
main()
{intx=10,y=3;
printf("%d\n",y=x/y);
}
A、0B、1C、3D、不确定的值
答案:
C
知识点:
数据输出
175.
已知字母A的ASCII码为十进制的65,下面程序的输出是______。
main()
{
charch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
A、67,DB、B,CC、C,DD、不确定的值
答案:
A
知识点:
数据输出
176.
下列程序的运行结果是______。
#include
main()
{inta=2,c=5;
printf("a=%d,b=%d\n",a,c);
}
A、a=%2,b=%5B、a=2,b=5
C、a=d,b=dD、a=%d,b=5d
答案:
B
知识点:
数据输出
177.
以下程序的输出结果是______。
#include
main()
{inta=2,c=5;
printf("a=%%d,b=%%d\n",a,c);
}
A、a=%2,b=%5B、a=2,b=5
C、a=%%d,b=%%dD、a=%d,b=%d
答案:
D
知识点:
数据输出
178.
有以下程序
main()
{intx=102,y=012;
printf("%2d,%2d\n",x,y);
}
执行后输出结果是______。
A、10,01B、02,12
C、102,10D、02,10
答案:
C
知识点:
数据输出
179.
有以下程序
main()