C语言试题及答案Word文档下载推荐.docx

上传人:b****6 文档编号:19169082 上传时间:2023-01-04 格式:DOCX 页数:33 大小:44.20KB
下载 相关 举报
C语言试题及答案Word文档下载推荐.docx_第1页
第1页 / 共33页
C语言试题及答案Word文档下载推荐.docx_第2页
第2页 / 共33页
C语言试题及答案Word文档下载推荐.docx_第3页
第3页 / 共33页
C语言试题及答案Word文档下载推荐.docx_第4页
第4页 / 共33页
C语言试题及答案Word文档下载推荐.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

C语言试题及答案Word文档下载推荐.docx

《C语言试题及答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言试题及答案Word文档下载推荐.docx(33页珍藏版)》请在冰豆网上搜索。

C语言试题及答案Word文档下载推荐.docx

A.&

&

,!

,||B.||,&

C.&

,||,!

D.!

,&

,||

(7)表达式!

x||a==b等效于D。

A.!

((x||a)==b)B.!

(x||y)==bC.!

(x||(a==b))D.(!

x)||(a==b)

(8)设整型变量m,n,a,b,c,d均为1,执行(m=a>

b)&

(n=c>

d)后,m,n的值是A。

A.0,0B.0,1C.1,0D.1,1

(9)intb=0,x=1;

执行语句if(x++)b=x+1;

后,x,b的值依次为A。

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

(10)设有语句inta=3;

,则执行了语句a+=a-=a*=a;

后,变量a的值是B。

A.3B.0C.9D.-12

(11)在以下一组运算符中,优先级最低的运算符是D。

A.*B.!

=C.+D.=

(12)设整型变量i值为2,表达式(++i)+(++i)+(++i)的结果是B。

A.6B.12C.15D.表达式出错

(13)若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是C。

A.1B.2C.2.0D.2.5

(14)sizeof(double)的结果值是A。

A.8B.4C.2D.出错

(15)设a=1,b=2,c=3,d=4,则表达式:

a<

b?

a:

c<

d?

d的结果为D。

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

(16)设a为整型变量,不能正确表达数学关系:

10<

15的C语言表达式是A。

A.10<

15B.a==11||a==12||a==13||a==14

C.a>

10&

a<

15D.!

(a<

=10)&

!

(a>

=15)

(17)设f是实型变量,下列表达式中不是逗号表达式的是D。

A.f=3.2,1.0B.f>

0,f<

10C.f=2.0,f>

0D.f=(3.2,1.0)

(18)设ch是char型变量,其值为'

A'

,则下面表达式的值是B。

ch=(ch>

='

ch<

Z'

)?

(ch+32):

ch

A.AB.aC.ZD.Z

(19)以下运算符中,结合性与其他运算符不同的是A。

A.++B.%C./D.+

(20)以下用户标识符中,合法的是B。

A.intB.nitC.123D.a+b

(21)C语言中,要求运算对象只能为整数的运算符是%。

A.%B./C.>

D.*

(22)PC机中,'

\n'

在内存占用的字节数是A。

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

(23)字符串"

ABC"

在内存占用的字节数是B。

A.3B.4C.6D.8

(24)要为字符型变量a赋初值,下列语句中哪一个是正确的B。

A.chara="

3"

;

B.chara=’3’;

C.chara=%;

D.chara=*;

(25)下列不正确的转义字符是C。

A.\\B.\'

C.074D.\0

2.填空题

(1)C语言中的逻辑值“真”是用非0表示的,逻辑值“假”是用0表示的。

(2)符号常量的定义方法是#defineN10。

(3)无符号基本整型的数据类型符为unsignedint,双精度实型数据类型符为double,字符型数据类型符为char。

(4)设c='

w'

a=1,b=2,d=-5,则表达式'

x'

+1>

c,'

y'

!

=c+2,-a-5*b<

=d+1,b==a=2的值分别为1、0、1、表达式错误。

(5)设floatx=2.5,y=4.7;

inta=7;

,表达式x+a%3*(int)(x+y)%2/4的值为2.5。

(6)判断变量a、b的值均不为0的逻辑表达式为(a!

=0)&

(b!

=0)。

(7)求解赋值表达式a=(b=10)%(c=6),表达式值、a、b、c的值依次为4,4,10,6。

(8)求解逗号表达式x=a=3,6*a后,表达式值、x、a的值依次为18,3,3。

(9)数学式a/(b*c)的C语言表达式a/(b*c)。

