c语言作业第三章,3.3 思考与练习 - 第三章 顺序结构程序设计 - 《C语言程序设计案例教程》 - 程序开发 - 恰教程网...

思考与练习

1.选择题

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

#include

#include

main()

{

int a=1,b=4,c=2;

float x=10.5,y=4.0,z;

z=(a+b)/c+sqrt((double)y)*1.2/c+x;

pritnf("%f\n",z);

}

A.14.000000B.015.400000C.13.700000D.14.900000

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

#include

main()

{

int a=2,c=5;

printf("a=%%d,b=%%d\n",a,c);

}

A.a=%2,b=%5B.a=2,b=5

C.a=%%d,b=%%dD.a=%d,b=%d

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

#include

main()

{

int a,b,d=241;

a=d/100%9;

b=(-1)&&(-1);

printf("%d,%d\n",a,b);

}

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

(4)C语言程序的基本单位是。

A.程序行B.语句C.函数D.字符

(5)合法的C语言赋值语句是。

A.a=b=58B.i++;C.a=58,b=58D.k=int(a+b);

(6)设在程序中,a、b、c均被定义成整型变量,并且已赋整数大于1的整数值,则以下表达式中,正确的是。

A.1/a*b*cB.1/(a*b*c)C.1/a/b/(float)cD.1.0/a/b/c

(7)若x和y均为int型变量,x=100,y=200,则以下程序片段的输出结果是。

printf("%d",(x,y));

A.200B.100C.100 200

D.输出格式符不够,输出不确定的值

(8)若执行以下程序时,从键盘上输入9876543210(表示按Enter键),则输出结果是。

#include

main()

{

int a;

float b, c;

scanf("%2d%3f%4f",&a,&b,&c);

printf("\na=%d, b=%f, c=%f\n", a, b, c);

}

A.a=98, b=765, c=4321B.a=10, b=432, c=8765

C.a=98, b=765.000000, c=4321.000000D.a=98, b=765.0, c=4321.0

(9)下列语句中,符合C语言语法的赋值语句是。

A.a=7+b+c=a+7;B.a=7+b++=a+7;

C.a=7+b,b++,a+7D.a=7+b,c=a+7;

(10)已知字母A的ASCII码为十进制数的65,以下程序的输出结果是。

#include

main()

{

char ch1,ch2;

ch1='A'+'5'-'3';

ch2='A'+'6'-'3';

printf("%d,%c\n",ch1,ch2);

}

A.67,DB.B,CC.C,DD.不确定的值

(11)执行以下程序后,a的值是。

#include

main()

{

int a;

printf("%d\n",(a=3*5,a*4,a+5));

}

A.65B.20C.15D.10

(12)以下程序的输出结果是。

#include

main()

{

int a=-1,b=4,k;

k=(a++<=0)&&(!(b--<=0));

printf("%d %d %d\n",k,a,b);

}

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

(13)以下程序的输出结果是。

#include

main()

{

char x=040;

printf("%d\n",x=x<<1);

}

A.100B.160C.120D.64

(14)设有定义int x=10,y=3,z;,则语句printf("%d\n",z=(x%y,x/y));的输出结果是。

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

(15)以下选项中,不正确的赋值语句是。

A.++t;B.n1=(n2=(n3=0));

C.k=i==j;D.a=b+c=1;

(16)以下程序的输出结果是。

#include

main()

{

int k=11;

printf("k=%d,k=%o,k=%x\n",k,k,k);

}

A.k=11,k=12,k=11B.k=11,k=13,k=13

C.k=11,k=013,k=0xbD.k=11,k=13,k=b

(17)若已定义x和y为double型变量,则表达式:x=1,y=x+3/2的值是。

A.1B.2C.2.0D.2.5

(18)若t为double型变量,则表达式t=1,t5,t++的值是。

A.1B.6.0C.2.0D.1.0

(19)若有以下程序片段:

int u=010,v=0x10,w=10;

printf("%d,%d,%d\n",u,v,w);

则输出结果是。

A.8,16,10B.10,10,10C.8,8,10D.8,10,10

(20)若有以下程序片段:

char c1='b',c2='e';

printf("%d,%c\n",c2-c1,c2-'a'+'A');

则输出结果是。

A.2,MB.3,EC.2,E

D.输出项与对应的格式控制不一致,输出结果不确定

(21)以下程序的输出结果是。

#include

main()

{

unsigned a=32768;

printf("a=%d\n",a);

}

A.a=32768B.a=32767C.a=-32768D.a=-1

(22)以下叙述中,正确的是。

A.输入项可以是一个实型常量,如scakf("%f",3.5);

