实验指导书基本概念测试习题答案bak.docx

上传人:b****3 文档编号:26895960 上传时间:2023-06-23 格式:DOCX 页数:66 大小:44.53KB
下载 相关 举报
实验指导书基本概念测试习题答案bak.docx_第1页
第1页 / 共66页
实验指导书基本概念测试习题答案bak.docx_第2页
第2页 / 共66页
实验指导书基本概念测试习题答案bak.docx_第3页
第3页 / 共66页
实验指导书基本概念测试习题答案bak.docx_第4页
第4页 / 共66页
实验指导书基本概念测试习题答案bak.docx_第5页
第5页 / 共66页
点击查看更多>>
下载资源
资源描述

实验指导书基本概念测试习题答案bak.docx

《实验指导书基本概念测试习题答案bak.docx》由会员分享,可在线阅读,更多相关《实验指导书基本概念测试习题答案bak.docx(66页珍藏版)》请在冰豆网上搜索。

实验指导书基本概念测试习题答案bak.docx

实验指导书基本概念测试习题答案bak

1数据类型与表达式

1.1基本概念

1、一个C语言程序总是从()。

A、主过程开始执行   B、主函数开始执行

C、子程序开始执行   D、主程序开始执行

【答案】B

2、C语言程序从main()函数开始执行,所以这个函数要写在()。

A、程序文件的开始B、程序文件的最后

C、它所调用的函数的前面D、程序文件的任何位置

【答案】D

3、下列关于C语言的叙述错误的是()。

A、大写字母和小写字母的意义相同

B、不同类型的变量可以在一个表达式中

C、在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型

D、同一个运算符号在不同的场合可以有不同的含义

【答案】A

4、在C语言中,错误的int类型的常数是()。

A、32768B、0C、037D、0xAF

【答案】A

5、在C语言中,整数-8在内存中的存储形式是()。

A、1111111111111000B、1000000000001000

C、0000000000001000D、1111111111110111

【答案】A

6、C语言中字符型(char)数据在内存中的存储形式是()。

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

【答案】D

7、已知a、b、c为int类型变量,若有输入语句:

scanf("a=%db=%dc=%d",&a,&b,&c);为使a值为10,b值为20,c值为30,从键盘输入数据的正确形式应当是()。

A、102030<回车>    B、a=10b=20c=30<回车>

C、10<回车>20<回车>30<回车>D、a=10<回车>b=20<回车>c=30<回车>

【答案】B

8、以下能正确定义整型变量x、y和z并为其赋初值5的语句是()。

A、intx=y=z=5;    B、intx,y,z=5;

C、intx=5,y=5,z=5;  D、x=5,y=5,z=5;

【答案】C

9、已知ch是字符型变量,则不正确的赋值语句是()。

A、ch=5+9;    B、ch='\0';C、ch='7'+'9';    D、ch='a+b';

【答案】D

10、设x,y是float型变量,则不正确的赋值语句是()。

A、++x;     B、y=int(5);C、x*=y+1;    D、x=y=0;

【答案】B

11、若a为int类型变量,则执行以下程序段后a的值为()。

a=5;

a*=a/=a++;

A、2  B、1  C、40  D、3

【答案】A

12、若a和b均为int型变量,则执行以下程序断后x的输出是()。

x=15;y=15;

printf("%d\n",x%=(y%=2));

A、0  B、1  C、6  D、12

【答案】A

13、设a、b、c、d均是int类型变量,为了使以下程序段的输出为:

1234+123+12+1,正确的输入形式应当是()。

scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);

printf("%4d+%3d+%2d+%1d",a,b,c,d);

A、1234123121<回车>B、1234123412341234<回车>

C、1234+1234+1234+1234<回车>D、1234+123+12+1<回车>

【答案】D

14、设c1、c2均是char类型变量,则以下不正确的函数调用是()。

A、scanf("c1=%cc2=%c",&c1,&c2);B、getchar()

