C语言第一章习题带答案文档格式.docx

上传人:b****5 文档编号:17289381 上传时间:2022-11-30 格式:DOCX 页数:55 大小:49.44KB
下载 相关 举报
C语言第一章习题带答案文档格式.docx_第1页
第1页 / 共55页
C语言第一章习题带答案文档格式.docx_第2页
第2页 / 共55页
C语言第一章习题带答案文档格式.docx_第3页
第3页 / 共55页
C语言第一章习题带答案文档格式.docx_第4页
第4页 / 共55页
C语言第一章习题带答案文档格式.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

C语言第一章习题带答案文档格式.docx

《C语言第一章习题带答案文档格式.docx》由会员分享,可在线阅读,更多相关《C语言第一章习题带答案文档格式.docx(55页珍藏版)》请在冰豆网上搜索。

C语言第一章习题带答案文档格式.docx

C."

\n"

D.297

8.以下(C)是错误的转义字符。

C.'

\81'

D.'

\0'

9.C语言中整数-8在内存中的存储形式是(A)。

A.1111111111111000B.1000

C.0000000000001000D.1111111111110111

10.将字符g赋给字符变量c,正确的表达式是(C)。

A.c="

g"

B.c=101C.c='

\147'

D.c='

0147'

11.字符串"

\\\22a,0\n"

的长度是(C)。

A.8B.7C.6D.5

12.为求出s=10!

的值,则变量s的类型应当为(D)。

A.intB.unsignedC.longD.以上三种类型均可

13.已知:

unsignedintx=65535;

,则执行以下语句输出是(D)。

printf("

%d\n"

x);

A.65535B.1C.无定值D.-1

14.下面4个选项中,均是合法整型常量的选项是(A)。

A.160,-0xffff,011B.-0xcdf,01ª

,0xe

C.-01,986,012,0668D.-0x48a,2e5,0x

15.下面4个选项中,均是不合法的整型常量的选项是(D)。

A.--0f1,-0xffff,0011B.-0Xcdf,01a,0xe

C.-018,999,5e2D.-0x48eg,-068,03f

16.下面4个选项中,均是合法浮点数的选项是(B)。

A.+1e+1,,03e2B.,12e-4,-8e5

C.123e,,+2e-1D.-e3,.8e-4,

练习2-2答案

1.已知:

chara;

intb;

floatc;

doubled;

,执行语句c=a+b+c+d;

后,变量c的数据类型是(C)。

A.intB.charC.floatD.double

2.已知intj,i=1;

,执行语句j=-i++;

后,j的值是(C)。

A.1B.2C.-1D.-2

3.已知inti,a;

,执行语句i=(a=2*3,a*5),a+6;

后,变量i的值是(C)。

A.6B.12C.30D.36

4.已知inti=5;

,执行语句i+=++i;

,i的值是(C)。

A.10B.11C.12D.A、B、C答案都不对

5.已知:

floatx=1,y;

,则表达式y=++x*++x的结果为(B)。

A.9B.6C.1D.表达式是错误的

6.已知:

inty;

floatx=-3;

,执行语句:

y=x%2;

,则变量y的结果是(D)。

A.1B.-1C.0D.语句本身是错误的

7.已知:

charw;

intx;

floaty;

doublez;

,则表达式w*x+z-y结果的类型是(D)。

A.floatB.charC.intD.double

8.已知:

intx=10,y=3,z;

,则下列语句的输出结果是(D)。

z=(x%y,x/y));

A.1B.0C.4D.3

9.已知:

inti=6,j;

,则执行语句j=(++i)+(i++);

后的j的值是(B)。

A.4B.14C.13D.15

10.已知:

intx=1,y=-1;

,则语句printf("

(x--&

++y));

的输出结果是(B)。

A.1B.0C.-1D.2

11.设a=2,b=3,计算表达式c=b*=a-1后,变量c的值是(B)。

A.5B.3C.2D.4

12.若定义了intx;

,则将x强制转化成双精度类型应该写成(A)。

A.(double)xB.x(double)C.double(x)D.(x)double

13.下述程序的输出是(A)。

main()

{intx=023;

printf("

%f"

+1*7%2/4);

}

A.B.2.750000C.D.

14.若有定义:

inta=7;

floatx=,y=;

,则表达式x+a%3*(int)(x+y)%2/4的值是(A)。

A.B.2.750000C.D.

15.设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第3位进行四舍五入运算的表达式是(B)。

