第2章 C语言程序设计结构选择题Word文档格式.docx

上传人:b****2 文档编号:4541943 上传时间:2023-05-03 格式:DOCX 页数:38 大小:26.59KB
下载 相关 举报
第2章 C语言程序设计结构选择题Word文档格式.docx_第1页
第1页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第2页
第2页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第3页
第3页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第4页
第4页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第5页
第5页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第6页
第6页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第7页
第7页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第8页
第8页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第9页
第9页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第10页
第10页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第11页
第11页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第12页
第12页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第13页
第13页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第14页
第14页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第15页
第15页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第16页
第16页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第17页
第17页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第18页
第18页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第19页
第19页 / 共38页
第2章 C语言程序设计结构选择题Word文档格式.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

第2章 C语言程序设计结构选择题Word文档格式.docx

《第2章 C语言程序设计结构选择题Word文档格式.docx》由会员分享,可在线阅读,更多相关《第2章 C语言程序设计结构选择题Word文档格式.docx(38页珍藏版)》请在冰点文库上搜索。

第2章 C语言程序设计结构选择题Word文档格式.docx

c=getchar();

d=getchar();

%c%c%c%c\n"

a,b,c,d);

当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:

回车也是一个字符)1234则输出结果是

A)12

B)1234

C)123

D)1234

(7)若变量已正确定义为int型,要通过语句scanf("

%d,%d,%d"

a,&

b,&

c);

给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:

□代表一个空格符)

A)□□□1,2,3

B)1,□□□2,□□□3

C)1,2,3

D)1□2□3

(8)设变量均已正确定义,若要通过scanf("

%d%c%d%c"

a1,&

c1,&

a2,&

c2);

语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。

以下所示的输入形式中正确的是(注:

□代表空格字符)

A)10□X20□Y

B)10□X20□Y

C)10X20Y

D)10□X□20□Y

(9)设有定义:

inta;

floatb;

执行scanf("

%2d%f"

&

语句时,若从键盘输入876543.0则a和b的值分别是

A)876和543.0

B)87和6.0

C)87和543.0

D)76和543.0

(10)若有定义:

inta,b;

通过语句scanf("

%d;

%d"

能把整数3赋给变量a,5赋给变量b的输入数据是

A)3,5

B)35

C)3;

5

D)35

(11)若有定义inta;

doublec;

程序运行时输入:

345能把值3输入给变量a、4输入给变量b、5输入给变量c的语句是

A)scanf("

%d%lf%lf"

B)scanf("

%d%f%lf"

C)scanf("

%d%f%f"

D)scanf("

%lf%lf%lf"

(12)设有定义:

doublea,b,c;

若要求通过输入分别给a、b、c输入1、2、3,输入形式如下(注:

此处□代表一个空格)□□1.0□□2.0□□3.0则能进行正确输入的语句是

a,b,c);

%f%f%f"

%5.1lf%5.1lf%5.1lf"

(13)以下叙述中正确的是

A)当用scanf从键盘输入数据时,每行数据在没按下回车键(Enter键)前,可以任意修改

B)花括号对{}只能用来表示函数的开头和结尾,不能用于其他目的

C)空语句就是指程序中的空行

D)复合语句在语法上包含多条语句,其中不能定义局部变量

(14)以下叙述中正确的是

A)在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上

B)在使用scanf函数输入整数或实数时,输入数据之间只能用空格来分隔

C)在printf函数中,各个输出项只能是变量

D)使用printf函数无法输出百分号%

(15)以下叙述中正确的是

A)在scanf函数的格式串中,必须有与输入项一一对应的格式转换说明符

B)只能在printf函数中指定输入数据的宽度,而不能在scanf函数中指定输入数据占的宽度

C)scanf函数中的字符串,是提示程序员的,输入数据时不必管它

D)复合语句也被称为语句块,它至少要包含两条语句

(16)有以下程序

#include

inta1,a2;

charc1,c2;

%d,%c,%d,%c"

a1,c1,a2,c2);

若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:

12,a,34,b则正确的输入格式是(以下□代表空格,代表回车)

A)12□a□34□b

B)12,a,34,b

C)12a34b

D)12□a34□b

(17)有以下程序

charc1,c2,c3,c4,c5,c6;

%c%c%c%c"

c2,&

c3,&

c4);

c5=getchar();

c6=getchar();

putchar(c1);

putchar(c2);

%c%c\n"

c5,c6);

程序运行后,若从键盘输入(从第1列开始)12345678则输出结果是

A)1256

B)1278

C)1245

D)1267

(18)若有定义语句:

