C复习题.docx

上传人:b****2 文档编号:2989578 上传时间:2023-05-05 格式:DOCX 页数:17 大小:30.45KB
下载 相关 举报
C复习题.docx_第1页
第1页 / 共17页
C复习题.docx_第2页
第2页 / 共17页
C复习题.docx_第3页
第3页 / 共17页
C复习题.docx_第4页
第4页 / 共17页
C复习题.docx_第5页
第5页 / 共17页
C复习题.docx_第6页
第6页 / 共17页
C复习题.docx_第7页
第7页 / 共17页
C复习题.docx_第8页
第8页 / 共17页
C复习题.docx_第9页
第9页 / 共17页
C复习题.docx_第10页
第10页 / 共17页
C复习题.docx_第11页
第11页 / 共17页
C复习题.docx_第12页
第12页 / 共17页
C复习题.docx_第13页
第13页 / 共17页
C复习题.docx_第14页
第14页 / 共17页
C复习题.docx_第15页
第15页 / 共17页
C复习题.docx_第16页
第16页 / 共17页
C复习题.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C复习题.docx

《C复习题.docx》由会员分享,可在线阅读,更多相关《C复习题.docx(17页珍藏版)》请在冰点文库上搜索。

C复习题.docx

C复习题

一、选择题(每题3分,计60分)

1、下面有关for循环的正确描述是(D)。

A.for循环只能用于循环次数已经确定的情况

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

C.在for循环中,不能用break语句跳出循环体

D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来。

2、以下能正确地定义整型变量a,b和c并为其赋初值5的语句是(C)

A.inta=b=c=5;B.inta,b,c=5;

C.inta=5,b=5,c=5;D.a=b=c=5;

3、逻辑运算符两侧运算对象的数据类型(D)

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

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

4、下列运算符中优先级别最高的是(B)

A.

5、为了避免嵌套的if…else语句的二义性,c语言规定else总是与(C)组成配对关系。

A.缩排位置相同的ifB.在其之前未配对的if

C.在其之前未配对的最近的ifD.同一行上的if

6、程序段如下:

则以下说法中正确的是:

(D)。

intk=5;

do

{

k--;

}while(k<=0);

A.循环执行5次B.循环是无限循环

C.循环体语句一次也不执行D.循环体语句执行一次

7、判断char型变量c1是否为小写字母的正确表达是(D)

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

C.(‘a’>=c1)||(‘z’<=c1)D.(c1>=’a’)&&(c1<=’z’)

8、C语言中,char类型数据占(A)

A.1个字节B.2个字节C.4个字节D.8个字节

9、以下关于数组的描述正确的是(C)。

A.数组的大小是固定的,但可以有不同的类型的数组元素。

B.数组的大小是可变的,但所有数组元素的类型必须相同。

C.数组的大小是固定的,但所有数组元素的类型必须相同。

D.数组的大小是可变的,但可以有不同的类型的数组元素。

10、在定义inta[10];之后,对a的引用正确的是(D)。

A.a[10]B.a[6.3]C.a(6)D.a[10-10]

11、以下能正确定义数组并正确赋初值的语句是(D)。

A.intn=5,b[n][n];B.inta[1][2]={{1},{3}};

C.intc[2][]={{1,2},{3,4}}D.inta[3][2]={{1,2},{3,4}};

12、在执行inta[][3]={1,2,3,4,5,6};语句后,a[1][0]的值是(A)。

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

13、下面变量说明语句中,正确的是(D)

A.char.abc;B.chara;b;c;

C.intx;zD.intx,y;

14、下列数据中,为字符串常量的是(B)

A.AB.“house”C.Howdoyoudo.D.$abc

15、不仅可将C源程序存在磁盘上,还可将数据按数据类型分别以(C)形式存在磁盘上。

A.内存B.缓冲区C.文件D.寄存器

16、已知x=43,ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!

y)的值是(C)。

A.0B.语法错C.1D.“假”

17、C语言的注释界定符是(D)。

A.{}B.[]C.\**\D./**/

18、若inta,bscanf(“%d%d”,&a,&b);不可以用(A)作为输入的分隔符。

A.,B.空格键C.回车D.Tab键

19、在C语言中,引用数组元素时,其数组下标的数据类型允许是(B)。

A.整型常量B.整型表达式C.整型变量D.任何类型表达式

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

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

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

21、以下四项中属于C语言关键字的是(C)

A.CharB.defineC.unsignedD.return

22、以下选项中属于C语言的数据类型是(C)

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

23、下列常数中不能作为C语言的常量的是(C)

A.0xA5B.2.5e-2C.3e2D.0582

24、能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为追假”的表达式是(C)

A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)

B.(x>=1)||(x<=10)||(x>=200)||(x<=210)

C.(x>=1)&&(x<=10)||(x>=200)&&(x<=210)

D.(x>=1)||(x<=10)&&(x>=200)||(x<=210)