A.n=(n*100+/B.m=n*100+,n=m/

C.n=n*100+D.n=(n/100+*

16.已知ch是字符型变量,下面不正确的赋值语句是(A)。

A.ch='

a+b'

;

B.ch='

C.ch='

7'

+'

9'

D.ch=5+9;

练习3-1答案

一、选择题

1.在C语言库函数中,可以输出double型变量x值的函数是(D)。

A.getcharB.scanfC.putcharD.printf

2.执行语句:

Theprogram\'

snameisc:

\\tools\"

);

后输出是(D)。

A.Theprogram'

tools

B.Theprogram'

\tools

C.Theprogram'

\\tools

D.Theprogram'

\

3.以下程序的输出结果是(D)。

(注:

□表示空格)

{printf("

\n*s1=%15s*"

"

chinabeijing"

\n*s2=%-5s*"

chi"

}

A.*s1=chinabeijing□□□*B.*s1=chinabeijing□□□

*s2=**chi**s2=chi□□*

C.*s1=*□□chinabeijing*D.*s1=*□□□chinabeijing*

*s2=□□chi**s2=chi□□*

4.选择程序的运行结果,①是(B)、②是(B)、③是(D)、④是(C)。

#include<

>

{inta=-10,b=-3;

a%b);

/*输出①*/

a/b*b);

/*输出②*/

-a%b);

/*输出③*/

a-=b+++1);

/*输出④*/

①A.-2B.-1C.0D.1

②A.-10B.-9C.-8D.0

③A.-2B.-1C.0D.1

④A.-10B.-9C.-8D.-7

5.以下C程序正确的运行结果是(D)。

{inty=2456;

y=%3o\n"

y);

y=%8o\n"

y=%#8o\n"

A.y=□□□2456B.y=□□□4630

y=□□□□□□□□2456y=□□□□□□□□4630

y=#########2456y=#########4630

C.y=2456D.y=4630

y=□□□□2456y=□□□□4630

y=□□□02456y=□□□04630

二、填空题

6.以下程序的输出结果为(i:

dec=-4,otc=177774,hex=fffc,unsigned=65532)。

{shorti;

i=-4;

\ni:

dec=%d,otc=%o,hex=%x,unsigned=%u\n"

i,i,i,i);

7.以下程序的输出结果为(c:

dec=120,oct=170,hex=78,ASCII=x)。

{charc='

x'

c:

dec=%d,oct=%o,hex=%x,ASCII=%c\n"

c,c,c,c);

8.已有定义intd=-2;

,执行以下语句后的输出结果是:

(*d

(1)=-2*d

(2)=□-2*d(3)=-2□*

*d(4)=177776*d(5)=□177776*d(6)=177776□*

*d(4)=fffe*d(5)=□□fffe*d(6)=ffffe□□*)。

*d

(1)=%d*d

(2)=%3d*d(3)=%-3d*\n"

d,d,d,d);

*d(4)=%o*d(5)=%7o*d(6)=%-7o*\n"

*d(4)=%x*d(5)=%6x*d(6)=%-6x*\n"

9.以下程序的输出结果是:

(a=374a=0374

a=fca=0xfc)。

{inta=252;

a=%oa=%#o\n"

a,a);

a=%xa=%#x\n"

练习3-2答案

intx,y,z,w;

,为使以下语句的输出为:

1234+123+12+1,正确的输入形式应当为(C)。

scanf("

%4d-%3d-%2d-%1d"

&

x,&

y,&

z,&

w);

%4d+%3d+%2d+%1d\n"

x,y,z,w);

A.21B.1234123121C.1234-123-12-1D.1234+123+12+1

2.已知:

intx;

,所用的scanf调用语句格式为:

x=%d,y=%f"

y);

为了将数据10和分别赋给x和y,正确的输入应当使(A)。

A.x=10,y=<

回车>

B.10,<

C.10<

<

D.x=10<

y=<

3.已知:

intx,y;

,以下语句中错误的函数调用是(D)。

A.scanf("

%d,%x,%1e"

z);

