首页 理论教育 练习与测试C语言程序设计教程

练习与测试C语言程序设计教程

时间:2023-10-27 理论教育 版权反馈
【摘要】:A.7和5B.6和3C.7和4D.6和4有如下程序:该程序的输出结果是()。A.15B.14C.不确定D.0语句while(!A.10B.01C.非00D.1非1执行语句for;后,变量i的值为()。A.3B.4C.5D.不定自增自减运算只能作用于()。A.1B.30C.1-2D.无穷循环以下程序的输出结果是()。

练习与测试C语言程序设计教程

一、练习题

1.选择题

(1)两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()。

A.7和5 B.6和3 C.7和4 D.6和4

(2)有如下程序:

该程序的输出结果是()。

A.0.000000 B.0.250000 C.0.500000 D.1.000000

(3)若有以下定义:

则正确的switch语句是()。

(4)有如下程序:

该程序的输出结果是()。

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

(5)变量t为int类型,进入下面的循环之前,t的值为0,

则以下的描述中正确的是()。

A.循环控制表达式的值为0 B.循环控制表达式的值为1

C.循环控制表达式不合法 D.以上说法都不对

(6)以下叙述正确的是()。

A.do-while语句构成的循环不能用其他语句构成的循环来代替

B.do-while语句构成的循环只能用break语句退出

C.do-while语句构成的循环,在while后的表达式为非零时结束循环

D.do-while语句构成的循环,在while后的表达式为零时结束循环

(7)执行以下程序段的输出结果是()。

A.1 B.3 0 C.1-2 D.死循环

(8)以下程序执行后sum的值是()。

A.15 B.14 C.不确定 D.0

(9)语句while(!E); 中的条件“!E”等价于()。

A.E==0 B.E !=1 C.E != 0 D.E||0

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

A.编译不通过,无输出 B.aceg

C.acegi D.abcdefghi

2.填空题

(1)当变量x和y的值不相同时,交换x和y的值,并输出交换后的结果。

(2)当变量x属于(10,50)区间时,执行while循环,在循环体中,当遇到x能被3整除时,退出循环,否则继续下一次循环。

(3)变量i为for循环的计数器,变量s存储变量i从1到4的累加和。

(4)使用do-while循环实现输出自然数1到10的累加和。

3.程序改错题

(1)修改下列程序,要求输入一个数字,表示星期几,输出对应的英文单词,且不输出其他无关内容。如:输入1,则输出“Monday”。

(2)修改下列程序,输出1至5数字。

(3)修改下列程序,增加一条语句,使程序不会发生死循环。

4.编程题

(1)输入一个整数,输出该整数对应的八进制十六进制数。

(2)解“鸡兔同笼”问题:在一个笼子里养着鸡和兔,但不知道鸡有多少只,兔有多少只,只知道鸡和兔的总数是total个,鸡与兔的脚数是feet只,求鸡、兔各多少只。

(3)输入一个3位正整数,分离出该数中的每一位数字,并按逆序显示输出各位数字。

(4)编写程序,输出各位数之和为9,且能被5整除的五位数的个数。

(5)输入一行字符,分别统计其中的英文字母、数字、空格和其他字符的个数。

(6)编写程序,计算最大的n值:13+23+33+…+n3<1000。

二、测试题

1.选择题

(1)在C语言中,求逻辑值时,用()表示“真”,用()表示“假”。

A.1 0 B.0 1 C.非0 0 D.1 非1

(2)执行语句for(i=1; i++<4; );后,变量i的值为()。

A.3 B.4 C.5 D.不定

(3)自增自减运算(++,--)只能作用于()。

A.常量 B.变量 C.任意合法表达式 D.函数

(4)已知E为合法的表达式,与语句if(!E )中的条件式!E,功能等价的是()。

A.E==0 B.E==1 C.E!=0 D.E!=2

(5)以下表达式用作if语句中的条件判断时,选出与其他三个含义不同的选项()。

A.k%2 B.k%2==1 C.k%2!=0 D.!k%2==1

(6)程序片段:

执行后,n的值为()。

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

(7)if语句中,用作判断的表达式为()。

A.关系表达式 B.算法表达式 C.逻辑表达式 D.任意合法表达式

(8)变量x,y为整型,以下表达式不能正确表示数学关系|x-y|<10的是()。

A.abs(x-y)<10 B.x-y>-10&&x-y<10

C.(x-y)*(x-y)<100 D.!(y-x)>10||x-y<-10

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

A.for(表达式1;0;表达式3)

B.for(表达式1;1;表达式3)

C.for(表达式1;表达式3;表达式3)

D.for(表达式1;表达式1;表达式3)

(10)有以下程序片段:

说法正确的是()。

A.存在语法错误 B.输出2 3 C.输出1 3 D.输出1 4

(11)int x=3,y=4,z=5;以下表达式中,值为0的是()。

A.x&&y B.x<=y C.x||++y&&y-z D.!(x<y&&!z||1)

(12)阅读以下程序片段:

以下叙述中,正确的是()。

A.变量a未初始化,不能直接使用 B.存在语法错误

C.程序输出1 D.该段程序执行完后,变量a的值为1(www.xing528.com)

(13)以下程序段的输出结果为()。

A.10 50 10 B.30 30 50

C.30 30 30 D.30 50 10

(14)在嵌套使用if语句时,else总是()。

A.和之前与其最近的if匹配

B.和之前的第一个if匹配

C.与之前与其有相同缩进位置的if匹配

D.与之前最近的未匹配的if匹配

(15)以下关于break语句的说法正确的是()。

A.break语句只能用在循环中

B.break语句可出现在任何位置

C.break语句只能出现在循环和switch结构中

D.break语句的作用是结束本次循环,接着判断是否进入下一轮循环

(16)以下不构成无穷循环的是()。

(17)有以下程序:

运行后的输出结果是()。

A.1 B.3 0 C.1-2 D.无穷循环

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

A.-20 B.20 C.10 D.-10

(19)已知变量t为整型变量,交换两个整型变量a和b的值,错误的是()。

A.t=a;a=b;b=t B.a+=b;b=a-b;a-=b;

C.a^=b^=a^=b D.a-=b;b=a-b;a+=b;

(20)执行以下的循环语句后,m值为()。

A.14 B.8 C.9 D.15

(21)以下程序:

运行后的输出结果是()。

A.9 B.21 C.11 D.23

(22)有如下if语句:

以下语句中与上述语句等价的是()。

A.k=(a<b)?a:b;k=(b<c)?b:c;

B.k=(a<b)?((b<c)?a:b):((b>c)?b:c);

C.k=(a<b)?((a<c)?a:c):((b<c)?b:c);

D.k=(a<b)?a:b;k=(a<c)?a:c;

(23)有如下程序片段:

其能正确表示的数学函数是()。

(24)以下程序段:

执行后变量a、b、c的值分别是()。

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

(25)关于如下for循环语句:

正确的说法是()。

A.该语句不合法 B.只会执行一次循环

C.不确定 D.程序会无限循环

(26)若有int x=10,y=12,z=8;

则关于表达式x<y<z,说法正确的是()。

A.该表达式不合符语法 B.值为1

C.类型为布尔型 D.值为0

2.阅读程序写出运行结果

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

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

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

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

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

3.填空题

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

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

(3)补全程序,验证角谷猜想:对于任意一个自然数a,按以下步骤计算后得到的数为1。

①如果a为偶数,则除2;如果为奇数,则乘3加1,得到的数记为b。

②将b代入a,重新进行①的运算。

(4)以下程序统计输入字符中数字字符的个数,请补全程序。

(5)以下程序计算方程x2+y2+z2=1989的整数解,请补全程序。

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

(7)下面程序的功能是输出3个数中最大的一个,请填空。

(8)阅读下面程序并写出运行结果是()。

(9)写出下面程序的运行结果是()。

(10)完成程序,列举出将1000元钱换成10元、20元、50元的所有兑换方案。

4.编程题

(1)编写程序,对输入的1个字符,判断其是否为数字。若是数字,则输出其ASCII码。

提示与分析:

用一个字符型变量c标识输入的字符,若该字符介于“0”与“9”之间,则为数字。否则,不是数字。

(2)编写程序,对输入的1个大写字母转换为小写字母。

提示与分析:

大写字母与其相应的小写字母,在ASCII码表中的顺序号相差32。

(3)利用do-while语句编程计算sum=1+2+3+…+m,m为一个正整数,其值由键盘输入。

(4)搬石头问题:有100块石头,1只大象一次能扛19块,1只老虎一次能扛12块,4只松鼠一次能扛一块。大象、老虎、松鼠共15只,一次就将100块石头扛完了,请编程计算这三种动物每种多少只。

提示与分析:

①100块石头都让大象扛,一次扛完至少需要5只大象。考虑到3种动物共15只,故可能需要1至3只大象;

②100块石头都让老虎扛,一次扛完至少需要9只老虎。考虑到3种动物共15只,故可能需要1至6只老虎。

③需要的松鼠只数为15减去大象数再减去老虎数。

④考虑满足什么条件时,才能输出所需要的三种动物数目。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