25、设a=12,且a定义为整型变量。

执行语句a+=a-=a*=a;后a的值为(C)。

A.12B.144C.0D.132

26、以下程序段的输出结果是(C)。

inta=12345;printf(“%2d\n”,a);

A.12B.34C.12345D.提示错误,无结果

27、程序段如下:

则以下说法中正确的是:

(C)。

intk=-20;

while(k=0)k=k+1;

A.while循环执行20次B.循环是无限循环

C.循环体语句一次也不执行D.循环体语句执行一次

28、C语言中用于结构化程序设计的三种基本结构是(A)。

A.顺序结构、选择结构和循环结构B.if、switch、break

C.for、while、do-whileD.if、for、continue

29、以下叙述中正确的是(A)

A.C程序中注释部分可以出现在程序中任意合适的地方

B.花括号“{”和“}”只能作为函数体的定界符

C.构成C程序的基本单位是函数,所以函数名都可以由用户命名

D.分号是C语句之间的分隔符,不是语句的一部分

30、以下说法中正确的是(C)

A.C语言程序总是从第一个函数开始执行

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

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

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

31、以下说法中正确的是(C)

A.C程序书写时,不区分大小写字母

B.C程序书写时,一行只能写一个语句

C.C程序书写时,一个语句可分成几行书写

D.C程序书写时每行必须有行号

32、以下说法不正确的是(C)

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

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

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

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

33、以下关系运算符优先顺序描述中正确的是(C)

A.关系运算符<算术运算符<赋值运算符<逻辑运算符B.逻辑运算符<关系运算符<算术运算符<赋值运算符

C.赋值运算符<逻辑运算符<关系运算符<算术运算符D.算术运算符<关系运算符<逻辑运算符<赋值运算符

34、设x,y,z都是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是(D)

A.‘x’&&’y’B.x<=y

C.x||y+z&&!

yD.!

(x

z||1)

35、选择中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为“真”或者“假”。

哪个作为逻辑“假”值(D)。

A.-1B.1C.非零的数D.0

36、已知字母A的ASCⅡ码为十进制数为65,且c2为字符型,则执行语句c2=’A’+’6’-‘3’后,c2中的值为(A)

A.DB.68C.不确定的值D.C

37、在C语言中,int、char和short三种类型数据在内存中所占用的字节数(D)

A.由用户自己定义B.均为2个字符

C.是任意的D.由所用机器的机器字长所定

38、设C语言中,int类型数据占2个字节,则long类型数据占(C)。

A.1个字节B.2个字节C.4个字节D.8个字节

39、以下标识符中,不能作为合法的C用户定义标识符的是(C)。

A.answerB.toC.signedD._if

40、下面不正确的字符串常量是(A)。

A.‘abc’B.“12’12”C.“0”D.““

41、以下运算符中,优先级别最高的运算符是(C)。

A.*=B.>=C.(类型)D.+

42、下列程序的输出结果是(B)

Main()

{charc1=97,c2=98;

Printf(“%d%c”,c1,c2);

}

A.9798B.97bC,a98D,ab

43、putchar函数可以向终端输出一个(D)

A.整型变量表达式B.字符串

C.实型变量值D.字符或字符型变量值

44、用C语言编写的代码程序(B)

A.可立即执行B.是一个源程序

C.经过编译即可执行D.经过编译解释才能执行

45、以下不正确的C语言标识符是(D)

A.intB.a_1_2C.ablexeD.-x

46、若希望当A值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是(C)

A.A%2==1B.!

(A%2==0)C.!

(A%2)D.A%2

12、设有:

inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c

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

47、设x、y、z、t均为int型变量,则执行以下语句后,t的值为(C)

x=y=z=1;

t=++x||++y&&++z;

A.不确定B.4C.3→1D.0

48、已知inta=1,b=2,c=3;以下语句执行后a,b,c的值是(B)

if(a>b)

c=a;a=b;b=c;

A.a=1,b=2,c=3B.a=2,b=3,c=3

C.a=2,b=3,c=1D.a=2,b=3,c=2

49、以下对一维数组a的定义中正确的是(C)。

A.chara(10);      B.inta[0..100];

C.inta[5];D.intk=10;inta[k]

50、以下说法正确的是(D)。

A.输入项可以是一个实型常量,如scanf(“f”,3.5);

B.只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);

C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);

D.当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);

 

二、填空题(每空2分,计10分)

1、若有说明语句:

intx=1,y=0;表达式(x<=y++)?

‘a’:

‘A’的结果是___A____。

2、在程序运行过程中,其值不能改变的量称之为______常量______,其值可以改变的量称之为_____变量________。

3、常用的循环结构语句有while、_____do-while_______和_______for_____。

4、赋值运算符的作用是将一个数据赋给一个______变量_______。

5、break语句只能用于______循环_______语句和______switch_______语句中。

6、在一个C源程序中,注释部分两侧的分界符分别是____/*____和___*/_____。

