C语言习题集期末复习资料.docx

上传人:b****8 文档编号:10120925 上传时间:2023-05-23 格式:DOCX 页数:69 大小:42.52KB
下载 相关 举报
C语言习题集期末复习资料.docx_第1页
第1页 / 共69页
C语言习题集期末复习资料.docx_第2页
第2页 / 共69页
C语言习题集期末复习资料.docx_第3页
第3页 / 共69页
C语言习题集期末复习资料.docx_第4页
第4页 / 共69页
C语言习题集期末复习资料.docx_第5页
第5页 / 共69页
C语言习题集期末复习资料.docx_第6页
第6页 / 共69页
C语言习题集期末复习资料.docx_第7页
第7页 / 共69页
C语言习题集期末复习资料.docx_第8页
第8页 / 共69页
C语言习题集期末复习资料.docx_第9页
第9页 / 共69页
C语言习题集期末复习资料.docx_第10页
第10页 / 共69页
C语言习题集期末复习资料.docx_第11页
第11页 / 共69页
C语言习题集期末复习资料.docx_第12页
第12页 / 共69页
C语言习题集期末复习资料.docx_第13页
第13页 / 共69页
C语言习题集期末复习资料.docx_第14页
第14页 / 共69页
C语言习题集期末复习资料.docx_第15页
第15页 / 共69页
C语言习题集期末复习资料.docx_第16页
第16页 / 共69页
C语言习题集期末复习资料.docx_第17页
第17页 / 共69页
C语言习题集期末复习资料.docx_第18页
第18页 / 共69页
C语言习题集期末复习资料.docx_第19页
第19页 / 共69页
C语言习题集期末复习资料.docx_第20页
第20页 / 共69页
亲,该文档总共69页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言习题集期末复习资料.docx

《C语言习题集期末复习资料.docx》由会员分享,可在线阅读,更多相关《C语言习题集期末复习资料.docx(69页珍藏版)》请在冰点文库上搜索。

C语言习题集期末复习资料.docx

C语言习题集期末复习资料

C语言习题集

习题一

一.填空题

1.C程序是由()构成的,一个C程序中至少包含()。

因此,()是C程序的基本单位。

2.C程序注释是由()和()所界定的文字信息组成的。

3.函数体一般包括()和()。

二.判断题

1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。

【】

2.main函数必须写在一个C程序的最前面。

【】

3.一个C程序可以包含若干的函数。

【】

4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。

但是可以增加程序的可读性。

【】

5.C程序的注释只能是一行。

【】

6.C程序的注释不能是中文文字信息。

【】

三.简答题

 

四.编程题

     

习题二

一.选择题

1、合法的字符常量是。

A)‘\t’B)“A”C)‘a’D)’\x32’

2、合法的字符常量是。

A)‘\084’B)‘\84’C)‘ab’D)’\x43’

3、是C语言提供的合法的数据类型关键字。

A)FloatB)signedC)integerD)Char

4、在以下各组标识符中,合法的标识符是。

(1)A)B01B)table_1C)0_tD)k%

(2)A)Fast_B)voidC)pblD)

(3)A)xy_B)longdoubleC)*pD)CHAR

(4)A)sjB)IntC)_xyD)w_y23

5、

6、

7、

8、

9、在C语言中,要求参加运算的数必须时整数的运算符是。

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

10、在C语言中,字符型数据在内存中以形式存放。

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

11、下列语句中,符合语法的赋值语句是。

A)a=7+b+c=a+7;B)a=7+b++=a+7;

C)a=(7+b,b++,a+7);D)a=7+b,c=a+7;

12、是非法的C语言转义字符。

A)‘\b’B)‘\0xf’C)‘\037’D)‘\’’

13、对于语句:

f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,是正确的。

A)语法错误B)f为5.0C)f为0.0D)f为2.0

14、与代数式(x*y)/(u*v)不等价的C语言表达式是。

A)x*y/u*vB)x*y/u/vC)x*y/(u*v)D)x/(u*v)*y

15、在C语言中,数字029是一个。

A)八进制数B)十六进制数C)十进制数D)非法数

 

17、对于charcx=’\039’;语句,正确的是。

A)不合法B)cx的ASCII值是33

C)cx的值为四个字符D)cx的值为三个字符