B.scanf("

%2d*%d%1f"

C.scanf("

%x%*d%o"

D.scanf("

%x%o%6.2f"

4.已有如下定义和输入语句,若要求a1、a2、c1、c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的数据输入方式是(AC)。

□表示空格,<

CR>

表示回车)

inta1,a2;

charc1,c2;

%d%c%d%c"

a1,&

c1,&

a2,&

c2);

A.10A□20B<

B.10□A□20B<

C.10A20B<

D.10A20□B<

5.已有定义intx;

,且执行scanf("

%3d%f"

语句时,输入数据12345□678<

,则x的值为(①B),y的值为(②B)。

①A.12345B.123C.45D.345

②A.无定义B.C.D.

6.阅读以下程序,当输入数据的形式为:

25,13,10<

,正确的输出结果为(D)。

{intx,y,z;

scanf("

%d%d%d"

x+y+z=%d\n"

x+y+z);

A.x+y+z=48B.x+y+z=35C.x+z=35D.不确定值

7.根据题目中已经给出的数据的输入和输出形式,程序中输入输出语句的正确内容是(B)。

{intx;

enterx,y:

"

输入语句

输出语句

输入形式:

2<

输出形式:

x+y=

%d,%f"

B.scanf("

%d%f"

\nx+y=%4.2f"

x+y);

printf("

D.scanf("

%d%3.1f"

\nx+y=%6.1f"

练习4-1答案

charc='

A'

inti=1,j;

,执行语句j=!

c&

&

i++;

,则i和j的值是(B)。

A.1,1B.1,0C.2,1D.2,0

intx=1,y=2,z;

,则执行z=x>

y?

++x:

++y;

,则z的值为(C)。

A.1B.2C.3D.4

inta=4,b=5,c;

,则执行表达式c=a=a>

b后变量a的值为(A)。

A.0B.1C.4D.5

4.已知:

charch='

,则表达式ch=(ch>

='

ch<

Z'

)?

(ch+32):

ch;

的值是(B)。

a'

z'

5.若w=1,x=2,y=3,z=4;

,则条件表达式w>

x?

w:

y<

z?

y:

z的结果为(B)。

A.4B.3C.2D.1

intw=3,x=10,z=7;

,则执行下面语句后的结果为(C)。

%d"

x>

10?

x+100:

x-10);

w++||z++);

!

w>

w&

A.0111B.1111C.0101D.0100

a=b=c=1且a、b、c均为int型变量,执行以下语句:

++a||++b&

++c;

则变量a值为(①C),b值为(②A)。

①A.不正确B.0C.2D.1

②A.1B.2C.不正确D.0

8.执行下面语句后x的值为(D)。

inta=14,b=15,x;

x=((a&

b)&

(c<

));

A.TRUEB.FALSEC.0D.1

9.要判断char型变量m是否是数字,可以使用下列表达式(B)。

A.0<

=m&

m<

=9B.'

0'

C."

0"

="

9"

D.前面三个答案均是错误的

10.能正确表示“当x取值在[1..10]和[200..210]范围内为真,否则为假”的表达式是(C)。

A.(x>

=1)&

(x<

=10)&

(x>

=200)&

=210)

B.(x>

=1)||(x<

=10)||(x>

=200)||(x<

C.(x>

D.(x>

11.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是(D)。

y'

B.x<

=yC.x||y+z&

y-zD.!

((x<

y)&

!

z||1)

12.已知x=43,ch='

y=0;

,则表达式x>

=y&

B'

y的值是(C)。

A.0B.语法错C.1D.“假”

13.判断char型变量c1是否为小写字母的正确表达式为(D)。

=c1<

B.(c1>

=a)&

(c1<

=z)

C.('

=c1)||('

=c1)D.(c1>

)&

二、读程序、写结果

14.下面程序的运行结果:

①(17)、②(102)、③(9)、④(127)、⑤(00-1)。

#include<

{inti=16,j,x=6,y,z;

j=i+++1;

j);

x*=i=j;

x);

/*输出②*/

x=1;

y=2;

z=3;

x+=y+=z;

z+=x>

x++:

y++);

/*输出③*/

x=0x02ff;

y=0xff00;

(x&

y)>

4|0x005f);

/*输出④*/

x=y=z=-1;

++x||++y&

++z;

%d%d%d\n"

x,y,z);

/*⑤*/

练习4-2答案

1.下面程序的输出是(A)。

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;

break;

case1:

b++;

}

case2:

b++;

a=%d,b=%d\n"

a,b);

A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2

2.若有说明:

intx,y;

,不能实现以下函数关系的程序段是(B)。

A.if(x<

0)y=-1;

B.y=-1;

C.y=0;

D.if(x>

=0)

elseif(x==0)y=0;

if(x!

=0)if(x>

=0)if(x>

0)y=1;

elsey=1;

if(x>

{if(x>

}elsey=0;

elsey=0;

elsey=-1;

elsey=-1;

intx,a,b;

,下列选项中错误的if语句是(B)。

A.if(a=b)x++;

B.if(a=<

b)x++;

C.if(a-b)x++;

D.if(x)x++;

4.若inti=10;

,执行下列程序后,变量i的正确结果是(D)。

switch(i)

{case9:

i+=1;

case10:

i+=1;

case11:

default:

A.10B.11C.12D.13

5.设有说明语句:

inta=1,b=0;

,则执行以下语句后输出为(B)。

switch(a)

{case1:

switch(b)

{case0:

**0**"

case1:

**1**"

}

case2:

**2**"

A.**0**B.**0****2**C.**0****1****2**D.有语法错误

6.阅读下列程序,其运行结果是(A)。

mai

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 简洁抽象

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1