C、putchar(c2);    D、putchar(c1,c2)

【答案】D

15、逻辑运算符两侧运算对象的数据()。

A、只能是0或1B、只能是0或非0正数

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

【答案】D

16、判断char型变量c1是否为大写字母的正确表达式是()。

A、'A'<=c1<='Z'B、(c1>='A')&(c1<='Z')

C、(c1>='A')&&(c1<='Z')D、('A'<=c1)AND('Z'>=c1)

【答案】C

17、设i、j、和k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是()。

A、'i'&&'j'B、i<=j

C、i||j+k&&j-kD、!

((i

k||1)

【答案】D

18、设ch是char类型变量,其值是A,则表达式ch=(ch>='A'&&ch<='Z')?

(ch+32):

ch的值是()。

A、Z  B、A  C、a  D、z

【答案】C

19、若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。

则以下不能满足要求的表达式是()。

A、num%2==1    B、!

(num%2==0)

C、!

(num%2)     D、num%2

【答案】C

20、已知longi=32768;执行语句printf("%d",i);屏幕显示()。

A、-1B、-32768C、1D、32768

【答案】B

1.2阅读程序题

21、下面程序的输出结果是()。

#include

main()

{intx=10;

{intx=20;

printf("%d,",x);

}

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

}

A、10,20B、20,10C、10,10D、20,20

【答案】B

22、若a、b、c均为int型变量,则执行以下程序段后的输出结果为()。

b=(a=10,a+5,c=10);

printf("a=%d,b=%d,c=%d\n",a,b,c);

c=(a=10,b=5,a+b);

printf("a=%d,b=%d,c=%d\n",a,b,c);

A、a=10,b=15,c=10  B、a=10,b=10,c=10

a=10,b=5,c=10a=10,b=5,c=10

C、a=10,b=10,c=10  D、a=10,b=10,c=10

a=10,b=5,c=15    a=10,b=5,c=5

【答案】C

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

main()

{intx=10,y=10;

printf("%d%d\n",x――,――y);

}

A、1010B、99C、910D、109

【答案】D

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

main()

{intn=1;

printf("%d%d%d\n",n,n++,n--);

}

A、111B、101C、110D、121

【答案】B

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

main()

{intx=0x02ff,y=0x0ff00;

printf("%d\n",(x&y)>>4|0x005f);

}

A、127B、255C、128D、1

【答案】A

26、下面程序的输出结果是()。

main()

{inta=111;

a=a^00;

printf("%d,%o\n",a,a);

}

A、111,157B、0,0C、20,24D、7,7

【答案】A

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

main()

{floata;

a=1/100000000;

printf("%g",a);

}

A、0.00000e+00B、0.0C、1.00000e-07D、0

【答案】D

1.3程序填空题

28、下面程序的功能是不用第三个变量,实现两个数的对调操作。

#include

main()

{inta,b;

scanf("%d%d",&a,&b);

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

a=①;

b=②;

a=③;

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

}

【答案】①a+b②a-b③a-b

2控制结构

2.1基本概念

1、以下正确的if语句是()。

A、if(n>0)printf("%f",n)

printf("%f",-n);

B、if(n>0)

{n=n+m;printf("%f",n);}

elseprintf("%f",-n);

C、if(n>0)

{n=n+m;printf("%f",n);};

elseprintf("%f",-n);

D、if(n>0)

{n=n+m;printf("%f",n)};

elseprintf("%f",-n);

【答案】B

2、以下程序()。

   main()

  {intx1=3,x2=0,x3=0;

     if(x1=x2+x3)

printf("****");

else

printf("####");

    }

A、输出:

****   B、输出:

####

C、存在语法错误   D、无输出结果

【答案】B

3、为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:

else子句总是与()。

A、缩排位置相同的if配对B、其之前最近且不带else的if配对

C、其之前最近的if配对D、第一个if配对

【答案】B

4、以下关于switch语句和break语句的描述中正确的是()。

A、在switch语句中必须使用break语句

B、break语句只能用于switch语句体中

C、break语句只能用于循环语句中

D、在switch语句中使用break语句或continue语句的作用相同

【答案】D

5、若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。

则以下不能满足要求的表达式是()。

A、A%2==1        B、!

(A%2==0)       C、 !

(A%2)         D、 A%2 

【答案】C

6、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是()。

 if(x>y) z=x; x=y; y=z; 

A、 x=10, y=20, z=30                B、 x=20, y=30, z=30 

C、 x=20, y=30, z=10                D、  x=20, y=30, z=20 

【答案】B

7、设有程序段()。

   intx=10;

   while(x=0)  x=x-1;

A、while循环执行10次 B、循环是无限循环

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

【答案】C

8、语句while(!

y)中的表达式!

y等价于()。

A、y==0B、y!

=1 C、y!

=0 D、y==1

【答案】A

9、以下关于do-while循环不正确的描述是()。

A、d0-while的循环体至少执行一次

B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号

C、在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作

D、do-while的循环体可以是复合语句

【答案】B

10、设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是()。

    for(y=100;x!

=y;++x,y++)

      printf("****\n");

A、循环体只执行一次 B、是无限循环 C、循环体一次都不执行 D、for语句中存在语法错误

【答案】C

11、以下程序段中的do-while循环()。

    m=-1;

    do

     {m=m*m;

     }while(!

m);

A、是死循环  B、执行二次  C、执行一次  D、有语法错误

【答案】C

12、以下关于for循环的正确描述是()。

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

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

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

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

【答案】D

13、语句for(表达式1;;表达式3)等价于()。

A、for(表达式1;0;表达式3)B、for(表达式1;1;表达式3)

C、for(表达式1;表达式1;表达式3)D、for(表达式1;表达式3;表达式3)

【答案】B

14、若k为整型变量,则以下for循环的执行次数是()。

    for(k=2;k==0;)

     printf("%d",k--);

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

【答案】B

15、以下程序段的执行结果是()。

    intx=-3;

    do

     {printf("%d\n",x++);

     }while(!

x);

A、-3  B、-2 C、-1D、陷入死循环

【答案】A

16、以下程序段中是死循环的是()。

  A、intn=1;     B、intn=1;

    while(!

n)do{n--;

     n++;}while(n);

  C、intn=1;D、for(n=5;n<1;);

   do{n++;

    }while(n);

【答案】C

17、以下能正确计算1×2×3×…×10的程序段是()。

  A、doB、do

  {k=1;n=1;{k=1;n=0;

  n=n*k;n=n*k;

     k++;k++;

  }while(k<=10);}while(k<=10);

  C、k=1;n=1;D、k=1;n=0;

  dodo

   {n=n*k;{n=n*k;

k++;k++;

}while(k<=10);}while(k<=10);

【答案】C

18、若有以下程序段:

  for(m=1;m<=100;m++)

  {scanf("%d",&y);

  if(y<0)

  continue;

  printf("%3d",m);

  }

正确的描述是()。

  A、)当y<0时整个循环结束B、y>=0时什么也不输出

  C、printf函数永远也不执行D、)最多允许输出100个非负整数

