C习题及答案Word下载.docx

上传人:b****5 文档编号:16152167 上传时间:2022-11-21 格式:DOCX 页数:28 大小:33.22KB
下载 相关 举报
C习题及答案Word下载.docx_第1页
第1页 / 共28页
C习题及答案Word下载.docx_第2页
第2页 / 共28页
C习题及答案Word下载.docx_第3页
第3页 / 共28页
C习题及答案Word下载.docx_第4页
第4页 / 共28页
C习题及答案Word下载.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

C习题及答案Word下载.docx

《C习题及答案Word下载.docx》由会员分享,可在线阅读,更多相关《C习题及答案Word下载.docx(28页珍藏版)》请在冰豆网上搜索。

C习题及答案Word下载.docx

B)a=7+b+c,a++C)int(12.3%4)D)a=a+7=c+b

11.以下非法的赋值语句是

A)n=(i=2,++i);

B)j++;

C)++(i+1);

D)x=j>

0;

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

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

13.已有定义:

intx=3,y=4,z=5;

,则表达式!

(x+y)+z-1&

&

y+z/2的值是

A)6B)0C)2D)1

14.以下叙述中正确的是

A)a是实型变量,C允许以下赋值a=10,因此可以这样说实型变量中允许存放整型值。

B)在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式

C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0

D)已有a=3,b=5。

当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3

15.以下叙述中正确的是

A)在C程序中,无论是整数还是实数,只要在允许的范围内都能准确无误的表示。

B)C程序由主函数组成。

C)C程序由函数组成。

D)C程序由函数和过程组成。

16.TurboC中int类型变量所占字节数是

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

17.不合法的八进制数是

A)0B)028C)07700D)01

18.不合法的十六进制数是

A)oxffB)0XabcC)0x11D)0x19

19.若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是

A)a=b=c=100;

B)d++;

C)c+b;

D)d=(c=22)-(b++);

20.以下选项中不是C语句的是

A){inti;

i++;

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

}B);

C)a=5,c=10D){;

}

21.以下合法的C语言赋值语句是

A)a=b=58B)k=int(a+b);

C)a=58,b=58D)--i;

22.以下程序的输出结果是

main()

{intx=10,y=3;

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

A)0B)1C)3D)不确定的值

23.C语言中的简单数据类型有

A)整型、实型、逻辑型B)整型、实型、字符型

C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型

24.C语言中,字符(char)型数据在微机内存中的存储形式是

A)反码B)补码C)EBCDIC码D)ASCII码

25.设有语句chara=‘\172’;

,则变量a

A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法

26.C语言中不合法的字符常量是

A)’\xff’B)’\65’C)’&

’D)’\028’

27.C语言中不合法的字符串量是

A)”\121”B)’y=’C)”\n\n”D)”ABCD\x6d”

1.若k为int型变量且赋值11,请写出运算k++后表达式的值和变量的值。

2.若x为double型变量,请写出运算x=3.2,++x后表达式的值和变量的值。

3.函数体由符号开始,用符号结束。

4.函数体的前面是部分,其后面是部分。

5.在C语言程序中,用关键字定义基本整型变量,用关键字定义单精度实型变量,用关键字定义双精度实型变量。

6.把a1、a2定义成单精度实型变量,并赋初值1的说明语句是。

7.C程序中定义的变量,代表内存中的一组。

8.表达式3.5+1/2的计算结果是。

9.对以下数学式,写出三个等价的C语言表达式是、、

10.表达式s=10应当读做“”。

11.计算机中内存储器的最小单位称为,其中能容纳的数是个

12.通常一个字节包含个二进制位。

在一个字节中能存放的最大十进制整数是,它的二进制数的形式是;

最小十进制整数是,它的二进制形式是。

13.当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是、最小十进制整数是,它们的二进制形式是。

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

main()

{inta=0;

a+=(a=8);

printf("

%d\n"

a);

}

第四章顺序结构程序设计

1.若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是

A)read(a,b,c)B)scanf(“%d%d%d”,a,b,c);

C)scnaf(“%D%D%D”,&

a,&

b,&

C);

D)scanf(“%d%d%d”,&

c);

2.若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是

scanf(“%f%f%f”,&

a,&

b,&

A)10B)10.0,22.0,33.0C)10.0D)1022

2222.033.033

33

3.已知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"

C)scanf("

%d,%d,%d"

D)scanf("

i=%d,j=%d,k=%d"

4.若有以下程序:

main()

{intk=2,i=2,m;

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

printf("

%d,%d\n"

m,i);

执行后的输出结果是

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

5若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句是

A)a=a+b,b=a-b,a=a-b;

B)t=a;

