C语言练习题题库_第1页
C语言练习题题库_第2页
C语言练习题题库_第3页
C语言练习题题库_第4页
C语言练习题题库_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言练习题

一、单项选择题(每小题2分,共50分)

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

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

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

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

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

字符型数据使用()括起来。

A.单引号B.系引号C.圆括号D.#

下列符号中用来表示C语言中的回车换行的是()。

A.\rB.\nC.\bD.\t

以下不能定义为用户标识符的是()。

A.MAINB._HJC.2ongD.LINE1

被调函数通过()语句,将值返回给主调函数。

A.ifB.forC.whileD.return

printf("%d",7%4);执行之后,输出结果是()。

A.2D.3C.4D.1.75

C语言中形参的默认存储类别是()。

A.自动autoB.静态sialicC.寄存器regis【erD.外部exlem

有定义语句:intb;charc[10];,则正确的输入语句是()。

A.scanf(,,%d%s,\&b,&s);B.scanf(,,%d%s,,,&b,s);

C.scanf(,,%d%s,,,b,s);D.scanf(''%d%s”,b,&s);

表达式1&&2&&3&&4的值为()。

A.lB.2C.3D.4

若x=0,y=3,z=3,以下表达式值为0的是()。

A.!xB.x<y?1:0C.x&&y&&zD.y=x||z/3

以下表达式,能表示|m|的是(C)

A.m>0?m:mB.m>0?-m:mC.m<0?-m:mD.m<0?-m:-m

若变量c为char类型,能正确判断出c为小写字母的表达式是()o

A.'a'<=c<='z*B.(c>='a')||(c<=*z')

C.('a'<=c)andCz'>=c)D.(c>='a')&&(c<='z")

