C语言补充练习题.docx

上传人:b****5 文档编号:3838152 上传时间:2022-11-25 格式:DOCX 页数:66 大小:52.21KB
下载 相关 举报
C语言补充练习题.docx_第1页
第1页 / 共66页
C语言补充练习题.docx_第2页
第2页 / 共66页
C语言补充练习题.docx_第3页
第3页 / 共66页
C语言补充练习题.docx_第4页
第4页 / 共66页
C语言补充练习题.docx_第5页
第5页 / 共66页
点击查看更多>>
下载资源
资源描述

C语言补充练习题.docx

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

C语言补充练习题.docx

C语言补充练习题

第一、二章C语言概述及数据和运算

一、单项选择题

1.以下关于C语言的特点,正确的是。

A.表达能力强且灵活;

B.可移植性好;

C.提供了丰富的数据类型,允许程序员定义各种类型的变量指针和函数指针;

D.以上答案都对。

2.”a”在内存中占字节。

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

3.’A’+10的结果是。

A.’K’B.”K”C.’J’D.”J”

4.a=b+=c+5,若b=1,c=2,则a的值是。

A.1B.7C.8D.出错

5.下列合法的变量名是。

A.123B.nextC.intD.*x

6.C源程序的基本单位是:

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

7.字符型数据在微机内存中的存储形式是:

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

8.用C语言编制的源程序要变为目标程序,必须经过:

A.汇编B.解释C.编辑D.编译

9.请选出可作为C语言用户标识符的一组标识符:

A.voidB.a3_b3C.ForD.Za

define_123_abcDO

WORDIFcasesizeof

10.设有语句chara=’\73’;则变量a:

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

11.以下选项中正确的整型常量是:

A.12.B.-20C.1,000D.456

12若变量已正确定义并赋值,不符合C语言语法的表达式是:

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

13.以下选项中不合法的用户标识符是

A.abc.cB.fileC.MainD.PRINTF

14.以下选项中正确的实型常量是

A.0B.3.1415C.0.329102D..871

15.TURBOC中int类型变量所占字节数是:

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

16.下列说法不正确的是___________

A.C程序由若干个源文件组成,一个源文件由若干个函数组成。

B.#include和#define不是C语句。

C.APH和aph是两个不同的变量。

D.当输入数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。

17.scanf()函数的地址表列是用符号加上变量名表示变量的地址。

A.%B.&C.#D.!

18.指出下面不正确的赋值语句是

A.a++;B.a==b;C.a+=b;D.a=1,b=1;

19.指出下面正确的输入语句是.

A.scanf(“a=b=%d”,&a,&b);B.scanf(“a=%d,b=%f”,&m,&f);

C.scanf(“%3c”,c);D.scanf(“%5.2f”,&f);

20.执行scanf(“%d%c%f”,&a,&b,&c)语句,若输入1234a12f56则变量a,b,c的值为.

A.a=1234b=’a’c=12.56B.a=1b=’2’c=341256

C.a=1234b=’a’c=12.0D.a=1234b=’a12’c=56.0

21.执行scanf(“a=%d,b=%d”,&a,&b)语句,若要使变量a和b的值分别为3和4,则正确的输入方法为.

A.3,4B.a:

3b:

4C.a=3,b=4D.34

22.设b=1234,执行printf(“%%d@%d”,b)语句,输出结果为:

.

A.1234B.%1234C.%%d@1234D.%d@1234

23.下列程序的执行结果是.

main()

{charch=’a’;

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

printf(“%2c\n”,ch);

printf(“%3c\n”,ch);

}

供选择的答案是:

A.aB.caC.aD.a

a2caaaa

a3caaaaa

24.下列程序的执行结果是.

#include

main()

{inta=5;

floatx=3.14;

a*=x*(‘E’-‘A’);

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

}

供选择的答案是:

A.62.800000B.62C.62.000000D.63.000000

25.若输入2.50,下列程序的执行结果是__________

main()