a=b;

b=t;

C)a=t;

t=b;

b=a;

D)t=b;

a=t;

6.有以下程序

{inti=10,j=1;

printf("

i--,++j);

执行后输出结果是

A)9,2B)10,2C)9,1D)10,1

7.若变量已正确定义,以下程序段的输出结果是

x=5.16894;

printf(“%f\n”,(int)(x*1000+0.5)/(float)1000);

A)输出格式说明与输出项不匹配,输出无定值B)5.17000

C)5.168000D)5.169000

8.若有以下程序段,c3中的值是

intc1=1,c2=2,c3;

c3=c1/c2;

A)0B)1/2C)0.5D)1

9.若有以下程序段,其输出结果是

inta=0,b=0,c=0;

c=(a-=a-5),(a=b,b+3);

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

A)0,0,-10B)0,0,5C)-10,3,-10D)3,3,-10

10.当运行以下程序时,在键盘上从第一列开始,输入9876543210<

CR>

(此处<

表示Enter),则程序的输出结果是

{inta;

floatb,c;

scanf(“%2d%3f%4f”,&

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

11.以下程序的输出结果是

{inta=2,b=5;

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

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

12.若int类型占两个字节,则以下程序段的输出是

inta=-1;

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

A)-1,-1B)-1,32767C)-1,32768D)-1,65535

13.以下程序段的输出是

intx=496;

printf(“*%-06d*\n”,x);

A)*496*B)*496*

C)*000496*D)输出格式不合法

14.以下程序段的输出是

floata=3.1415;

printf(“|%6.0f|\n”,a);

A)|3.1415|B)|3.0|C)|3|D)|3.|

15.以下程序段的输出是

printf(“|%10.5f|\n”,12345.678);

A)|2345.67800|B)|12345.6780|C)|12345.67800|D)|12345.678|

16.若从终端输入以下数据,要给变量c赋以283.19,则正确的输入语句是

A)scanf(%f”,c)B)scanf(%8.4f”,&

C)scanf(%6.2f”,&

D)scanf(%8f”,&

17.若变量已正确说明,要求用以下语句给a赋予3.12、给b赋予9.0,则正确的输入形式是

scanf(“a=%f,b=%f”,&

b);

A)3.129.0B)a=3.12b=9C)a=3.12,b=9.0D)a=3.12,b=9

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

#include“math.h”

{doublea=-3.0,b=2;

printf(“%3.0f%3.0f\n”,pow(b,fabs(a)),pow(fabs(a),b));

A)98B)89

C)66D)以上三个都不对

19.以下程序的输出结果是

{charc1=‘A’,c2=‘Y’;

printf(“%d,%d\n”,c1,c2);

A)因输出格式不合法,无正确输出B)65,90

C)A,YD)65,89

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

{charx=‘A’;

x=(x>

=’A’&

x<

=’Z’)?

(x+32):

x;

printf(“%c\n”,x);

A)AB)aC)ZD)z

21以下程序段的输出结果是

{charch1,ch2;

ch1=‘A’+‘5’-‘3’;

ch2=‘A’+‘5’-‘3’;

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

A)67,CB)B,C

C)C,DD)不确定的值

22.若变量已正确说明,要求用以下语句给c1赋予字符%、给c2赋予字符#、给a赋予2.0、给b赋予4.0,则正确的输入形式是

scanf(“%f%c%f%c”,&

c1,&

c2);

A)2.0%4.0#B)2.0%4.0#C)2%4#D)2%4#

23.以下程序的输出结果是

{intw=4,x=3,y=2,z=1;

printf(“%d\n”,(w<

x)?

w:

z<

y?

z:

x));

24.下列程序段的输出结果是

inta=1234;

floatb=123.456;

doublec=12345.54321;

%2d,%2.1f,%2.1f"

a,b,c);

A)无输出

B)12,123.5,12345.5

C)1234,123.5,12345.5

D)1234,123.4,1234.5

1.若有以下定义,请写出以下程序段中输出语句执行后的结果。

(1)

(2)(3)

inti=-200,j=2500;

printf(“

(1)%d%d”,i,j);

printf(“

(2)i=%d,j=%d\n”,i,j);

printf(“(3)i=%d\nj=%d\n”,i,j);

2.变量i、j、k已定义为int类型并赋初值0,用以下语句输入时

scanf(“%d”,&

i);

j);

当执行第一个输入语句时从键盘输入:

    12.3<

<

表示Enter键

则变量i、j、k的值分别是。

3.复合语句在语法上被认为是。

空语句的形式是。

4.以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。

写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种可能的输入形式、、。