【答案】D

19、以下程序段等价于()。

  for(k=100;k<=200;k++)

  {if(k%3==0)

     continue;

  printf("%4d",k);

  }

  A、for(k=100;(k%3)&&k<=200;k++)

  printf("%4d",k);

  B、for(k=100;(k%3)||k<=200;k++)

  printf("%4d",k);

  C、for(k=100;k<=200;k++)

  if(k%3!

=0)printf("%4d",k);

  D、for(k=100;k<=200;k++)

  {if(k%3)

  printf("%4d",k);

  else

  continue;

  break;

  }

【答案】C

2.2阅读程序题

20、下面程序的输出结果是()。

main()

{inta=1,i=a+1;

do

{a++;

}while(!

~i++>3);

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

}

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

【答案】B

21、下面程序的输出结果是()。

main()

{chars[12]="abook";

printf("%.4s",s);

}

A、abook!

B、abook!

<四个空格>C、aboD、格式描述错误,输出不确定

【答案】C

22、下面程序的输出结果是()。

main()

{inta,b;

scanf("%2d%3d",&a,&b);

printf("a=%db=%d\n",a,b);

}

A、a=12b=34B、a=123b=45C、a=12b=345D、语句错误

【答案】C

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

main()

{inta=0,b=1,c=0,d=20;

if(a)d=d-10;

elseif(!

b)

if(!

c)d=15;

elsed=25;

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

}

