第3部分 C语言练习题Word格式文档下载.docx

上传人:b****6 文档编号:21695476 上传时间:2023-01-31 格式:DOCX 页数:30 大小:30.48KB
下载 相关 举报
第3部分 C语言练习题Word格式文档下载.docx_第1页
第1页 / 共30页
第3部分 C语言练习题Word格式文档下载.docx_第2页
第2页 / 共30页
第3部分 C语言练习题Word格式文档下载.docx_第3页
第3页 / 共30页
第3部分 C语言练习题Word格式文档下载.docx_第4页
第4页 / 共30页
第3部分 C语言练习题Word格式文档下载.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

第3部分 C语言练习题Word格式文档下载.docx

《第3部分 C语言练习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《第3部分 C语言练习题Word格式文档下载.docx(30页珍藏版)》请在冰豆网上搜索。

第3部分 C语言练习题Word格式文档下载.docx

x1,&

x2,&

y1,&

y2);

x1=%d,x2=%d,y1=%c,y2=%c\n"

x1,x2,y1,y2);

12.下面程序的输出结果是______。

#include<

intx=5,y=10;

x+=y;

y=x-y;

x-=y;

x=%d,y=%d\n"

x,y);

13.有如下程序,输入数据:

12345ff678后,输出结果是。

intx;

floaty;

%3d%f"

x,&

y);

x=%d,y=%f\n"

二、选择题

1.下列不可用作C语言标识符的是。

A.a_1B.no-1C.scanfD._int

2.C语言提供的合法关键字是。

A.FloatB.signedC.INTD.Char

3.下列合法的实型常数是。

A.E2B.6E-3.5C.2E0D.1.3E

4.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用十六进制表示的字符常量'

\x41'

是。

A.字符AB.字符aC.字符cD.非法的常量

5.下列合法转义字符是。

A.'

\\'

B.'

\018'

C.'

xab'

D.'

\ab'

6.以下选项中可作为C语言合法整数的是。

A.1010BB.0386C.0xffffD.x2a2

7.若有代数式

,则不正确的C语言表达式是。

A.a/c/d*b*3B.3*a*b/c/d

C.3*a*b/c*dD.a*b/d/c*3

8.已知各变量的类型说明如下:

inta=2,b=5;

doublex=8.5;

则以下符合C语言语法的表达式是。

A.a+=a-=(b=2)*(a=8)B.a=b/3=8

C.x%3D.x=float(a)

9.以下符合C语言语法的赋值表达式是。

A.a=b+c=3B.a=(b=5,c=b+6)

C.a=b=5,c=b+2D.a=4+b++=c+2

10.在C语言中,要求运算数必须是整型的运算符是。

A./B.++C.*=D.%

11.若有说明语句:

chars='

\101'

则变量s。

A.包含一个字符B.包含两个字符

C.包含三个字符D.说明不合法,s的值不确定

12.在C语言中,char型数据在内存中的存储形式是。

A.补码B.反码C.原码D.ASCII码

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

A.x=(x*1000+0.5)/1000.0

B.m=x*1000+0.5,x=m/1000.0

C.x=x*1000+0.5/1000.0

D.x=(x/1000+0.5)*1000.0

14.设以下变量均为int类型,则值不等于3的表达式是。

A.(m=n=2,m+n,m+1)B.(m=n=2,m+n,n+1)

C.(m=2,m+1,n=2,m+n)D.(m=2,m+1,n=m,n+1)

15.假设所有变量均为整型,则表达式(x=y=3,y++,x+y)的值是。

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

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

A.c='

\012'

B.c='

12'

C.c='

1'

+'

D.c=1+2;

17.putchar函数可以向终端输出一个。

A.整型变量表达式值B.字符串

C.实型变量值D.字符

18.以下程序段的输出结果是。

inta=12345;

printf("

%4d\n"

a);

A.12B.34C.12345D.提示出错

19.若a定义为int型,x定义为float型,以下合法的scanf函数调用语句为。

A.scanf("

%d%f"

a,x);

B.scanf("

a,&

x);

