C语言程序设计与实践全书习题及参考答案C语言程序设计与实践于延清华大学出版社.docx

上传人:b****0 文档编号:12855740 上传时间:2023-04-22 格式:DOCX 页数:148 大小:186.06KB
下载 相关 举报
C语言程序设计与实践全书习题及参考答案C语言程序设计与实践于延清华大学出版社.docx_第1页
第1页 / 共148页
C语言程序设计与实践全书习题及参考答案C语言程序设计与实践于延清华大学出版社.docx_第2页
第2页 / 共148页
C语言程序设计与实践全书习题及参考答案C语言程序设计与实践于延清华大学出版社.docx_第3页
第3页 / 共148页
C语言程序设计与实践全书习题及参考答案C语言程序设计与实践于延清华大学出版社.docx_第4页
第4页 / 共148页
C语言程序设计与实践全书习题及参考答案C语言程序设计与实践于延清华大学出版社.docx_第5页
第5页 / 共148页
点击查看更多>>
下载资源
资源描述

C语言程序设计与实践全书习题及参考答案C语言程序设计与实践于延清华大学出版社.docx

《C语言程序设计与实践全书习题及参考答案C语言程序设计与实践于延清华大学出版社.docx》由会员分享,可在线阅读,更多相关《C语言程序设计与实践全书习题及参考答案C语言程序设计与实践于延清华大学出版社.docx(148页珍藏版)》请在冰豆网上搜索。

C语言程序设计与实践全书习题及参考答案C语言程序设计与实践于延清华大学出版社.docx

C语言程序设计与实践全书习题及参考答案C语言程序设计与实践于延清华大学出版社

习题1

一、选择题

01.C语言规定,必须用______作为主函数名。

A)FunctionB)includeC)mainD)stdio

02.一个C程序可以包含多个不同名的函数,但有且仅有一个______,一个C程序总是从这个函数开始执行。

A)过程B)主函数C)函数D)include

03.______是C程序的基本构成单位。

A)函数B)函数和过程C)超文本过程D)子程序

04.在C语言中,每个语句是用______结束。

A)句号B)逗号C)分号D)括号

05.下列字符串是合法标识符的是______。

A)_HJB)9_studentC)longD)LINE1

06.______不是C语言提供的合法关键字。

A)switchB)printC)caseD)default

07.下列选项哪一个是C语言提供的关键字______。

A)breakB)printC)funitonD)end

08.下列选项哪一个是C语言提供的关键字______。

A)continueB)procedureC)beginD)append

09.一个C语言程序是由_________。

A)一个主程序和若干个子程序组成

B)函数组成,并且每一个C程序必须且只能有一个主函数

C)若干过程组成

D)若干子程序组成

10.下列选项可以做为标识符的是______。

A)INTB)5_studentC)2ongD)!

DF

11.下列选项可以做为标识符的是______。

A)_WLB)3_3333C)intD)LINE3

12.下列选项不能做为标识符的是______。

A)sumB)averageC).day_nightD)M.D.JOHN

13.下列选项不能做为标识符的是______。

A)totalB)lutos_1_2_3C)_nightD)$123

14.下列选项不能做为标识符的是______。

A)_aboveB)allC)_endD)#dfg

15.C语言规定标识符由______等字符组成。

A)字母、数字、下划线 B)中划线、字母、数字

C)字母、数字、逗号  D)字母、下划线、中划线

16.以下不正确的C语言标识符是______。

A)ABCB)abcC)a_bcD)ab.c

17.要把高级语言编写的源程序转换为目标程序,需要使用_______。

A)编辑程序B)驱动程序C)诊断程序D)编译程序

18.以下选项中合法的用户标识符是______。

A)longB)_2TestC)3DmaxD)A.dat

19.C语言程序的执行,总是起始于_________。

A)程序中的第一条可执行语句B)程序中的第一个函数

C)main函数D)包含文件中的第一个函数

20.下列说法中正确的是()。

A)C程序书写时,不区分大小写字母

B)C程序书写时,一行只能写一个语句

C)C程序书写时,一个语句可分成几行书写

D)C程序书写时每行必须有行号

21.下列标识符中,合法的标识符是_______。