{floatr,area;

scanf(“%5.2f”,&r);

printf(“area=%f\n”,area=1/2*r*r);

}

A.0B.3.125C.3.13D.程序有错

26.下列程序的执行结果是__________

main()

{inta=b=c=0;

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

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

}

A5,0,-10B.0,0,5C.–10,5,-10D.5,0,5

27.若x是int型变量,y是float型变量,所用scanf语句为scanf(“x=%d,y=%f”,&x,&y);

正确的输入操作是。

A.x=10,y=66.6<回车>B.1066.6<回车>

C.10<回车>66.6<回车>D.x=10<回车>y=66.6<回车>

28.设a,b均是int型变量,则以下不正确的函数调用为。

A.getchar()B.putchar(‘\108’);

C.scanf(“%d,%2d”,&a,&b);D.putchar(‘\’);

二、填空题

1.一个C源程序是由若干个函数构成,其中必须有一个是函数。

2.286用C语言八进制表示是。

3.21300用C语言十六进制表示是。

4.若x=2.5,a=7,y=4.7,则x+a%3*(int)(x+y)%2/4的值是。

5.C语言规定对所用到的变量要。

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

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

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

8.将c中的小写字母转换成大写字母的表达式是。

9.将c中的数字字符码转换成对应的数字,可采用的方法是c=。

10.若a=3,b=3,x=3.5,y=2.5,则(float)(a+b)/2+(int)x%(int)y的值是。

11.表达式3.5+1/2的计算结果是:

12.若k为int整型变量且赋值11。

请写出运算k++后表达式得值a)和变量的值b)

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

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

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

16.C语言的语句分为语句和语句两大类。

17.下列语句被执行后的执行结果是。

inta=1;

printf(“%d\\%s\\%s”,a,”abc”,”def”);

18.getchar()函数的作用是。

19.执行下列语句后,用户输入123456abc,则a的值为,b的值为,

c的值为。

main()

{inta,b;

charc;

scanf(“%3d%2d%3c”,&a,&b,&c)

}

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

#include

main()

{inti=10;

{/*inti=20;*/

i++;

printf(“%d”,i++);

}

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

}

21.程序的三种基本结构是、、。

22.下面程序运行后,从键盘输入30,则程序的输出结果是。

main()

{inta;

scanf(”%d”,&a);

a++;

printf(“a=%d,Ha=%x,Oa=%o”,a,a,a);

}

23.执行(a=3.0+5,a*4),a+=-6;变量a及表达式的值分别为________________

24.数学表达式的C语言表达式为_______________________

25.若变量已经定义,要将a与b中的数进行交换,正确的语句组是_____________________________________________

三、判断题:

1.C源程序是由多个函数组成的,程序的执行是按书写顺序进行的。

()

2.一个C程序可以由一个文件组成,也可由若干文件组成。

()

3.C语言中,非0值作为true,0作为false;若表达式取得true值时,结果为1,取得false值时,为0。

()

4.为了确保表达式n/2的值为float型,可写成float(n/2)。

()

5.若有(float)x,则x变成float型变量。

()

6.若a=3,b=4,c=5,则d=!

(a%b)的值是0。

()

7.变量xx和XX是一样的。

()

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

()

9.a是实型变量,进行赋值a=10,因此实型变量中允许存放整型值()

10.在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式()

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

12.C程序由函数组成()

13.有a=3,b=5。

执行a=b,b=a后,已使a的值为5,b的值为3。

()

14.getchar()和scanf()均为输入函数,它们之间可通用,没有任何区别。

()

15.执行语句scanf(”%6.3f“,&a)后,输入123456可使a的值为123.456。

()

16.putchar()函数的作用是输出一串字符。

()

17.使用scanf()函数,在输入数据时,若遇非法输入则认为该数据输入结束。

()

18.在C中所用的变量必须先说明后使用()

19.在C程序中,运算符%仅能用于整型数的运算()

20.#include和#define不是C语句()

21.C程序的每一行结束都有一个”;”()

22.APH与aph分别表示不同的变量()

