C复习资料1文档格式.docx
- 文档编号:21676127
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:41
- 大小:38.87KB
C复习资料1文档格式.docx
《C复习资料1文档格式.docx》由会员分享,可在线阅读,更多相关《C复习资料1文档格式.docx(41页珍藏版)》请在冰豆网上搜索。
11、下列变量名中哪个是不合法(C)。
A.Turbo_CB.vcC.intD._2ab
12、设变量已正确定义并赋值,以下正确的表达式是(B)。
A.b=3++B.x=2,++y
C.a=14%3.3D.x=y+3=2
13、以下定义语句中正确的是(D)。
A.inta=b=0;
B.charA=65+1,b='
b'
;
C.floata=1,*b=&
a,*c=&
b;
D.doublea=0.0,b=1.1;
14、以下选项中正确的定义语句是(C)。
A.doublea;
b;
B.doublea=b=7
C.doublea=7,b=7;
D.double,a,b;
15、以下不能正确表示代数式2ab/cd的C语言表达式是(D)。
A.2*a*b/c/dB.a*b/c/d*2
C.a/c/d*b*2D.2*a*b/c*d
16、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是(A)。
A.++x,y=x-- B.x+1=y
C.x=x+10=x+y D.double(x)/10
17、以下关于逻辑运算符两侧运算对象的叙述中正确的是(D)。
A.只能是整数0或1
B.只能是整数0或非0的整数
C.可以是结构体类型的数据
D.可是任意合法的表达式
18、若有定义intx,y;
并已正确给变量赋值,则以下选项中与表达式(x-y)?
(x++):
(y++)中的条件表达式(x-y)等价的是(C)。
A.(x-y>
0) B.(x-y<
0)
C.(x-y<
║x-y>
0) D.(x-y==0)
19、设有定义:
intk=0;
以下选项的四个表达式中与其他三个表达式的值不相同的是(A)。
A.k++
B.k+=1
C.++k
D.k+1
20、若以下选项中的变量已正确定义,则正确的赋值语句是(C)。
A.x1=26.8%3
B.1+2=x2
C.x3=0x12
D.x4=1+2=3;
21、执行以下程序段后,w的值为(C)。
intw=´
A´
x=14,y=15;
w=((x||y)&
&
(w<
´
a´
));
A.-1B.NULLC.1D.0
22、当变量c的值不为2、4、6时,值也为“真”的表达式是(B)。
A.(c==2)‖(c==4)‖(c==6)
B.(c>
=2&
c<
=6)‖(c!
=3)‖(c!
=5)
C.(c>
=6)&
!
(c%2)
D.(c>
(c%2!
=1)
23、
设有以下定义
int
a=0;
double
b=1.25;
char
c=’A’;
#define
d
2
则下面语句中错误的是(D)。
A.a++;
B.b++
C.c++;
D.d++;
24、若有以下函数首部
intfun(doublex[10],int*n)则下面针对此函数声母语句中正确的是(B)。
A.intfun(doublex,int*n);
B.intfun(double,int);
C.intfun(double*x,intn);
D.intfun(double*,int*);
25、若程序中定义了以下函数
double
myadd(double
a,double
b)
{
return
(a+b);
}
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是(A)。
A.double
a,b);
B.double
myadd(double,double);
C.double
b,double
a);
D.double
x,double
y);
26、若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<
10的是(C)。
A.abs(x-y)<
10
B.x-y>
-10&
x-y<
10
C.(x-y)<
-10||!
(y-x)>
D.(x-y)*(x-y)<
100
27、已知intx=10,y=20,z=30;
if(x>
y)z=x;
x=y;
y=z;
执行后x,y,z的值是(B)。
A.x=10,y=20,z=30B.x=20,y=30,z=30
C.x=20,y=30,z=10D.x=20,y=30,z=20
28、对for(表达式1;
;
表达式3)可理解为(B)。
A.for(表达式1;
0;
表达式3)
B.for(表达式1;
1;
C.for(表达式1;
表达式1;
D.for(表达式1;
表达式3;
29、以下叙述中正确的是(C)。
A.break语句只能用于switch语句体中
B.continue语句的作用是:
使程序的执行流程跳出包含它的所有循环
C.break语句只能用在循环体内和switch语句体内
D.在循环体内使用break语句和continue语句的作用相同
30、下列叙述中正确的是(D)。
A.break语句只能用于switch语句
B.在switch语句中必须使用default
C.break语句必须与switch语句中的case配对使用
D.在switch语句中,不一定使用break语句
31、在嵌套使用if语句时,C语言规定else总是(C)。
A.和之前与其具有相同缩进位置的if配对
B.和之前与其最近的if配对
C.和之前与其最近的且不带else的if配对
D.和之前的第一个if配对
32、若i为整型变量,则以下循环执行次数是(B)。
for(i=2;
i==0;
)printf("
%d"
i--);
A.无限次B.0次C.1次D.2次
33、以下能正确计算1×
2×
3×
...×
10的程序段是(C)。
A.do{i=1;
s=1;
B.do{i=1;
s=0;
s=s*i;
i++;
}while(i<
=10);
}while(i<
C.i=1;
D.i=1;
s=0;
do{s=s*i;
34、若有宏定义:
#definef(x)x*x,则表达式f(3+3)/f(3+3)的值为(B)。
A.1B.25C.3D.4
35、下面的函数调用语句中func函数的实参个数是(A)。
func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));
A.3B.4C.5D.8
36、以下叙述中错误的是(B)。
A.用户自定义的函数中可以没有return语句
B.用户自定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
C.用户自定义的函数中若没有return语句,则应当定义函数为void类型
D.函数的return语句中可以没有表达式
37、以下关于宏的叙述中正确的是(C)。
A.宏名必须用大写字母表示
B.宏定义必须位于源程序中所有语句之前
C.宏替换没有数据类型限制
D.宏调用比函数调用耗费时间
38、以下能正确定义一维数组的选项是(B)。
A.inta[5]={0,1,2,3,4,5};
B.chara[]={0,1,2,3,4,5};
C.chara={'
A'
'
B'
};
D.inta[5]="
0123"
39、若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是(D)。
A.#defineN10Inta[N]
B.#definen5Inta[2*n]
C.inta[5+5]
D.intn=10,a[n]
40、以下能正确定义二维数组的是(C)。
A.int
a[][3];
B.int
a[][3]=2{2*3};
C.int
a[2][3]={0};
D.int
a[2][3]={{1},{2},{3,4}};
41、若有以下定义语句:
intm[]={5,4,3,2,1},i=4;
则下面对m数组元素的引用中错误的是(C)。
A.m[i]B.m[2*2]C.m[m[0]]D.m[m[i]]
42、若有定义语句:
doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;
则错误引用x数组元素的是(B)。
A.*pB.x[5]C.*(p+1)D.*x
43、若有定义语句:
chars[10]=〞1234567\0\0〞;
则strlen(s)的值是(A)
A.7B.8C.9D.10
44、有说明inta[][3]={1,2,3,4,5,6,7,8,9,10};
则数组a的第一维的大小是(C)。
A.1B.3C.4D.不能确定
45、若有定义:
inta[2][3];
,以下选项中对a数组元素正确引用的是(D)。
A.a[2][!
1]B.a[2][3]
C.a[0][3]D.a[1>
2][!
1]
46、以下叙述中错误的是(D)。
A.在程序中凡是以“#”开始的语句行都是预处理命令行
B.预处理命令行的最后不能以分号表示结束
C.#defineMAX是合法的宏定义命令行
D.C程序对预处理命令行的处理是在程序执行的过程中进行的
47、设有定义语句int(*f)(int);
则以下叙述正确的是(B)。
A.f是基类型为int的指针变量
B.f是指向函数的指针变量,该函数具有一个int类型的形参
C.f是指向int类型一维数组的指针变量
D.f是函数名,该函数的返回值是基类型为int类型的地址
48、判断字符串s1是否大于字符串s2,应当使用(D)。
A.if(s1>
s2)B.if(strcmp(s1,s2))
C.if(strcmp(s2,s1)>
0)
D.if(strcmp(s1,s2)>
49、判断字符串a和b是否相等,应当使用(C)。
A.if(a==b)
B.if(a=b)
C.if(strcmp(a,b))
D.if(strcpy(a,b))
50、设已有定义:
floatx;
则以下对指针变量p进行定义且赋初值的语句中正确的是(D)。
A.float*p=1024;
B.int*p=(floatx);
C.floatp=&
x;
D.float*P=&
51、若已有说明float*p,m=3.14;
要让p指向m,则正确的赋值语句是(B)。
A.p=m;
B.p=&
m;
C.*p=m;
D.*p=&
52、若有定义:
int*p[4];
则标识符p(B)。
A.是一个指向整型变量的指针
B.是一个指针数组名
C.是一个指针,它指向一个含有四个元素的一维数组D.说明不合法
53、定义结构如下:
structstu
{longsno;
charname[10];
inta;
floatb;
则sizeof(structstu)的值为(B)。
A.4B.20C.22D.24
54、以下对结构变量stu1中成员age的非法引用是(B)。
structstudent
{intage;
intnum;
}stu1,*p;
p=&
stu1;
A.stu1.ageB.p.age
C.p->
ageD.(*p).age
55、在C语言中,只有在使用时才占用内存单元的变量,其存储类型是(A)。
A.auto和registerB.extern和registerC.auto和staticD.static和register
56、设有定义语句:
charc1=32,c2=32;
则以下表达式中值为零的是(A)。
A.c1^c2
B.c1&
c2
C.~c2D.c1|c2
57、C语言中可以处理的文件类型是(B)。
A.文本文件和数据文件
B.文本文件和二进制文件
C.数据文件和二进制文件
D.任何类型文件
58、若要以写的方式创建新打开文本文件,则在fopen函数中使用的打开方式是(A)。
A."
w"
rb"
C."
rb+"
D."
w+"
59、若有定义:
a=1,b=2,c=3;
则表达式
(a<
b?
b:
a)>
c?
c:
a)的值为(C)。
A.0B.1
C.2D.3
60、若有定义:
a,b;
则表达式(a=3,b=3,b+=a+=3)的值是(C)。
A.3B.6
C.9D.12
二、阅读程序题,写出运行结果。
1、main()
{inta=2;
if(a>
a-=2;
else
if(a==0)
a-=2;
a+=10;
printf("
%d\n"
a);
______0____。
2、main()
{intx=6,y=2;
5)
if(x>
printf("
x++);
x--);
x);
________6__。
3、#include<
stdio.h>
main()
{intx=1,y=2,z=3;
y)
if(y>
z)printf(〞%d〞,++z);
elseprintf(〞%d〞,++y);
printf(〞%d\n〞,x++);
________1___。
4、main()
{intx,y,z;
x=y=z=0;
++x&
++y||++z;
%d%d%d\n"
x,y,z);
______110___________。
5、main()
{intx=2;
switch(x==2)
{case1:
printf("
*"
);
break;
case2:
%"
}
______*___________。
6、有以下程序
#include<
main()
{intx=1,y=0,a=0,b=0;
switch(x)
switch(y)
{case0:
a++;
break;
case1:
b++;
}
case3:
printf(“a=%d,b=%d\n”,a,b);
}
_____a=2,b=1___________。
7、main()
{inti;
for(i=0;
i<
3;
i++)
switch(i)
{case0:
printf(“%d”,i++);
printf(“%d”,++i);
default:
printf(“%d”,i);
____022222_______。
8、main()
{intk=3,n=0;
do
{switch(k)
n+=1;
n+=2;
k--;
n=0;
k--;
%d"
n);
}while(k>
0&
n<
3);
______023______________。
10、 main()
{inti;
for(I=1;
I<
=40;
I++)
{if(I++%5=0)
if(++I%8=0)printf("
i)
}
printf("
\n"
)
}
______32____________。
11、main()
{inti=1,s=3;
while(s<
15)
{s+=i++;
if(s%7==0)
continue;
i);
__8______________。
12、#include<
{intx=8;
for(;
x>
0;
x--)
{if(x%3){printf(“%d,”,x--);
continue;
printf(“%d,”,--x);
8,5,4,2。
13、main()
{int
i,j;
for(i=1;
{
for(j=i;
j<
j++)
%d*%d=%d
"
i,j,i*j);
_1*1=11*2=22*2=4。
14、main()(没改)
{inti,j;
=3;
{for(j=1;
j++)
i+j);
}234
}345
_456_________。
15、main()
{
intaa[3][3]={{1,2,3},{1,2,3},{1,2,3}};
inti,k=0,s=0;
for(i=0;
{s+=aa[i][k];
++k;
s);
______6_。
16、fun(inta,intb)
{return(a<
a:
b);
{intx=5,y=7,z=6,r;
r=fun(z,fun(x,y));
r);
________5______。
17、intx;
voidplusone()
{x++;
{x=1;
plusone();
x=%d\n"
x=3。
18、intf()
{intsum=0;
staticintx=1;
returnsum+=x++;
f());
123。
19、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);
k);
k)
5,11。
20、#include<
intf(intx)
{inty;
if(x==0||x==1)return(3);
y=x*x-f(x-2);
returny;
{intz;
z=f(3);
printf(“%d\n”,z);
______6___________。
21、intfun(intx)
{if(x>
returnx+fun(x-1);
return1;
{printf("
fun(5));
_______15_____。
22、#include<
voidrecur(intx);
voidmain()
{recur(3);
voidrecur(intn)
{if(n<
=0)
return;
recur(n-1);
_______321123________。
24、#include<
intfun(inta,intb)
{if(b==0)returna;
elsereturn(fun(-a,-b));
{printf(〞%d\n〞,fun(4,2));
2。
25、main()
{inta[4]={1,2,3,4};
inti;
4;
a[i]+=i;
for(i=3;
i>
=0;
i--)
a[i]);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 复习资料