C语言全部章节习题集0301无答案.docx

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

C语言全部章节习题集0301无答案.docx

《C语言全部章节习题集0301无答案.docx》由会员分享,可在线阅读,更多相关《C语言全部章节习题集0301无答案.docx(59页珍藏版)》请在冰点文库上搜索。

C语言全部章节习题集0301无答案.docx

C语言全部章节习题集0301无答案

 

《C语言程序设计》

练习册

 

专业:

____________

班级:

____________

学号:

____________

学生姓名:

_________

任课教师:

_________

 

计算机学院基础教研室编制

1C语言概述

一、单项选择题

1、一个C程序的执行是从()。

A.本程序的main函数开始,到main函数结束

B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C.本程序的main函数开始,到本程序文件的最后一个函数结束

D.本程序文件的第一个函数开始,到本程序main函数结束

2、在C语言中,每个语句必须以()结束。

A.回车符B.冒号C.逗号D.分号

3、C语言规定:

在一个源程序中,main函数的位置()。

A.必须在最开始B.必须在系统调用的库函数的后面

C.可以任意D.必须在最后

4、一个C语言程序是由()。

A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成

5、下列说法中错误的是()。

A.主函数可以分为两个部分:

主函数说明部分和主函数体

B.主函数可以调用任何非主函数的其他函数

C.任何非主函数可以调用其他任何非主函数

D.程序可以从任何非主函数开始执行

6、用C语言编写的源文件经过编译,若没有产生编译错误,则系统将()。

A.生成可执行目标文件B.生成目标文件C.输出运行结果D.自动保存源文件

二、填空题

1、C语言只有个关键字和种控制语句。

2、每个源程序有且只有一个函数,系统总是从该函数开始执行C语言程序。

3、C语言程序的注释可以出现在程序中的任何地方,它总是以符号作为开始标记,以符号作为结束标记。

4、C语言中,输入操作是由库函数完成的,输出操作是由库函数完成的。

5、系统默认的C语言源程序文件的扩展名是,经过编译后生成的目标文件的扩展名是,经过连接后生成的可执行文件的扩展名是。

6、C语言的标识符只能由字母、数字和三种字符组成。

三、判断题

()1、C源程序是由多个函数组成的,程序的执行是按书写顺序进行的。

()2、一个C程序可以由一个文件组成,也可由若干文件组成。

()3、变量xx和XX是一样的。

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

()5、简单的C程序由函数组成。

()6、C程序的每一行结束都有一个";"。

3数据类型、运算符与表达式

一、单项选择题

1、以下选项中,不正确的C语言浮点型常量是()。

A.160.B.0.12C.2e4.2D.0.0

2、以下选项中,()是不正确的C语言字符型常量。

A.'a'B.'\x41'C.'\101'D."a"

3、在C语言中,字符型数据在计算机内存中,以字符的()形式存储。

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

4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是()。

x=(i=4,j=16,k=32)

A.4B.16C.32D.52

5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为()。

A.算术运算、赋值运算、关系运算B.算术运算、关系运算、赋值运算

C.关系运算、赋值运算、算术运算D.关系运算、算术运算、赋值运算

6、若有代数式

,则不正确的C语言表达式是()。

A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*3

7、表达式!

x||a==b等效于()。

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.0,0B.0,1C.1,0D.1,1

9、设有语句inta=3;,则执行了语句a+=a-=a*=a;后,变量a的值是()。

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

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

A.*B.!

=C.+D.=

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

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

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

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

13、sizeof(double)的结果值是()。

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

14、设a=1,b=2,c=3,d=4,则表达式:

a

a:

c

a:

d的结果为()。

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

15、设a为整型变量,不能正确表达数学关系:

10

A.10

C.a>10&&a<15D.!

(a<=10)&&!

(a>=15)

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

A.f=3.2,1.0B.f>0,f<10C.f=2.0,f>0D.f=(3.2,1.0)

17、表达式18/4*sqrt(4.0)/8值的数据类型是()。

A.intB.floatC.doubleD.不确定

18、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句C2=’A’+’6’-‘3’;后c2中的值是()。

A.DB.68C.不确定的值D.C

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

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

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

A.%B./C.>D.*

21、若有说明语句:

charc='\72';则变量c在内存占用的字节数是()。

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

22、字符串"ABC"在内存占用的字节数是()。

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

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

A.chara="3";B.chara="3";C.chara=%;D.chara=*;

24、下列不正确的转义字符是()。

A.\\B.\'C.074D.\0

二、填空题

1、C语言中的逻辑值“真”是用表示的,逻辑值“假”是用表示的。

2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为。