四、程序阅读题:

1.程序:

main()

{inta,b=68;

a=-3;

printf(“\ta=%d\n\tb=\’%c\’\n\”end\”\n”,a,b);

}

该程序的运行结果是:

2.程序:

main()

{inti,j;floata,b;charc;longm,n;

i=5;j=-3;

a=25.5;b=3.0;

m=a/b;n=m+i/j;

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

}

该程序运行的结果是:

3.程序:

#include

#include

main()

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

floatx=10.5,y=4.0,z;

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

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

}

该程序运行的结果是:

4.程序#include

main()

{intx;

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

x=3+4%5-6;printf(“%d,\t”,x);

x=(7+6)%5%2;printf(“%d,\n”,x);

}

该程序运行的结果是:

5.下面程序运行后,若输入a=2,b=3结果是

main()

{floata,b,x1,x2;

scanf(“a=%f,b=%f“,&a,&b);

x1=a*b;

x2=a/b;

printf(“x1=%5.2f\nx2=%5.2f\n”,x1,x2);

}

6.下面程序运行结果是(已知‘A’的ASCII码为65)

#include

main()

{chard=’C’;

intc=68;

putchar(d);

putchar(c);

}

7.下面程序运行结果是

main()

{printf(“\ta\n”);

printf(“\t\b\’b\’\n”);

printf(“\t\b\\c\\\n”);

}

8.下面程序运行结果是

#include“stdio.h”

main()

{intm=7,n=4;

floata=38.4,b=6.4,x;

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

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

}

五、程序填空题

1.以下程序的功能是根据所输入半径值求圆面积,并输出面积值,请将程序补上必要的语句:

#define________________

main()

{floatr,s;

printf(“enteranumber_r:

”);

;

;

;

}

2.若输入10,20,30则程序的执行结果是20,30,10请填充程序。

#include“stdio.h”

main()

{inta,b,c;______________;

_________________;

_________;a=b;b=c;__________;

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

}

3.以下程序不借助任何变量进行a与b的交换

#include“stdio.h”

main()

{inta,b;

printf(“Ïnputaandb”);

scanf(“%d,%d”,___________);

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

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

}

第三章流程控制

一、单项选择题:

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

main()

{intx;

scanf(“%d”,&x);

if(x++>5)

printf(“%d”,x);

else

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

}

2.设a为整型变量,不能正确表达数学关系:

10

A.10

C.a>10&&a<15D.!

(a<=10)&&!

(a>=15)

3.在以下一组运算符中,优先级最高的是。

A.<=B.=C.%D.&&

4.设a,b,c都是int型变量,且a=3,b=4,c=5,则下面表达式中,值为0的表达式是。

A.’a’&&’b’B.a<=bC.c||+c&&b-cD.!

