C语言第15章练习题1.docx

上传人:b****4 文档编号:26879277 上传时间:2023-06-23 格式:DOCX 页数:70 大小:50.01KB
下载 相关 举报
C语言第15章练习题1.docx_第1页
第1页 / 共70页
C语言第15章练习题1.docx_第2页
第2页 / 共70页
C语言第15章练习题1.docx_第3页
第3页 / 共70页
C语言第15章练习题1.docx_第4页
第4页 / 共70页
C语言第15章练习题1.docx_第5页
第5页 / 共70页
点击查看更多>>
下载资源
资源描述

C语言第15章练习题1.docx

《C语言第15章练习题1.docx》由会员分享,可在线阅读,更多相关《C语言第15章练习题1.docx(70页珍藏版)》请在冰豆网上搜索。

C语言第15章练习题1.docx

C语言第15章练习题1

第一、二章C语言概述与算法

一、单选题

1.一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是

 A)有零个或多个输入       B)有零个或多个输出

 C)有穷性                 D)可行性

2.以下叙述中正确的是

   A)C语言的源程序不必通过编译就可以直接运行

B)C语言的每条可执行语句最终都将被转换成二进制的机器指令

  C)C语言的源程序经编译形成的二进制代码可以直接运行

D)C语言的函数不可以单独进行编译

3.对用C语言编写的代码程序,以下叙述中哪个是正确的

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

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

4.结构化程序由三种基本结构组成,由这三种基本结构组成的算法

   A)可以完成任何复杂的任务           B)只能完成部分复杂的任务

  C)只能完成符合结构化的任务         D)只能完成一些简单的任务

5.有一个命名为C001.C的C语言源程序,当正常执行后,在当前目录下不存在的文件是

   A)C001.OBJ B)C001.DAT C)C001.EXE D)C001.C

二、填空题

1.结构化程序由          、           、          三种基本结构组成。

2.模块化程序设计的设计原则是           和          。

3.组成C程序的基本单位是        ,其组成部分包括           和          。

4.C程序中的main称          ,它可以出现在程序的        位置。

5.由“/*”和“*/”括起来的内容称为         ,它的作用是           。

6.描述算法的常用方法有:

                                                。

 第三章 数据类型、运算符与表达式

一、单选题

1.与十进制数97不等值的字符常量是

  A) ’a’    B)’\101’    C)’\x61’    D)’\141’

2.在编写了一个C语言源程序C001.C并正确执行之后,当前目录下哪个文件不存在

  A) C001.C B)C001.OBJ   C)C001.DAT  D)C001.EXE

3.以下选项中正确的整型常量是

A) 5.    B)-10        C)1.000     D)4/5

4.以下选项中正确的实型常量是

A)0       B)3. 1415   C)0.03x102   D).32

5.以下选项中不正确的实型常量是

A)2.670E-1 B)0.05e+1.5  C)-77.77    D)456e-2

6.以下选项中不合法的用户标识符是

A)wb-1    B)file       C)Main     D)PRINTF

7.以下选项中不合法的用户标识符是

A)_123    B)printf     C)A$      D)Dim

8.C语言中运算对象必须是整型的运算符是

A)%     B)/         C)*        D)+

9.可在C程序中用作标识符的一组标识符是

A)void   B)as_b3     C)For      D)2c

          Define     _123         -abc         DO

          WORD    If            case         SiG

10.若变量已正确定义并赋值,符合C语言语法的表达式是

A)a=a+7; B)a=7+b+c,a++C)int(12.3%4)D)a=a+7=c+b

11.以下非法的赋值语句是

A)n=(i=2,++i);B)j++;   C)++(i+1); D)x=j>0;

12.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是

  A)6.   B)6     C)5. D)6.

13.已有定义:

intx=3,y=4,z=5;,则表达式!

(x+y)+z-1&&y+z/2的值是

   A)6           B)0     C)2        D)1