第3章顺序结构程序设计习题

1.选择题

(1)printf("

f=%3.2f%%"

3.478);

的输出结果是A。

A.f=3.48%B.f=3.5%C.f=3.48%%D.f=347.8%

(2)printf("

%c,%d"

'

'

);

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

(3)scanf("

%c"

&

a);

若要给变量输入大写字母A,则以下正确的输入是B。

<

CR>

B.A<

\C."

A"

D.以上都不对

(4)若一个int类型的数据占2字节,则程序段:

intx=-1;

printf("

%u,%d"

x,x);

A.65535,-1B.-1,65535C.32767,32768D.32768,32767

(5)在TC中,getchar、putchar、printf、scanf四个函数,均包含在头文件B

中。

A.math.hB.stdio.hC.stbio.hD.stdlib.h

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

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

>

(7)下列格式符中,哪一个可以用于以八进制形式输出整数C。

A.%dB.%8dC.%oD.%ld

(8)下列格式符中,哪一个可以用于以十六进制形式输出整数B。

A.%16dB.%8xC.%d16D.%d

(9)a是int类型变量,c是字符变量,下列输入语句中哪一个是错误的B。

A.scanf("

%d,%c"

a,&

c);

B.scanf("

%d%c"

a,c);

C.scanf("

D.scanf("

d=%d,c=%c"

(10)要使doublex;

longa;

的数据能正确的输出,输出语句应是D。

A.printf("

%d,%f"

a,x);

B.printf("

%d,%1f"

%1d,%1f"

a,&

x);

D.printf("

%1d,%lf"

2.程序改错题(以下各个程序段均有5个错误,请先找出错误的位置,然后再改正)

(1)以下程序的功能是,从键盘输入一个字符并鸣笛输出。

#include"

stdio.h"

mian()//main()

{charc//charc;

getchar(c);

//c=getchar();

putchar('

\007'

);

/*鸣笛*/

c=putchar();

//putchar(c);

//}

(2)以下程序的功能是,输入长方形的两边长(边长可以取整数和实数),输出它的面积和周长。

main//main()

{

inta,b,s,l;

//doublea,b,s,l;

scanf("

%d,%d"

b);

//scanf("

%lf,%lf"

s=a*b;

l=a+b;

//l=(a+b)*2;

printf("

l=%f,s=%f\n"

l);

//printf("

l=%lf,s=%lf\n"

l,s);

}

3.写出程序运行结果

(1)

main()

inta,b;

%2d%*2s%2d"

%d\n"

a+b);

运行时输入:

12345678//输出:

68

(2)

inta=3,b=5,x,y;

x=a+1,b+6;

y=(a+1,b+6);

x=%d\ny=%d\n"

x,y);

}

输出:

x=4

y=11

第4章选择结构程序设计习题

(1)选择结构程序设计的特点是___B____。

A.自上向下逐个执行B.根据判断条件,选择其中一个分支执行

C.反复执行某些程序代码D.以上都是

(2)假定所有变量均已正确定义,下列程序段运行后x的值是__B_。

a=b=c=0,x=35;

if(!

a)x--;

elseif(b);

if(c)x=3;

elsex=4;

A.34B.4C.35D.3

(3)下面的程序片段所表示的数学函数关系是_A____。

if(x<

0)y=-1;

elseif(x>

0)y=1;

elsey=0;

(4)下列各语句序列中,能够且仅输出整型变量a、b中最大值的是(C)。

A.if(a>

b)printf("

a);

b);