3、设c='w',a=1,b=2,d=-5,则表达式'x'+1>c,'y'!

=c+2,-a-5*b<=d+1,b==a=2的值分别为、、、。

4、设floatx=2.5,y=4.7;inta=7;,表达式x+a%3*(int)(x+y)%2/4的值为。

5、判断变量a、b的值均不为0的逻辑表达式为。

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

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

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

三、判断题

()1、C语言中,非0值作为true,0作为false;若表达式取得true值时,结果为1,取得false值时,为0。

 

()2、为了确保表达式n/2的值为float型,可写成float(n/2)。

()3、若有(float)x,则x变成float型变量。

()4、若a=3,b=4,c=5,则d=!

(a%b)的值是0。

 

()5、a是实型变量,进行赋值a=10,因此实型变量中允许存放整型值

()6、在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式

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

()8、有a=3,b=5。

执行a=b,b=a后,使a的值为5,b的值为3。

 

()9、 getchar()和scanf()均为输入函数,它们之间可通用,没有任何区别。

 

()10、执行语句scanf("%6.3f",&a)后,输入123456可使a的值为123.456。

()11、 putchar()函数的作用是输出一串字符。

()12、 使用scanf()函数,在输入数据时,若遇非法输入则认为该数据输入结束。

()13、在C中所用的变量必须先定义后使用。

()14、在C程序中,运算符%仅能用于整型数的运算。

()15、APH与aph分别表示不同的变量。

 

()16、设x和y都是int型变量,则以下语句:

x+=y;y=x-y;x-=y;的功能是交换x和y的值。

 

()17、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c>d)后n的值为0。

()18、C语言中无逻辑变量,也无逻辑表达式。

 

四、编程题:

1、设长方形的高为1.5,宽为2.3,编程求该长方形的周长和面积。

 

2、编写一个程序,将大写字母A转换为小写字母a。

 

4最简单的C程序设计—顺序程序设计

一、单项选择题

1、printf("f=%3.2f%%",3.478);的输出结果是()。

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

2、printf("%c,%d",'a','a');的输出结果是()。

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

3、有以下程序段

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

scanf("%c%c%c%c",&c1,&c2,&c3,&c4);

c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf("%c%c\n",c5,c6);

程序运行后,若从键盘输入(从第1列开始):

123<回车>45678<回车>。

则输出结果是:

()

A.1267B.1256 C.1278D.1245

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四个函数,均包含在头文件()中。

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

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

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

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

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

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

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

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

A.scanf("%d,%c",&a,&c);B.scanf("%d%c",a,c);

C.scanf("%d%c",&a,&c);D.scanf("d=%d,c=%c",&a,&c);

10、要使doublex;longa;的数据能正确的输出,输出语句应是()。

A.printf("%d,%f",a,x);B.printf("%d,%1f",a,x);

C.scanf("%1d,%1f",&a,&x);D.printf("%1d,%lf",a,x);

二、程序改错题

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

#include"stdio.h"

mian()

{charc

getchar(c);

putchar('007');/*鸣笛*/

c=putchar();

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

main

{inta,b,s,l;

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

s=a*b;l=a+b;

printf("l=%f,s=%f\n",l);

}

三、写出程序运行结果

1、main()

{inta,b;

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

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

}

运行时输入:

12345678,输出结果是。

2、main()

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

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

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

}

输出结果是__。

四、编程题

1、输入3个整数,计算它们的和与平均值,平均值的结果保留2位小数。

 

2、输入两个实数a,b,然后交换它们的值,最后输出(提示:

要交换两个数得借助一个中间变量temp。

首先让temp存放a的值,然后把b存入a,再把temp存入b就完成了)。

 

5选择结构程序

一、单项选择题

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

a=b=c=0,x=35;if(!

a)x--;elseif(b);if(c)x=3;elsex=4;

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

2、有以下程序段,其输出结果是:

()

inta,b,c;a=10;b=50;c=30; if(a>b)a=b,b=c;c=a;printf("a=%db=%dc=%d\n",a,b,c);

A.a=10b=50c=10  B.a=10b=50c=30C.a=10b=30c=10 D.a=50b=30c=50

3、有以下程序段,其输出结果是:

