C程序设计专项练习题Word下载.docx
- 文档编号:19442995
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:45
- 大小:45.95KB
C程序设计专项练习题Word下载.docx
《C程序设计专项练习题Word下载.docx》由会员分享,可在线阅读,更多相关《C程序设计专项练习题Word下载.docx(45页珍藏版)》请在冰豆网上搜索。
struau_to_autosizeof3idfilem_i_n
-mincall..menuhelloABCSIN90n*mx.y
x1234untilcos2x12341234hellos+3s_3
1-22.为什么可以称C为"
中级语言"
?
二、数据类型与运算规则
一、单选题
2-1.C语言中字符型(char)数据在内存中的存储形式是______。
A.原码 B.补码 C.反码 D.ASCII码
2-2.运算符有优先级,在C语言中关于运算符优先级的正确叙述是______。
A.逻辑运算符高于算术运算符,算术运算符高于关系运算符
B.算术运算符高于关系运算符,关系运算符高于逻辑运算符
C.算术运算符高于逻辑运算符,逻辑运算符高于关系运算符
D.关系运算符高于逻辑运算符,逻辑运算符高于算术运算符
2-3.C语言并不是非常严格的语言,在以下关于C语言的不严格的叙述中,错误的说法是______。
A.任何不同数据类型都不可以同用
B.有些不同类型的变量可以在一个表达式中运算
C.在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D.同一个运算符号在不同的场合可以有不同的含义
2-4.以下选项中属于C语言的数据类型是______。
A.复数型 B.逻辑型 C.双精度型 D.集合型
2-5在C语言中,int、char和short三种类型数据所占用的内存______。
A.均为2个字节 B.由用户自己定义
C.由所用机器的机器字长决定 D.是任意的
2-6.下列常数中不能作为C的常量的是______。
A.0xA5 B.2.5e-2 C.3e2 D.0582
2-7.设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是______。
A.0至255 B.0至65535 C.-256至255 D.-32768至32767
2-8.在C语言中,数字029是一个______。
A.八进制数 B.十六进制数 C.十进制数 D.非法数
2-9.下列可以正确表示字符型常数的是______。
A."
a"
B.'
\t'
C."
\n"
D.297
2-10.以下错误的转义字符是______。
A.'
\\'
\'
'
C.'
\81'
D.'
\0'
2-11.C语言中整数-8在内存中的存储形式是______。
A.1111111111111000 B.1000000000001000
C.0000000000001000 D.1111111111110111
2-12.已知inti;
floatf;
正确的语句是______。
A.(intf)%i B.int(f)%i C.int(f%i) D.(int)f%i
2-13.已知:
chara;
intb;
floatc;
doubled;
执行语句c=a+b+c+d;
后,变量c的数据类型是______。
A.int B.char C.float D.double
2-14.已知inti,a;
执行语句"
i=(a=2*3,a*5),a+6;
"
后,变量i的值是______。
A.6 B.12 C.30 D.36
2-15.已知inti=5,j=5;
执行语句j+=++i;
后j的值是______。
A.10 B.11 C.12 D.A,B,C答案都不对
2-16.字符串"
\\\22a,0\n"
的长度是______。
A.8 B.7 C.6 D.5
2-17.已知:
charc='
A'
;
inti=1,j;
执行语句j=!
c&
&
i++;
则i和j的值是______。
A.1,1 B.1,0 C.2,1 D.2,0
2-18.已知:
intx=1,y=2,z;
则执行:
z=x>
y?
++x:
++y;
则z的值为______。
A.1 B.2 C.3 D.4
2-19.为求出s=10!
的值,则变量s的类型应当为______。
A.int B.unsiged C.long D.以上三种类型均可
2-20.已知:
floatx=1,y=2,z;
则:
z=++x*y++的结果为______。
A.z=4 B.z=2 C.z=6 D.表达式是错误的
2-21.已知"
inta=4,b=5,c;
,则执行表达式"
c=a=a>
b"
后变量a的值为______。
A.0 B.1 C.4 D.5
2-22.已知:
charw;
intx;
floaty;
doublez;
则表达式w*x+z-y结果的类型是______。
A.float B.Char C.int D.double
2-23.选出使变量i的运行结果为4的表达式______。
A.inti=0,j=0;
B.inti=1,j=0;
(i=3,(j++)+i);
j=i=((i=3)*2);
C.inti=0,j=1;
D.inti=1,j=1;
(j==1)?
(i=1):
(i=3);
i+=j+=2;
2-24.已知:
则使用逗号运算的表达式"
(x=4*5,x*5),x+25"
的结果为①,变量x的值为②。
①A.20 B.100 C.表达式不合法 D.45
②A.20 B.100 C.125 D.45
2-26.执行下面语句后x的值为______。
inta=14,b=15,x;
charc='
x=((a&
b)&
(c<
a'
));
A.TRUE B.FALSE C.0 D.1
2-27.若定义了intx;
则将x强制转化成双精度类型应该写成______。
A.(double)x B.x(double) C.double(x) D.(x)double
2-28.要判断char型变量m是否是数字字符,可以使用下列表达式______。
A.0<
=m&
m<
=9 B.'
0'
<
='
9'
C."
0"
="
9"
D.前面三个答案均是错误的
二、填空题
2-29.负数在计算机中是以_______形式表示。
2-30.双精度型实数的表示范围是_______,其有效位是_______。
2-31.关系表达式的运算结果是______值。
2-32.逻辑运算符!
是_______运算符,其结合性是由_______。
2-33.表达式的运算对象可以是常数、变量和_______。
2-34.已知charc;
表达式(c<
=57||c>
=65&
c<
=90||c>
=97&
=122)&
c==27的值为1,则变量c的值可以是_______。
*2-35.已知:
a=15,b=240;
则表达式(a&
b)&
b||b的结果为_______。
2-36.已知在ASCII代码中,字母A的序号为65,以下程序的输出结果是_______。
#include<
stdio.h>
main()
{charcl='
c2='
Y'
printf("
%d,%d\n"
c1,c2);
}
三、应用题
2-37.下面程序的输出是_______。
main()
{intx=10,y=10;
printf("
%d%d\n"
x--,--y);
2-38.分析下面程序执行后的结果。
main()
{inta=3,b=7;
printf("
%d\n"
a+++++b);
/*①*/
b%a);
/*②*/
%d\n'
!
a>
b);
/*③*/
a+b);
/*④*/
a&
/*⑤*/
2-39.在C语言中,怎样区分求负与减法运算?
怎样区分取地址运算和按位与运算?
三、顺序结构的程序设计
3-1.已知:
则计算表达式a*c+c-d之后,结果的数据类型______。
A.char B.int C.float D.double
3-2.以下选项中不是C语句的是______。
A.{inti;
i++;
printf("
i);
} B.;
C.a=5,c=10 D.{;
}
3-3.以下合法的C语句是______。
A.{a=b};
B.k=int(a+b);
C.k=a+b=c;
D.--i;
3-4.执行以下程序段后,c3的值是______。
intc1=1,c2=2,c3;
c3=c1/c2;
A.0 B.1/2 C.0.5 D.1
3-5.若inta,b,c;
则为它们输入数据的正确输入语句是______。
A.read(a,b,c);
B.scanf("
%d%d%d"
a,b,c);
C.scanf("
%D%D%D"
&
a,%b,%c);
D.scanf("
a,&
b,&
c);
3-6.若floata,b,c;
要通过语句:
scanf("
%f%f%f"
&
分别为a,b,c输入10,22,33。
以下不正确的输入形式是______。
A.10 B.10.0,22.0,33.0 C.10.0 D.1022
22 22.033.0 33
33
3-7.若在键盘上输入:
283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是______。
A.scanf("
%f"
B.scanf("
%8.4f"
C.scanf("
%6.2f"
D.scanf("
%8"
3-8.执行语句:
|%10.5f|\n"
12345.678);
的输出是______。
A.|2345.67800| B.|12345.6780| C.|12345.67800| D.|12345.678|
3-9.若有以下程序段,其输出结果是______。
inta=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
%d,%d,%d\n"
A.3,0,-10 B.0,0,5 C.-10,3,-10 D.3,0,3
3-10.若a为int类型,且a=125,执行下列语句后的输出是______。
printf("
%d,%o,%x\n"
a,a+1,a+2)
A.125,175,7D B.125,176,7F C.125,176,7D D.125,175,2F
二、填空题
3-11.{a=3;
c+=a-b;
}在语法上被认为是___条语句。
空语句的形式是_____。
3-12.若floatx;
以下程序段的输出结果是_________。
x=5.16894;
printf("
%f\n"
(int)(x*1000+0.5)/(float)1000);
3-13.以下程序段中输出语句执行后的输出结果依次是__________、__________和___________。
inti=-200,j=2500;
printf("
(1)%d%d"
i,j);
(2)i=%d,j=%d\n"
i,j);
(3)i=%d\nj=%d\n"
3-14.当运行以下程序时,在键盘上从第一列开始输入9876543210↙(此处↙代表回车),则程序的输出结果是___________。
main()
{inta;
floatb,c;
scanf("
%2d%3f%4f"
\na=%d,b=%f,c=%f\n"
}
3-15.以下程序段,要求通过scanf函数给变量赋值,然后输出变量的值。
写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种可能的输入形式______________、______________和_____________。
intk;
floata;
doublex;
scanf("
%d%f%lf"
k,&
x);
pirntf("
k=%d,a=%f,x=%f\n"
k,a,x);
3-16.执行下列程序段后,输出结果是_____________。
inta,b,c;
a=b=c=0;
c=(a-=a-3),(a=b,b+3);
%d,%d,%d\n"
3-17.下面程序的输出结果是_____________。
{intx=10,y=3,z;
z=(x%y,x/y));
3-18.若doublea,b,c;
要求为a、b、c分别输入10、20、30。
输入序列为:
(□表示空格)
□10.0□□20.0□□30.0↙,则正确的输入语句是_____________________________。
3-19.下面程序的输出结果是______________。
{doublea;
floatb;
intc;
c=b=a=40/3;
%d%f%f\n"
c,b,a);
3-20.若有inta=10,b=20,c=30;
则能使a和c的值互换的语句是_____________________。
三、编程题
3-21.编写程序,输出如下信息:
***************************
verygood!
3-22.编写程序,输入9时23分并把它化成分钟后输出。
(从零点整开始计算)。
3-23.编写程序,分别转换摄氏温度-100C、00C、150C、340C为华氏温度。
摄氏温度与华氏温度满足下列关系式(C表示摄氏温度,F表示华氏温度):
C=(5/9)(F-32)
3-24.设圆半径为5,编写程序,求圆的周长和面积。
3-25.编写程序,输入三角形的3个边长A、B、C,求三角形的面积SS。
3-26.设a=3,b=4,c=5,d=1.2,e=2.23,f=-43.56,编写程序,使程序输出为:
a=□□3,b=4□□□,c=**5
d=1.2
e=□□2.23
f=-43.5600□□**
3-27.编写程序,读入三个整数给a、b、c,然后交换其中的数,使a存放b的值,b存放c的值,c存放a的值。
3-28.编写程序,输入三个数a,b,c,求它们的平均值。
并按如下形式输出:
averageof**、**and**is**.**
其中,三个**依次表示a,b,c的值,**.**表示a,b,c的平均值。
3-29执行下列程序,按指定方式输入(□表示空格),能否得到指定的输出结果?
若不能,请修改程序,使之能得到指定的输出结果。
输入:
2□3□4↙
输出:
a=2,b=3,c=4
x=6,y=24
程序:
main()
{inta,b,c,x,y;
scanf("
%d,%d,%d"
a,b,c);
x=a*b;
y=x*c;
printf("
%d%d%d"
x=%f\n"
x,"
y=%f\n"
y);
}
四、选择结构的程序设计
4-1.if语句的控制条件______。
A.只能用关系表达式 B.只能用关系表达式或逻辑表达式
C.只能用逻辑表达式 D.可以用任何表达式
4-2.以下程序的输出结果是______。
main()
{floatx=2,y;
if(x<
0)y=0;
elseif(x<
5&
!
x)y=1/(x+2);
elseif(x<
10)y=1/x;
elsey=10;
}
A.0.000000 B.0.250000 C.0.500000 D.10.000000
4-3.执行以下程序段后,a,b,c的值分别是______。
inta,b=100,c,x=10,y=9;
a=(--x==y++)?
--x:
if(x<
9)b=x++;
c=y;
A.9,9,9 B.8,8,10 C.9,10,9 D.1,11,10
4-4.执行下列程序段后,x、y和z的值分别是______。
intx=10,y=20,z=30;
if(x>
y)z=x;
x=y;
y=z;
A.10,20,30 B.20,30,30 C.20,30,10 D.20,30,20
4-5.以下程序的输出结果是______。
main()
{intw=4,x=3,y=2,z=1;
if(x>
y&
(z==w))printf("
(w<
x?
w:
z<
z:
x));
elseprintf("
(w>
z>
}
A.1 B.2 C.3 D.4
4-6.下面的程序片段所表示的数学函数关系是______。
y=-1;
if(x!
=0){if(x>
0)y=1;
}
elsey=0;
A.y=-1(x<
0) B.y=1(x<
0)
y=0(x=0) y=-1(x=0)
y=1(x>
0) y=0(x>
C.y=0(x<
0) D.y=-1(x<
y=-1(x=0) y=1(x=0)
4-7.若执行以下程序时从键盘上输入3□4,则输出结果是______(□表示空格)。
{inta,b,s;
scanf("
%d%d"
s=a;
if(a<
b)s=b;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 专项 练习题
![提示](https://static.bdocx.com/images/bang_tan.gif)