C语言程序设计综合练习题Word格式.docx
《C语言程序设计综合练习题Word格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计综合练习题Word格式.docx(27页珍藏版)》请在冰豆网上搜索。
![C语言程序设计综合练习题Word格式.docx](https://file1.bdocx.com/fileroot1/2022-12/7/f47bcbf2-2935-4dfb-ac56-35cdd85a3bd3/f47bcbf2-2935-4dfb-ac56-35cdd85a3bd31.gif)
(Y<
=Z)B)(X<
=Y)AND(Y<
=Z)C)(X<
=Y<
=Z)D)(X<
=Z)、A、1
18、程序片段:
在TC20中,inti=65536;
printf("
%d\n"
i);
的输出结果是____A)65536B)0C)有语法错误,无输出结果D)-1、B、1
19、当调用函数时,实参是一个数组名,则向函数传送的是____A)数组的长度B)数组的首地址C)数组每一个元素的地址D)数组每个元素中的值、B、1
20、对嵌套子程序调用说法正确的是____。
A、外层子程序可以调用所有的内层子程序B、内层了程序只可以调用包含本身的外层子程序,不可以隔层调用C、外分程序必须能完全套住内分程序D、以上说法均不正确、C、1
21、对于基类型相同的两个指针变量之间,不能进行的运算是A)<
B)=C)+D)-、C、1
22、合法的C语言中,合法的长整型常数是A)'
\t'
B)"
A"
C)65D)A、A、1
23、假定int类型变量占用两个字节,其有定义:
intx[10]={0,2,4};
,则数组x在内存中所占字节数是A)3B)6C)10D)20、D、1
24、假定有以下变量定义:
intk=7,x=12;
则能使值为3的表达式是Ax%=(k%=5)Bx%=(k-k%5)Cx%=k-k%5D(x%=k)-(k%=5)、D、1
25、请读程序片段(字符串内没有空格):
strlen("
ATS\n012\1\\"
));
的输出结果是A)11B)10C)9D)8、C、1
26、请选出合法的C语言赋值语句A)a=b=58B)i++;
C)a=58,b=58D)k=int(a+b);
27、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是A)-3B)9C)-12D)6、C、1
28、若int类型占两个字节,则以下语句输出为________。
intk=-1;
%d,u%\n"
k,k);
A、-1,-1B、-1,65536C、-1,32768D、-1,65535、D、1
29、若变量a是int类型,并执行了语句:
a=‘A'
+1、6;
,则正确的叙述是A)a的值是字符CB)a的值是浮点型C)不允许字符型和浮点型相加D)a的值是字符‘A’的ASCII值加上1。
30、若变量已正确说明为float类型,要通过语句scanf("
%f%f%f"
a,&
b,&
c);
给a赋于10、0,b赋予22、0,c赋予33、0,不正确的输入形式是:
A)10B)10、0,22、0,33、02233C)10、0D)102222、033、033、B、1
31、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为A)a<
>
0B)!
aC)a=0D)a、B、1
32、若已定义x和y为double类型,则表达式:
x=1,y=x+3/2的值是A)1B)2C)2、0D)2、5、C、1
33、若有定义:
inta=8,b=5,c;
,执行语句c=a/b+0、4;
后,c的值为A)1、4B)1C)2、0D)2、B、1
34、若有定义:
intx,y;
chara,b,c;
并有以下输入数据(此处<
CR>
代表换行符,/u代表空格):
1u2AuBuC则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是A)scanf("
x=%dy+%d"
y);
a=getchar();
b=getchar();
c=getchar();
%d%d"
%d%d%c%c%c,&
D)scanf("
%d%d%c%c%c%c%c%c:
c,&
35、若有定义和语句:
chars[10]:
s="
abcd"
;
printf("
%s\n"
s);
则结果是(以下u代表空格)A)输出abcdB)输出aC)输出abcduuuuuD)编译不通过、D、1
36、若有以下程序段,intc1=1,c2=2,c3;
c3=1、0/c2*c1;
则执行后,c3中的值是A)0B)0、5C)1D)2、A、1
37、若有以下定义:
chara;
intb;
floatc;
doubled;
则表达式a*b+d-c值的类型为A)floatB)intC)charD)double、D、1
38、若有以下定义和语句charc1='
b'
c2='
e'
%d,%c\n"
c2-c1,c2-'
a'
+"
);
则输出结果是:
A)2,MB)3,EC)2,ED)输出项与对应的格式控制不一致,输出结果不确定、B、1
39、若有以下函数调用语句:
fun(a+b,(x,y),fun(n+k,d,(a,b)));
在此函数调用语句中实参的个数是A)3B)4C)5D)6、A、1
40、若执行下面的程序时从键盘上输入3和4,则输出是____A)14B)16C)18D)20main(){inta,b,s;
scanf("
b);
s=a;
if(a、B、1
41、若执行下面的程序时从键盘上输入5,则输出是A)7B)6C)5D)4main(){intx;
%d"
x);
if(x++>
5)printf("
x);
elseprintf("
x--);
}、B、1
42、若执行以下程序时从键盘上输入9,则输出结果是A)11B)10C)9D)8main(){intn;
n);
if(n++、B、1
43、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>
b)&
(n=c>
d)运算后,n的值为____A)0B)1C)2D)3、C、1
44、设inta=12,则执行完语句a+=a-=a*a后,a的值是A)552B)264C)144D)-264、D、1
45、设intb=2;
表达式(b>
2)/(b>
1)的值是A)0B)2C)4D)8、A、1
46、设a,b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是________A)'
'
B)a<
=bC)a||b+c&
b-cD)!
((a<
B)&
!
C||1)、D、1<
p>
47、设x、y、z和k都是int型变量,则执行表达式:
x=(y=4,z=16,k=32)后,x的值为A4B16C32D52、C、1
48、设x=3,y=-4,z=6,写出表达式的结果。
!
(x>
y)+(y!
=z)||(x+y)&
(y-z)A、0B、1C、-1D、6、B、1
49、设x和y均为int型变量,则以下语句:
x+=y;
y=x-y;
x-=y;
的功能是A、把x和y按从大到小排列B、把x和y按从小到大排列C、无确定结果D、交换x和y中的值、D、1
50、设有intx=11;
则表达式(x++*1/3)的值是A)3B)4C)11D)12、A、1
51、设有如下的变量定义:
inti=8,k,a,b;
unsignedlongw=5;
doublex=1,42,y=5、2;
则以下符合C语言语法的表达式是A、a+=a-=(b=4)*(a=3)B、x%(-3);
C、a=a*3=2D、y=float(i)、A、1
52、设有如下定义:
char*aa[2]={"
"
ABCD"
};
则以下就法中正确的是A)aa数组成元素的值分别是"
和ABCD"
B)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符'
和'
A'
的地址、D、1
53、设有如下定义:
intx=10,y=3,z;
则语句printf("
z=(x%y,x/y));
的输出结果是A)1B)0C)4D)3、D、1
54、设有数组定义:
chararray[]="
China"
则数组array所占的空间为A)4个字节B)5个字节C)6个字节D)7个字节、C、1
55、设有说明语句:
chara='
\72'
则变量aA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法、A、1
56、设有以下语句:
intx=03,y=02,z=01;
那么语句printf("
x|y&
~Z)的执行结果( )。
(A)1(B)2(C)3(D)0、C、1
57、下列if语句中,不正确的是________。
A、if(x>
B、if(x==y)x+=y;
C、if(x!
=y)scanf("
x)elsex=1;
D、if(x、C、1
58、下列变量定义中合法的是A)short_a=1-、le-1;
B)doubleb=1+5e2、5;
C)longdo=0xfdaL;
D)float2_and=1-e-3;
、A、1
59、下列标识符中不合法的是_______A、s_nameB、_eC、foxD、3DS、D、1
60、下列不正确的转义字符是A)'
\\'
B)'
\"
C)'
074'
D)'
\0'
、C、1
61、请读程序:
main(){inta=1,b=2;
a=a+1,a+6,b+2);
}则上面程序的输出结果是____A、2B、3C、4D、1、A、1
62、请读程序:
inti=0,j=0,a=6;
if((++i>
0)||(++j>
0))a++;
i=%d,j=%d,a=d%\n"
i,j,a);
则上面程序的输出结果是____A、i=0,j=0,a=6B、i=1,j=0,a=7C、i=1,j=1,a=6D、i=1,j=1,a=7、B、1
63、下列程序段的输出结果为________?
inty=1;
while(y--);
y=%d\n"
y);
A、y=-1B、y=0C、死循环D、y=9、A、1
64、下列程序执行后的输出结果是A)3B)6C)9D)随机数main(){inta[3][3],*p,i;
p=&
a[0][0];
for(i=p;
i、B、1
65、下列程序执行后的输出结果是A)GB)HC)iD)Jmain(){intx='
f'
%c\n"
'
+(x-'
+1));
}、A、1
66、下列程序执行后的输出结果是(小数点后只写一位)A)666、06、0B)666、76、7C)666、06、7D)666、76、0main(){doubled;
floatf;
lingl;
inti;
i=f=1=d=20/3;
%d%ld%f%f\n"
i,l,f,d);
67、下列可作为C语言赋值语句的是A)x=3,y=5B)a=b=6C)i--;
D)y=int(x);
68、下列描述中不正确的是A)字符型数组中可以存放字符串B)可以对字符型数组进行整体输入、输出C)可以对整型数组进行整体输入、输出D)不能在赋值语句中通过赋值运算符"
="
对字符型数组进行整体赋值、C、1
69、下列说法中正确的是________。
A、在switch语句中一定要使用break语句B、在switch语句中不一定要使用break语句C、break语句是switch语句的一部分D、break只能用于switch语句中、B、1
70、下列运算符其优先级最高的是________。
A、||B、&
C、+D、=、C、1
71、下面的DO循环中,一共循环( )次。
M=5N=1DOWHiLEN<
=MN=N+1ENDDO(A)1(B)6(C)4(D)5、D、1
72、请读程序:
#includemain(){inta=1,b=4,c=2;
floatx=5、5,y=9、0,z;
z=(a+b)/c+sqrt((double)y)*1、2/c+x;
%f\n"
z);
}则上面程序的输出结果是____A、数据溢出B、9、3C、9、300000D、0、93、C、1
73、请读程序:
inta,b,c;
a=(b=(c=10)+5)-5;
a,b,c=d%,d%,d%"
a,b,c);
c=a=0;
b=(a+10);
a,b,c=%d,d%,d%"
则上面程序的输出结果是____A、a,b,c=0,10,10a,b,c=10,15,10B、a,b,c=10,15,10a,b,c=10,15,10C、a,b,c=10,15,10a,b,c=0,10,0D、a,b,c=10,15,10a,b,c=10,15,15、C、1
74、写出下列语句执行后a,b的值。
inta=6,b;
b=(++b)+(a++);
A、a=8,b=14B、a=7,b=8C、a=14,b=14D、a=8,b=8、A、1
75、请读程序:
m=1234、123;
printf=("
%-8、3f\n"
m);
%10、3f\n"
则上面程序的输出结果是____A、1234、123001234、123B、1234、1231234、123C、1234、1231234、12300D、1234、123001234、123、B、1
76、一个C语言的语句至少应包一个________A、{}B、逗号C、分号D、什么不要、C、1
77、一个完整的C源程序是________。
A、要由一个主函数(或)一个以上的非主函数构成B、由一个且仅由一个主函数和零个以上(含零)的非主函数构成C、要由一个主函数和一个以上的非主函数构成D、由一个且只有一个主函数或多个非主函数构成、B、1
78、已知整型变量a=13和b=6,则a&
b的值是________,a^b的值是________A、413B、411C、111D、413、B、1
79、以下for语句构成的循环执行了( )次。
#include#defineNi#defineMN+1#defineNUM(M+1)*M/2main(){inti,n=0;
for(i=1;
i<
=num;
i++){n++;
n);
}}(A)5(B)6(C)8(D)9、C、1
80、以下程序的输出结果是____#includemain(){printf("
NULL);
} (A)不确定的(B)0 (C)-1(D)1、B、1
81、在调用函数时,以下描述中正确的是________。
A、调用函数时,实参可以是表达式B、调用函数时,将为形参分配内存单元C、调用函数时,实参与形参的原型必须一致D、调用函数时,实参与形参可以用内存单元、D、1
82、有以下程序段intk=0while(k=1)k++;
while循环执行的次数是A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次、A、1
83、有以下函数charfun(char*p){returnp;
}该函数的返回值是A)无确切的值B)形参p中存放的地址值B)一个临时存储单元的地址D)形参p自身的地址值、B、1
84、语句printf("
,12&
012);
的输出结果是____A)12B)8C)6D)012、B、1
85、语句:
,(a=2)&
(b=-2);
的输出结果是____A)无输出B)结果不确定C)-1D)1、D、1
86、运算完下面的C语言程序段以后,a的值是______,b的值是______,c的值是________。
intx=10,y=9;
a=(--x==y++)?
--x:
++y;
b=x++;
c=y;
A、6913B、8711C、8910D、8710、C、1
87、在C语言程序中,注释部分从哪开始,到哪结束?
A、从(到)结束B、从REM开始无结束志标志C、无起始标志D、从/*开始,*/结束、D、1
88、在C语言提供的合法的关键字是A)swicthB)cherC)CaseD)default、D、1
89、在C语言中,不正确的int类型的常数是____A)32768B)0C)037D)0xAF、A、1
90、在C语言程序中,当while语句构成的循环中的条件为______时,结束循环。
A、0B、1C、trueD、非0、A、1
91、在C语言中,函数的隐含存储类别是A)autoB)staticC)externD)无存储类别、C、1
92、在C语言中,合法的长整型常数是A)OLB)4962710C)324562&
D)216D、A、1
93、在C语言中,合法的字符常量是A)'
\084'
\x43'
ab'
D)"
\0"
94、在C语言中,若对函数类型未加明显式说明,则函数的隐含类型是____类型A)voidB)doubleC)intD)char、C、1
95、在C语言中,形参的缺省存储类是A)autoB)registerC)staticD)extern、A、1
96、在C语言中,要求运算数必须是整型的运算符是A)%B)/C)<
D)!
97、在宏定义#definePI3、14159中,用宏名PI代替一个A)单精度数B)双精度数C)常量D)字符串、D、1
98、在C语言程序中,可以用做变量名的是____A)1e5B)a1C)intD)*p、B、1
99、在以下一组运算符中,优先级最高的运算符是A)<
=B)=C)%D)&
100、字符(char)型数据在微机内存中的存储形式是____A)反码B)补码C)EBCDIC码D)ASCII码、D、1
101、执行语句:
i++、C、2
102、指出下面正确的输入语句是()A:
scanf("
a=b=%d"
b)B:
a=%d,b=%f"
b)C:
%3c"
c)D:
%5、2f"
a)、B、2
103、执行下面的程序后,a的值为main(){inta,b;
for(a=1,b=1;
a<
=100;
a++){if(b>
=20)break;
if(b%3==1){b+=3;
continue;
}b-=5;
}}A)7B)8C)9D)10、B、2
104、在执行以下程序时,如果从键盘上输入:
ABCd