7、在C语言中,每个程序都必须有一个_______main______函数。

8、printf函数的“格式控制”包括两部分,它们是_____格式说明符________和______普通字符_______。

9、条件运算符是C语言中唯一的一个____三_____目运算符,其结合性为_____左结合性________。

10、表达式的(int)3.1415926的值是______3_______。

11、一个合理的标识符只能由字母、数字和下划线组成,且第一个字符必须为____字母_________或______下划线_______。

12、在C语言中,字符型数据和整型数据之间可以通用,一个字符数据既能以_____字符________输出,也能以______整数_______输出。

13、在循环结构中,用于强制退出循环的语句是_____break________。

14、C语言程序的语句结束符是____;____。

三、读程序,写出运行结果。

(每题5分,计10分)

1、voidmain()

{

charch[3][5]={"AAAA","BBB","CC"};

printf("\"%s\"\n",ch[1]);

}

BBB回车

 

2、main()

{charx=‘B’;

switch(x)

{case‘A’:

printf(“ItisA.\n”);

case‘B’:

printf(“ItisB.\n”);

case‘C’:

printf(“ItisC.\n”);

default:

printf(“other.\n”);

}

}

 

ItisB.

ItisC.

other.

3、#include

main()

{inti,m=1;

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

{

m=(m+1)*2;

printf("m=%d\n",m);

}}

m=4

m=10

m=22

m=46

m=94

 

4、#include

voidmain()

{inti,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

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

}

 

9,11,9,10

 

5、voidmain()

{inta[3][3]={1,3,5,7,9,11,13,15,17};

intsum=0,i,j;

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

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

{a[i][j]=i+j;

if(i==j)

sum=sum+a[i][j];}

printf("sum=%d",sum);}

 

sum=6

 

6、下列程序段执行后k值为。

intk=0,i,j;

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

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

k=k+1;

15

四、根据要求,编写程序。

(每题10分,计20分)

1、编写程序,用来判断某一年是否为闰年。

#include

main()

{

inty;

printf("Inputyear:

");

scanf("%d",&y);

if(y%400==0||y%4==0&&y%400==1)

printf("ItisLeapYear!

\n");

else

printf("ItisnotLeapYear!

\n");

}

 

2、求1!

+2!

+3!

+……+n!

#include

main()

{

inti,j,n;

longp=1,sum=0;

printf("inputn=");

scanf("%d",&n);

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

{

p=1;

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

p*=j;

sum+=p;

}

printf("1!

+2!

+3!

+...+n!

=%ld\n",sum);

}_

 

3、

#include

main()

{

inti,j;

longp=1,sum=0;

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

{

p=1;

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

p*=j;

sum+=p;

}

printf("1!

+2!

+3!

+...+20!

=%ld\n",sum);

}_

 

4、任意给定10个整数,由用户输入一个数,查找并统计这个数在这10个整数中出现的次数,并输出次数,若未找到,则显示未找到。

#include

main()

{

inta[10];

inti,c,n=0;

printf("Pleaseinputtennumbers:

");

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

scanf("%d",&a[i]);

printf("Pleaseinputanumber:

");

scanf("%d",&c);

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

if(c==a[i])

n++;

if(n==0)

printf("Notfound!

\n");

else

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

}

 

5、求100以内能被7整除的自然数之和。

#include

main()

{

inti,sum=0;

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

if(i%7==0)

sum=sum+i;

printf("sum=%d\n",sum);

}

 

6、任意输入10个数构成一维数组,求其中的最大值和最小值。

#include

main()

{

inta[10],max,min,i;

printf("Pleaseinputtennumbers:

");

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

scanf("%d",&a[i]);

max=min=a[0];

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

{

if(max

max=a[i];

if(min>a[i])

min=a[i];

}

printf("max=%d,min=%d\n",max,min);

}

 

7、用for语句求1+2+3+…+100。

#include

main()

{

inti,sum=0;

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

sum=sum+i;

printf("sum=%d",sum);

}

 

8、任意给定10个整数,由用户输入一个数,查找并统计这个数在这10个整数中出现的次数,并输出次数,若未找到,则显示未找到。

#include

main()

{

inta[10];

inti,c,n=0;

printf("Pleaseinputtennumbers:

");

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

scanf("%d",&a[i]);

printf("Pleaseinputanumber:

");

scanf("%d",&c);

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

if(c==a[i])

n++;

if(n==0)

printf("Notfound!

\n");

else

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

}

 

9、打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如153是一个水仙花数,因为153=

#include

main()

{

inti,j,k,n=100;

for(n=100;n<1000;n++)

{

i=n/100;

j=n%100/10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

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

}

}

 

10、输入一个整数,判断其是奇数还是偶数

#include

main()

{

inta;

printf("Pleaseinputanumber:

");

scanf("%d",&a);

if(a%2==0)

printf("Itisaevennumber!

\n");

else

printf("Itisaoddnumber!

\n");

}

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2