c语言习题.docx

上传人:b****7 文档编号:11156207 上传时间:2023-02-25 格式:DOCX 页数:139 大小:91.81KB
下载 相关 举报
c语言习题.docx_第1页
第1页 / 共139页
c语言习题.docx_第2页
第2页 / 共139页
c语言习题.docx_第3页
第3页 / 共139页
c语言习题.docx_第4页
第4页 / 共139页
c语言习题.docx_第5页
第5页 / 共139页
点击查看更多>>
下载资源
资源描述

c语言习题.docx

《c语言习题.docx》由会员分享,可在线阅读,更多相关《c语言习题.docx(139页珍藏版)》请在冰豆网上搜索。

c语言习题.docx

c语言习题

第一章

一、选择

1.以下选项中不合法的用户标识符是(A)。

A)st.n

B)file

C)Main

D)GO

2.以下选项中合法的用户标识符是(D)。

A)int

B)a#

C)5mem

D)_243

3.C语言中的简单数据类型有(C)。

A)整型、实型、逻辑型

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

C)整型、实型、字符型

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

4.以下选项中正确的整型常量是(A)。

A)-37

B)32,758

C)326

D)6.

5.以下选项中合法的C语言字符常量是(A)。

A)′\t′

B)"A"

C)67

D)A

6.以下选项中不正确的实型常量是(A)。

A).123

B)1e4

C)3.640E-1

D)0.35

7.以下选项中合法的C语言赋值语句是(D)。

A)a=b=34

B)a=34,b=34

C)--i;

D)m=(int)(x+y);

8.不合法的十六进制数是(C)。

A)0xff

B)0X11

C)0x1g

D)0Xabc

9.下述标识符中,(B)是合法的用户标识符。

A)A#F

B)getch

C)void

D)mb*

10.(A)是构成C语言程序的基本单位。

A)函数

B)变量

C)子程序

D)语句

11.在C语言中,char型数据在内存中是以(C)形式存储的。

A)原码

B)补码

C)ASCII码

D)反码

12.在C语言中,int,char和short三种类型数据所占用的内存(C)。

A)均为两个字节

B)由用户自己定义

C)由所用机器的字长决定

D)是任意的

13.设int类型的数据长度为两个字节,则unsignedint类型数据的取值范围是(B)。

A)0~255

B)0~65535

C)-32768~32767

D)-256~255

14.以下(C)是不正确的转义字符。

A)′\\′

B)′\′′

C)′020′

D)′\0′

15.一个C语言程序总是从(B)开始执行。

A)主过程

B)主函数

C)子程序

D)主程序

16.以下叙述不正确的是(D)。

A)一个C源程序可由一个或多个函数组成

B)一个C源程序必须包含一个main()函数

C)C程序的基本组成单位是函数

D)在C程序中,注释说明只能位于一条语句的后面

17.C语言规定:

在一个源程序中,main()函数的位置(C)。

A)必须在最开始

B)必须在系统调用的库函数的后面

C)可以任意

D)必须在最后

18.一个C程序的执行是从()。

A)本程序的main(A)函数开始,到main()函数结束

B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C)本程序的main()函数开始,到本程序文件的最后一个函数结束

D)本程序文件的第一个函数开始,到本程序main()函数结束

19.以下叙述正确的是(C)。

A)在C程序中,main()函数必须位于程序的最前面

B)C程序的每行中只能写一条语句

C)C语言本身没有输入输出语句

D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误

20.C语言并不是非常严格的算法语言,在以下关于C语言的不严格的叙述中,错误的说法是(A)。

A)大写字母和小写字母的意义相同

B)有些不同类型的变量可以在一个表达式中运算

C)在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型

D)同一个运算符号在不同的场合可以有不同的含义

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

A

D

C

A

A

A

D

C

B

A

C

C

B

C

B

D

C

A

C

A

二、填空

1.C源程序的基本单位是。

函数

2.一个C源程序中至少应包括一个______。