A)-abc1B)1abcC)_abc1D)for

22.以下叙述正确的是________。

(参考代码:

XT_01_01_22.c)

A)可以把define和if定义为用户标识符

B)可以把define定义为用户标识符,但不能把if定义为用户标识符

C)可以把if定义为用户标识符,但不能把define定义不用户标识符

D)define和if都不能定义为用户标识符

二、填空题

01.一个C程序至少包含一个________函数。

02.在C语言中,用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为________。

03.在C语言中,标识符只能由_____、_____和_____三种字符组成,且第一个字符必须______或______。

三、编程题

01.模仿例题编写程序并调试执行,在屏幕上显示以下信息。

(参考代码:

XT_01_03_01.c)

helloharbin!

02.模仿例题编写程序并调试执行,在屏幕上输出如下图形。

(参考代码:

XT_01_03_02.c)

*

***

*****

*******

*********

03.1982年9月,美国卡内基-梅隆大学的斯科特·法尔曼教授发明了表情符号“:

-)”,以表示在电子布告栏发表话题时开玩笑的话。

以下是互联中常用的表情符号:

:

-)微笑:

-(不悦;-)使眼色:

-D开心

:

-O惊讶o_O讶异^_^高兴:

-P开玩笑

8-)戴眼镜者的微笑@_@疑惑、晕头转向

请编程输出一些表情符号,以表达你此刻的心情。

(参考代码:

XT_01_03_03.c)

四、综合应用题

01.请上互联网查找资料,自学如何在命令行下使用命令编译、连接并执行C语言程序。

02.请简述计算机程序设计语言的发展历程,可上网查找资料。

03.通过图书馆、互联网等途径查找有关计算机界、编程语言界名人的事迹。

04.请在本章知识范围内,自行设计程序并使用Dev-Cpp编译器调试和运行。

习题2

一、单项选择题

01.下列选项中合法的字符常量是_______。

A)'\t'B)"A"C)aD)“\x32”

02.下列选项中合法的字符常量是_______。

A)'\084'B)'\84'C)'ab'D)'\x43'

03._______不是C语言提供的合法的数据类型关键字。

A)floatB)signedC)integerD)char

04.下面选项中,不是合法整型常量的是_______。

A)160B)-0xcdgC)-01D)-0x48a

05.在C语言程序中,数字029是一个_______。

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

06.对于charcx='\039';语句,正确的是_______。

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

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

07.以下所列的C语言常量中,错误的是_______。

A)0xFFB)1.2e0.5C)2LD)'\72'

08.下选项中不属于C语言合法数据类型的是_______。

A)signedshortintB)unsignedlongint

B)unsignedintD)longshort

09.以下选项中属于C语言的数据类型是_______。

A)复数型B)数值型C)双精度型D)集合型

10.在C语言中,不正确的int类型的常数是_______。

A)0A8B)0C)0037D)0xAF

11.设有说明语句:

chara='\72';则变量a______。

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

12.以下选项中合法的字符常量是_______。

A)"B"B)'\010'C)-268D)F

二、填空题

01.十进制数175的八进制数和十六进制数分别是_______和_______。

02.十进制数-134的八进制数和十六进制数分别是_______和_______。

03.字符'5'和'h'的ASCII代码值分别为_______和_______。

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

05.将下列各十进制数转换成相应进制,请填空。

(参考代码:

XT_02_02_05.c)

10二进制___________八进制______十六进制______

32二进制___________八进制______十六进制______

255二进制___________八进制______十六进制______

610二进制___________八进制______十六进制______

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

(参考代码:

XT_02_02_06.c)

intmain(){

inta=170;

printf("%o",a);

}

习题3

一、选择题

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

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

02.对于语句:

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

(参考代码:

XT_03_01_02.C)

A)语法错误B)f为5.0

C)f为0.0D)f为2.0

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

A)x*y/u*vB)x*y/u/v

C)x*y/(u*v)D)x/(u*v)*y

04.若intk=7,x=12;则值为3的表达式是________。

(参考代码:

XT_03_01_04.C)

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

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

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

(参考代码:

XT_03_01_05.C)

A)3.500000B)3