C.scanf("

%x%d"

a,&

D.scanf("

%f%d"

20.有如下程序段:

inta1,a2;

charc1,c2;

%d%c%d%c"

a1,&

c1,&

a2,&

c2);

若要求a1、a2、c1、c2的值分别为10、20、A、B,正确的数据输入是。

(注:

└┘代表空格)

A.10A└┘20BB.10└┘A20B

C.10└┘A└┘20└┘BD.10A20└┘B

21.若变量已正确说明为int类型,要通过语句scanf("

%d%d%d"

&

b,&

c);

给a赋予10,b赋予20,c赋予30,不正确的输入形式为。

A.10└┘20└┘30↙B.10,20,30↙

C.10↙D.10└┘20↙

20└┘30↙30↙

22.若要使x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是。

%d,%d"

x2) 

%c%c"

A.1020ABB.10└┘20└┘ABC

C.10,20D.10,20AB

AB

23.有如下程序段,从键盘输入数据的正确形式应是。

intx,y;

x=%d,y=%d"

A.1234B.x=12,y=34

C.12,34D.x=12└┘y=34

24.以下程序的执行结果是。

{intx=2,y=3,z=4;

x=%%%d,y=%%d,z=%d"

x,y,z);

return0 

A.x=%2,y=%3,z=4B.x=%2,y=%d,z=3

C.x=2,y=3,z=4D.x=%2,y=%d,z=4

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

12,34,正确的输出结果为。

inta,b;

%d%d"

b);

a+b=%d\n"

a+b);

A.a+b=46B.有语法错误

C.a+b=12D.不确定值

参考答案

1.小写2.下划线

3.补码4.转义

5.26.ffffffff,ffff

7.50,62,32,2

8.12.345670,12.3457,12.346,└┘└┘└┘└┘12.346

9.5,510.i=1,k=,j=2

11.①x1=98,x2=765,y1=4,y2=1②x1=98,x2=76,y1=,y2=3

③x1=98,x2=765,y1=4,y2=2

12.x=10,y=513.x=123,y=45.000000

二、选择题

1.B

2.B

3.C

4.A

5.A

6.C

7.C

8.A

9.B

10.D

11.A

12.D

13.B

14.C

15.A

16.B

17.D

18.C

19.B

20.A

21.B

22.D

23.B

24.B

25.D

练习2选择结构程序设计

1.为表示关系x≥y≥z,应使用C语言表达式。

2.若有inta=8,b=5,c=3;

 则表达式a>

b&

&

b<

c的结果为。

3.若有intx=10,y=20;

 则表达式x>

y?

x:

y的结果为。

4.C语言中用表示逻辑“假”。

5.已知:

表示“x是奇数”表达式为。

6.已知:

intx=15,y=20,z=35;

表达式x||y+z&

y-z的值是。

1.以下程序的输出结果是。

inti=0,j=0,k=6;

if((++i>

0)||(++j>

0))k++;

printf("

%d,%d,%d\n"

i,j,k);

return0;

A.0,0,6B.1,0,7C.1,1,7D.0,1,7

2.设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>

b)&

(n=c>

b)后n的值为。

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

3.设有定义:

intx=12,y=20,z=24;

,以下语句中执行效果与其它三个不同的是。

A.if(x>

y){x=y;

y=z;

z=x;

}B.if(x>

y)x=y,y=z,z=x;

C.if(x>

y)x=y;

D.if(x>

y){x=y,y=z,z=x;

4.对于if语句的基本形式:

if(表达式)语句,其中“表达式”。

A.可以是任意合法的表达式B.必须是逻辑表达式

C.必须是关系表达式D.必须是逻辑表达式或关系表达式

5.对于以下程序运行时,输入的值为时,才会输出***。

{

%d"

if(x<

=20);

else

if(x!

=30)

***"

}

A.大于20且不等于30的整数B.大于20或等于30的整数

C.小于20的整数D.不等于30的整数

6.以下程序运行时,输出的值为。

intx=1,y=2,z=3;

if(x==1&

y++==2)

if(y!

=2||z--!

=3)

else

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

7.C语言规定:

else子句总是与配对。

A.缩排位置相同的ifB.其之前最近的未配对的if

C.其之后最近的ifD.同一行上的if

8.在C语言中,逻辑运算符两侧运算对象的类型。

A.可以是任何类型的数据B.只能是0或非0正数

C.只能是0或1D.只能是整型或字符型数据

9.若有inta,b;

表达式(Exp)?

(--a):

(++b),则其中与Exp等价的表达式是。

A.Exp==lB.Exp==0C.Exp!

=lD.Exp!

=0

10.执行以下程序段后,w的值为。

intx='

F'

k=21,y=32;

x=((k||y)&

(x<

'

a'

));

A.0B.-1C.NULLD.l

11.以下程序运行时,输出的值为。

intm=20,n=30,k=40;

if(m>

n)

if(n<

k)

++k);