主函数

3.在一个C源程序中,注释部分两侧分界符分别为_______和______。

/**/

4.在C语言中,输入操作是由库函数______完成的,输出操作是由库函数______完成的。

Scanf()printf()

5.C程序执行过程生成的3种文件及扩展名为_______、_____和______。

C,obj,exe

6.C语言中用______来定义短整型变量,用______来定义长整型变量。

Short,intlongint

7.while语句实现循环结构______,do----while语句实现循环结构______。

当型,直到型

8.在TURBOC环境中用RUN命令运行一个C程序时,所运行的程序扩展名是______。

.exe

9.用字符串的形式表示china是______。

“china”

10.已知unsignedintx=65535;则执行printf("%d\n",x%=(y%=2))语句后的输出结果为______。

无定值

11.字符串“ab\034\\\x79”的长度为______。

5

12.在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为______;一个double型数据在内存中所占的字节数为______。

4,8

13.设C语言中,一个int型数据在内存中占两个字节,则int型数据的取值范围为______。

-32768~~~~~+32767

14.若s是int型变量,且s=6,则s%2+(s+1)%2表达式的值为______。

1

15.若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为______,b值为______,c值为______。

6,4,2

16.若有定义:

charc=′\010′;则变量c中包含的字符个数为______。

1个

17.C语言中的标识符只能由3种字符组成,它们是______、______和______。

字母、数字、下划线

18.表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为______。

整型

 

第二章

1.若有定义:

inta=2,b=3;floatx=3.5,y=2.5;则下面表达式的值为()。

(float)(a+b)/2+(int)x%(int)y

A)3.5

B)35

C)3.500000

D)35.00000

2.若有定义:

intx=3,y=2;floata=2.5,b=3.5;则下面表达式的值为()。

(x+y)%2+(int)a/(int)b

A)1.0

B)1

C)2.0

D)2

3.若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为()。

x%=(n%=2)

A)0

B)1

C)2

D)3

4.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()。

A)7

B)8

C)9

D)10

5.设有intx=11;则表达式(x++*1/3)的值是()。

A)3

B)4

C)11

D)12

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

#include

main()

{doubled=3.2;intx,y;

x=1.2;y=(x+3.8)/5.0;

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

A)3

B)3.2

C)0

D)3.07

7.下列程序执行后的输出结果是(小数点后只写一位)()。

#include

main()

{doubled;floatf;longl;inti;

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

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

}

A)666.06.0

B)666.76.7

C)666.06.7

D)666.76.0

8.下列变量定义中合法的是()。

A)short_a=1-.le-1;

B)doubleb=1+5e2.5;

C)longdo=0xfdaL;

D)float2_and=1-e-3;

9.设intx=1,y=1;表达式(!

x||y--)的值是()。

A)0

B)1

C)2

D)-1

10.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()。

A)1

B)2

C)2.0

D)2.5

11.若变量a,i已正确定义,且i已正确赋值,则合法的语句是()。

A)i=int(a)

B)++i;

C)a=a++=5;

D)a=int(i);

12.若执行以下程序段后,c3的值为()。

intc1=1,c2=2,c3;

c3=1.0/c2*c1;

A)0

B)0.5

C)1

D)2

13.如下程序的运行结果是()。

#include

main()

{inty=3,x=3,z=1;

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

}

A)34

B)42

C)43

D)33

14.能正确表示逻辑关系:

“a≥10或a≤0”的C语言表达式是()。

A)a>=10ora<=0

B)a>=0|a<=10

C)a>=10&&a<=0

D)a>=10||a<=0

15.若变量x,y,z均为double类型且已正确赋值,不能正确表示x/y/z的C语言表达式是()。

A)x/y*z

B)x*(1/(y*z))

C)x/y*1/z

D)x/y/z

16.设x,y,t均为int型变量,则执行语句:

x=y=3;t=++x||++y;后,y的值为()。

A)不定值

