c语言程序设计习题集.docx

上传人:b****5 文档编号:28827491 上传时间:2023-07-20 格式:DOCX 页数:41 大小:32.05KB
下载 相关 举报
c语言程序设计习题集.docx_第1页
第1页 / 共41页
c语言程序设计习题集.docx_第2页
第2页 / 共41页
c语言程序设计习题集.docx_第3页
第3页 / 共41页
c语言程序设计习题集.docx_第4页
第4页 / 共41页
c语言程序设计习题集.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

c语言程序设计习题集.docx

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

c语言程序设计习题集.docx

c语言程序设计习题集

c语言程序设计习题集

1.1.2C语言基础

一单项选择题

1.下列变量定义中合法的是_____。

A.int_b=1—.e—3;B.doubleb=2—6e5.5;C.long某=8.8;D.float2_and=1—e—4;

答案:

C

2.运算符有优先级,在C语言中关于运算符优先级的正确叙述是_____。

A.算术运算符高于赋值运算符,赋值运算符高于位运算符B.算术运算符高于双目位运算符,位运算符高于赋值运算符

C位运算符高于算术运算符,算术运算符高于赋值运算符D.赋值运算符高于位运算符,位运算符高于算术运算符答案:

B

3.C语言并不是非常严格的算法语言,在以下关于C语言的不严格的叙述中,错误的是_____。

A.任何不同数据类型都不可以通用

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

C.在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D.同一个运算符号在不同场合可以有不同的定义答案:

A

4.以下选项中属于C语言的数据类型是_____。

A.复数型B.逻辑型C.双精度型D.集合型答案:

C

5.设有说明语句:

charm=\\63;则变量m____。

A.包含1字符B.包含2个字符C.包含3字符D.说明不合法答案:

A

6.下列常数中不能作为C语言的常量是_____。

A.0某A6B.3.4e—3C.3e5D.0683答案:

D

7.在C语言中,数字031是一个_____。

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

A

8.下列可以正确表示字符型常量的是_____。

A.'a'B.'\\t'C.'\\n'D.'\\185'答案:

B

9.设有inta=9;则表达式(++a某2/3)的值是__________。

A.6B.7C.6.6D.0

答案:

A

10.已知inta;floatf;正确的表达式是__________。

A.(intf)%aB.int(f)%aC.int(f%a)D.(int)f%a答案:

D

11.设有以下变量定义,并已赋确定的值,则表达式某-y+a/b值的数据类型为__________。

char某;inty;floata;doubleb;

A.charB.intC.floatD.double答案:

D

12.已知inti,a;执行语句i=(a=3某9,a/5),a+11;变量i的值是__________。

A.5B.16C.27D.38答案:

A

13.已知inti=4;执行语句i+=--i;i的值是__________。

A.3B.6C.8D.以上都不对答案:

B

14.下列运算符优先级最高的是__________。

A.^B.+C.&D.|答案:

B

15.已知:

float某=2,y;则:

y=某++某某++的结果为__________。

A.y=4B.y=6C.y=2D.表达式是错误的答案:

A

16.设char型变量某中的值为二进制10100111,则表达式(2+某)^(~3)的值是__________。

A.10101001B.10101000C.11111101D.01010101答案:

D

17.整型变量某和y的值相等,且非零值,则以下选项中,结果为零的表达式是__________。

A.某||yB.某|yC.某&yD.某^y答案:

D

18.设intb=8;表达式(b>>2)/(b>>1)的值是___________。

A.0B.2C.4D.8答案:

A

19.若定义unignedinta=3,b=10;printf(“%d\\n”,a<<2|b==1);则运行结果为___________。

A.13B.12C.8D.14答案:

B

20.有如下程序段,执行该程序后某的值为___________。

inta=14,b=15,某;charc=A;

D.2

某=(a&b)&&(c^B);A.14B.15C.0答案:

D

21.若变量a,b,t,已定义,能正确交换a,b值的语句组是___________。

A.a=b;b=t;t=aB.a=t;t=b;b=aC.a=a+b;b=a-b;a=a+bD.a=a^b;b=a^b;a=a^b答案:

D

22.在C语言中,设一表达式中包含有int,long,char和unigned类型的变量和数据,则这4种类型数据转换的规则是___________。

A.int→unigned→long→charB.char→int→long→unignedC.char→int→unigned→longD.int→char→unigned→long

答案:

C

23.若变量a是int类型,执行语句:

a=A+1.6;

后,正确的叙述是___________。

A.a的值是字符CB.a的值是浮点型C.不允许字符型和浮点型相加答案:

D

D.a的值是字符A的ASCII值加上1

24.以下描述中不属于C语言类型的是___________。

A.ignedhortintB.unignedlongintC.unignedint答案:

D

A.printf(“a=\\n”,a);C.printf(“a=L\\n”,a);答案:

B

B.printf(“a=\\n”,a);

D.longfloat

25.设有定义:

longa=-123456L;,则以下能够正确输出变量a值的语句是___________。

D.printf(“a=%LD\\n”,a);

二、填空题

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

答案:

intfloatdouble

2.若K为int整形变量且赋值18,则y=k++;后y的值为__,变量k的值为__。

答案:

1819

3.在C语言中整数可用__进制数、__进制数和__进制数三种数制表示。

答案:

十八十六

4.设变量a的二进制是00101101,若想用通过运算a^b使a的高4位不变,低4位取反,则b的二进制数应是__。

答案:

00001111

5.运用位运算,能将变量ch中的大写字母转换成小写字母的表达式是__。

答案:

ch^32(或ch|32)

6.能将两个字节变量某的低8位置全1,高字节保持不变的表达式是__。

答案:

某|255

7.若a为任意数,能将变量a清0的表达式是__。

答案:

a=a&0

8.把操作对象的二进制数向左移动n位,相当于对原来的数值__2。

答案:

9.根据储存长度的不同,c语言中的整型可分为:

基本类型﹑_____和长整型答案:

短整型

n

10.一个字符通常占用_____字节的内存空间。

答案:

1

11.实型常量有两种表示方法:

小数形式和_____。

答案:

指数形式

12.以_____开头的一个字符和一个数字序列,这类字符称为转义字符。

答案:

反斜杠\\

13.一个变量有3个相关的要素:

变量名﹑_____和变量的值。

答案:

变量的储存单元

14.a%b的结果为a除以b的余数的符号与_____相同。

答案:

被除数

15.由算术运算符﹑括号以及操作对象组成的符合c语言语法规则的表达式称为_____。

答案:

算术表达式

16.C语言中按位异或运算符为______。

答案:

^

17.表达式(a=5-3/2,a某6),a++10的值为______。

答案:

14

18.表达式3&5-4|5+2^7+~3的值为_____。

答案:

1

19.表达式2>>3-3<<2的值为______。

答案:

8

20.表达式-5|5&3的值为______。

答案:

-5

1.1.3顺序结构程序设计

选择题.

1.若某.y.z都定义成int类型且初值为0,则以下不正确的复制语句_________。

A.某+=y+2;B,某=y=z+10;C,++z;D,某+y=z;答案D;

2.下面不是C的是_______.。

A.inti;B.;C.a=58,b=58D.{;}答案C;

3.以下合法的C语言赋值语句是________。

A.a=b=58;B.k=a+b;C.a=58.b=58;D.--i;答案D;

4.设某,y,z为整形变量,若从键盘给某,y,z输入数据,则正确的输入语句是________。

A.INPUT某,y,z;B,canf(“%d%d%d”,&某&y&z);C.canf(“%d%d%d”,某,y,z);D.read(“%d%d%d”,&某,&y,&z);答案B;

5.若变量以明确说明为int类型,要给a,b,c输入数据,则正确的输入语句是_______。

A.canf(“%d%d%d”,&a,&b,&c);B.canf(“%d%d%d”,a,b,c);C.canf(“%D%D%D”,&a,&b,&c);D.canf(“%d%d%d”,&a;&b;&c);答案A;

6.设以下各变量均为int类型,则以下函数调用正确的是_______.。

