最新C程序设计试题汇编汇总.docx

上传人:b****3 文档编号:27133017 上传时间:2023-06-27 格式:DOCX 页数:14 大小:19.64KB
下载 相关 举报
最新C程序设计试题汇编汇总.docx_第1页
第1页 / 共14页
最新C程序设计试题汇编汇总.docx_第2页
第2页 / 共14页
最新C程序设计试题汇编汇总.docx_第3页
第3页 / 共14页
最新C程序设计试题汇编汇总.docx_第4页
第4页 / 共14页
最新C程序设计试题汇编汇总.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

最新C程序设计试题汇编汇总.docx

《最新C程序设计试题汇编汇总.docx》由会员分享,可在线阅读,更多相关《最新C程序设计试题汇编汇总.docx(14页珍藏版)》请在冰豆网上搜索。

最新C程序设计试题汇编汇总.docx

最新C程序设计试题汇编汇总

 

C程序设计试题汇编

C程序设计试题汇编

1.3以下叙述正确的是______

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

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

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

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

2.2若x、y、j和k都是int型变量,则计算下面表达式后,x的值为______

A)7B)16C)32D)52

答案:

C

2.6下面四个选项中,均是不合法的用户标识符的选项是______

A)AB)floatC)b-aD)_123

P_0la0gototemp

Do_AintINT

2.23以下不正确的叙述是______

A)在C程序中,逗号运算符的优先级最低

B)在C程序中,APH和aph是两个不同的变量

C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变

D)当键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

2.30若有说明语句:

charc=’\72’;则变量c______

A)包含1个字符

B)包含2个字符

C)包含3个字符

D)说明不合法,c的值不确定

2.37在C语言中,char型数据在内存中的存储形式是______

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

3.2以下程序的输出结果是______.(注:

︼表示空格)

main()

{printf(“\n*s1=%15s*”,”chinabeijing”);

printf(“n*s2=%-5s*”,”chi”);

}

A)*s1=chinabeijing︼︼︼*B)*s1=chinabeijing︼︼︼*

*s2=**chi**s2=chi︼︼︼*

C)*s1=*︼︼chinabeijing*D)*s1=︼︼︼chinabeijing*

*s2=︼︼chi**s2=chi︼︼

3.11已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列

开始输入数据时,正确的数据输入方式是______(注:

表示回车)

inta1,a2;charc1,c2;

scanf(“%d%d”,&a1,&a2);

scanf(“%c%c”,&c1,&c2);

A)1020ABB)10︼20

AB

C)10︼︼20︼︼ABD)10︼20AB

3.15根据题目中已给出的数据的输入形式和输出形式,程序中输入输出语句的正确内容是

______

main()

{intx;floaty;

prinf(“enterx,y:

”)

输入语句

输出语句

}

输入形式enterx,y:

2︼3.4

输出形式x+y=5.40

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

prinf(“\nx+y=%4.2f”,x+y);

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

prinf(“\nx+y=%4.2f”,x+y);

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

prinf(“\nx+y=%6.1f”,x+y);

D)scanf(“%d%3.1f”,&x,&y);

prinf(“\nx+y=%4.2f”,x+y);

3.46有一输入函数scanf(“%d”,k);则不能使float类型变量k得到正确数值的原因是[1]和[2]

答案:

[1]未指明k的地址

[2]格式控制符与变量类型不匹配

scanf语句的正确形式应该是:

scanf(“%f”,&k);

4.4能正确表示”当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是______

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)

4.7设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是______

A)’x’&&’y’

B)x<=y

C)x||y+z&&y-z

D)!

((x

z||1)

4.18以下if语句语法正确的是_____

A)if(x>0)

prinf(“%f”,x)

elseprinf(“%f”,-x);

B)if(x>0)

{x=x+y;prinf(“%f”,x);}

elseprinf(“%f”,-x);

C)if(x>0)

{x=x+y;prinf(“%f”,x);};

elseprinf(“%f”,-x);

D)if(x>0)

{x=x+y;prinf(“%f”,x)}

elseprinf(“%f”,-x);

4.35当a=3,b=2,c=1时,表达式f=a>b>c的值是[0].

答案:

0

4.59有inta=3,b=4,c=5,x,y;,则以下表达式的值为[]

!

(x=a)&&(y=b)&&0

答案:

0

4.70以下程序对输入两个整数,按从达到小顺序输出.请在[]内填入正确内容.

Main()

{

intx,y,z;

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

if([1])

{z=x;[2]}

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

}

答案:

[1]x

[2]x=y;y=z;

4.77请阅读下面的程序:

main()

{ints,t,a,b;

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

s=1;

t=1;

if(a>0)s=s+1;

if(a>b)t=s+t;

elset=2*s;

prinf(“s=%d,t=%d”,s,t);

}

为了使输出结果t=4,输入量a和b应满足的条件是[].

答案:

0

4.114请读程序:

#include

main()

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

switch(x)

{case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

}

prinf(“a=%d,b=%d”,a,b);

}

上面程序的运行结果是_____

答案:

a=2,b=1

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

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

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

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

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

答案:

A

5.28若I为整型变量,则以下循环执行次数是______

for(I=2;I==0;)prinf(“%d”,I--);

A)无限次B)0次C)1次D)2次

答案:

B

5.36下面程序的功能是计算1至50中是7的倍数的数值之和,请选择填空.

#include

main()

{intI,sum=0;

for(I=1;I<=50;I++)

if([1])sum+=I;

prinf(“%d”,sum);

}