18、若intk=7,x=12;则能使值为3的表达式是。

A)x%=(k%=5)B)x%=(k-k%5)

C)x%=k-k%5D)(x%=k)-(k%=5)

19、

20、

21、假定x和y为double型,则表达式x=2,y=x+3/2的值是。

A)3.500000B)3C)2.000000D)3.000000

22、设变量n为float型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是。

A)n=(n*100+0.5)/100.0B)m=n*100+0.5,n=m/100.0

C)n=n*100+0.5/100.0D)n=(n/100+0.5)*100.0

23、以下合法的赋值语句是。

A)x=y=100B)d――C)x+yD)c=int(a+b)

24、下选项中不属于C语言的类型是。

A)signedshortintB)unsignedlongint

B)unsignedintD)longshort

25、设以下变量均为int类型,则值不等于7的表达式是。

A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)

C)(x=6,x+1,y=6,x+y)D)(y=6,y+1,x=y,x+1)

26、

 

二.填空题

1.在C语言中(以16位PC机为例),一个char数据在内存中所占字节数为,其数值范围为;一个int数据在内存中所占字节数为,其数值范围为;一个long数据在内存中所占字节数为,其数值范围为            ;一个float数据在内存中所占字节数为,其数值范围为  。

2.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为                 。

3.字符常量使用一对界定单个字符,而字符串常量使用一对来界定若干个字符的序列。

4.在C语言中,不同运算符之间运算次序存在的区别,同一运算符之间运算次序存在的规则。

5.设x,i,j,k都是int型变量,表达式x=(i=4,j=16,k=32)计算后,x的值为。

6.设x=2.5,a=7,y=4.7,则x+a%3*(int)(x+y)%2/4为。

7.设a=2,b=3,x=3.5,y=2.5,则(float)(a+b)/2+(int)x%(int)y为。

8.

9.

10.已知:

chara=’a’,b=’b’,c=’c’,i;则表达式i=a+b+c的值为。

11.已知inta=12,n=5;则:

表达式运算后a的值各为。

a+=a

a-=2

a*=2+3

a/=a+a

n%=(n%=2)

a+=a-=a*=a

12.设inta;floatf;doublei;则表达式10+’a’+i*f值的数据类型是。

13.若a为int型变量,则表达式(a=4*5,a*2),a+6的值为。

14.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为。

15.已知a,b,c是一个十进制数的百位,十位,个位,则该数的表达式是。

16.定义:

doublex=3.5,y=3.2;则表达式(int)x*0.5的值是,表达式y+=x++的值是。

17.定义:

intm=5,n=3;则表达式m/=n+4的值是,表达式m=(m=1,n=2,n-m)的值是,表达式m+=m-=(m=1)*(n=2)的值是。

18.表达式5%(-3)的值是,表达式-5%(-3)的值是。

19.若a是int变量,则执行表达式a=25/3%3后,a的值是。

20.数学式子的C语言表达式为:

   。

 

三.判断题

1.在C程序中对用到的所有数据都必须指定其数据类型。

【】

2.一个变量在内存中占据一定的存储单元。

【】

3.一个实型变量的值肯定是精确的。

【】

4.对几个变量在定义时赋初值可以写成:

inta=b=c=3;【】

5.自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。

【】

6.在C程序的表达式中,为了明确表达式的运算次序,常使用括号“()”。

【】

7.%运算符要求运算数必须是整数。

【】

8.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。

【】

9.在C程序中,逗号运算符的优先级最低。

【】

10.C语言不允许混合类型数据间进行运算。

【】

 

四.简答题

1.为什么C语言的字符型可以进行数值运算?

2.简述‘a’和“a”的区别。

3.程序:

intm=12;m=15;为什么整型变量m的值在运算后不是当初的12,而是15?

4.

5.

6.华氏温度F与摄氏温度c的转换公式为:

c=(F-32)*5/9,则floatc,F;c=5/9*(F-32)是其对应的C语言表达式吗?

如果不是,为什么?

 

五.程序阅读题

1.写出以下程序运行的结果。

voidmain()

{

  charc1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’116’;

  printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);

  printf(“\t\b%c%c”,c4,c5);

}

 

2.写出以下程序运行的结果。

voidmain()

