C语言程序设计复习与练习.docx

上传人:b****6 文档编号:6451072 上传时间:2023-01-06 格式:DOCX 页数:27 大小:29.85KB
下载 相关 举报
C语言程序设计复习与练习.docx_第1页
第1页 / 共27页
C语言程序设计复习与练习.docx_第2页
第2页 / 共27页
C语言程序设计复习与练习.docx_第3页
第3页 / 共27页
C语言程序设计复习与练习.docx_第4页
第4页 / 共27页
C语言程序设计复习与练习.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

C语言程序设计复习与练习.docx

《C语言程序设计复习与练习.docx》由会员分享,可在线阅读,更多相关《C语言程序设计复习与练习.docx(27页珍藏版)》请在冰豆网上搜索。

C语言程序设计复习与练习.docx

C语言程序设计复习与练习

C语言程序设计复习与练习

2.6同步练习

一、选择题

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

A.intB.a#C.5memD._243

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

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

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

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

A.-37B.32,758C.326D.6.

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

A.‘\t’B.“A”C.67D.A

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

A..123B.1e4C.3.640E-1D.0.35

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

A.a=b=34B.a=34,b=34C.--i;D.m=(int)(x+y);

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

A.0xffB.0X11C.0x1gD.0Xabc

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

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

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

A.0~255B.0~65535C.-32768~32767D.-256~255

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

A.‘\\’B.‘\’’C.‘020’D.‘\0’

11.在C语言中,数字029是一个()。

A.八进制数B.十六进制数C.十进制数D.非法数

12.为求出return语句返回计算100!

的结果,此函数的类型说明应为()。

A.intB.longC.unsignedlongD.选项A、B、C都不对

13.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符()。

A.必须为字母B.必须为下划线

C.必须为字母或下划线D.可以是字母、数字和下划线中任意一种字符

14.若有代数式

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

A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*3

15.若有定义:

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

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

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

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

x%=(n%2)

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

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

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

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

#include

main()

{

doubled=3.2;intx,y;

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

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

}

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

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

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

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

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

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

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

A.i=(int)aB.++i;C.a=a++=5;D.a=int(i);

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

intc1=1,c2=2,c3;

c3=1.0/c2*c1;

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

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

#include

main()

{

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

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

}

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

24.能正确表示逻辑关系“a≥10或a≤0”的C语言表达式是()。

A.a>=10ora<=0B.a>=10|a<=0C.a>=10&&a<=0D.a>=10||a<=0

25.若变量x、y、z均为double类型且已正确赋值,不能正确表示

的C语言表达式是()。

A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z

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

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

A.不定值B.4C.3D.1

27.设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.0B.1C.2D.3

28.假设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:

x;

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

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

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

#include

main()

{

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

if(++a>0||++b>0)

++c;

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

}

A.a=0,b=0,c=0B.a=1,b=1,c=1

C.a=1,b=0,c=1D.a=0,b=1,c=1

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

#include

main()

{

inta=5,b=4,c=6,d;

printf(“%d\n”,d=a>b?

(a>c?

a:

c):

(b));

}

A.5B.4C.6D.不确定

31.在C语言中,如果下面的变量都是int类型,则输出的结果是()。

sum=pad=5;pad=sum++,pad++,++pad;

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

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

#include

main()

{

inti=010,j=10;

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

}

A.11,10B.9,10C.010,9D.10,9

33.已知inti;floatf;,正确的语句是()。

A.(intf)%i;B.int(f)%i;C.int(f%i);D.(int)f%i;

34.已知intj,i=1;,执行语句j=-i++;后,j的值是()。

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

35.已知inta=4,b=5;,则招待表达式a=a>b后,变量a的值为()。

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

36.在C语言中,下列运算符的操作数必须是int类型的运算符是()。

A.%B./C.--D.++

37.判断char类型数据c1是否为大写字母的最简单且正确的表达式为()。

A.‘A’<=c1<=‘Z’B.(c1>=‘A’)&(c1<=‘Z’)

C.(‘A’<=c1)AND(‘Z’>=c1)D.(c1>=‘A’)&&(c1<=‘Z’)

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

intk,a,b;

unsignedlongw=5;

doublex=1.42;

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

A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=a*(a=3)

二、填空题

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

2.用字符串的形式表示china。

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

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

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

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

7.若有定义:

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

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

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

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

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

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

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

14.若有定义intm=5,y=2;,则执行表达式y+=y-=m*=y后y的值是。

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

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

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

3.7同步练习

一、选择题

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

#include

main()

{

intx=5,y=3;

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

}

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

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

x=5.238794;

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

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

C.5.238000D.5.24

3.下面语句:

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

的输出结果是()。

A.|61.45000|B.|3461.450|C.|3461.45000|D.|3461.4500|

4.与数学公式

等价的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)))

5.下面的程序()。

#include

main()

