C语言期末复习资料重要Word格式.docx
- 文档编号:21179747
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:45
- 大小:35.72KB
C语言期末复习资料重要Word格式.docx
《C语言期末复习资料重要Word格式.docx》由会员分享,可在线阅读,更多相关《C语言期末复习资料重要Word格式.docx(45页珍藏版)》请在冰豆网上搜索。
13.设所有变量均为int型,则表达式(a=2,b=5,b++,a+b)的值是
A.7
B.8
C.6
D.2
14.在C语言中,要求运算数必须是整型的运算符是:
A./
B.++
C.!
=
D.%
15.设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为
A.0-255
B.1-32767
C.0-65535
D.0-2147483647
16.下面不正确的字符串常量是:
A.'
abc'
B."
12'
12"
C."
0"
D."
"
17.表达式18/4*sqrt(4.0)/8值的数据类型是:
A.int
B.float
C.double
D.不确定
18.若有以下定义:
chara;
intb;
floatc;
doubled;
则表达式a*b+d-c值的类型为:
A.float
B.int
C.char
D.Double
19.不属于字符型常量的是
A'
B"
C.'
\n'
D.'
\x72'
20.在C语言中,合法的长整型常数是____________。
A.0L
B.4962710
C.0412765
D.0xa34b7fe
21.若有以下定义语句charc1=’b’,c2=’e’;
printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);
则输出结果是__________。
A.2,M
B.3,E
C.2,E
D.输出项与相应的格式控制不一致,输出结果不确定
22.设charch;
以下正确的赋值语句是:
A.ch='
123'
;
B.ch='
\xff'
C.ch='
\08'
D.ch="
\"
23.若t为double类型,表达式t=1,t+5,t++的值是
A.1
B.6.0
C.2.0
D.1.0
24.设整型变量m,n,a,b,c,d均为1,执行“(m=a>
b)&
&
(n=a>
b)”后m,n的值是
A.0,0
B.0,1
C.1,0
D.1,1
25.若a=1,b=2,c=3,d=4,则条件表达式a<
b?
a:
a<
d?
c:
d的值为1
B.2
C.3
D.4
26.设a=2,则执行b=a==!
a;
语句后,b的结果是0
A.0
B.1
C.2
D.3
27.设有以下语句,则c的二进制值是Achara=3,b=6,c;
c=a^b<
<
2;
A.00011011(<
的优先级高)
B.00010100
C.00011100
D.00011000
28.设x和y均为int型变量,则以下语句:
x+=y;
y=x-y;
x-=y;
的功能是D
A.把x和y按从大到小排列
B.把x和y按从小到大排列
C.无确定结果
D.交换x和y中的值
(二)填空题
1.C语言中的标识符只能由三种字符组成,它们是字母 、数字、下划线。
2.一个C语言程序有且仅有一个_main_函数。
3.结构化设计中的三种基本结构是顺序,分支,循环。
4.C语言程序的执行是从__main函数__开始执行的。
5.C语言源程序文件后缀是_c或cpp_,经编译后生成文件的后缀是_obj__。
经链接后生成文件的后缀是_exe__。
6.C语言源程序的语句分隔符是__;
__。
7.若a是int型变量,且a的初值为6,则执行下面表达式后a的值为-60。
a+=a-=a*a解:
a=a-36=-30a=a+(-30)
8.‘\72’(字符。
。
)在内存中占1个字节,”\72”(字符串。
)在内存中占2个字节。
9.若有以下定义语句:
inta=5;
printf(“%d\n”,a++);
则输出结果是___5__。
10.C语言中的基本数据类型分为整型、实型和字符型。
11.C语言的实型可分为float型和double型。
12.若有以下定义语句:
intu=010,v=0x10,w=10;
printf(“%d,%d,%d\n”,u,v,w);
则输出结果是_8,16,10_。
13.下面程序的输出是_k=11,k=13,k=b__。
main()
{intk=11;
printf("
k=%d,k=%o(八进制),k=%x(十六进制)\n"
k,k,k);
}
14.若有以下定义语句:
则输出结果是_____5_____。
15.设x为int型变量,执行以下语句,x=10;
x+=x-=x-x;
x的值为__20___。
16.若有定义inta=10,b=9,c=8;
接着顺序执行下列语句后,变量b的值为___3____。
c=(a-=b-5);
c=(a%11)+(b=3);
17.设有以下定义,并以赋予了确定的值:
charw;
intx;
floaty;
doublez;
则表达式w*x+z-y所求得值的数据类型为___double_____。
18.设x和y均为int型变量,且x=10和y=3则以下语句的输出结果是__10,2_______。
Printf(“%d,%d\n”,x++,--y);
19.下列程序的输出结果是__2,1___。
{inta=1,b=2;
a+=b;
b=a-b;
a-=b;
printf(“%d,%d\n”,a,b);
20.以下程序执行结果是:
2,1
main()
{inta,b,d=241;
a=d/100%9;
b=(-1)&
(-1);
printf("
%d,%d\n"
a,b);
21.以下程序执行结果是:
3.142,3.1416,3.142
{floatf=3.1415927;
%5f,%5.4f,%3.3f"
f,f,f);
22.以下程序输入123↙后的执行结果是:
a=1,b=2,c=3
{inta,c;
charb;
scanf("
%d%c%d"
&
a,&
b,&
c);
a=%d,b=%c,c=%d\n"
a,b,c);
23.以下程序输入123456后的执行结果是:
a=12,b=345
{inta,b;
scanf("
%2d%3d"
b);
a=%d,b=%d\n"
24.以下程序输入ABC后的执行结果是:
c=A
{charc;
%3c(有没有3都一样)"
c=%c\n"
c);
二、分支结构
1.选择合法的条件语句(设intx,a,b,c;
)()。
A.if(a=b)++x;
B.if(a=<
b)++x;
C.if(a<
>
D.if(a>
=b)++x;
2.执行下列程序,输入为1的输出结果是(A),输入为4的输出结果是(C),输入为3的输出结果是(D)。
{intk;
scanf("
%d"
k);
switch(k)
{case1:
%d\n"
k++);
case2:
break;
case3:
break;
case4:
case5:
default:
Full!
\n"
);
}}
A.1↙2
C.4↙5
D.3
1.下列程序运行后输出结果是__end___。
{
inta,b,c;
a=2;
b=3;
c=1;
if(a>
b)
c)
a);
else
b);
end\n"
2.以下程序执行结果是__d=1_____。
inta,b,c,d,x;
a=b=c=0;
d=1;
if(a)d=d-10;
elseif(!
if(!
c)x=6;
elsex=7;
d=%d\n"
d);
3.若从键盘输入m,下列程序执行结果是___M____。
Enteracharacter:
"
%c"
if('
a'
=c&
c<
='
z'
c=c-32;
%c\n"
}
4.若上题中,从键盘输入B,程序执行结果是___B____。
5.若从键盘输入7,10,1,3,则下列程序执行结果是a=7,b=10,c=1,d=3↙
13710。
main()
{inta,b,c,d,t;
%d,%d,%d,%d"
c,&
d);
\n\na=%d,b=%d,c=%d,d=%d\n"
a,b,c,d);
if(a>
{t=a;
a=b;
b=t;
a=c;
c=t;
d)
a=d;
d=t;
if(b>
{t=b;
b=c;
b=d;
if(c>
{t=c;
c=d;
\n%d%d%d%d\n"
}
6.以下程序的执行结果是__first↙third_。
{intx=1,y=0;
switch(x)
{case1:
switch(y)
{case0:
first\n"
break;
case1:
second\n"
}
case2:
third\n"
}}
7.执行以下程序,输入-10的结果是__x=0_,输入5的结果是_x=5_,输入10的结果是_x=10__,输入30的结果是__x=5_。
{inta,b;
floatx;
a);
if(a<
0)b=-1;
elseb=a/10;
switch(b)
{case-1:
x=0;
case0:
x=a;
x=10;
x=-0.5*a+20;
x=-2;
if(x!
=-2)printf("
x=%g\n"
x);
elseprintf("
error!
三、循环结构
1.若i,j已定义为int型,则以下程序段中内循环体的执行次数是(A)。
for(i=5;
i;
i--)(i;
相当于i>
0)
for(j=0;
j<
4;
j++){……}
A.20
B.24
C.25
D.30
2.若i,j已定义为int型,则以下for循环是(C)。
for(i=0,j=0;
(j!
=123)&
(i<
4);
i++);
A.无限循环
B.循环次数不定
C.执行4次
D.执行3次
3.对于for(表达式1;
;
表达式3)可以理解为(如果表达式2省略,即不判断循环条件,循环无终止地进行下去也就是认为表达式2始终为真,为真即为非0)。
A.for(表达式1;
0;
表达式3)
B.for(表达式1;
1;
C.for(表达式1;
表达式1;
D.for(表达式1;
表达式3;
3.执行下列程序段后,x值是(A),i值是(C)。
inti,x;
for(i=1,x=1;
i<
=20;
i++)
{if(x>
=10)
break;
if(x%2==1)
{
x+=5;
continue;
x-=3;
A.10
B.7
D.14
4.下列程序的执行结果是()。
#include<
{ints=0,k;
for(k=7;
k>
=0;
k--)
{switch(k)
{case1:
case4:
case7:
s++;
case6:
s+=2;
}}
s=%d\n"
,s);
A.s=4
B.s=7
C.s=3
D.s=5
5.下列程序段执行结果是输出(3)。
x=3;
do
%2d"
,x--);
}while(!
x);
B.3
C.321
D.210
1.C语言while和do…while循环的主要区别是前者先判后做,后者先做后判。
2.以下程序输出结果是1↙2↙3。
{intnum=0;
while(num<
=2)
{num++;
num);
}}
3.下列程序运行输出结果是1
22
333
4444
55555
666666
{inti,j,k;
for(i=1;
=6;
{for(j=1;
=20-2*i;
j++)
for(k=1;
k<
=i;
k++)
%4d"
i);
4.下列程序执行结果是237↙273。
{inti=2,j,k;
=9;
for(k=0;
if(i*j*k==42&
i+j+k==12)
%d%d%d\n"
i,j,k);
5.下列程序执行时,若从键盘输入124cmknp03↙,结果是d=5s=1a=5。
{charc;
intd,s,a;
d=s=a=0;
c=getchar();
while(c!
{if(c<
9'
c>
0'
d=d+1;
if(c=='
'
s=s+1;
if(c<
||c<
Z'
a=a+1;
d=%ds=%da=%d\n"
d,s,a);
6.下列程序执行结果是72。
{inti,j,k,s=0;
for(i=0;
3;
for(j=0;
4;
for(k=0;
2;
s=s+i+j+k;
7.下列程序执行结果是01↙24↙69↙1216↙1719↙2124↙2731↙3540↙4245↙4852↙5661↙6672(↙代表回车换行)。
inti,j,k,s=0;
j++){
k++){
%d"
);
8.下列程序执行结果是*
**
***。
{inti;
charj='
*'
switch(i)
%c\n"
j);
%c%c\n"
j,j);
%c%c%c\n"
j,j,j);
9.执行下列程序,若由键盘输入4,程序执行结果是47910。
{ints=0,i;
i);
{if(i==0)
{s=s+i;
%d\t"
s);
}while(--i);
四、数组
1.以下关于数组的描述正确的是()。
A.数组的大小是固定的,但可以有不同类型的数组元素
B.数组的大小是可变的,但所有数组元素的类型必须相同
C.数组的大小是固定的,所有数组元素的类型必须相同
D.数组的大小是可变的,可以有不同类型的数组元素
2.下面一维数组a正确定义是()。
A.inta(10);
B.intn=10,a[n];
C.intn;
scanf(‘%d”,&
n);
inta[n];
D.#defineSIZE10
inta[SIZE];
3.若定义inta[10];
则对a数组元素的正确引用是()。
A.a[10]
B.a[4.3]
C.a(5)
D.a[6-6](?
4.以下对一维数组进行正确初始化的语句是()。
A.inta[3]=(0,1}错;
B.inta[3]={}错;
C.inta[]=[0]错;
D.inta[3]={3*2看成是一个数,不能是给整体赋初值}
5.下列程序:
#defineN6
{chara[N];
inti=0;
for(;
N;
a[i]=getchar(),i++);
(千万注意有分号而不是嵌套循环)
for(i=0;
putchar(a[i]),i++);
运行时输入以下三行字符,每行输入都是在该行首列开始:
a↙
b↙
cdef↙
程序输出结果是()
A.abcdef
B.a↙b↙c↙d
C.a↙b↙cd(换行符即回车在putchar时也算一个字符)
D.a↙b↙cdef
6.运行下列程序的输出结果是()。
{inta=5;
floatx=67.846;
staticchard[10]="
abc"
%4d,%4.1f,%c"
a,x,d[2]);
A.□□□□5,□□67.8,□□c
B.□□□5,67.8,c
C.□□5,□□67.8,□□b
D.□□□5,67.8,b
7.若定义inta[3][2];
则printf(“%d”,a[1][0]);
语句输出的是第(3)个元素。
C.4
D.5
8.当输出含空格的字符串时,应使用(puts())函数。
A.printf()
B.puts()
C.putchar()
D.putc()
9.在执行charstr[10]=”ch\nina”;
strlen(st测试r)(测试字符串的实际长度,故’0’不包括在内。
但是’\n’是一个字符)的结果是()。
A.5
B.6
C.7
D.9
10.10.当接收用户输入的含空格的字符串时,应使用()函数。
A.scanf()
B.gets()
C.getchar()
D.getc()
1.C语言数组元素的下标必须是正整数、0或者整型表达式(!
)。
2.C语言数组元素的下标下限为0。
3.C语言的数组
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末 复习资料 重要