A、d=10B、d=15C、d=20D、d=25

【答案】C

24、下面程序的输出结果为()。

main()

{inta=1,b=0;

switch(a)

{case1:

switch(b)

{case0:

printf("**0**");

break;

case1:

printf("**1**");

break;

}

case2:

printf("**2**");

break;

}

}

A、**0**B、**0****2**C、**0****1****2**D、有语法错误

【答案】B

25、若执行下述程序时从键盘输入34,则输出结果是()。

#include

main()

{inta,b,s;

scanf("%d%d",&a,&b);

s=a;

if(a

s*=s;

printf("%d\n",s*s);

}

A、186B、256C、324D、400

【答案】B

26、下面程序的输出是()。

main()

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

switch(x)

{case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

}

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

}

A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=2

【答案】A

27、下面程序的运行结果是()。

  main()

  {intm=0;

  while(m<=2)

    {m++;

    printf("%d",m);

    }

printf("\n");

 }

  A、1      B、12  C、123D、1234

【答案】C

28、下面程序的输出结果是()。

main()

{intx,i;

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

{x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)

printf("%d",x);

}

}

A、3981B、4284C、2668D、2870

【答案】C

29、下面程序的输出结果是()。

main()

{intk=0;

charc='A';

do

{switch(c++)

{case'A':

k++;break;

case'B':

k--;

case'C':

k+=2;break;

case'D':

k=k%2;contiue;

case'E':

k=k+10;break;

default:

k=k/3;

}

k++;

}while(c<'C');

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

}

A、k=1B、k=2C、k=3D、k=4

【答案】D

30、在执行以下程序时,为了使输出结果为t=4,则给a和b输入的值应满足的条件是()。

#include

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;

elseif(a==b)t=5;

elset=2*s;

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

}

A、a>bB、aa>b

【答案】C

31、从键盘上输入"446755"时,下面程序的输出是()。

#include

main()

{intc;

while((c=getchar())!

='\n')

{switch(c-'2')

{case0:

case1:

putchar(c+4);

case2:

putchar(c+4);break;

case3:

putchar(c+3);

default:

putchar(c+2);break;

}

}printf("\n");

}

A、888988B、668966C、88898787D、66898787

【答案】C

32、假定从键盘上输入"3.6,2.4<回车>",下面程序的输出是()。

#include

main()

{floatx,y,z;

scanf("%f,%f",&x,&y);

z=x/y;

while

(1)

{if(fabs(z)>1.0)

{x=y;

y=z;

z=x/y;

}

elsebreak;

}

printf("%f\n",y);

}

A、1.500000B、1.600000C、2.000000D、2.400000

【答案】B

33、下面程序的输出结果是()。

main()

{inti,j,k=10;

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

{k++;

{intk=0;

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

{if(j%2)continue;

k++;

}

}

k++;

}

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

}

A、k=4B、k=8C、k=14D、k=18

【答案】C

2.3程序填空题

34、下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。

main()

{floatx,amax,amin;

scanf("%f",&x);

amax=x;

amin=x;

while(①)

{if(x>amax)amax=x;

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

当前位置:首页 > 医药卫生 > 基础医学

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

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