B.只有格式控制,没有输入项,也能正确输入数据到内存中,如scakf("a=%d,

b=%d");

C.当输入一个实型数据时,格式控制部分可以规定小数点后的位数,如scakf

("%4.2f",&f);

D.当输入数据时,必须指明变量地址,如scakf("%f",&f);

(23)设x和y均为int型变量,则语句:x+=y,y=x-y;x-=y;的功能是。

A.把x和y按从大到小的顺序排列

B.把x和y按从小到大的顺序排列

C.无确定结果

D.交换x和y中的值

(24)设有以下定义:

inta=1,b=2,c=3,d=4,m=2,n=2;

则执行表达式;(m=a>b)&&(n=c>d)后,n的值为。

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

(25)语句printf("%d",(a=2)&&(b=-2);的输出结果是。

A.无输出B.结果不确定C.-1D.1

(26)以下程序的输出结果是。

#include

main()

{

int k=17;

printf("%d,%o,%x\n",k,k,k);

}

A.17,021,0x11B.17,17,17B.17,0x11,021D.17,21,11

(27)以下程序的输出结果是。

#include

main()

{

double d=3.2;

int x,y;

x=1.2;

y=(x+3.8)/5.0;

printf("%d\n",d*y);

}

A.3B.3.2C.0D.3.07

(28)以下程序的输出结果是(小数点后只写一位)。

#include

main()

{

double d;float f;long l;int i;

i=f=1=d=20/3;

printf("%d %ld %f %f \n", i,l,f,d);

}

A.666.06.0B.666.76.7

C.666.06.7D.666.76.0

(29)以下程序的输出结果是。

#include

main()

{

int a=2,c=5;

printf("a=%d,b=%d\n",a,c);

}

A.a=%2,b=%5B.a=2,b=5C.a=d, b=dD.a=%d,b=%d

(30)以下程序的输出结果是。

#include

main()

{

char x=0xFFFF;

printf("%d \n",x--);

}

A.-32767B.FFFEC.-1D.-32768

(31)设有以下程序片段:

int c1=1,c2=2,c3;

c3=1.0/c2*c1;

则执行后,c3的值是。

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

(32)以下程序的输出结果是。

#include

main()

{

int y=3,x=3,z=1;

printf("%d%d\n",(++x,y++),z+2);

}

A.34B.42C.43D.33

(33)若变量已被正确定义为float型,要通过语句scanf("%f%f%f ",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式是。

A.10B.10.0,22.0,33.0

22

33

C.10.0D.1022

22.033.033

(34)设x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,以下正确的输入语句是。

A.INPUTx、y、z;B.scanf(“%d%d%d”,&x,&y,&z);

C.scanf(“%d%d%d”,x,y,z);D.read(“%d%d%d”,&x,&y,&z);

(35)以下程序的输出结果是。

#include

main()

{

int a=3;

printf("%d\n",(a+(a-=a*a)));

}

A.0B.-12C.1D.3

(36)以下程序的输出结果是。

#include

main()

{

charc='z';

printf("%c",c-25);

}

A.aB.ZC.z-25D.y

(37)若有定义语句int a,b,c,*d=&c;,则能正确从键盘读入三个整数并分别赋给变量a、b、c的语句是。

A.scanf("%d%d%d",&a,&b,d);B.scanf("%d%d%d",&a,&b,&d);

C.scanf("%d%d%d",a,b,d);D.scanf("%d%d%d",a,b,*d);

(38)在16位C语言编译系统中,如果定义语句long a;,则能给a赋予40000的正确语句是。

A.a=20000+20000;B.a=4000*10;

C.a=30000+10000;D.a=4000L*10L;

(39)以下非法的赋值语句是。

A.n=(i=2,++i);B.j++;C.++(i+1);D.x=j>0;

(40)设a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是

A.6.500000B.6C.5.500000D.6.000000

(41)已知i、j、k均为int型变量,若从键盘上输入1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中,正确的输入语句是。

A.scanf(“%2d%2d%2d”,&i,&j,&k);

B.scanf(“%d%d%d”,&i,&j,&k);

C.scanf(“%d,%d,%d”,&i,&j,&k);

D.scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);

(42)设有定义语句long x=-123456L;,则以下能够正确输出变量x值的语句是。

A.printf(“x=%d\n”,x);B.printf(“x=%1d\n”,x);

C.printf(“x=%8dL\n”,x);D.printf(“x=%LD\n”,x);

(43)以下程序的输出结果是。

#include

main()

{

int k=2,i=2,m;

m=(k+=i*=k);

printf("%d,%d\n",m,i);

}

A.8,6B.8,3C.6,4D.7,4

(44)以下程序的输出结果是。

#include

int a=3;

main()

{

int s=0;

{

int a=5;

s+=a++;

}

s+=a++;

printf("%d\n",s);

}

A.8B.10C.7D.11

2.填空题

(1)设a、b、c的为整型数,且a=2、b=3、c=4,则执行完以下语句后,a的值是。

a*=16+(b++)-(++c);

(2)若想通过以下输入语句给a赋予1,给b赋予2,则输入数据的形式应该是。

int a,b;

scanf("a=%b,b=%d",&a,&b);

(3)若有定义语句int a=10,b=9,c=8;,执行以下语句后,变量b的值是。

c=(a-=(b-5));

c=(a%11)+(b=3);

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

#include

main()

{

int a=1,b=2;

a=a+b; b=a-b;a=a-b;

printf("%d,%d\n",a,b);

}

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

#include

main()

{

int a=177;

printf("%o\n",a);

}

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

#include

main()

{

int a=0;

a+=(a=8);

printf("%d\n",a);

}

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

#include

main()

{

int x=10,y=20,t=0;

if(x==y)

t=x; x=y; y=t;

printf(“%d,%d \n”,x,y);

}

3.上机操作题

(1)编写一个程序,将3小时45分钟转换成用分钟表示,并输出转换前和转换后的数值。

(2)已知圆柱体横截面圆半径r、圆柱高h,编写一个程序,计算圆周长l、圆面积s和圆柱体体积v,并输出结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值