14.以下叙述中正确的是

A)a是实型变量,C允许以下赋值a=10,因此可以这样说实型变量中允许存放整型值。

B)在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式

C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0

D)已有a=3,b=5。

当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3

15.以下叙述中正确的是

A)在C程序中,无论是整数还是实数,只要在允许的范围内都能准确无误的表示。

B)C程序由主函数组成。

C)C程序由函数组成。

D)C程序由函数和过程组成。

16.TurboC中int类型变量所占字节数是

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

17.不合法的八进制数是

A)0     B)028  C)07700 D)01

18.不合法的十六进制数是

A)oxff  B)0Xabc C)0x11  D)0x19

19.若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是

A)a=b=c=100;B)d++;C)c+b;  D)d=(c=22)-(b++);

20.以下选项中不是C语句的是

A){int i; i++; printf(“%d\n”, i); }   

B);  C)a=5,c=10   D){  ;  }

21.以下合法的C语言赋值语句是

A)a=b=58 B)k=int(a+b);C)a=58,b=58 D)--i;

22.以下程序的输出结果是

       main()

       { int x=10, y=3;

          printf(“%d\n”,y=x/y);

       }

A)0    B)1    C)3   D)不确定的值

23.C语言中的简单数据类型有

A)整型、实型、逻辑型        B)整型、实型、字符型

C)整型、字符型、逻辑型      D)整型、实型、逻辑型、字符型

24.C语言中,字符(char)型数据在微机内存中的存储形式是

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

25.设有语句char a=‘\172’;,则变量a

A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明不合法

26.C语言中不合法的字符常量是

A)’\xff’  B)’\65’  C)’&’   D)’\028’

27.C语言中不合法的字符串量是

A)”\121”   B)’y=’    C)”\n\n”   D)”ABCD\x6d”

28.判断char型变量c是否为大写字母的最简单且正确的表达式是

A)’A’<=c<=’Z’           B)(c>=’A’&(c<=’Z’)  

C)(‘A’<=c)AND(‘Z’>=c)    D)(c>=’A’)&&(c<=’Z’)

29.下列运算符中优先级最高的运算符是

A)!

     B)%   C)-=     D)&&     

30.下列运算符中优先级最低的运算符是

A)||     B)!

=  C)<=     D)+

31.为表示关系x≥y≥z,应使用的C语言表达式是

A)(x>=y)&&(y>=z)   B)(x>=y)AND(y>=z)

C)(x>=y>=z)       D)(x>=y)&(y>=z)

32.设a、b和c都是int变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是

A)a&&b  B)a<=b C)a||b+c&&b-c  D)!

((a

c||1)

二、填空题

1.若k为int型变量且赋值11,请写出运算k++后表达式的值    和变量的值    。

2.若x为double型变量,请写出运算x=3.2,++x后表达式的值     和变量的值      。

3.函数体由符号     开始,用符号     结束。

 

4.函数体的前面是       部分,其后面是       部分。

5.在C语言程序中,用关键字    定义基本整型变量,用关键字    定义单精度实型变量,用关键字      定义双精度实型变量。

6.把a1、a2定义成单精度实型变量,并赋初值1的定义语句是             。

7.C程序中定义的变量,代表内存中的一个        。

8.表达式3.5+1/2的计算结果是      。

9.对以下数学式,写出三个等价的C语言表达式是              、             、

               。

10.表达式s=10应当读做“              ”。

11.计算机中内存储器的最小单位称为         ,其中能容纳的数是       。

12.通常一个字节包含   个二进制位。

在一个字节中能存放的最大十进制整数是     ,它的二进制数的形式是         ;最小十进制整数是   ,它的二进制形式是       。

13.当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是      、最小十进制整数是     ,它们的二进制形式是          。

14.C语言中用        表示逻辑真,用        表示逻辑假。

15.根据C语言运算符的优先顺序和结合性,按从高到低的顺序写出以下表达式中,运算符“+”、“>”、“*”、“&&”、“!

=”、“||”、“!

”和“/”的优先顺序:

    、    、    、    、    、    、    、    。

16.若表达式(a+b)>c*2&&b!

=5||!

(1/2)中,a、b、c的定义和赋值为

       int a=3,b=4,c=2;

则表达式的值为        。

17.将下列数学式改写成C语言的关系表达式或逻辑表达式是A)       B)      。

       A)a=b或a4