设有数组定义:charch[J=astudent则数组ch所占的空间为()。

A.5字节B.6字节C.7字节D.8个字节

数学比较表达式:5>x22对应的C语言逻辑表达式是("

A.5>x>=2B.5>x&&x>2&&x=2C.x<5&&x>=2D.x<5||(x>2)

若有定义:inta[][3]={1,2,34,5,6},则a[l]⑼的值是()。

A.4B.IC.2D.5

以下函数调用语句中,含有实参的个数为()o

fun(max(2,3),4);

A.IB.2C.3D.4

在C语言中,若对函数类型未另显示说明,则函数的隘含类型是()类型。

A.voidB.doubleC.intD.char

在C语言中,每个语句必须以()结束。

A.回车符B.冒号C.逗号D.分号

字符串的结束标志是()。

A.0B/O'C.*\0'D.“0"

prinlf("%c,%d'\'b;'b1);的输出结果是()。

A.b,98B.b98C.98,bD.98b

复合语句是用()括起来的语句组。

A.()B.[]C.{}D.<>

inta[4]={5,3,8,9}洪中a[3]的值为()。

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

若有以下定义:floatw[20];,则w数组元素的下标最大为()o

A.20B.19C.21D.O

for(i=l;i<9;i+=l);该循环共执行了()次。

A.9B.8C.OD.I

基本整型的数据类型符为()o

A.intB.charC.floatD.double

在TC中,prinlf和scarf函数均包含在头文件()中。

A.stdio.hB.math.hC.string.hD.time.h

C语言程序的基本单位是(

A.过程B.函数C.语句D.子程

选出下列标识符中不合活的标识符的是()。

A.answerB.toC.signedD.max

C语言用()表示逻辑“真”值。

A.trueB.t或yC.非零值D.整型值0

在C程序中有如下语句:charfunc(intx,inty);它是()。

A.对函数func的定义,B.对函数func的调用。

C.对函数func的声明3D.不合法的

若有说明inta[10];则对a数组元素的不•正•确•引•用•是()。

A.a[0]B.a[i]C.a[10]D.a[2+3]

以下对二维数组a的正确定义是()。

A.inta[3][]B.floata(3,4)

C.floata[3][4]I),inta(3)(4)

C语言允许函数类型缺省定义,此时函数值隧含的类型是()。

A.floatB.intC.longI),double

一个C语言的执行是从()。

A.本程序的主函数开始,到本程序的主函数结束

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

C.本程序的主函数开始,到本程序的最后一个函数结束

D.本程序的第一个函数开始,到本程序的主函数结束

在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。

A.地址传递B.单向值传递

C.由实参传给形,再由形参传回实参D.传递方式由用户指定

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

intx=10,y=10;

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

A.10,11B.11:10C.10,10D.11,11

可用于跳出switch和循环结构的语句是()。

A.break语句B.return语句C.continue语句D.空语句

若x=5,y=3则y*=x+5;y的值为()。

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

若有定义intx=3,y=2和floata=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是

A.0B.2C.1.5

D.1

下列程序的输出结果是()o

charstrl[10]=*abcd*.str2[10]="ABCDEF”,

strcpy(strl,str2);

printfstrl);

A.abedB.ABCDEFC.abcdABCDEFD.abcdEE

当接受用户输入的含有空格的字符串时,应使用()函数。

A.gets()B.getchai*()C.scanf()D.printf()

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

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

m=(w<x)?w:x;

m=(m<y)?m:y;则该程序段执行后,m的值是()。

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

表达式:10!=9的值是()。

A.trueB.非零值C.0D.1

下面合法的C语言字符常量是()。

A.B."A"C.65

D.A

C语言的基本数据类型包括()。

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

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

C语言中while和do-while循环的主要区别是()。

A.do—while的循环体至少无条件执行一次

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

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

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

单精度实数的数据类型符为(

A.intB.charC.floatD.double

字符串常量使用()括起来。

A.单引号B.双引号C.圆括号D.#

C语言规定,函数返回值的类型是由()。

A.return语句中的表达式类型所决定B.调用该函数时的主调函数类型所决定

C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型决定

设有说明:charw;intx;floaty;则表达式:w*x-y值的数据类型是(

A.floatB.charC.intD.double

在C语言中,每个语句必须以()结束。

A.回车符B.冒号C.逗号D.分号

1、一个C程序的执行是从°

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

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

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

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

2、C语言规定:在一个源程序中,main函数的位置_________。

A.必须在最开始B.必须在系统调用的库函数的后面

C.可以任意D.必须在最后

3、C语言程序的基本单位是。

A.函数B.过程C.子程序D.子例程

4、在下列字符串中,合法的标识符是。

A.pl2&.aB.stud_l(X)C.waterS12D.88sum

5、求标有/**/语句的执行次数o

inta=0,i;

for(i=0;i<20;i++)

{if(i%5!=0)break;

a+=i;/**/

)

A.OB.1C.20D.19

6、现有以卜定义,inta;doubleb:floatc;chark;则下面的表达式a*b+c/k值的类型

是o

A.intB.doubleC.floatD.char

7、C语言中形参的默认存储类别是o

A.自动auloB.静态staticC.寄存器registerD.外部exlem

8、C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是o

A.地址传递B.由实参传给形参,并由形参返回给实参

C.值传递D.由用户指定传递方式

9、printf(“%d”』5%4);执行之后,输出结果是。

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

10、在C语言中,以下正确的描述是。

A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义不可以嵌套,但函数的调用可以嵌套

C.函数的定义和函数的调用均不可以嵌套

D.函数的定义和函数的调用均可以嵌套

II、若变量c为char类型,能正确判断出c为小写字母的表达式是“

A.a<-c<-'z'B.(c>_'a')II(c<-'z')

C.Ca<=c)andCz>=c)D.(c>='a')&&(c<二'z')

12、若x=0,y=3,z=3,以下表达式值为0的是。

A.!xB.x<y?1:()C.x&&y&&zD.y=x||z/3

13、数学比较表达式:5>x22对应的C语言逻辑表达式是o

A.5>x>=2B.5>x&&x>2&&x=2C.x<5&&x>=2D.x<5||x>2

14、设有数组定义:charch□:“compuler",则数组ch所占的空间为,

A.6字节B.7字节C.8字节D.9字节

15、以下函数调用语句中,含有实参的个数为1.

max(a,max(b,c));

A.1B.2C.5D.6

16、在C语言中,若对函数类型未显式说明,则函数的隐含类型是________类型。

A.voidB.doubleC.incD.char

17、在C语言中,每个语句必须以_________结束。

A.回车符B.冒号C.逗号D.分号

18、字符串的结束标志是_________o

A.OB.OC.'\0'D."0"

19、printf(飞c,%d",‘a''a');的输出结果是________。

A.a,97B.a97C.97,aD.97a

20、复合语句是用______括起来的语句组。

A.()B.[lC.{}D.<>

C语言程序的基本单位是()。

A.子程序B.程序C.函数D.过程

2.以下不正确的C语言标识符是()。

A.ABCB.abcC.a_bcD.ab.c

3.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()。

A.float型E.int型C.long型D.double型

4.C语言规定,函数返回值的类型是由()o

A.return语句中的表达式类型所决定

B.调用该函数时的主调函数类型所决定

C.调用该函数时系统临时决定

I).在定义该函数时所指定的函数类型决定

5.printf("%d”,17/5);执行之后,输出结果是()。

A.3.4B.1C.3.6D.3

6.printf(,7%4);执行之后,输出结果是()。

A.2B.3C.4I).1.75

7.复合语句是用(》括起来的语句组。

A.()B.{}C.[]D.<>

8.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。

A.地址传递B.值传递

C.由实参传给形参,再由形参传回实参D.传递方式由用户指定

9.若x=0,y=3,z=3,以下表达式值为0的是()o

A.!xB.x<y?1:0C.x&&y&&zD.y=x|z/3

10.若有定义:inta[][3]={l,2,3,4,5,6},则all][0]的值是()o

A.4B.1C.2I).5

11.设有数组定义:charch[]=studont则数组ch所占的空间为()o

A.5字节B.6字节C.7字节D.8个字节

12.若有数组定义:inta[10],则()数组引用是合法的。

A.a[0]B.a(0)C.a[10]D.a(10)

13.求标有/**/语句的执行次数()o

inta=0,i;

for(i=l;i<20;i++)

(if(i%5!=0)break;

a+=i;/**/

}

A.0B.1C.20D.19

14.有定义语句:inta=l,b=2,c=3,x;则以下各程序段执行后,x的值不为3的是()。

A.if(c<a)x=l;B.if(a<3)x=3;

elseif(b<a)x=2;elseif(a<2)x=2;

elsex=3;elsex=l;

C.if(a<3)x=3;D.if(a<b)x=b;

if(a<2)x=2;if(b<c)x=c;

if(a<l)x=lif(c<a)x=a;

15.字符型数据使用()括起来。

A.单引号B.双引号C.圆括号D.#

16.执行下面语句后,a的值为(

inta=l;

if(a>0)a+=l;

if(a>l)a=0;

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

17.以卜程序段的执行结果为()o

main()

{charcl,c2;

cl=97;c2=98;

printf(a%c,%c\nw,cl,c2);

)

A.97,98B.a,bC.A,BD.以上都不对

18.在C语言中,要求运算数必须是整型的运算符是()o

A.%B./C.<D.以上都不对

19.以下说法中正确的是(

A.C语言程序总是从第一个定义的困数开始执行

B.在C语言程序中,要调用的函数必须放在main。函数中定义

C.C语言程序总是从main。函数开始执行

D.C语言程序中的mainO函数必须放在程序的开始部分

20.下列程序段的输出结果是()(>

#defineN10

main()

{intx=8;printf(<<%dw,N+x);}

A.8B.NC.10D.18

二、判断题(每小题1分,共10分)

注意:正确的填A,错误的填B

1.C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。()

2.在C程序中,min和Mir代表不同的变量。()

3.C语言本身不提供输入输出语句,输入和输出操作是由库函数来实现的。()

4.C语言规定:在一个源程序中,main函数的位置必须在最开始。()

5.在C语言中,要求运算数必须是整型的运算符是/。()

6.在C语言中,逗号运算符的优先级最低。()

7.字符串是C语言中一种基本数据类型,字符串总是以f作为结束标志八()

8.有数组定义inta[2][2]={{l},{2,3}};则a[2][2]的值为3。()

9.在调用函数时,实参的个数与形参的个数可以不一致。()

10.C语言程序的变量必须先定义再使用。()

1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。()

2、C语言中的逻辑值“真”是用T表示的,逻辑值“假”是用F表示

的。()

3、利用printf函数可以输出一个字符串。()

4、一个C程序必须有且只能有一个main。函数。()

5、for语句作为循环控制语句时,从语法上将其括号内各个表达式都可缺省,但表达式内的

分号却不可以省。()

6、在C语言中,虽然有逻辑运算,但没有逻辑型变量。()

7、在调用函数时,实参的个数与形参的个数可以不一致。()

8、C语言本身没有输入输出语句,是用输入输出函数实现输入输出操作。()

9、C程序的基本组成单位是函数。()

10、字符串是C语言中一种基本数据类型,字符串总是以“,作为结束标志。()

数组大小固定,所有元素的类型必须相同()

C语言中,数组的各元素必须具有相同的类型。()

22、C语言规定:标识符应由字母、下划线和数字组成,且可以是上述字符的任意组合,其

长度也是任意的。()

23、数组在定义时没有必要指定数组的长度,其长度可以在程序中根据元素个数再决定)

24、if语句有多种使用方法,其中if子句和else子句也都可以单独使用。()

25、for语句作为循环控制语句时,从语法上将其括号内各个表达式都可缺省,但表达式内

的分号却不可以省。()

26、在C语言中,虽然有逻辑运算,但没有逻辑型变量。()

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

28、C语言本身没有输入输出语句,是用输入输出函数实现输入输出操作的。()

29、C程序中数组名可以与其他变量名相同。()

30、字符串是C语言中一种基本数据类型,字符串总是以“,作为结束标志。()

利用函数putchar()可以输出一个字符串。()

22.一个循环的循环体中还可以包含另外一个循环,称为循环嵌套。()

23.C语言不区分大小写字母,如ABC和abc是相同的标识符。()

24.在C程序中,语句之间必须要用分号分隔()

25.一个C程序必须有且只能有一个main。函数。()

26.C语言中标识符不能与保留字同名。()

27.C语言中数组名可以与其他变量名相同。()

28.字符数据在计算机内部也是以二进制形式来表示的。()

29.在调用函数时,实参的个数与形参的个数可以不一致。()

30.while循环是“先执行,后判断“,即不管循环条件是否满足,循环体至少执行一次。

()

三、程序分析题(每小题4分,共24分)

1.分析程序的运行结果

#include<stdio.h>

voidmain()

(

inta,b,x;

x=(a=3,b=a");

printf("%d",x);

}

2.分析程序的运行结果

#include<stdio.h>

voidmain()

{inta=5>b=3;

if(a>b)printf("yes");

elseprintff'no");

}

3.分析程序的运行结果

#include<stdio.h>

voidmain()

(

inti,l;

t=l;

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

t=(t+1)*2;

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

}

4.若i=7,下列程序的运行结果是o

switch(i)

{case6:i+=l;break;

case7:i+=2;break;

case8:i+=3;break;

case9:i+=4;break;

I

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

5.利用一维数组求斐波那契数列,补充完整以下程序。

#include<stdio.h>

voidmain()

(inti,f[20]={1,1};

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

for(i=0;i<20;i++)

printf("%12d';f[i]);

I

6.判断某一年是否是闰年,请补充完整以下程序。

#include<stdio.h>

voidmain()

{intyear;

printR“pleaseinputayear:^^);

scanf("%d”,year);

if()

printR''%disaleapyear!\n”,year);

else

printff'%disnotaleapycar!\n”,ycar);

}

7.写出下面程序的执行结果o

main()

{intnum=0;

while(num<=2)

{num++;

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

)

)

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

intx=5;

if(x>0)y=l;

elseif(x==O)y=0;

elsey=1;

printf("%d",y);

9.计算1+1/2+1/4+-+1/50的值,请填空使完整。

main()

{inti=2;

floatsum=1.0;

while(i<=)

{sum+=1.0/i;

i+=2;

1

printf(44sum=%f\n,\sum);

)

写出下面程序的执行结果,

(1)#include<stdio.h>

main()

{intnum=0;

while(num<=2)

{num++;

printf(**%d\n\num);

执行结果:_______________

(2)#include<stdio.h>

main()

(

intx=5,y;

if(x>0)y=l;

elseif(x==0)y=0;

elsey=1;

printf("y=%d”,y);

1

执行结果:_______________

2、阅读程序并填空。

(1)编写程序实现两个数互换。

voidmain()

{int①,x,y;

scanf(4t%d,%d”,&x,&y);

temp=x;

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

(2)判断某一年是否是闰年。

#include<stdio.h>

main()

{_ffi____;

printf(ikplcascinpu:ayear:");

scanyear);

if(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论