B.printf("

if(a>

C.if(a>

elseprintf("

D.if(a<

(5)以下程序段的输出结果是A

intx=5;

if(x>

elseif(x==0)y=0;

elsey=1;

%d"

y);

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

(6)程序段intx=5,y=8,max;

max=(x>

y)?

x:

y;

max);

的输出结果是B。

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

(7)程序段intx=3,a=1;

switch(x){case4:

a++;

case3:

case2:

case1:

}printf("

的输出结果是D。

(8)下列语句应将小写字母转换为大写字母,其中正确的是(B)。

A.if(ch>

ch<

z'

)ch=ch-32;

B.if(ch>

)ch=ch-32;

C.ch=(ch>

ch-32:

’’;

D.ch=(ch>

'

ch;

2.阅读程序,写出运行结果

(1)

voidmain()

{

inta=10,b=4,c=3;

if(a<

b)a=b;

c)a=c;

%d,%d,%d\n"

a,b,c);

输出:

10,4,3

voidmain()

intx=100,a=10,b=20,ok1=5,ok2=0;

b)if(b!

=15)if(!

ok1)x=1;

elseif(ok2)x=10;

elsex=-1;

x);

-1;

(3)

intk,a=1,b=2;

k=(a++==b)?

2:

3;

k);

3

(4)

voidmain()

{

ints=1,k=0;

switch(s)

{

case1:

k+=1;

case2:

k+=2;

default:

k+=3;

}

printf(“%d”,k);

}输出:

6

(5)

break;

1

 

第5章循环结构程序设计习题

(1)for(i=1;

i<

9;

i+=1);

该循环共执行了B次。

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

(2)inta=2;

while(a=0)a--;

该循环共执行了A次。

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

(3)执行完循环for(i=1;

100;

i++);

后,i的值为B。

A.99B.100C.101D.102

(4)以下for语句中,书写错误的是D。

A.for(i=1;

5;

B.i=1;

for(;

C.for(i=1;

)i++;

D.for(i=1,i<

5,i++);

(5)C语句,在循环条件初次判断为假,还会执行一次循环体。

A.forB.whileC.do-whileD.以上都不是

(6)循环结构的特点是C。

A.从上至下,逐个执行B.根据判断条件,执行其中一个分支

C.满足条件时反复执行循环体D.以上都对

(7)i、j已定义为int类型,则以下程序段中内循环体的执行次数是A。

for(i=5;

i;

i--)

for(j=0;

j<

4;

j++){…}

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

(8)C语言while语句中,用于条件的表达式是D。

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

(9)inta=1,x=1;

循环语句while(a<

10)x++;

的循环执行D。

A.无限次B.不确定次C.10次D.9次

(10)下列程序段执行后s的值为A。

inti=1,s=0;

while(i++)if(!

(i%3))break;

elses+=i;

A.2B.3C.6D.以上均不是

(1)三种循环语句是等价价的。

(2)当循环体中的switch语句内有break语句,则只跳出swicth语句。

同样,当switch语句中有循环语句,内有break语句,则只跳出循环语句。

(3)循环体执行遇到continue语句时跳过本次循环进入下次循环。

(4)下列程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0,请为程序填空。

voidmain()

inti,x,y=1;

&

for(i=2;

i<

=x/2;

i++)

if(x%i==0){y=0;

break;

(5)输入N个实数,输出其中的最大值、最小值。

#include<

stdio.h>

intn,i;

floatno1,nmax,nmin;

n);

%f"

no1);

nmax=no1;

nmin=no1;

=n;

i++)

&

no1);

if(no1>

nmax)nmax=no1;

if(no1<

nmin)nmin=no1;

MAX=%fMIN=%f\n"

nmax,nmin);

(6)输入若干个字符,分别统计数字字符的个数、英文字母的个数,当输入换行符时输出统计结果,运行结束。

#include<

charch;

ints1=0,s2=0;

while((ch=getchar())!

if(ch>

9'

)s1++;

||ch>

=’A’||ch<

=’Z’)s2++;

3.阅读下列程序,写出程序运行的输出结果

{inty=9;

for(;

y>

0;

y--)

if(y%3==0){printf("

--y);

continue;

852

(2)main()

intk,n,m;

n=10;

m=1;

k=1;

while(k++<

=n)

m*=2;

m);

1024

{inti=5;

do

{switch(i%2)

{case4:

i--;

case6:

i--;

i=%d"

i);

}while(i>

0);

i=3i=1i=-1

(4)#include<

intk=0;

charc='

switch(c++)

case'

:

k++;

B'

k--;

C'

D'

k=k%2;

E'

k=k*10;

default:

k=k/3;

}while(c<

G'

);

k=%d\n"

k);

8

(5)输入数据:

2,4

ints=1,t=1,a,n;

inti;

scanf("

%d,%d"

for(i=1;

n;

i++){

t=t*10+1;

s=s+t;

s*=a;

SUM=%d\n"

s);

2468

4.程序改错

(1)以下程序是显示[200,300]所有能被7整除的数,每行显示5个数,此程序有5处错。

inti,n=0;

/*n用来记录每行已打印数的个数*/

while(i<

300)//while((i<

=300)&

(i>

=200))

{//i++;

if(i%7==0)//if(i%7!

=0)

//continue;

%5d"

i);

n=n+1;

if(n=5)/*满5个换行*///if(n==5)

p

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

当前位置:首页 > 解决方案 > 工作计划

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

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