doublex,y,*px,*py;

执行px=&

x;

py=&

y;

正确的输入语句是

%f%f"

&

x,&

y);

%lf%le"

px,py);

%lf%lf"

x,y);

(19)以下程序段完全正确的是

A)intk,*p=&

k;

scanf("

p);

B)int*p;

C)int*p;

p);

D)intk,*p;

*p=&

(20)若在定义语句:

inta,b,c,*p=&

c;

接着执行以下选项中的语句,则能正确执行的语句是

%d%d%d"

p);

(21)有以下程序段

intj;

floaty;

charname[50];

%2d%f%s"

j,&

y,name);

当执行上述程序段,从键盘上输入555667777abc后,y的值为

A)55566.0

B)7777.0

C)566.0

D)566777.0

(22)有以下程序段

charname[20];

intnum;

name=%snum=%d"

name,&

num);

当执行上述程序段,并从键盘输入:

name=Lilinum=1001后,name的值为

A)name=Lili

B)Lilinum=

C)name=Lilinum=1001

D)Lili

(23)有以下程序

inta=0,b=0,c=0,d=0;

if(a=1)b=1;

c=2;

elsed=3;

%d,%d,%d,%d\n"

程序输出

A)0,0,0,3

B)1,1,2,0

C)编译有错

D)0,1,2,0

(24)有以下程序

intx=1,y=0;

if(!

x)y++;

elseif(x==0)

if(x)y+=2;

elsey+=3;

y);

程序运行后的输出结果是

A)2

B)0

C)1

D)3

(25)若变量已正确定义,在if(W)printf("

k);

中,以下不可替代W的是

A)ch=getchar()

B)a==b+c

C)a<

>

b+c

D)a++

(26)有以下程序段

inta,b,c;

a=10;

b=50;

c=30;

if(a>

b)a=b,b=c;

c=a;

a=%db=%dc=%d\n"

a,b,c);

程序的输出结果是

A)a=10b=50c=30

B)a=10b=30c=10

C)a=10b=50c=10

D)a=50b=30c=50

(27)设有定义:

inta=1,b=2,c=3;

以下语句中执行效果与其它三个不同的是

A)if(a>

b)c=a;

a=b;

b=c;

B)if(a>

b){c=a,a=b,b=c;

}

C)if(a>

b)c=a,a=b,b=c;

D)if(a>

b){c=a;

(28)if语句的基本形式是:

if(表达式)语句,以下关于“表达式”值的叙述中正确的是

A)必须是整数值

B)必须是正数

C)可以是任意合法的数值

D)必须是逻辑值

(29)有如下嵌套的if语句if(a<

b)

if(a<

c)k=a;

elsek=c;

else

if(b<

c)k=b;

以下选项中与上述if语句等价的语句是

A)k=(a<

b)?

((bc)?

b:

B)k=(a<

c)?

C)k=(a<

a:

D)k=(a<

((a<

c):

((b<

(30)有以下计算公式

y=

(x≥0)

(x<

0)

若程序前面已经在命令行中包含math.h文件,不能够正确计算上述公式的程序段是

A)y=sqrt(x);

if(x<

0)y=sqrt(-x);

B)if(x>

=0)y=sqrt(x);

elsey=sqrt(-x);

C)if(x>

D)y=sqrt(x>

=0?

x:

-x);

(31)有以下程序#includemain(){intx;

x);

=3);

elseif(x!

=10)printf("

x);

}程序运行时,输入的值在哪个范围才会有输出结果

A)不等于10的整数

B)大于3或等于10的整数

C)小于3的整数

D)大于3且不等10的整数

(32)有以下程序

inta=1,b=2,c=3,d=0;

if(a==1&

&

b++==2)

if(b!

=2||c--!

=3)

%d,%d,%d\n"

elseprintf("

A)1,3,2

B)1,2,3

C)1,3,3

D)3,2,1

(33)下列条件语句中,输出结果与其他语句不同的是

A)if(a==0)printf("

elseprintf("

B)if(a==0)printf("

C)if(a!

=0)printf("

D)if(a)printf("

(34)若有以下程序

inta=1,b=2,c=3,d=4;

if((a=2)||(b=1))c=2;

if((c==3)&

(d=-1))a=5;

a,b,c,d);

A)2,1,2,-1

B)2,2,2,4

C)5,1,2,-1

D)1,2,3,4

(35)若有以下程序

inta=1,b=2,c=3,d=4,r=0;

if(a!

=1);

elser=1;

if(b==2)r+=2;

else;

if(c!

=3)r+=3;