{

  inti,j,m,n;

  i=8;

  j=10;

  m=++i;

  n=j++;

  printf(“%d,%d,%d,%d”,i,j,m,n);

}

 

六.编程题

1.假设m是一个三位数,则写出将m的个位,十位,百位反序而成的三位数(例如:

123反序为321)的C语言表达式。

2.已知intx=10,y=12;写出将x和y的值互相交换的表达式。

习题三

一.选择题

1.C语言的程序一行写不下时,可以。

A)用逗号换行B)用分号换行

C)在任意一空格处换行D)用回车符换行

2.putchar()函数可以向终端输出一个。

A)整型变量表达式值B)实型变量值

C)字符串D)字符或字符型变量值

3.执行下列程序片段时输出结果是。

unsignedinta=65535;

printf(“%d”,a);

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

4.执行下列程序片段时输出结果是。

floatx=-1023.012

printf(“\n%8.3f,”,x);

printf(“%10.3f”,x);

A)1023.012,-1023.012B)-1023.012,-1023.012

C)1023.012,-1023.012D)-1023.012,-1023.012

5.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是。

inta1,a2;charc1,c2;

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

A)10A20B↙B)10A20B↙

C)10A20B↙C)10A20B↙

6.对于下述语句,若将10赋给变量k1和k3,将20赋给变量k2和k4,则应按方式输入数据。

        intk1,k2,k3,k4;

        scanf(“%d%d”,&k1,&k2);

        scanf(“%d,%d”,&k3,&k4);

A)1020↙B)1020↙C)10,20↙

D)1020↙1020↙1020↙10,20↙10,20↙

7.执行下列程序片段时输出结果是。

        intx=13,y=5;

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

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

8.下列程序的输出结果是。

        voidmain()

        {intx=023;

printf(“%d”,--x);

        }

A)17B)18C)23D)24

9.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的输入方式是。

        inta1,a2;charc1,c2;

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

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

A)1020AB↙B)1020↙

                                            AB↙

C)1020AB↙D)1020AB↙

10.执行下列程序片段时输出结果是。

        intx=5,y;

        y=2+(x+=x++,x+8,++x);

        printf(“%d”,y);

A)13B)14C)15D)16

11.若定义x为double型变量,则能正确输入x值的语句是。

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

C)scanf(“%lf”,&x);D)scanf(“%5.1f”,&x);

12.若运行时输入:

12345678↙,则下列程序运行结果为。

voidmain()

{inta,b;

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

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

}

A)46B)579C)5690D)出错

13.已知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);

14.若intx,y;doublez;以下不合法的scanf函数调用语句是。

A)scanf(“%d%lx,%le”,&x,&y,&z);

B)scanf(“%2d*%d%lf”,&x,&y,&z);

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

D)scanf(“%x%o%6.2f”,&x,&y,&z);

15.有输入语句:

scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是。

A)132↙B)1,3,2↙

C)a=1b=3c=2↙D)a=1,b=3,c=2↙

 

二.填空题

1.一个C程序由若干个文件组成,而一个这样的文件可以由若干个和              以及组成。

2.C语句可以分为,,,              和等5种类型。

3.C控制语句有种。

4.一个表达式要构成一个C语句,必须。

5.复合语句是用一对界定的语句块。

6.printf函数和scanf函数的格式说明都使用字符开始。

7.scanf处理输入数据时,遇到下列情况时该数据认为结束:

(1),

(2),(3)。

8.已有inti,j;floatx;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数调用语句的数据输入形式是。

9.C语言本身不提供输入输出语句,其输入输出操作是由来实现的。

10.一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:

    。

 

三.程序阅读题

1.用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’,问在键盘上如何输入?

          

voidmain()

 {inta,b;

    floatx,y;

     charc1,c2;

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

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

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

}

 

2.写出以下程序的输出结果。

        voidmain()

        {inty=3,x=3,z=1;

           printf(“%d%d\n”,(++x,y++),z+2);

        }

 

3.写出以下程序的输出结果。

        voidmain()

        {inta=12345;

           floatb=-198.345,c=6.5;

           printf(“a=%4d,b=%-10.2e,c=%6.2f\n”,a,b,c);

        }

 

