C语言期末考试选择题Word格式.docx
- 文档编号:19521181
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:85
- 大小:38.64KB
C语言期末考试选择题Word格式.docx
《C语言期末考试选择题Word格式.docx》由会员分享,可在线阅读,更多相关《C语言期末考试选择题Word格式.docx(85页珍藏版)》请在冰豆网上搜索。
-1
-2
第6题(2.0分)
有以下程序:
{ints=0,a=1,n;
&
n);
do{
s+=1;
a=a–2;
}while(a!
=n);
%d\n"
s);
若要使程序的输出值为2,则应该从键盘输入给n的值是().
-3
-5
第7题(2.0分)
执行以下程序后,输出的结果是().
{inty=10;
y––;
}while(––y);
y––);
8
第8题(2.0分)
以下循环体的执行次数是().
{inti,j;
for(i=0,j=1;
i<
=j+1;
i+=2,j––)printf("
i);
第9题(2.0分)
有以下程序段:
while(k=1)k++;
while循环执行的次数是().
无限次
有语法错误,不能执行
1次也不执行
执行1次
第10题(2.0分)
有以下程序
{intm,n,p;
m=%dn=%dp=%d"
m,&
n,&
p);
%d%d%d\n"
m,n,p);
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是().
m=123n=456p=789
m=123n=456p=789
m=123,n=456,p=789
123456789
第11题(2.0分)
设变量已正确定义,以下能正确计算f=n!
的程序段是
f=0;
for(i=1;
i<
=n;
i++)f*=i;
f=1;
n;
for(i=n;
i>
1;
=2;
i––)f*=i;
第12题(2.0分)
在下列程序中,没有构成死循环的程序段是().
inti=100;
inti=100;
while
(1)while
(1)永远为真
{i=i%100+1;
if(i>
100)break;
intk=1000;
do
{++k;
}while(k>
=10000);
for(;
;
);
无循环条件死循环
ints=36;
while(s);
--s;
s不为0时为while(s)真
第13题(2.0分)
有如下程序:
{intn=9;
while(n>
6)
{n––;
printf("
n);
该程序段的输出结果是().
987
876
8765
9876
第14题(2.0分)
以下程序的输出结果是().
{intx=10,y=10,i;
for(i=0;
x>
8;
y=++i)
%d%d"
x––,y);
10192
9876
10990
101091
第15题(2.0分)
#include<
{intn[5]={0,0,0},i,k=2;
k;
i++)
{printf("
n[k]);
该程序的输出结果是().
不确定的值
第16题(2.0分)
下列程序执行后的输出结果是().
{chararr[2][4];
strcpy(arr,"
you"
strcpy(arr[1],"
me"
arr[0][3]='
&
'
%s\n"
arr);
you&
me
you
err
第17题(2.0分)
{inti,x[3][3]={1,2,3,4,5,6,7,8,9};
3;
i++)printf("
%d,"
x[i][2–i]);
1,5,9,
1,4,7,
3,5,7,
3,6,9,
第18题(2.0分)
以下数组定义中不正确的是().
inta[2][3];
intb[][3]={0,1,2,3};
//前面能省,后面不能省
intc[100][100]={0};
intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
第19题(2.0分)
以下能正确定义数组并正确赋初值的语句是().
intN=5,b[N][N];
inta[1][2]={{1},{3}};
intc[2][]={{1,2},{3,4}};
intd[3][2]={{1,2},{3,4}};
第20题(2.0分)
inta=4;
intf(intn)
{
intt=0;
staticinta=5;
if(n%2){inta=6;
t+=a++;
}
else{inta=7;
returnt+a++;
main()
ints=a,i=0;
for(;
2;
i++)s+=f(i);
d\n"
程序运行后的输出结果是b
24
28
32
36
第21题(2.0分)
以下正确的函数定义形式为
doublefun(intx,inty)
doublefun(intx;
y)
inty)
doublefun(intx,y)
第22题(2.0分)
C语言规定,函数返回值的类型是由
return语句中的表达式类型所决定的
调用该函数时的主调函数类型所决定的
调用该函数时系统临时决定的
在定义该函数时所指定的函数类型所决定的
第23题(2.0分)
voidswap1(intc0[],intc1[])
{intt;
t=c0[0];
c0[0]=c1[0];
c1[0]=t;
voidswap2(int*c0,int*c1)
{intt;
t=*c0;
*c0=*c1;
*c1=t;
main()
{inta[2]={3,5},b[2]={3,5};
swap1(a,a+1);
swap2(&
b[0],&
b[1]);
%d%d%d%d\n"
a[0],a[1],b[0],b[1]);
}D
3553
5335
3535
5353
第24题(2.0分)
amovep(int*p,int(*a)[3],intn)
{inti,j;
for(i=0;
for(j=0;
j<
j++)
{*p=a[i][j];
p++;
{int*p,a[3][3]={{1,3,5},{2,4,6}};
p=(int*)malloc(100);
amovep(p,a,3);
%d%d\n"
p[2],p[5]);
free(p);
56
25
34
程序错误
第25题(2.0分)
有以下函数:
fun(char*a,char*b)
{while((*a!
='
\0'
)&
(*b!
(*a==*b))
{a++;
b++;
return(*a–*b);
该函数的功能是().
计算a和b所指字符串的长度之差
将b所指字符串复制到a所指字符串中
将b所指字符串连接到a所指字符串后面
比较a和b所指字符串的大小
第26题(2.0分)
fun(charp[][10])
{intn=0,i;
7;
if(p[i][0]=='
T'
)n++;
//判断每组的第一个字符是否为T
returnn;
{charstr[][10]={"
Mon"
"
Tue"
Wed"
Thu"
Fri"
Sat"
Sun"
};
fun(str));
程序执行后的输出结果是().
第27题(2.0分)
{charstr[][10]={"
China"
Beijing"
},*p=str;
%s\n"
p+10);
程序运行后的输出结果是().
China
Beijing
ng
ing
第28题(2.0分)
#definef(x)(x*x)
{inti1,i2;
i1=f(8)/f(4)i2=f(4+4)/f(2+2)
%d,%d\n"
i1,i2);
64,28
4,4
4,3
64,64
第29题(2.0分)
voidchange(intk[]){k[0]=k[5];
{intx[10]={1,2,3,4,5,6,7,8,9,10},n=0;
while(n<
=4){change(&
x[n]);
n++;
for(n=0;
n<
5;
n++)printf("
x[n]);
\n"
678910
13579
12345
62345
第30题(2.0分)
在以下程序中,能够通过调用函数fun(),使main()函数中的指针变量p指向一个合法的整型单元的是(C)
int*p;
fun(p);
…}
intfun(int*p)
{ints;
p=&
s;
{int*p;
fun(&
…}
intfun(int**p)
*p=&
stdlib.h>
…}
intfun(int**p)
{*p=(int*)malloc
(2);
}…
fun(p);
intfun(int*p)
{p=(int*)malloc(sizeof(int));
第二套
{intx,y,z;
x=y=1;
z=x++,y++,++y;
%d,%d,%d\n"
x,y,z);
2,3,3
2,3,2
2,3,1
2,2,1
已知inti,a;
执行语句i=(a=2*3,a*5),a+6;
后,变量i的值是().
6
30
已有定义:
charc;
程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是().
isupper(c)//判断字符c是否为大写英文字母
A'
<
=c<
Z'
=c&
c<
=('
z'
–32)&
('
a'
–32)<
=c
有如下程序段:
intn=0,p;
do{scanf("
n++;
}while(p!
=12345&
3);
此处do-while循环的结束条件是().
P的值不等于12345,并且n的值小于3
P的值等于12345,并且n的值大于或等于3
P的值不等于12345,或者n的值小于3
P的值等于12345,或者n的值大于或等于3
{inti,sum;
for(i=1;
=3;
sum++)sum+=i;
sum);
该程序的执行结果是().
死循环
{intk=5;
while(––k)printf("
%d"
k–=3);
执行后的输出结果是()
4
以下程序中,while循环的循环次数是()
{inti=0;
while(i<
10)
{if(i<
1)continue;
if(i==5)break;
i++;
死循环,不能确定次数
while
(1)
{inti,j,m=55;
for(j=3;
=i;
m=m%j;
m);
程序的运行结果是()
{inta,b;
for(a=1,b=1;
a<
=100;
a++)
{if(b>
=10)break;
if(b%3==1)
{b+=3;
continue;
a);
101
{inti,j,x=0;
{x++;
{if(j%2)continue;
x++;
//不论是否满足if条件,x++都要执行
x=%d\n"
x);
x=4
x=8
x=6
x=12
以下能正确定义一维数组的选项是().
intnum[];
#defineN100intnum[N];
intnum[0..100];
intN=100;
intnum[N];
以下对一维数组a的正确定义是().
inta(10)
intn=10,a[n];
intn;
scanf("
inta[n];
#defineSIZE10
inta[SIZE]
{inti,a[10];
for(i=9;
=0;
i––)a[i]=10–i;
%d%d%d"
a[2],a[5],a[8]);
258
741
852
369
若有定义:
以下选项中对a数组元素正确引用的是().
a[2][!
1]
a[2][3]
a[0][3]
a[1>
2][!
{inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
j++)s+=a[i][j];
18
19
20
21
下列程序的输出结果是
voidf1()
intx=0;
voidf2()
staticintx;
intk;
for(k=0;
k<
k++)
{f1();
f2();
1,1,1,1,1,1
1,1,1,2,1,3
1,1,2,2,3,3
1,1,2,1,3,1
voidfun(inta,intb,intc)
a=456;
b=567;
c=678;
intx=10,y=20,z=30;
fun(x,y,z);
%d,%d,%d"
运行后输出结果是
30,20,10
10,20,30
456,567,678
678,567,456
若有以下程序:
main(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末考试 选择题
![提示](https://static.bdocx.com/images/bang_tan.gif)