elseprintf("

++n);

%d\n"

m++);

A.403020B.3121C.20D.40

12.以下程序运行时,输出的值为。

intm=20,n=30,k=40;

n)m=n;

k=m;

if(k!

=m)k=n;

m,n,k);

A.20,30,20B.30,40,30C.40,20,40D.有语法错误

三、程序填空

1.求a、b、c三个数中的最大数。

inta,b,c,max;

1);

if(a>

b)

max=2;

else

max=b;

if(3)

max=c;

max=%d\n"

max);

2.从键盘输入一个字符,若是大写字母则转换为小写字母;

若是小写字母则转换为大写字母。

charch;

ch=getchar();

if(4)

ch=ch+32;

5

if(ch>

='

ch<

z'

ch=6

ch=%c\n"

ch);

3.从键盘输入两个整数,按照从小到大顺序输出。

intm,n,t;

7);

if(m>

n)

{

8

m=n;

n=t;

%5d%5d\n"

m,n);

 

1.x>

=y&

y>

=z2.1

3.204.0

5.z%2==1或z%2!

=06.1

6.D

7.B

9.D

11.C

12.A

1.&

c2.a

3.max<

c4.ch>

A'

Z'

5.else6.ch-32;

7.&

m,&

n8.t=m;

练习3循环结构程序设计

1.下面程序段中的循环执行次数为。

intx=10;

while(x)x=x/2;

2.下面程序的输出结果是。

inta=3,b=15;

do

a+=b;

b=b/2;

}while(b>

1);

printf(“%d\n”,a);

3.下面程序的输出结果是。

intk=1,s=0;

do

if((k%2)!

=0)continue;

s+=k;

k++;

}while(k>

10);

s=%d\n"

s);

4.下面程序的输出结果是。

inti=5;

if(i%3==1)

if(i%5==2)

{printf("

*%d"

i);

break;

i++;

}while(i!

=0);

\n"

5.下面程序的输出结果是。

intm,n,sum;

for(m=3;

m>

=1;

m--)

sum=0;

for(n=1;

n<

=m;

n++)

sum+=m*n;

sum);

6.下面程序的输出结果是。

intm=10;

for(;

m>

0;

m--)

{

if(m%3)

%d,"

m--);

continue;

printf("

--m);

}

1.标有//note的语句的执行次数是。

inty=30,i;

for(i=0;

i<

20;

i++)

{if(i%2==0)continue;

y+=i;

//note

}

y);

A.120B.190C.130D.100

2.以下程序的输出结果是。

intc=5,k;

for(k=1;

k<

3;

k++)

switch(k)

{

default:

c+=k;

case2:

c++;

break;

case4:

c+=2;

}

c);

A.10B.8C.6D.12

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

intm,n;

for(m=0;

m<

4;

m++,m++)

n++);

*"

A.************B.********

C.****D.*

4.以下程序的输出结果是。

intm;

for(m=6;

10;

m++,m++)

**%d"

m);

A.**6**8B.**6**8**10

C.**6D.***8

5.以下程序的输出结果是。

intk=0;

%d,"

k);

while(k++);

A.1,0B.0,1C.0,1,2D.无限循环

6.以下程序的输出结果是。

intk=12;

for(;

k>

8;

k--);

if(k%2==0)printf("

A.1210B.12C.8D.无限循环

7.以下程序的输出结果是。

A.12,10B.12C.8D.无限循环

8.以下程序的输出结果是。

intt=98765,x;

while(t!

=0)

x=t%10;

x);

t/=10;

A.98765B.56789C.57689D.无限循环

1.计算数的阶乘。

inti,n;

longnp;

scanf("

n);

np=1

for(;

2;

np*=i;

n=%dn!

=%ld\n"

n,np);

2.计算1—100累加之和。

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

当前位置:首页 > PPT模板 > 动态背景

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

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