B)4

C)3

D)1

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

#include

main()

{inta=3;

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

}

A)-6

B)12

C)0

D)-12

18.设a,b,c,d,m,n均为int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()。

A)0

B)1

C)2

D)3

19.假定w,x,y,z,m均为int型变量,有如下程序段:

w=1;x=2;y=3;z=4;

m=(w

w:

x;m=(m

m:

y;m=(m

m:

z;

则该程序运行后,m的值是()。

A)4

B)3

C)2

D)1

20.下述表达式中,()可以正确表示x≤0或x≥1的关系。

A)(x>=1)||(x<0)

B)x>1||x<=0

C)x>=1ORx<=0

D)x>=1||x<=0

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

C

B

A

C

A

C

A

A

B

C

B

A

D

D

A

C

D

C

D

D

二、填空:

1.若a,b和c均是int型变量,则执行表达式a=(b=4)+(c=2)后,a值为______,b值为______,c值为______。

6,4,2

2.若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为______。

-60

3.若a是int型变量,则执行表达式a=25/3%3后a的值为______。

2

4.若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为______,n的值为______。

10,6

5.若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为______。

8.000000

6.若有定义:

inte=1,f=4,g=2;floatm=10.5,n=4.0,k;则执行赋值表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是______。

13.700000

7.表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为______。

int型

8.表达式pow(2.8,sqrt(double(x)))值的数据类型为______。

double型

9.若a是int型变量,则表达式(a=4*5,a*2),a+6的值为______。

26

10.若x和a均是int型变量,则执行表达式x=(a=4,6*2)后x的值为,执行表达式(x=a=4,6*2)后x的值为______。

12,4

11.若有以下定义,则执行表达式y+=y-=m*=y后y的值是______。

-16

intm=5,y=2;

12.已知inty;floatx=-3;,执行语句y=x%2;后,变量y的值为______。

语句错误

13.若intw=1,x=2,y=3,z=4;则条件表达式w>x?

w:

y

y:

z的结果为______。

3

14.已知inta=15,b=240;则表达式(a&b)&b||b的结果为______。

1

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

#include

main()

{intx=10,y=10;

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

}

109

16.表达式8.0*(1/2)的值为______。

0.0

17.表达式3&4的值为______。

表达式3|4的值为______。

表达式3&&4的值为______。

071

第三章

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

#include

main()

{

intx=5,y=3;

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

}

A)0

B)1

C)3

D)不确定的值

2.若变量已正确定义,下面程序段的输出结果是()。

x=5.238794;

printf("%f\n",(int)(x*1000+05)/(float)1000);

A)5.239000

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

C)5.238000

D)5.24

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

#include

main()

{

inta=4;

floatb=9;

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

}

A)a=4,b=9.000000

B)a=%4,b=%9.000000

C)a=%%d,b=%%f

D)a=%d,b=%f

4.下面语句:

printf("|%8.5f|\n",3461.45);

的输出结果是()。

A)|61.45000|

B)|3461.450|

C)|3461.45000|

D)|3461.4500|

5.()是不正确的C语言赋值语句。

A)x=1,y=2;

B)x++;

C)x=y=5;

D)y=int(x);

6.与数学公式|cos(x)|等价的C语言表达式是(),假定其中的x的单位是度数且不考虑π值的精度。

A)sqrt(cos(x))

B)sqrt(abs(cos(x*3.14/180)))

C)sqrt(abs(cos(x*(/180)))

D)sqrt(fabs(cos(x*3.14/180)))

7.下面的程序()。

#include

main()

{

intx=3,y=0,z=0;

if(x=y+z)printf("****");

elseprintf("####");

}

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

B)输出****

C)可以通过编译,但是不能通过连接,因而不能运行

D)输出####

8.执行下面程序中的输出语句后,a的值是()。

#include

main()

{

inta;

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

}

A)65

B)20

C)15

D)10

9.若执行下面的程序时,从键盘上输入3和4,则输出结果是()。