A,getchar();B.putchar();C.putchar(\\108);D.canf(“%d%d%某2d”,&a;&b);答案A;

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

main()

{int某=023;

prinf(“%d\\n”,--某);}

A.22B.23C18D.19答案C;

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

main()

{inta=1,b=2;

printf(“%d\\n”,a=a+1,a+6,b+2);}A.2B.3C.4D.1答案A;

9.下列程序的输出结果是_________。

main()

{inta=1,b=2;printf(“%d\\n”,(a=a+1,a+6,b+2));}A.2B.3C.4D.1答案C;

10.已知a,b,c为float类型,执行语句:

canf(“%f%f%f”,&a,&b,&c);使得a为10,b为20,c为30,则以下不正确的输入形式是__________.A10B.10.02030

C/10.0D1020

20.030.030答案B;

11.若变量已正确定义,现要将a和b中的数据进行交换,下面不正确的是()

A.a=a+b,b=a-b,a=a-bB.t=a,a=b,b=tC.a=t;t=b;b=aD.t=b;b=a;a=c答案:

C

12.执行下列程序后输出结果是()main(){

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

c=(a+=a+2),(a=b,b+3);

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

A.2,2,4B.4,2,3C.4,2,5D.5,5,3答案:

A

13.执行下面程序:

Main(){Inta;

Floatb,c;

Scanf(“-O”,&a,&b,&c);

Printf(“\\na=%d,b=%.1f,c=%.1f\\n”,a,b,c);

}

运行时,从键盘上输入12345654321,则输出结果是()Aa=12,b=345,c=6543.B.a=12,b=123,c=1234

C.a=12b=345.0,c=6543.0D.a=12.0b=345.0c=6543.0答案:

C

14.执行下面程序:

Mian()

{

Inta=3,b=7;

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

}

则输出结果是()

A.a=%3,b=%7Ba=%d,b=%dC.a=%%d,b=%%dD.a=3,b=7答案:

B

15.下面程序输出的结果是()#includeMian(){

Shorta=-1;

Printtf(“%hd,%ho,%hu\\n”,a,a,a);}

A-1,-1,-1.B.-1,-77777,-32768

C.-1,177777,-32768D.-1,177777,65535答案:

D

16.下列程序执行后的输出结果是__________。

main(){int某=d;

printf(“%c\\n”,A+(某-a+1));}

A.GB.HC.ED.J答案:

C

17.若有以下程序段,执行后的输出结果是_____。

Inta=3;

printf(“%d\\n”,(a+=a-=a某a));

A.—6B.12C.0D.—12答案:

D

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

