C语言复习题学生Word文档格式.docx
《C语言复习题学生Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言复习题学生Word文档格式.docx(34页珍藏版)》请在冰豆网上搜索。
printf("
%d\n"
sum);
}
A、15B、14C、不确定D、0
5、当调用函数时,实参是一个数组名,则向函数传送的是(B)。
A、数组的长度B、数组的首地址
C、数组每一个元素的地址D、数组每个元素中的值
6、以下能正确定义数组并正确赋初值的语句是(D)。
A、intN=5,b[N][N];
B、inta[1][2]={{1},{3}};
C、intc[2][]={{1,2},{3,4}};
D、intd[3][2]={{1,2},{34}};
7、用C语言编写的代码程序(B)。
A、可立即执行B、是一个源程序
C、经过编译即可执行D、经过编译解释才能执行
8、以下程序
{intm=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("
x);
}
程序运行后的输出结果是(D)。
A、3B、5C、-1D、-2
9、有以下程序
{chara='
a'
b;
%c,"
++a);
%c\n"
b=a++);
程序运行后的输出结果是(A)。
A、b,bB、b,cC、a,bD、a,c
10、有以下程序
{intm=0256,n=256;
%o%o\n"
m,n);
程序运行后的输出结果是(C)。
A、02560400B、0256256C、256400D、400400
11、有以下程序
{inti;
for(i=0;
3;
i++)
switch(i)
{
case0:
printf("
%d"
i);
case2:
default:
}
A、022111B、021021C、000122D、012
12、若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<
10的是(D)。
A、abs(x-y)<
10B、x-y>
-10&
x-y<
10
C、@(x-y)<
-10||!
(y-x)>
10D、(x-y)*(x-y)<
100
13、以下程序
voidmain()
{inta=3,b=4,c=5,d=2;
if(a>
b)
if(b>
c)printf("
d+++1);
elseprintf("
++d+1);
d);
A、2B、3C、43D、44
14、以下程序
voidmain()
{inti=0,s=0;
for(;
;
)
if(i==3||i==5)continue;
if(i==6)break;
i++;
s+=i;
};
s);
}
A、10B、13C、21D、程序进入死循环
15、以下叙述中正确的是(A)。
A、C程序中注释部分可以出现在程序中任意合适的地方
B、花括号"
{"
和"
}"
只能作为函数体的定界符
C、构成C程序的基本单位是函数,所有函数名都可以由用户命名
D、分号是C语句之间的分隔符,不是语句的一部分
16、下列是关于结构类型的叙述;
不正确的叙述是(C)。
A、结构类型是构造类型,其分量(成员)个数是固定的、各分量类型允许不相同、各分量是有序的。
B、函数形参是结构类型,传递实参结构变量是将实参结构变量的所有成员拷贝到形参结构变量。
C、结构类型可作为函数形参,也可作为函数返回值类型。
D、结构类型不可作为数组元素的类型。
17、下列是关于函数的叙述;
不正确的叙述是(D)。
A、C程序由一个main主函数和零个或多个其他函数组成。
B、C程序可由一个源程序文件组成,也可由多个源程序文件组成。
C、主函数main必须在其他函数之前定义。
D、主main可调用其他函数,而其他函数不可调用主函数main。
其他函数可嵌套调用,也可递归调用。
18、不合法的字符串常量是(D)。
A、””B、”?
”C、”汉字”D、’AutoCAD’
19、不合法的标识符是(B)。
A、mdB、defaultC、cdD、copy
20、不正确数组的定义是(C)。
A、inta[5]={1,2,3};
B、int*parray[10]={NULL};
C、#defineM5D、structData
intn=5;
{intn;
floatx};
doublex[M*n]={0.0};
structDataa[10];
21、下列函数的返回值类型是(A)。
doublefun(floatx,intn)
{returnx+n;
A、doubleB、floatC、intD、不能确定
22、C语言无逻辑类型,但有逻辑值。
表示逻辑“真”的值是(D)。
A、0B、1C、2D、非0
23、设有定义:
inta=3,b=4,c=5;
表达式!
(a+b)+c-1&
b+c/2的值是(B)。
A、0B、1C、2D、6
24、设有定义:
inta[5]={1,2,3,4,5},*p=&
a[2];
下列正确的语句是(C)。
A、p[a[4]]=10;
B、a[5]=10;
C、*(p-1)=10;
D、a[a[0]-a[4]]=10;
25、设有定义:
floatx=50.5,*p1=&
x;
doubley=100.1,*p2=&
y;
下列不正确的赋值语句是(D)。
A、*p1=1000;
B、*p2=1000;
C、p1=p2=NULL;
D、p1=p2;
26、设有定义:
inta[]={1,2,3,4,5},*p=&
a[3];
表达式*--p的值是(B)。
A、2B、3C、4D、5
27、设有定义:
structNode
{intn,m;
doublex;
charch;
执行printf(”%d\n”,sizeof(structNode));
语句,其输出值是(B)。
A、输出语句错误B、13C、8D、16
13.下列是关于文件指针定义;
正确的定义是(C)。
A、file*fp;
B、File*fp;
C、FILE*pfile;
D、FILEpfile;
28、设有inti;
则表达式i=1,++i,++i||++i,i的值为(C)。
A、1B、2C、3D、4
29、设有inti;
则表达式(i=1,i=10)?
i++||++i:
++i的值为(A)。
A、1B、2C、3D、10
30、设有inta[]={10,11,12},*p=&
a[0];
则执行完*p++;
*p+=1;
后a[0],a[1],a[2]的值依次是(C)。
A、10,11,12B、11,12,12C、10,12,12D、11,11,12
31、设有inti,j,k;
则表达式i=1,j=2,k=3,i&
j&
k的值为(A)。
A、1B、2C、3D、0
32、设有说明ints[2]={0,1},*p=s;
则下列错误的C语句是(A)。
A、s+=1;
B、p+=1;
C、*p++;
D、(*P)++;
33、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是(C)。
A、c=b=a;
B、(a=c)‖(b=c);
C、(a=c)&
(b=c);
Da=c=b;
34、在C语言中,不正确的int类型的常数是(A)。
A、32768B、0C、037D、0xAF
35、以下程序的输出结果是(C)。
voidmain()
{inta=-1,b=1,k;
if((++a<
0)&
!
(b--<
=0))
%d%d\n"
,a,b);
,b,a);
A、-11B、01C、10D、00
36、在C语言类型中,int,char,short等类型的长度是(D)。
A、固定的B、由用户自己定义C、任意的D、与机器字长有关
37、设a=1,b=2,c=3,d=4,则表达式:
b?
a:
c<
d?
d的结果为(D)。
A、4B、3C、2D、1
38、下列说法错误的是(A)。
A、结构体变量可以被整体赋值.
B、可以取结构体变量的地址
C、可以取结构体变量成员的地址
D、结构体类型的成员可以定义成该结构体类型的指针类型
39、设有如下定义:
intx=l,y=-1;
,则语句:
,(x--&
++y));
的输出结果是(B)。
A、1B、0C、-1D、2
40、设有程序段:
t=6;
a=7;
b=8;
if(a=b)t=a;
这段程序执行后,t的结果是()。
A、6B、7C、8D、0
41、下列描述中不正确的是(C)。
A、字符型数组中可以存放字符串
B、可以对字符型数组进行整体输入、输出
C、可以对整型数组进行整体输入、输出
D、不能在赋值语句中通过赋值运算符"
="
对字符型数组进行整体赋值
42、若a为二维数组,它有m列,则a[i][j]在数组中的位置是(A)。
A、i*m+jB、j*m+iC、i*m+j-1D、i*m+j+1
43、下列语句中符合C语言语法的赋值语句是(D)。
A、a=7+b+c=a+7;
B、a=7+b++=a+7;
C、a=7+b,b++,a+7D、a=7+b,c=a+7;
44、若a为二维数组,则a[1][3]等价于(B)。
A、*((a+1)+3)B、*(a[1]+3)C、(*(a+1)+3)D、&
a[1]+3
45、下面程序段不是死循环的是(D)。
A、intj=100;
while
(1){j=j%100+1;
if(j>
100)break;
B、for(;
;
);
C、intk=0;
do{++k;
}while(k>
=0);
D、ints=36;
while(s);
--s;
46、下列表达式中,错误的是(C)。
A、2>
1?
a:
bB、i+++jC、4.0%2.0D、x*=y+8
47、a,b为整数且b!
=0,则表达式(a/b)*b+a%b的值为(A)的值.
A、a