if(d==4)r+=4;

r);

A)10

B)6

C)7

(36)若有以下程序

if((a=2)&

(b=1))c=2;

if((c==3)||(d=-1))a=5;

B)2,2,2,4

C)1,2,3,4

D)5,1,2,-1

(37)若有以下程序

elser=1;

=3);

r+=3;

A)7

B)10

C)6

(38)以下叙述中正确的是

A)if语句只能嵌套一层

B)不能在else子句中再嵌套if语句

C)if子句和else子句中可以是任意的合法的C语句

D)改变if-else语句的缩进格式,会改变程序的执行流程

(39)有以下程序

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

switch(x){

case1:

switch(y){

case0:

a++;

break;

case1:

b++;

case2:

case3:

a=%d,b=%d\n"

程序的运行结果是

A)a=2,b=2

B)a=1,b=1

C)a=1,b=0

D)a=2,b=1

(40)若有定义:

floatx=1.5;

inta=1,b=3,c=2;

则正确的switch语句是

A)switch(a+b){case1:

printf("

*\n"

);

 case2+1:

**\n"

B)switch((int)x);

{case1:

case2:

C)switch(x){case1.0:

case2.0:

D)switch(a+b){case1:

casec:

(41)下列叙述中正确的是

A)在switch语句中必须使用default

B)break语句必须与switch语句中的case配对使用

C)在switch语句中,不一定使用break语句

D)break语句只能用于switch语句

(42)有以下程序

intk=5,n=0;

do{

switch(k){

case3:

n+=1;

k--;

default:

n=0;

case4:

n+=2;

n);

while(k>

0&

n<

5)}

运行以后的输出结果是

A)0235

B)235

C)02356

D)2356

(43)以下选项中与if(a==1)a=b;

elsea++;

语句功能不同的switch语句是

A)switch(a==1){case0:

break;

a++;

B)switch(a){case1:

default:

C)switch(a){default:

D)switch(a==1){case1:

case0:

(44)有以下程序

#include

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

switch(x){

switch(y)

{case0:

a=%d,b=%d\n"

a,b);

}

A)a=1,b=1

B)a=1,b=0

C)a=2,b=1

D)a=2,b=2

(45)若以下选项中的变量a,b,y均已正确定义并赋值,则语法正确的switch语句是

A)switch(a*a+b*b){default:

case3:

y=a+b;

case2:

y=a-b;

B)switch(a+b){case1:

case3:

case0:

case4:

C)switch(a+9){casea:

caseb:

D)switcha*b{case10:

(46)以下程序段中,与语句:

k=a>

b?

(b>

c?

1:

0):

0;

功能相同的是

A)if((a>

b)||(b>

c))k=1;

elsek=0;

B)if(a<

=b)k=0;

elseif(b<

=c)k=1;

C)if((a>

b)&

(b>

b)k=1;

elseif(b>

c)k=1;

(47)关于“while(条件表达式)循环体”,以下叙述正确的是

A)循环体的执行次数总是比条件表达式的执行次数多一次

B)条件表达式的执行次数与循环体的执行次数一样

C)条件表达式的执行次数总是比循环体的执行次数多一次

D)条件表达式的执行次数与循环体的执行次数无关

(48)有以下程序

inty=10;

while(y--);

y=%d\n"

程序执行后的输出结果是

A)y=0

B)y=-1

C)y=1

D)while构成无限循环

(49)有以下程序

intk=5;

while(--k)

k-=3);

\n"

执行后的输出结果是

B)4

D)死循环

(50)有以下程序

y);

程序执行后的输出结果是

B)y=1

C)y=-1

(51)有以下程序

voidmain()

{

ints;

s);

while(s>

{

switch(s)

s+5);

s+4);

s+3);

default:

s+1);

运行时,若输入123450,则输出结果是

A)66656

B)6566456

C)66666

D)6666656

(52)有以下程序

inta=7;

while(a--);

printf("

a);

A)0

B)1

C)-1

D)7

(53)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是

A)(E>

0||E<

B)(!

E==0)

C)(E!

=0)

D)(E==0)

(54)要求通过while循环不断读入字符,当读入字母N时结束循环。

若变量已正确定义,以下正确的程序段是

A)while(ch=getchar()='

N'

)printf("

%c"

ch);

B)while(ch=getchar()==”N”)printf("

C)while((ch=getchar())!

='

D)while((ch=getchar())=='

(55)若有以下程序

inta=-2,b=0;

while(a++)

++b;

%d,%d

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

当前位置:首页 > 解决方案 > 学习计划

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

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