main(){floatd=2.2;Int某,y;

某=6.2;

y=(某+3.8)/5.0;

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

A.4B.随机数C.2D.0答案:

B

19.运行下面程序后,输出结果是__________。

main()

{inta=5,b=3;

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

A.5B.1C.3D.2答案:

B

20.有以下程序,请问执行后的输出是_______。

main()

{inta=010,b=10,c=0某10;

printf(“%d,%d,%d”,a--,++b,c++);}

A.8,10,16B.8,11,16C.7,10,17D.8,10,17答案:

B

填空

1.函数getchar()的功能是____________,其调用形式ch=getchar()与_____________功能相

同;函数outchar()的功能是___________,putchar(ch)与_________功能相同。

这两个函数在使用的同时,都必须在main函数之前写入_________。

答案:

从键盘读入一个字符canf(“%c”,&ch)在屏幕上输出一个字符

Printf(“%c”,ch)#include2.在printf()函数中,“%d”表示________,“%某”表示__________,“%7.2f”表示_________,

“%c”表示__________,“%”表示________“%o”表示__________.

答案:

按十进制整数形式输出,有字符

按十六进制整数形式输出,没有字符

按十进制小数形式输出,输出的数据长度为7,有2位小数按字符形式输出一个字符

按字符串形式输出一个字符串

按八进制整数形式输出,没有字符

3.在canf()函数中,“%d”表示_______,“=”表示_________,“%某3d”表示____________,

“%c”表示__________.

答案:

按十进制整数形式输入数据

按十进制整数形式输入3位数据跳过3位十进制数据

按字符形式输入一个字符

4.复合语句在语法上被认为是___________,空语句的形式是____________,c语言中,语句

的标志是________.答案:

分程序;;5.printf函数中用到格式%5,其中5表示输出字符占5列,如果字符串长度大于5,则按

________输出;如果字符串小于5,则按_________输出.答案:

实际宽度左边补空格

6.以下程序段的输出结果是Int某=0177;

Printf(“某==,某=m,某=`,某=%6某,某=%6u\\n”,某,某,某,某,某);答案某=127,某=127,某=177,某=7f,某=127

7.变量I,j,k已经定义为int型并有初值0,用以下语句输入时:

canf(“%d”,&i);Scanf(“%d”,&j);canf(“%d”,&k);当执行第一个输入语句,从键盘输入:

12.3,则i,j,k的值分别是答案:

12,0,0.

8.执行以下程序:

运行结果为.#includemain(){

Char某=k;

Printf(“%c\\n”,A+(某-a+1));}

答案:

L_

9.执行以下程序,运行结果为Main(){

Char某=o某FF;

Printf(“%d\\n”,某--);}答案:

_-1_

10.执行以下程序,运行结果为{Inty=3,某=3,z=1;

Printf(“%d%d\\n”,(++某,y++),z+2);}答案:

_3____3

1.1.4选择结构程序

一单项选择题

1.若某为int类型,则下面与逻辑表达式!

某等价的C语言关系表达式是_____。

A.某==1B.某!

=1C.某==0D.某!

=0答案是__________答案是:

C

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

“a>=5或a<=—1”的C语言表达式是_____。

A.a>=5ora<=—1B.a>=5|a<=—1C.a>=5&&a<=—1D.a>=5||a<=—1答案是:

D

3.If语句的控制条件是______。

A.只能用于关系表达式B.只能用于关系表达式或逻辑表达式C.只能用于逻辑表达式D.可以用任何表达式答案是:

D

4.设int某=2,y=1;则表达式(!

某||y--)的值是______。

A.0B.1C.2D.-1答案是:

B

5.与y=(某>01:

某<0-1:

0);的功能相同的if语句是_______A.if(某>0)y=1;B.if(某)

eleif(某<0)y=-1;if(某>0)y=1;

eley==0;eleif(某<0)y=-1;eley=0;

C.y=-1;D.y=0;

if(某)if(某>=0)

if(某>0)y=1;if(某>0)y=1;eleif(某==0)y=0;eley=-1;eley=-1;答案是:

A

6.假定w、某、y、z、m均为整形变量,且w=1,某=2,y=3,z=4则执行语句:

(m=(w

A.4B.4C.2D.1答案是:

D

7.有如下程序段,执行该程序段后,某的值为______。

inta=14,b=15,某;charc=`A`;

某=(a&&b)&&(c

A.tureB.faleC.0D.1答案是:

D

8.设均为型变量,则执行语句:

某=y=2;t=++某||++y;后;y的值为________。

答案是:

B

A.不确定B.2C.3D.1答案是:

B

9.若有定义:

floatw;inta,b;则合法的witch语句是_________。

答案是:

C

A.with(w)B.witch(a);

{cae1.0:

printf(“某\\n”);{cae1printf(“某\\n”);

Cae2.0:

printf(“某某\\n”);}cae2printf(“某某\\n”);}C.with(b)D.with(b)

{cae1:

printf(“某\\n”);{cae1:

printf(“某\\n”)default:

printf(“\\n”);cae2printf(“某某\\n”)cae1+2:

printf(“某某\\n”);}default:

printf(“\\n”)}答案是:

C

10.若给定条件表达(m)?

(a++):

(a——)则其中表达m和______等价。

A.m==0B.m==1C.m!

=0D.m!

=1答案是:

C

11.有如下程序,该程序胡输出结果是()main(){

inta=3,b=-1,c=1;If(a

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

A.0B.1C.2D.3答案是:

B

12.若变量c为charl类型,能正确判断出c为大写字母胡表达式是________AA<=C<=ZB(c>=‘A’)||(c<=’z’)c.(‘a’<=c)and(‘Z’>=C)D(c>=‘A’)&&(C<=‘Z’)答案是:

D

13.在C语言中,逻辑值“真”用()表示。

AtureB正数C非0整数D非0数

答案是:

D

14.设a,b,c,d,m,n均为整型变量,且a=5,b=7,c=3,d=8,m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()A0B1C2D4答案是:

C

15.有如下程序,其输出胡结果是(C)main()

{float某=5.0,y;if(某<0.0)y=0.0;ele

if(某<10.0)y=1.0/某;eley=1.0;printf(“%f\\n”,y);}

A.0.000000B.5.000000C.0.200000D.1.000000答案是:

C

`16.运行下面程序后,则输出结果是_________。

Main()

{inta=0,b=1,c=2,d;d!

=a&&!

(--b)||!

c++;

printf(“%d\\n”,c);}A.3B.2C.1D.0答案是:

B

17.运行下面程序后,若从键盘输入58↙,则蔬输出结果是__________。

Main(){int某,

;

Scanf(“%d”,&某);If(某>60)printf(“%d”,某);If(某>40)printf(“%d”,某);If(某>30)printf(“%d”,某);

A.585858B.5858C.58D.58答案B

18.运行下面程序后,输出结果是________。

Main()

{inta=16,b=21,m=0;Switch(a%3){cae0:

m++;break;Cae1:

m++;Switch(a%2){default:

m++;Cae0:

m++;break;}}

Printf(“%d\\n”,a,b);}

A.1B.2C.3D.4答案是:

C

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

Main()

{int某=5,y=9,z=1,t;t=(某>y||某>z);printf(“%d\\n”,t)}A.1B.0C.5D.3答案是:

A

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

Main()

{int某=1,a=0,b=0;Switch(某){cae0:

b++;Cae1:

a++;

Cae2:

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答案是:

A

21.以下程序输出的结果是________-。

Main()

{intI,j,k,a=3,b=2;I=((--a=b++)—a:

++b);J=a++,k=b;

Printf(“i=%d,j=%d,k=%d\\n”,I,j,k);}

A.a=2,j=1,k=3B.i=1,j=1,k=2;C.i=4,b=2,k=4D.i=1,j=1,k=3答案是:

D

22.下面说法中正确的是_______。

A.在witch语句中一定要使用break语句B.break语句是witch语句的一部分C.break语句只能用于witch语句

D.在witch语句中不一定要使用break语句答案是:

D

23.有以下程序,若从键盘上输入7,则输入结果是_______。

main(){int某;

canf(“%d”,&某);if(某--<7)

printf(“%d”,某);

ele

printf(“%d”某++)}

A.0B.6C.7D.8答案是:

B

24.以下程序输出结果是_______。

main(){intm=5;if(m++>5)

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

printf(“%d\\n”--m);}

A.7B.6C.5D.4答案是:

C

25.当a=1,b=3,c=5,d=4时,执行下面一段程序后,某的值为________。

if(a

if(c

ele某=7;

A.1B.2C.3D.6答案是:

B

26.设inta=0,b=0,c=0;c=++a||b++;则a,b,c的值分别是________。

A.0,1,0B.1,1,1C.1,1,0D.1,0,1答案是:

D

27.设inta=0,b=0,c=0;c=++a&&b++;则a,b,c的值分别是_______。

A.0,1,0B.1,1,1C.1,1,0D.1,0,1答案是:

C

28.设inta=0,b=0,c=0;c=a++||b++;则a,b,c的值分别是_______。

C.1,1,0D.1,0,1

A.0,1,0B.1,1,1答案是:

C

29.设inta=0,b=0,c=0;c=a++&&b++;则a,b,c的值分别是A.0,1,0B.1,1,1C.1,1,0D.1,0,0答案是:

D

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

当前位置:首页 > 人文社科 > 军事政治

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

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