#include

main()

{

inta,b,s;

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

s=a;

if(a

s=s*s;

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

}

A)14

B)16

C)18

D)20

10.以下程序不用第三个变量,实现将两个数进行对调的操作。

请填空()。

#include

main()

{

inta,b;

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

printf("a=%db=%d",a,b);

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

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

}

A)a+b

B)a-b

C)b*a

D)a/b

11.以下程序的输出结果为()。

#include

main()

{

intm=7,n=4;

floata=38.4,b=6.4,x;

x=m/2+n*a/b+1/2;

printf("%f\n",x);

}

A)27.000000

B)27.500000

C)28.000000

D)28.500000

12.若变量都已正确说明,则以下程序段:

a=2;

b=3;

printf(a>b?

"***a=%d";"###b=%d",a,b);

A)没有正确的输出格式控制

B)输出为:

***a=2

C)输出为:

###b=2

D)输出为:

***a=2###b=2

13.若已定义inta=256;,执行语句printf("%x",a);的结果是()。

A)100

B)256

C)ffe

D)ff

14.执行下列程序的结果是()。

#include

main()

{

floatx=3,y;

y=++x*x++;

printf("%f\n",y);

}

A)9.000000

B)16.000000

C)1.000000

D)程序有错误

15.执行下列程序时输入1234567,程序的运行结果为()。

#include

main()

{

intx,y;

scanf("%2d%2ld",&x,&y);

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

}

A)17

B)46

C)15

D)9

16.已知chara;intb;floatc;doubled;则表达式a*b+c-d结果为()型。

A)double

B)int

C)float

D)char

17.若有以下程序段:

inta=1,b=2,c=3;

c=(a++),(b=a+4,a+b);

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

其输出结果是()。

A)2,6,8

B)2,6,1

C)1,5,6

D)1,5,1

18.已知inta,b;用语句scanf("%d%d",&a,&b);输入a,b的值时,不能作为输入数据分隔符的是()。

A),

B)空格

C)回车

D)Tab键

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

A)无输出

B)结果不确定

C)-1

D)1

20.下述程序的输出结果是()。

#include

main()

{printf("%f",2.5+1*7%2/4);

}

A)2.50000

B)2.750000

C)3.375000

D)3.000000

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

B

A

D

C

D

D

D

B

B

B

A

A

A

B

B

A

B

A

D

A

二、填空

1.有如下程序片段:

inta,b,c;

printf("inputa,b,c:

");

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

欲输入a=1,b=2,c=3,正确的输入形式为:

______。

1,2,3

2.下面程序的输出是______。

-200,25i=-200,j=25

i=-200

j=25

#include

main()

{

inti=-200,j=25;

printf("%d,%d",i,j);

printf("i=%d,j=%d\n",i,j);

printf("i=%d\nj=%d\n",i,j);

}

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

156,156,*156,*000156,%06d

#include

main()

{

inta=0234;

printf("%-3d,%-6d,*%-06d,*%06d,%%06d\n",a,a,a,a,a);

}

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

156,156,234,9c,156

#include

main()

{

inta=0234;

printf("%3d,%6d,%6o,%6x,%6u\n",a,a,a,a,a);

}

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

123.123789,123.124,123.12378900

#include

voidmain()

{

doublea=123.123789;

printf("%8.6f,%8.3f,%14.8f\n",a,a,a);

}

6.使用强制转换方法将正整数转换成字符。

本题程序如下:

#include

main()

{

charc;inti;

printf("输入一个正整数(小于255):

");

scanf("%d",&i);

c=(char)i;

printf("%c的ASCII码为%d\n",c,i);

}

本程序的执行结果为______。

97<按回车>

A的ASCII码为97

7.直接使用printf()的格式符输出八进制数和十六进制数。

本题程序如下:

#include

main()

{

inti;

printf("

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

当前位置:首页 > 经管营销 > 经济市场

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

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