18.请写出与以下表达式等价的表达式是A)           B)          。

       A)!

(x>0)             B)!

0

19.以下程序的输出结果是     。

main()

{  inta=0;

a+=(a=8);

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

}

 第四章 顺序结构程序设计

一、单选题

1.若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是

A)read(a,b,c)                  B)scanf(“%d%d%d”,a,b,c);

C)scnaf(“%D%D%D”,&a,&b,&C);D)scanf(“%d%d%d”,&a,&b,&c);

2.若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是

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

A)10          B)10.0,22.0,33.0    C)10.0       D)10  22

    22                                  22.0 33.0     33

 33

3.已知i、j、k为int型变量,若从键盘输入:

1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是

 A)scanf("%2d%2d%2d",&i,&j,&k);B)scanf("%d%d%d",&i,&j,&k);

C)scanf("%d,%d,%d",&i,&j,&k);D)scanf("i=%d,j=%d,k=%d",&i,&j,&k);

4.若有以下程序:

   main()

   {intk=2,i=2,m;

       m=(k+=i*=k);printf("%d,%d\n",m,i);

   }

执行后的输出结果是

     A)8,6  B)8,3  C)6,4    D)7.4

5若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句是

A)a=a+b,b=a-b,a=a-b;   B)t=a;a=b;b=t;

C)a=t;t=b;b=a;         D)t=b;b=a;a=t;

6.有以下程序

    main()

      { inti=10,j=1;

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

  }

执行后输出结果是

     A)9,2   B)10,2  C)9,1   D)10,1

7.若变量已正确定义,以下程序段的输出结果是

       x=5.16894;

       printf(“%f\n”,(int)(x*1000+0.5)/(float)1000);

A)输出格式说明与输出项不匹配,输出无定值B)5.17000

C)5.                               D)5.

8.若有以下程序段,c3中的值是

     int c1=1,c2=2,c3;

       c3=c1/c2;

A)0   B)1/2  C)0.5   D)1

9.若有以下程序段,其输出结果是

       int a=0,b=0,c=0;

       c=(a-=a-5),(a=b,b+3);

       printf(“%d,%d,%d\n”,a,b,c);

A)0,0,-10  B)0,0,5 C)-10,3,-10  D)3,3,-10

10.当运行以下程序时,在键盘上从第一列开始,输入(此处表示Enter),则程序的输出结果是

       main()

       { int a;   float   b, c;

          scanf(“%2d%3f%4f”,&a,&b,&c);

          printf(“\na=%d,b=%f,c=%f\n”,a,b,c);

       }

A)a=98,b=765,c=4321                 B)a=10,b=432,c=8765

C)a=98,b=765.,c=4321.    D)a=98,b=765.0,c=4321.0

11.以下程序的输出结果是

       main()

       { int a=2,b=5;

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

       }

A)a=%2,b=%5  B)a=2,b=5  C)a=%%d,b=%%dD)a=%d,b=%d

12.若int类型占两个字节,则以下程序段的输出是

       int a=-1;

       printf(“%d,%u\n”,a,a);

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

13.以下程序段的输出是

       int  x=496;

       printf(“*%-06d*\n”,x);

A)*496  * B)*  496* C)** D)输出格式不合法

14.以下程序段的输出是

       float a=3.1415;

       printf(“|%6.0f|\n”,a);

A)|3.1415|   B)|  3.0|  C)|    3|   D)|   3.|