4.写出以下程序的输出结果。

        voidmain()

        {intx=-2345;

           floaty=-12.3;

           printf(“%6D,%06.2F”,x,y);

        }

 

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

        voidmain()

        {inta=252;

           printf(“a=%oa=%#o\n”,a,a);

           printf(“a=%xa=%#x\n”,a,a);

        }

 

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

        voidmain()

        {intx=12;doublea=3.1415926;

           printf(“%6d##,%-6d##\n”,x,x);

           printf(“%14.101f##\n”,a);

        }

 

四.程序填空题

1.下列程序的输出结果是16.00,请填

(1)空使程序完整。

voidmain()

{inta=9,b=2;

   floatx=[1],y=1.1,z;

   z=a/2+b*x/y+1/2;

   printf(“%5.2f\n”,z);

}

 

五.编程题

1.已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序来。

 

2.若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。

想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。

  a=3b=4c=5

  x=1.200000,y=2.400000,z=-3.600000

  x+y=3.60y+z=-1.20z+x=-2.40

  u=51274n=128765

  c1=’a’or97(ASCII)

  c2=’b’or98(ASCII)

 

3.设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。

用scanf输入数据,输出计算结果;输出时要求有文字说明,取小数点后2位数字,请编写程序。

 

4.编程序:

用getchar函数读入两个字符给c1,c2,然后分别用putchar和printf函数输出这两个字符。

并思考以下问题:

(1)变量c1,c2应定义为字符型或整型?

或两者皆可?

(2)要求输出C1和C2值的ASCII码,应如何处理?

用putchar函数还是printf函数?

(3)整型变量与字符型变量是否在任何情况下都可以互相替代?

如:

charc1,c2与intc1,c2

是否无条件地等价?

 

习题四选择

一.选择题

1.逻辑运算符两侧运算对象的数据类型。

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

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

2.下列表达式中,不满足“当x的值为偶数时值为真,为奇数时值为假”的要求。

  A)x%2==0B)!

x%2!

=0C)(x/2*2-x)==0D)!

(x%2)

3.以下程序片段。

intx=2,y=3;

printf();

  A)什么都不输出B)输出为:

***x=2

  C)输出为:

###y=2D)输出为:

###y=3

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)

5.C语言对嵌套if语句的规定是:

else总是与。

  A)其之前最近的if配对B)第一个if配对

  C)缩进位置相同的if配对D)其之前最近的且尚未配对的if配对

6.设:

inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为。

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

7.下面是错误的if语句(设intx,a,b;)

  A)if(a=b)x++;B)if(a=

  C)if(a-b)x++;D)if(x)x++;

8.以下程序片段。

        voidmain()

        {intx=0,y=0,z=0;

if(x=y+z)

  printf(“***”);

else

  printf(“###”);

        }

  A)有语法错误,不能通过编译B)输出:

***

  C)可以编译,但不能通过连接,所以不能运行D)输出:

###

9.对下述程序,是正确的判断。

        voidmain()

        {intx,y;

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

if(x>y)

   x=y;y=x;

else

   x++;y++;

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

        }

  A)有语法错误,不能通过编译B)若输入3和4,则输出4和5

  C)若输入4和3,则输出3和4D)若输入4和3,则输出4和5

10.若w=1,x=2,y=3,z=4,则条件表达式w

w:

y

y:

z的值是。

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

11.下述表达式中,可以正确表示x≤0或x≥1的关系。

  A)(x>=1)||(x<=0)B)x>=1|x<=0

  C)x>=1&&x<=0D)(x>=1)&&(x<=0)

12.下述程序的输出结果是。

voidmain()

{inta=0,b=0,c=0;

   if(++a>0||++b>0)

     ++c;

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

}

  A)0,0,0B)1,1,1C)1,0,1D)0,1,1

13.下述程序的输出结果是。

voidmain()

{intx=-1,y=4,k;

   k=x++<=0&&!

(y--<=0);

   printf(“%d,%d,%d”,k,x,y);

}

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

14.以下程序输出结果是。

voidmain()

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

   switch(x){

      case1:

switch(y){

              case0:

a++;break;

              case1:

b++;break;

              }

      case2:

a++;b++;break;

      case3:

a++;b++;

}

  prin

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

当前位置:首页 > 农林牧渔 > 林学

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

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