()

  int x=1,y=2,z=3;if(x>y) if(y

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

A.331      B.41      C.2      D.1

4、程序段intx=5,y=8,max;max=(x>y)?

x:

y;printf("%d",max);的输出结果是()。

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

5、程序段intx=3,a=1;switch(x){case4:

a++;case3:

a++;case2:

a++;case1:

a++;}printf("%d",a);的输出结果是()。

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

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

A.if(ch>='a'&ch<='z')ch=ch-32;B.if(ch>='a'&&ch<='z')ch=ch-32;

C.ch=(ch>='a'&&ch<='z')?

ch-32:

’’;D.ch=(ch>'a'&&ch<'z')?

ch-32:

ch;

7、有以下程序段,其输出结果是:

()

int  x=1,y=0,a=0,b=0;   

switch(x) 

{case 1:

   switch(y){ case  0:

a++;break;  case  1:

b++;break; }

 case 2:

a++;b++;break;

 case 3:

a++;b++;   

}

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

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

二、填空题

1、当a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少?

(1)if(a>c){a=b;b=c;c=a;}else{a=c;c=b;b=a;}

执行后a,b,c的值为__5_,__5_,__4_

(2)if(a

执行后a,b,c的值为___,___,___

(3)if(a!

=c);elsea=c;c=b;b=a;

执行后a,b,c的值为___,___,___

2、若整数x分别等于95、87、100、43、66、79,则以下程序段运行后屏幕显示是什么?

switch(x/10)

{case6:

case7:

printf("Pass\n");break;

case8:

printf("Good\n");break;

case9:

case10:

printf("VeryGood\n");break;

default:

printf("Fail\n");

}

x等于95时,程序段运行后屏幕上显示

x等于87时,程序段运行后屏幕上显示

x等于100时,程序段运行后屏幕上显示

x等于43时,程序段运行后屏幕上显示

x等于66时,程序段运行后屏幕上显示

x等于79时,程序段运行后屏幕上显示

三、阅读程序,写出运行结果

1、voidmain()

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

if(a

if(a

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

}

2、voidmain()

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

if(a

=15)if(!

ok1)x=1;

elseif(ok2)x=10;

elsex=-1;

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

}

3、intk,a=1,b=2;

k=(a++==b)?

2:

3;

printf("%d",k);

4、voidmain()

{ints=1,k=0;

switch(s)

{case1:

k+=1;

case2:

k+=2;

default:

k+=3;

}

printf(“%d”,k);

}

5.voidmain()

{ints=1,k=0;

switch(s)

{case1:

k+=1;break;

case2:

k+=2;break;

default:

k+=3;

}

printf(“%d”,k)

}

四、选做题

1、输入3个整数,按从大到小的顺序输出。

 

2、请将以下语句改写成switch语句。

if((s>0)&&(s<=10))

if((s>=3)&&(s<=6))x=2;

elseif((s>1)||(s>8))x=3;

elsex=1;

elsex=0;

6循环控制

一、单项选择题

1、for(i=1;i<9;i+=1);该循环共执行了()次。

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

2、inta=2;while(a=0)a--;该循环共执行了()次。

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

3、执行完循环for(i=1;i<100;i++);后,i的值为()。

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

4、以下for语句中,书写错误的是。

A.for(i=1;i<5;i++);B.i=1;for(;i<5;i++);

C.for(i=1;i<5;i++);D.for(i=1,i<5;)i++;

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

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

6、有以下程序段 int i=5; do{if(i%3==1) if(i%5==2) {printf("*%d",i); break; } i++; }while(i!

=0); 其运行结果是()

A.*2*6   B.*7    C.*5    D.*3*5

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

for(i=5;i;i--)for(j=0;j<4;j++){…}

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

8、以下不构成无限循环的语句或语句组是()。

A.n=10; while(n);{n--;} B.n=0; while

(1){n++;}

C.n=0; do{++n;}while(n<=0);   D.for(n=0,i=1;;i++)n+=i;

9、有以下程序段int y=9; for(y>0;y--) if(y%3==0) printf("%d",--y);其运行结果是()。

A.875421 B.963 C.852 D.741

10、有以下程序段:

inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++) printf("%d",i+j);printf("\n");}

其运行结果是()。

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

 3 4 5      5 4 3      3 4      3 4

                   4 5     2 3

二、判断题

()1、do{……}while(0);程序块至少会执行一次

()2、语句for(i=0;i=10;i++){……};至多循环10次

()3、for(;;)表示无限循环。

()4、下面的循环不能正常结束:

  for(s=0,i=1;i<=10;){s=s+i;i++;}

()5、continue语句是终止整个循环的执行。

 

()6、对for(表达式1;;表达式3;)可理解为for(表达式1;1;表达式3;)。

()7、下列程序段执行循环二次    x=-1;do{x=x*x;}while(!

x);

()8、下列程序段能计算s=10!

的值    i=1;s=1; do{s=s*i;i++;}while(i<=10);

()9、下列程序段将输出3和0,

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

当前位置:首页 > 经管营销 > 经济市场

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

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