15.以下程序段的输出是

     printf(“|%10.5f|\n”,12345.678);

A)|2345.67800| B)|12345.6780| C)|12345.67800| D)|12345.678|

16.若从终端输入以下数据,要给变量c赋以283.19,则正确的输入语句是

A)scanf(%f”,c)    B)scanf(%8.4f”,&c); C)scanf(%6.2f”,&c); D)scanf(%8f”,&c);

17.若变量已正确说明,要求用以语句给a赋予3.12、给b赋予9.0,则正确的输入形式是

   scanf(“a=%f,b=%f”,&a,&b);

A)3.12 9.0  B)a= 3.12b=  9C)a=3.12,b=9.0 D)a=3.12 ,b=9

18.以下程序的输出结果是

       #include “math.h”

main()

       {  double a=-3.0,b=2;

printf(“%3.0f %3.0f\n”,pow(b,fabs(a)),pow(fabs(a),b));

       }

A)9 8     B)8 9  C)6 6   D)以上三个都不对

19.以下程序的输出结果是

       main()

       { char  c1=‘A’,c2=‘Y’;

          printf(“%d,%d\n”,c1,c2);

       }

A)因输出格式不合法,无正确输出B)65,90  C)A,Y  D)65,89

20.以下程序段的输出结果是

       main()

       { char  x=‘A’;

          x=(x>=’A’&&x<=’Z’)?

(x+32):

x;

          printf(“%c\n”,x);

       }

A)A     B)a      C)Z     D)z  

21以下程序段的输出结果是

       main()

       { char  ch1,ch2;

          ch1=‘A’+‘5’-‘3’;

          ch2=‘A’+‘5’-‘3’;

          printf(“%d,%c\n”,ch1,ch2);

       }

A)67,C   B)B,C    C)C,D  D)不确定的值

22.若变量已正确说明,要求用以下语句给c1赋予字符%、给c2赋予字符#、给a赋予2.0、给b赋予4.0,则正确的输入形式是

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

A)2.0 % 4.0#    B)2.0%4.0#   C)2% 4#   D)2%4#

23.以下程序的运行结果是

main()

{  inta=2,b=-1,c=2;

   if(a

      if(b<0)c=0;

   else c+=1;

   printf(“%d\n”,c);

}

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

24.以下程序的输出结果是

main()

{  int w=4,x=3,y=2,z=1;

   printf(“%d\n”,(w

w:

z

z:

x));

}

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

25.下列程序段的输出结果是

inta=1234;

floatb=123.456;

doublec=12345.54321;

printf("%2d,%2.1f,%2.1f",a,b,c);

A)无输出            B)12,123.5,12345.5

C)1234,123.5,12345.5  D)1234,123.4,1234.5

二、填空题

1.若有以下定义,请写出以下程序段中输出语句执行后的结果。

(1)            

(2)             (3)             

       int i=-200,j=2500;

       printf(“

(1) %d %d”,i,j);

       printf(“

(2) i=%d,j=%d\n”,i,j);

printf(“(3) i=%d\nj=%d\n”,i,j);

2.变量i、j、k已定义为int类型并赋初值0,用以下语句输入时

       scanf(“%d”,&i); scanf(“%d”,&j);  scanf(“%d”,&k);

当执行第一个输入语句时从键盘输入:

    123  表示Enter键

则变量i、j、k的值分别是。

3.复合语句在语法上被认为是       。

空语句的形式是     。

4.以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。

写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种可能的输入形式   、   、   。

       int  k;flaot a; double x;

       scanf(“%d%f%lf”,&k,&a,&x);

       printf(“k=%d,a=%f,x=%f\n”,k,a,x);

5.以下程序段的输出结果是                           。

       int x=0177;

       printf(“x=%3d,x=%6d,x=%6o,x=%6x,x=%6u\n”,x,x,x,x,x);

6.以下程序段的输出结果是                           。

       double  a=513.;

    

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

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

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

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