A)(int)(I/7)==I/7B)(int)I/7==I/7C)I%7=0D)I%7==0

答案:

D

5.47以下是死循环的程序段是______

A)for(I=1;;)

{if(++I%2==0)continue;

if(++I%3==0)break;

}

B)I=32767;

Do{if(I<0)break;}while(++I);

C)for(I=1;;)if(++I<10)continue;

D)I=1;

While(I--);

答案:

C

5.60下面程序的功能是用”辗转相除法”求两个正整数的最大公约数.请填空.

#include

main()

{intr,m,n;

scanf(“%d%d”,&m,&n);

if(m

r=m%n;

while(r){m=n;n=r;r=[2];}

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

}

答案:

[1]r=m,m=n,n=r

[2]m%n

5.68下面程序的功能是用do-while语句求1之1000之间满足”用3除余2;用5除余3;用

7除余2”的数,且一行只打印五个数.请填空.

#include

main()

{intI=1,j=0;

do{if([1])

{prinf(“%4d”,I);

j=j+1;

if([2])prinf(“\n”);

}

I=I+1;

}while(I<1000);

}

答案:

[1]I%3==2&&I%5==3&&I%7==2

[2]j%5==0

5.105每个苹果0.8元,第一天买2个苹果,第二天开始,每天买前一天的2倍,直至购买的苹果

个数达到不超过100的最大值.编写程序求每天平均花多少钱?

答案:

C语言习题集与上机指导

1.9编写一个求0~100之间全部偶数之和的程序.

运行结果:

sum=2550

1.13请设计下列算法.

(5)求两个正整数m和n的最大公约数

答案:

2.4写一个程序测试你所用的C版本中的float型数据所占的字节数.

运行结果:

b=4

2.6下列常数中哪些是合法的C常量,哪些是非法的C常量?

对合法者指出其类型,对非法者

指出其原因.

-0.23-0x2a10x7ge30003

3.e-5‘\n’“x-y”‘{‘12.5e2“105”

‘105’“35’53”3+535o7”πe

2E5‘AB’0x2.5b03e5±7f7ff

2e-31012356e3e+2.35e+0lg3

答案:

合法的常量如下

-0(实型常量)

-0x2al(十六进制长整型常量)

0003(八进制整型常量)

5e+0(实型常量)

3.e-5(实型常量)

2E5(实型常量)

‘{‘(字符常量)

‘\n’(一种特殊形式的字符常量---转义字符)

“105”(字符常量)

“x-y”(字符常量)

“35’55”(字符常量)

不合法的常量如下:

23(表示形式不对)

0x(超出十六进制表示的数字)

e3(e前必须有数字)

12.5e2(表示形式不对)

‘105’(单引号中应为单个字符)

‘AB’(单引号中应为单个字符)

3+5(这是表达式,不是常量)

35o7”(无字符”o”)

π(无此字符)

e(e前应有数值,e后应跟整数)

03e5(表示形式不对)

±7f(±不能同时出现,十六进制数应以0x开头)

7ff(应以0x开头)

2e-310(超出范围)

12356e(e后应跟整数)

3e+2.3(e后应跟整数)

lg3(表示形式不对)

0x2.5b(表示形式不对)

2.8在下列符号中,你可以选哪些做变量名?

哪些不可以?

为什么?

a3B3aBπ+ab*xs

bb5ifnextdaye2ok?

intgermaxnumberi*j

答案:

可做变量名的为:

a3Bbsb5nextdayintgermaxnumber

剩余的均不可做变量名,因为,C语言给变量起名的规定是:

由字母、数字和下划线

三种字符组成,且第一个字符必须是字母或下划线(习惯上,变量名用小写字母表示).

2.28指出下面程序段中的错误,并改正.

Main()

{

inta;

floatb;

fcharc;

scanf(“%c%d%c%f;c,b,a,b);

}

答案:

1.字符变量标识符多写一个f;2.格式输入函数名有错;3.scanf函数中格式字

符与数据类型不匹配;4.少了一个双引号.正确的应为:

charc;

scanf(“%c%f%d%f\n”,&c,&b,&a,&b);

3.11把下列程序改写得更合理.

(1)

while(A)

{

if(B)continue;

C;

}

(2)

do

{

if(!

A)continue;

elseB;

C;

}while(A)

答案

(1)可改写为:

while(A)

{

if(!

B)C;

}

(2)可改写为:

do

{

if(A)

{

B;

C;

}

}while(A)

3.12指出下面三个程序的功能.当输入为:

”quert?

”时,它们的执行结果是什么?

(1)

#include”stdio.h”

main()

{

charc;

c=getchar();

while(c!

=’?

’)

{

putchar(c);

c=geetchar();

}

}

(2)

#include”stdio.h”

main()

{

charc;

while((c=getchar())!

=’?

’)putchar(++c);

}

(3)

#include”stdio.h”

main()

{

while(putchar(getchar())!

=’?

’);

}

答案:

(1)的功能是:

显示从键盘输入的每一个字符,当输入”?

”时结束.

执行结果是:

quert

(2)的功能是:

显示从键盘输入的每一个字符的下一个字符(按字母顺序排

列),当输入”?

”时结束.

执行结果是:

rvfsu

(3)的功能与

(1)相同,但输出结果中多一个”?

3.18换零钱,把一元钱全兑换成硬币,有多少种兑换方法?

答案:

3.38打印出以下图案.

*

***

*****

*******

*****

***

*

答案:

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

当前位置:首页 > 自然科学 > 物理

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

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