C)2.000000D)3.000000

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

(参考代码:

XT_03_01_06.C)

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

07.以下合法的赋值语句是_______。

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

08.设以下变量均为int类型,下列哪一项表达式的值与其它三项不同________。

(参考代码:

XT_03_01_08.C)

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)

09.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是________。

A)c=b=a;B)(a=c)||(b=c);

C)(a=c)&&(b=c);D)a=c=b;

10.能正确表示a和b同时为正或同时为负的逻辑表达式是________。

(参考代码:

XT_03_01_10.C)

A)(a>=0||b>=0)&&(a<0||b<0)B)(a>=0&&b>=0)&&(a<0&&b<0)

C)(a+b>0)&&(a+b<=0)D)a*b>0

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

(参考代码:

XT_03_01_11.C)

intmain________{intx=10,y=10;printf("%d%d\n",x--,--y);}

A)1010B)99C)010D)109

12.如果有inta,b;,那么语句printf("%d",(a=2)&&(b=-2));的输出结果是________。

(参考代码:

XT_03_01_12.C)

A)无输出B)结果不确定C)-1D)1

13.如下程序段执行后,x的值为________。

(参考代码:

XT_03_01_13.C)

inta=14,b=15,x;charc='A';

x=(a&&b)&&(c<'B');

A)tureB)falseC)0D)1

14.某一年x是闰年的条件是符合下列条件之一:

(1)能被4整除,但不能被100整除;

(2)能被400整除。

能表示x是闰年的表达式是_____。

(参考代码:

XT_03_01_14.C)

A)(x%4==0&&x%100!

=0)||x%400==0

B)(x%4==0||x%100!

=0)&&x%400==0

C)(x%4==0&&x%400!

=0)||x%100==0

D)(x%100==0||x%4!

=0)&&x%400==0

15.设有如下定义:

charch='Z';则执行语句ch=('A'<=ch&&ch<='Z')?

(ch+32):

ch;后变量ch是值为:

_____。

(参考代码:

XT_03_01_15.C)

A)AB)aC)ZD)z

16.设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是________。

(参考代码:

XT_03_01_15.C)

A)'a'+'b'B)a<=b

C)a||b+c&&b-cD)!

((a

c||1)

17.下面能正确表示变量a在区间[0,5]或(6,10)内的表达式为:

_________。

A)0<=a||a<=5||6

B)0<=a&&a<=5||6

C)(0<=a||a<=5)&&(6

D)0<=a&&a<=5&&6

18.为了表示关系x>=y>=z,应使用C语言表达式______。

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

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

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

(参考代码:

XT_03_01_19.C)

intmain(){

intx,y,z;

x=y=1;

z=x++-1;

printf("%d%d",x,z);

z+=-x+++(++y||++z);

printf("%d%d",x,z);

}

A)203-1B)2130C)2021D)2101

20.下面程序的输出结果是______。

(参考代码:

XT_03_01_20.C)

intmain(){

intx=40,y=4,z=4;

x=y==z;

printf("%d",x);

x=x==(y-z);

printf("%d",x);

}

A)40B)41C)11D)10

21.若x=3,y=z=4,则下列表达式的值分别为______。

(参考代码:

XT_03_01_21.C)

(1)(z>=y>=x)?

1:

0

(2)z>=y&&y>=x

A)01B)11C)00D)10

22.若x=3,y=z=4,则下列表达式的值分别为______。

(参考代码:

XT_03_01_22.C)

(1)(z>=y<=x)?

1:

0

(2)(y+=z,x*=y)

A)024B)124C)08D)112

二、填空题

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

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

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

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

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

06.已知:

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

07.若有定义:

inta=8,b=5,c;执行语句c=a/b+0.4;后,c的值为________。

08.当a=3,b=4,c=5时,写出下列各式的值。

a

=c的值为___,

a&&b的值为___,!

a&&b的值为___,a||c的值为___,!

a||c的值为___,

a+b>c&&b==c的值为___。

09.整型变量a的值是5,表达式a/=a+a;的值应为________。

10.已知a=3,b=4,c=5,逻辑表达式a||b+c&&b-c的值应为________,逻辑表达式!