intk;

flaota;

doublex;

scanf(“%d%f%lf”,&

k,&

x);

printf(“k=%d,a=%f,x=%f\n”,k,a,x);

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

intx=0177;

printf(“x=%3d,x=%6d,x=%6o,x=%6x,x=%6u\n”,x,x,x,x,x);

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

doublea=513.789215;

printf(“a=%8.6f,a=%8.2f,a=%14.8f,a=%14.8lf\n”,a,a,a,a);

7.若要通过以下语句给a、b、c、d分别输入字符A、B、C、D,给w、x、y、z分别输入10、20、30、40,正确的输入形式是。

请用<

代表Enter键。

scanf(“%d%c%d%c%d%c%d%c”,&

w,&

x,&

y,&

c,&

z,&

d);

8.若有以下说明和输入语句,要求给c1、c2输入字符A和B,给a1、a2输入7.29和101.298,从键盘正确输入数据的形式是。

charc1,c2;

floata1,a2;

scanf(“%f%f”,&

a1,&

a2);

scanf(“%c%c”,&

9.若有以下说明和输入语句,要求给c1、c2、c3输入字符A、B和C,请写出从键盘正确输入数据的形式是。

charc1,c2,c3;

scanf(“%4c”,&

c1);

scanf(“%4c”,&

c3);

10.下列程序的输出结果是16.00,请填空。

{inta=9,b=2;

floatx=,y=1.1,z;

z=a/2+b*x/y+1/2;

%5.2f\n"

z);

第五章选择结构程序设计

1.下面的程序片断所表示的数学函数关系是

y=-1;

if(x!

=0)y=1;

if(x>

0)y=1;

elsey=0;

-1(x<

0)1(x<

0)

A)y=0(x=0)B)y=-1(x=0)

1(x>

0)0(x>

0(x<

0)-1(x<

C)y=0(x=0)D)y=1(x=0)

1(x>

2.运行以下程序后,输出的结果是

{intk=-3;

if(k<

=0)

printf(“****\n”),

elseprintf(“&

\n”);

A)****B)&

C)****&

D)有语法错误不能通过编译

3.有如下程序

{

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

switch(x)

{

case0:

b++;

case1:

a++;

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

4.有以下程序

{

inta=5,b=4,c=3,d=2;

if(a>

b>

c)

%d\n"

d);

elseif((c-1>

=d)==1)

d+1);

elseprintf("

d+2);

A)2B)3C)编译时出错D)4

5.有以下程序

inti=1,j=1,k=2;

if((j++||k++)&

i++)

%d,%d,%d\n"

i,j,k);

执行后输出结果是

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

6.有如下程序

floatx=2.0,y;

if(x<

0.0)y=0.0;

elseif(x<

10.0)y=1.0/x;

elsey=1.0;

%f\n"

y);

A)0.000000B)0.250000C)0.500000D)1.000000

7.若执行以下程序时从键盘上输入3和4,则输出结果是

inta,b,s;

scanf(“%d%d”,&

s=a;

if(a<

b)s=b;

s*=s;

pritnf(“%d\n”,s);

A)14B)16C)18D)20

8.假定所有变量均已正确定义,下面语句段执行后的x的值是

a=b=c=0;

x=35;

if(!

a)x--;

elseif(b);

if(c)x=3;

elsex=4;

A)34B)4C)35D)3

9.判断char型变量c是否为大写字母的C表达式是

A)’A’<

=c<

=’Z’B)(c>

=’A’&

(c<

=’Z’)

C)(‘A’<

=c)AND(‘Z’>

=c)D)(c>

=’A’)&

=’Z’)

10.下列运算符中优先级最高的运算符是

A)!

B)%C)-=D)&

11.下列运算符中优先级最低的运算符是

A)||B)!

=C)<

=D)+

12.为表示关系x≥y≥z,应使用的C语言表达式是

A)(x>

=y)&

(y>

=z)B)(x>

=y)AND(y>

=z)

C)(x>

=y>

=z)D)(x>

13.设a、b和c都是int变量,且a=3,b=4,c=5;

则以下的表达式中,值为0的表达式是

A)a&

bB)a<

=b

C)a||b+c&

b-cD)!

((a<

b)&

!

c||1)

14.以下程序的运行结果是

{inta=2,b=-1,c=2;

b)

if(b<

0)c=0;

elsec+=1;

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

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

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

{inta=100;

if(a>

100)printf(“%d\n”,a>

100);

elseprintf(“%d\n”,a<

=100);

2.将上题中的双分支if语句改写成条件表达式语句:

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

当前位置:首页 > 高等教育 > 工学

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

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