C语言习题集修改版Word文档格式.docx
《C语言习题集修改版Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言习题集修改版Word文档格式.docx(81页珍藏版)》请在冰豆网上搜索。
![C语言习题集修改版Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/16/39f13f21-5310-430d-80f8-1cd6acd099ce/39f13f21-5310-430d-80f8-1cd6acd099ce1.gif)
A)3,3,2B)2,3,2C)3,2,3D)2,3,3
11.设有语句“inta=3;
”,则执行了语句“a+=a-=a*a;
”后,变量a的值是
A)3B)0C)9D)-12
12.在以下一组运算符中,优先级最高的运算符是
A)<
=B)=C)%D)&
&
13.设整型变量i的值为3,则计算表达式i---i后表达式的值为
A)0B)1C)2D)表达式出错
14.设整型变量a、b、c均为2,表达式a+++b+++c++的结果是
A)6B)9C)8D)表达式出错
15.若已定义x和y为double类型,则表达式:
x=1,y=x+3/2的结果是
A)1B)2C)2.0D)2.5
16.下列表达式中,正确的C赋值表达式是
A)a=7+b+c=a+7B)a=7+b++=a+7C)a=(7+b,b++,a+7)D)a=7+b,c=a+7
17.若有以下定义:
chara;
intb;
floatc;
doubled;
则表达式a*b+d-c值的类型为
A)floatB)intC)charD)double
18.设a=3,b=4,执行“printf(“%d,%d”,(a,b),(b,a));
”的输出是
A)3,4B)4,3C)3,3D)4,4
19.使用“scanf(“x=%f,y=%f”,&
x,&
y)”,要使x,y均为1.25,正确的输入是
A)1.25,1.25B)1.251.25C)x=1.25,y=1.25D)x=1.25y=1.25
20.设a,b为字符型变量,执行“scanf(“a=%c,b=%c”,&
a,&
b)”后使a为’A’,b为’B’,
从键盘上的正确输入是
A)‘A’’B’B)‘A’,’B’C)A=A,B=BD)a=A,b=B
21.设有inti=010,j=10;
则执行“printf(“%d,%d\n”,++i,j--);
A)11,10B)9,10C)010,9D)10,9
第四章简单的程序设计
一.选择题。
(1)下列各程序段中不含赋值语句的是()
A)if((a=b)>
0)printf(“%d”,a);
B)a++;
C)if(a>
b)a=(a*b,b,a);
D)a+=a-=a*a;
(2)若变量已正确定义并赋值,下面符合C语言语法的表达式是()
A)a:
=b+1B)a=b=c+2C)int18.5%3D)a=a+7=c+b
(3)若变量a、i已正确定义,且i已正确赋值,合法的语句是()
A)a==1B)++i;
C)a=a++=5;
D)a=int(i);
(4)下列可作为C语言赋值语句的是()
A)x=3,y=5B)a=b=6C)i--D)y=(int)x;
(5)设有如下的变量定义:
inti=8,k,a,b;
unsingedlongw=5;
doublex=1.42,y=5.2;
则以下符合C语言语法的表达式是()
A)a+=a-=(b=4)*(a=3) B)x%(-3);
C)a=a*3=2 D)y=float(i)
(6)若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()
A)1B)2C)2.0D)2.5
(7)设有如下定义:
intx=l,y=-1;
,则语句:
printf("
%d\n"
,(x--&
++y));
的输出结果是()
A)1B)0C)-1D)2
(8)已知ch是字符型变量,下面不正确的赋值语句是()
A)ck='
a十b'
;
B)ch='
\O'
C)ch='
7'
十'
9'
;
D)ch=5十9;
(9)已知ch是字符型变量,下面正确的赋值语句是()
A)ch='
123'
B)ch='
\xff'
C)ch='
\08'
D)ch="
\"
(10)若有以下程序段:
intc1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是()
A)0B)0.5C)1D)2
(11)设x、y、z和k都是int型变量,那么执行表达式:
x=(y=4,z=16,k=32)后,x的值为()
A)4 B)16 C)32 D)52
(12)假定有以下变量定义:
intk=7,x=12;
则能使值为3的表达式是()
A)x%=(k%=5) B)x%=(k-k%5)
C)x%=k-k%5 D)(x%=k)-(k%=5)
(13)若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()
A)-3B)9C)-12D)6
(14)假定x和y为double型,则表达式x=2,y=x+3/2的值是()
A)3.500000B)3C)2.000000D)3.000000
(15)设正x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是()
%d,%d\n"
x--,--y);
A)10,3B)9,3C)9,2D)10,2
(16)设x为int型变量,则执行以下语句后,x的值为()
x=10;
x=x-=x-x;
A)10B)20C)40D)30
(17)有如下程序
main()
{inty=3,x=3,z=1;
printf(“%d%d\n”,(++x,y++),z+2);
}
运行该程序的输出结果是()
A)34B)42C)43D)33
(18)设x和y均为int型变量,则以下语句:
x+=y;
y=x-y;
x-=y;
的功能是()
A)把x和y按从大到小排列B)把x和y按从小到大排列
C)无确定结果 D)交换x和y中的值
(19)以下程序的输出结果是()
main()
{inta=12,b=12;
printf(“%d%d\n”,--a,++b);
}
A)1010 B)1212 C)1113 D)1110
(20)以下程序的输出结果是()
printf(“%d%d\n”,--a+b,++b);
A)2413 B)2313 C)2412 D)2312
(21)语句:
%d"
,(a=2)&
(b=-2));
A)无输出B)结果不确定C)-1D)1
(22)以下程序的输出结果是()
main()
{inta=3;
(a+=a-=a*a));
}
A)-6B)12C)0D)–12
(23)语句:
strlen("
abc123\01de\n"
));
A)10B)4C)6D)11
(24)语句:
abc123\09de\n"
(25)语句:
abc123\99de\n"
(26)若有以下定义:
intb;
floatc;
doubled;
则表达式a*b/d-c值的类型为()
A)floatB)intC)charD)double
(27)以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子
的C语言表达式是()
A)x/y*zB)x*(1/(y*z))C)x/y*1/zD)x/y/z
(28)x、y均已正确定义并赋值,数学式
在C程序中对应正确的表达式为()
A)sqrt(x*x+y*y)/x*yB)SQRT(x*x+y*y)/x*y
C)sqrt((x*x+y*y)/x/y)D)SQRT((x*x+y*y)/(x*y))
(29)下列语句不能正确输出字符A的是(C)
A)putchar(‘A’);
B)putchar(‘\101’);
C)putchar("
A"
);
D)putchar(65);
(30)下列关于getchar函数的使用不正确的是()
A)intch;
ch=getchar();
B)charch;
C)charch;
getchar(ch);
D)putchar(getchar());
(31)若变量已正确说明为float类型,要通过语句scanf("
%f%f%f"
&
a,&
b,&
c);
给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:
()
A)10<
回车>
B)10.0,22.0,33.0<
22<
33<
C)10.0<
D)1022<
22.033.0<
33<
(32)有如下定义:
intx;
floaty;
charz,要通过语句scanf("
%d■%f■%c"
x,&
y,&
z);
给x赋10,y赋20.0,z赋’a’,正确的输入形式是()
【注:
■代表空格字符】
A)10,20.0,a<
B)10■20.0■’a’<
C)10■20.0■a<
D)10,20.0a<
(33)x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()
A)INPUT