(a>b)&&!

c||1的值应为________。

11.已知:

inta=5;则执行a+=a-=a*a;语句后,a的值为________。

三、判断题

01.在C程序中对所有变量数据都必须明确指定其数据类型。

02.任何一个变量在内存中只占据一个存储单元,也就是一个字节。

03.一个实型变量的值肯定是精确无误的。

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

inta=b=c=3;

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

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

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

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

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

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

四、写程序运行结果

01.写出下面程序的执行结果。

(参考代码:

XT_03_04_01.C)

#include

intmain(){

intk=10;

floata=3.5,b=6.7,c;

c=a+k%3*(int)(a+b)%2/4;

printf("%f",c);

return0;

}

02.写出下面程序的执行结果。

(参考代码:

XT_03_04_02.C)

#include

intmain(){

floatx=4.9;inty;

y=(int)x;

printf("x=%lf,y=%d",x,y);

return0;

}

03.写出下面程序的执行结果。

(参考代码:

XT_03_04_03.C)

#include

intmain(){

inta=5,b=4,c=6,d;

printf("%d\n",d=a>b?

(a>c?

a:

c):

(b));

return0;

}

04.写出下面程序的执行结果。

(参考代码:

XT_03_04_04.C)

#include

intmain(){

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

d=!

a&&!

b||!

c;

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

return0;

}

05.写出下面程序的执行结果。

(参考代码:

XT_03_04_05.C)

#include

intmain(){

intx=1,y=1,z=1;

y=y+z;

x=x+y;

printf("%d",x

y:

x);

printf("%d",x>y?

x++:

y++);

printf("%d",x);

printf("%d",y);

return0;

}

06.写出下面程序的执行结果。

(参考代码:

XT_03_04_06.C)

#include

intmain(){

doublex;

inty;

x=4.9;y=(int)x+2.3;printf("%d",y);

x=4.9;y=(int)(x+2.3);printf("%d",y);

return0;

}

07.写出下面程序的执行结果。

(参考代码:

XT_03_04_07.C)

#include

intmain(){

inti,j,m,n;

i=8;j=10;m=++i;n=j++;

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

i=8;j=10;m=i+++++j;n=++j;

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

return0;

}

习题4

一、选择题

01.阅读图01所示的程序框图,则输出的S=_____。

A)14B)20C)30D)55

02.阅读图02所示的程序框图,输出的结果是______。

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

图01图02图03

03.某程序框图如图03所示,则该程序运行后输出的B等于______。

A.15B.29C.31D.63

二、简答题

01.什么是算法,请举例设计一个算法。

02.请叙述算法都有哪些特性。

03.请叙述什么是结构化程序设计以及结构化程序设计中都有哪些程序结构。

二、算法设计题

01.设计算法求1+2+3+…+N的和。

02.已知两个自然数M和N,请设计算法输出它们的最小公倍数。

03.已知一个自然数N,请设计算法输出它所有真约数的和。

04.输入一个正整数,输出其所有正真约数,写出算法。

05.输入一个正整数N(N>2),输出Fibonacci数列的前N项的值,写出算法。

06.输入一个十进制正整数N,要求将其所有数字逆序输出,写出算法。

三、画流程图

01.请给第二题中你所设计的所有算法画出程序流程图。

02.请读者自行设计问题,并给出算法和流程图。

习题5

一、单项选择题

01.C语言的程序在编写源文件时,______。

A)一行只能写一个语句B)一个语句只能写在一行

C)一个语句可以写在多行D)语句可以在任意处断开写在多行

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

A)整型变量值B)实型变量值C)字符串D)字符

03.下列程序段在DEVCPP5.11中的输出结果是______。

(参考代码:

XT_05_01_03.C)

unsignedinta=4294967295;//此值为无符号int型最大值

printf("%d",a);

A)4294967295B)-1C)-2147483648D)1

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

(参考代码:

XT_05_01_04.C)

floatx=-1023.012;

printf("%8.3f,",x);

printf("%10.2f",x);

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

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

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

(参考代码:

XT_05_01_05.C)

inta1,a2;charc1,c2;

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

A)10A20↙B↙B)10A

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

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

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

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