((a

c||1)

5.在C语言的if语句中,用作判断的表达式为。

A.关系表达式B.逻辑表达式C.算术表达式D.任意表达式

6.在以下运算符中,优先级最高的运算符是。

A.<=B./C.!

=D.&&

7.假设所有变量均为整型,表达式(a=2,b=5,a>b?

a++:

b++,a+b)的值是:

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

8.在C语言中,能代表逻辑值"真"的是。

A.trueB.大于0的数C.非0整数D.非0的数

9.在以下运算符中,优先级最高的运算符是。

A.!

B.=C.+D.||

10.逻辑运算符两侧运算对象的数据类型。

A.只能是0或1B.只能是0或非0正数

C.只能是整型或字符型数据D.可以是任何类型的数据

11.当执行以下程序段时,供选择的答案是___________。

x=-1;do{x=x*x;}while(!

x);

A.循环体将执行一次B.循环体将执行两次

C.循环体将执行无限次D.系统提示有语法错误

12.执行语句:

for(i=1;i++<4;);后,变量i的值,供选择的答案是___________。

A.3B.4C.5D.不定

13.以下for循环是:

for(x=0,y=0;(y!

=123)&&(x<4);x++);

A.无限循环B.循环次数不变C.执行4次D.执行3次

14.若i,j已定义为int类型,则以下程序段中

for(i=5;i;i--)

for(j=0;j<4;j++){…}

内循环体的总的执行次数,供选择的答案是___________。

A.20B.24C.25D.30

15.执行下列程序段后,变量i的正确结果,供选择的答案是___________。

inti=10,j=0;

do{switch(i)

{case9:

i++;

case10:

i++;

case11:

i++;

defaut:

i++;

}

}while(j);

A.10B.11C.12D.13

16.若a,b均为int型变量,且a=100,则关于循环语句

for(b=100;a!

=b;++a,b++)printf(“---“);

的正确说法,供选择的答案是___________。

A.循环体只执行一次,B.是死循环,

C.循环体一次也不执行,D.输出---.

17.以下不正确的描述,供选择的答案是___________。

A.用while和do-while循环时,循环变量初绐化的操作应在循环语句之前完成;

B.while循环是先判断表达式,后执行循环语句;

C.do-while和for循环均是先执行循环体语句,后判断表达式;

D.for,while和do-while循环中的循环体均可以由空语句构成.

18.C语言中while和do-while循环的主要区别是

A.do-while的循环体至少无条件循环一次.

B.while的循环控制条件比do-while严格.

C.do-while允许从外部转到循环体内.

D.do-while的循环体不能是复合语句.

19.在下列选项中,没有构成死循环的程序段,供选择的答案是___________。

A.inti=100;B.for(;;);

while

(1)

{i=i%100+1;

if(i>100)break;

}

C.intk=1000;D.ints=36;

do{++k;}while(k>=10000);while(s);--s;

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

#include“stdio.h”

main()

{inti;

for(i=1;i<=5;i++)

{if(i%2)printf(“*”);

elsecontinue;

printf(“#”);

}

printf(“$\n”);

}

A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$

21.以下程序执行次

#include“stdio.h”

#defineN2

#defineMN+1

#defineNUM(M+1)*M/2

main()

{inti,n=0;

for(i=1;i<=NUM;i++){n++;printf(“%d”,n);}

printf(“\n”);

}

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

二、填空题:

1.表示条件:

10

2.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为。

3.为表示关系xyz,应使用C语言表达式是。

4.表达式:

10!

=9的值是。

5.能正确表示a10或a0的关系表达式是。

6.若已知a=10,b=20,则表达式!

a

7.为了避免嵌套的条件语句if-else的二义性,C语言规定:

else与匹配。

8.C语言用表示逻辑“真”值。

9.当a=3,b=2,c=1时,表达式f=a>b>c的值是。

10.设y为int型变量,请写出描述“y是奇数”的表达式。

11.设x,y,z为int型变量,请写出描述“x或y中有一个小于z”的表达式。

12.已知a=7.5,b=2,c=3.6,表达式a>b&&c>a||a

c>b的值是。

13.while(x)表示while(x)。

14.break语句表示。

15.while

(1){…}表示。

16.执行for(i=1,s=0;i<=100;i++){s+=i;}后,s的值为。

17.程序:

i=1;s=0;

do{s=s+i;

i++;}while(i<=100);

用for语句改写上面的程序段为。

18.程序段:

for(i=1;i<=2;i++)

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

if(x>y){t=x;x=y;y=-t;}

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

}

执行该程序段时,若键盘输入5,4回车及1,2回车,则输出结果为。

19.执行下列语句:

for(i=1,s=0;i<=2;i++)

for(j=1;j<=3;j++)

{s=s+i+j;}

后,s的值为。

20.执行下列语句:

scanf(“%c”,&ch);

while(ch!

=’#’)

{printf(“%c”,ch+1);scanf(“%c”,&ch);}

要使得输出结果为cdef,则输入为。

21.以下程序当键盘输入12345-1<回车>时,运行结果是:

#include“stdio.h”

main()

{intk=0,n;

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

当前位置:首页 > 工程科技 > 冶金矿山地质

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

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