{

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

if(x=y+z)printf(“****”);

elseprintf(“####”);

}

A.有语法错误不能通过编译B.输出****

C.可以通过编译,但是不能通过连接,因而不能运行D.输出####

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

#include

main()

{

inta;

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

}

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

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

请填空()。

#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+bB.a-bC.b*aD.a/b

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

#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.000000B.27.500000C.28.000000D.28.500000

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

a=2;

b=3;

printf(a>b?

“***a=%d”:

“###b=%d”,a,b);

A.没有正确的输出格式控制B.输出为:

***a=2

C.输出为:

###b=2D.输出为:

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

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

A.100B.256C.ffeD.ff

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

#include

main()

{

intx,y;

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

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

}

A.17B.46C.15D.9

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

A.doubleB.intC.floatD.char

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

A.;B.空格C.回车D.【Tab】键

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

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

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

#include

main()

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

}

A.2.500000B.2.750000C.3.375000D.3.000000

16.根据定义和数据的输入方式,输入语句的正确形式为()。

已有定义:

floatfl,f2;

数据的输入方式:

4.52

3.5

A.scanf(“%f,%f”,&fl,&f2);B.scanf(“%f%f”,&fl,&f2);

C.scanf(“%3.2f%2.1f”,&fl,&f2);D.scanf(“%3.2f,%2.1f”,&fl,&f2);

二、填空题

1.下面程序的输出是。

#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);

}

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

本题程序如下:

#include

main()

{

charc;inti;

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

”);

scanf(“%d”,&i);

c=(char)i;

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

}

本程序的执行结果为。

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

本题程序如下:

#include

main()

{

inti;

printf(“输入一个整数:

”);

scanf(“%d”,&i);

printf(“%d(10)<=>%o(8)\n”,i,i);

printf(“%d(10)<=>%x(16)\n”,i,i);

}

输入100的执行结果为和。

4.本题程序如下:

#include

main()

{

inti=560,h,m;

h=i/60;/*计算小时数*/

m=i-60*h;/*计算余下的分钟*/

printf(“%d分钟<=>%d小时%d分钟\n”,i,h,m);

}

本程序的执行结果为。

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

#include

main()

{printf(“*%f,%4.3f*\n”,3.14,3.1415);}

6.已有定义intd=-2;,执行以下语句后的输出结果是。

printf(“*d

(1)=%d*d

(2)=%3d*d(3)=%-3d*\n”,d,d,d);

printf(“*d(4)=%x*d(5)=%6x*d(6)=%-6x*\n”,d,d,d);

7.在scanf()函数调用语句中,可以在格式字符和%号之间加上一个星号,它的作用是;当输入以下数据时:

10203040<回车>,下面语句的执行结果是。

intal,a2,a3;

scanf(“%d%*d%d%d”,&al,&a2,&a3);

printf(“%d%d%d”,al,a2,a3);

8.执行以下程序时,若从第一列开始输入数据,为使变量a=3,b=7,x=8.5,y=71.82,el=’A’,c2=’a’,正确的数据输入形式是。

#include

main()

{

inta,b;floatx,y;charcl,c2;

scanf(“a=%db=%d”,&a,&b);

scanf(“x=%fy=%f”,&x,&y);

scanf(“el=%cc2=%c”,&cl,&c2);

printf(“a=%d,b=%d,x=%f,y=%f,el=%c,c2=%c”,a,b,x,y,cl,c2);

}

4.6同步练习

一、选择题

1.下列程序的运行结果是()。

#include

main()

{inta=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

2.语句printf(“a\bre\’hi\’y\\\bou\n”);的输出结果是()。

A.a\bre\’hi\’y\\bouB.a\bre\’hi\’y\bou

C.re’hi’youD.abre’hi’y\ou

(说明:

‘\b’是退格符)

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

#include

main()

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

switch(x)

{

case0:

b++;

case1:

a++;

case2:

a++;b++;

}

printf(“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.如下程序的输出结果是()。

#include

main()

{floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x<10.0)y=1.0/x;

elsey=1.0;

printf(“%f\n”,y);

}

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

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

#include

main()

{

inta=12,b=5,c=-3;

if(a>b)

if(b<0)c=0;

elsec++;

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

}

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

6.阅读以下程序:

#include

main()

{intx;

scanf(“%d”,&x);

if(x--<5)printf(“%d”,x);

elseprintf(“%d”,x++);

}

程序运行后,如果从键盘输入5,则输出结果是()。

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

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

#include

main()

{inta=15,b=21,m=0;

switch(a%3)

{case0:

m++;break;

case1:

m++;

switch(b%2)

{default:

m++;

case0:

m++;break;

}

}

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

}

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

8.下面的程序()。

#include

main()

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

if(x=y+z)printf(“****”);

elseprintf(“####”);

}

A.有语法错误不能通过编译B.输出****

C.可以通过编译,但是不能通过连接,因而不能运行D.输出####

9.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()。

#include

main()

{intx;

scanf(“%d”,&x);

if(x++>5)printf(“%d”,x);

elseprintf(“%d\n”,x--);

}

A.7和5B.6和3C.7和4D.6和4

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

#include

main()

{inta=-1,b=4,k;

k=(++a<0)&&!

(b--<=0);

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

}

A.104B.103C.003D.004

11.能正确表示a≥10或a≤0的关系表达式是()。

A.a>=10ora<=0B.a>=10|a<=0

C.a>=l0&&a<=0D.a>=10||a<=0

12.假定所有变量均已正确说明,下列程序段运行后x的值是()。

a=b=c=0;x=35;

if(!

a)x--;

elseif(b);

if(c)x=3;

elsex=4;

A.34B.4

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

当前位置:首页 > 表格模板 > 合同协议

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

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