C语言期末考试题6Word格式.docx
《C语言期末考试题6Word格式.docx》由会员分享,可在线阅读,更多相关《C语言期末考试题6Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
![C语言期末考试题6Word格式.docx](https://file1.bdocx.com/fileroot1/2022-10/28/e043a3a8-9d5a-439a-970f-a9ffa35015e9/e043a3a8-9d5a-439a-970f-a9ffa35015e91.gif)
c<
=('
z'
–32)&
('
a'
–32)<
=c
第3题(2.0分)
有以下程序
#include<
stdio.h>
voidmain()
{inta,b,d=25;
a=d/10%9;
b=a&
(–1);
printf("
%d,%d\n"
a,b);
}
程序运行后的输出结果是(B).
6,1
2,1
6,0
2,0
第4题(2.0分)
已知inti=5,执行语句i+=++i后,i的值是(C).
10
11
12
A、B、C都不对
第5题(2.0分)
已知intj,i=1;
执行语句j=–i++;
后,j的值是(C).
1
2
-1
-2
第6题(2.0分)
运行以下程序后,如果从键盘上输入china#〈回车〉,则输出结果是(D).
{intv1=0,v2=0;
charch;
while((ch=getchar())!
#'
)
switch(ch)
{case'
:
case'
h'
o'
v2++;
default:
v1++;
}
v1,v2);
5,0
5,5
5,2
第7题(2.0分)
有如下程序段:
intn=0,p;
do{scanf("
%d"
&
p);
n++;
}while(p!
=12345&
n<
3);
此处do-while循环的结束条件是(D).
P的值不等于12345,并且n的值小于3
P的值等于12345,并且n的值大于或等于3
P的值不等于12345,或者n的值小于3
P的值等于12345,或者n的值大于或等于3
第8题(2.0分)
有如下程序:
{inti,sum;
for(i=1;
i<
=3;
sum++)sum+=i;
%d\n"
sum);
该程序的执行结果是(C).
6
3
死循环
第9题(2.0分)
在下列程序中,没有构成死循环的程序段是(B).
inti=100;
while
(1)
{i=i%100+1;
if(i>
100)break;
intk=1000;
do
{++k;
}while(k>
=10000);
for(;
;
);
ints=36;
while(s);
--s;
第10题(2.0分)
设有定义:
intk=0;
以下选项的四个表达式中与其他三个表达式的值不相同的是(A).
k++
k+=1
++k
k+1
第11题(2.0分)
以下叙述正确的是(D).
do-while语句构成的循环中不能用其他语句构成循环
do-while语句构成的循环中只能用break语句退出
用do-while语句构成的循环,在while后的表达式表示非0时结束循环
用do-while语句构成的循环,在while后的表达式表示0时结束循环
第12题(2.0分)
有以下程序:
{intk=4,n=0;
for(;
n<
k;
)
{n++;
if(n%3!
=0)continue;
k––;
k,n);
程序运行后的输出结果是(C)
1,1
2,2
3,3
4,4
第13题(2.0分)
要求计算s=1+1/2+1/3+…+1/10,程序为:
{intn;
floats;
s=1.0;
for(n=10;
n>
1;
n––)s=s+1/n;
%6.4f\n"
s);
程序运行后输出结果错误,导致错误结果的程序行是(C).
s=1.0;
for(n=10;
n––)
s=s+1/n;
printf("
s);
第14题(2.0分)
{inti,j;
4;
i++)
{for(j=i;
j<
j++)
%d*%d=%d"
i,j,i*j);
\n"
程序的运行结果是(B)
1*1=11*2=21*3=3
2*1=22*2=4
3*1=3
2*2=42*3=6
3*3=9
1*1=1
1*2=22*2=4
1*3=3
3*1=33*2=63*3=9
第15题(2.0分)
以下程序的输出结果是(B).
{intx[3][2]={0},i;
for(i=0;
3;
i++)scanf("
x[i]);
%3d%3d%3d\n"
x[0][0],x[0][1],x[1][0]);
输入:
246
200
204
240
第16题(2.0分)
下面程序的输出结果是(B).
{inti,k,a[10],p[3];
k=5;
10;
i++)a[i]=i;
i++)p[i]=a[i*(i+1)];
i++)k+=p[i]*2;
k);
20
21
22
23
第17题(2.0分)
若有定义语句inta[3][6];
按在内存中的存放顺序,a数组的第10个元素是(B).
a[0][4]
a[1][3]
a[0][3]
a[1][4]
第18题(2.0分)
以下对二维数组a进行不正确初始化的是(D).
inta[][3]={3,2,1,1,2,3};
inta[][3]={{3,2,1},{1,2,3}};
inta[2][3]={{3,2,1},{1,2,3}};
inta[][]={{3,2,1},{1,2,3}};
第19题(2.0分)
以下数组定义中不正确的是(D).
inta[2][3];
intb[][3]={0,1,2,3};
intc[100][100]={0};
intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
第20题(2.0分)
以下叙述不正确的是C
在C语言中,函数中的自动变量可以赋初值,每调用1次,赋初值1次
在C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容
在C语言中,外部变量的隐含类别是自动存储类别
在C语言中,函数形参可以说明为register变量
第21题(2.0分)
fun(intx,inty)
{
return(x+y);
main()
{
inta=1,b=2,c=3,sum;
sum=fun((a++,b++,a+b),c++);
执行后的输出结果是C
7
8
9
第22题(2.0分)
有如下函数调用语句:
func(rec1,rec2+rec3,(rec4,rec5));
该函数调用语句中,含有的实参个数是A
4
5
有语法错误
第23题(2.0分)
main(intargc,char*argv[])
{intn=0,i;
for(i=1;
i<
argc;
i++)n=n*10+*argv[i]–'
0'
n);
编译连接后生成可执行文件tt.exe,若运行时输入D
tt12345678
12345
12345678
136
第24题(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
A)
B)
C)
3553
5335
3535
5353
第25题(2.0分)
{char*p[]={"
3697"
"
2584"
};
inti,j;
longnum=0;
2;
{j=0;
while(p[i][j]!
\0'
{if((p[i][j]–'
)%2)num=10*num+p[i][j]–'
j+=2;
num);
C
35
37
39
3975
第26题(2.0分)
下列字符串的输出结果是(C).
char*S="
\"
\\ANSI.SYS\"
"
puts(S);
字符串含有非法字符,输出值不定
\ANSI.SYS"
\\ANSI.SYS"
第27题(2.0分)
#include<
{char