c语言程序设计作业题_第1页
c语言程序设计作业题_第2页
c语言程序设计作业题_第3页
c语言程序设计作业题_第4页
c语言程序设计作业题_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计网上作业题

第一章c语言概述

一、填空

1.*c语言中任何程序的运行总是从主函数开始,在()函数中结束。

2.*一个C语言程序总是从()函数开始执行。

3.初语言源程序的扩展名为()。

4.*C语言源程序的扩展名为*.C、目标文件的扩展名为()、可运行文件的扩展名为()。

5.*C语言属于面向()语言。

6.*C语言程序的注释可以出现在程序的任何地方,它总是以()符号作为开始标记,以()符号作为

结束标记。

7.*C语言中规定标识符只能由字母、数字、下划线组成,且第一个字符必须是()或()。

8.*结构化设计中的三种基本结构是()、()和循环结构。

9.**程序开发的四个步骤是()、()链接和执行。

二'单项选择题

1.*在C程序中所用的变量使用前()

(A)可以不定义(B)先定义后使用(C)随时定义随时用(D)其他

2.**C语言程序从main。函数开始执行,所以这个函数要写在()。

A)程序文件的开始B)程序文件的最后C)它所调用的函数的前面D)程序文件的任何位置

3.**下列关于C语言的叙述错误的是()

A)大写字母和小写字母的意义相同

B)不同类型的变量可以在一个表达式中

C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型

D)同一个运算符号在不同的场合可以有不同的含义

4.*一个C程序的执行是从()。

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

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

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

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

5.**以下叙述正确的是()o

A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句

C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误

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

A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数

C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面

7.*一个C语言程序是由()。

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

成D)若干子程序组成

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

一、填空

1、**x=2,y=-3,z=3,则表达式x||y+z&&y-z的值为()o

2、*在C语言中实型变量分为两种类型,它们是()和()。

3**、十进制11转化为八进制的值为()。

4、**十进制数159转换为八进制数是()

5、**已知intx=6;表达式x%2+(x+1)%2的值是()。

6、*C语言中char型变量在内存中占()个字节的内存单元

7、初语言的变量名:TEA与tea是()同的。

8、**设乂的值为15,n的值为2,则表达式x%=(n+=3)运算后,x的值为()。

9、**表达式(5<3)&&(2||8<4)的值是()。

10、**十六进制数2a转换为十进制数是()。

11、**计算x、v之和的平方,表达式应写作()。

12、**执行语句“a=5+(c=6);"后,变量a、c的值依次为()。

13、**设*是个实型变量。满足数学式|x|>4的c语言表达式是()。

14、**若$是整型变量,则计算表达式s=22/3%2后s的值为()。

15、*C语言用()号括起来的单个或多个字符表示字符串常量。

16、*floatx,y,z;是将x,y,z;定义为()

17、*目前常用C语言的一个整型变量的存储容量为()个字节。

18、*无符号基本整型的数据类型符为(),双精度实型数据类型符为()o

答案:unsignedint、doubIe

19、**定义变量的完整语句格式是:()()变量名仁初值1,变量名2=

初值2,...;o

20、**设有下列运算符:*、+、++、&&、<二,其中优先级最高的是(),优先级最低的是()。

21、**“=”是()符号,不是等号。在C语言中等于号用“()”表示。

22、**表达式10/3的结果是(),10.0/3的结果是()o

23.**表达式10%3的结果是(),3%10的结果是()o

24.**定义intx,y;执行y=(x=1,++x,x+2);语句后,x的值是(),y的值是()。

二'单项选择题

1、*()是不正确的字符常量。

(A)'n'(B)'1'(C)"a"(D)'/1011

2、*()把*、y定义成float类型变量,并赋同一初值3.14。

(A)floatx,y=3.14;(B)floatx,y=2*3.14;(0)floatx=3.14,y=x=3.14;(D)floatx=y=3.14;

3、**若有以下定义和语句:

intu=010,v=0x10,w=10;

printf(z/%d,%d,%d\n”,u,v,w);

则输出结果是()o

(A)8,16,10(B)10,10,10(C)8,8,10(D)8,10,10

4、*以下正确的字符常量是()

(A)“x"(B)'W'(C)”(D)'XYZ'

5、*在©语言的算术运算符中只能用于整型数的运算符是()

(A)++(B)/(0)%(D)*

6、*已知inta;那么&a表示()

(A)变量名(B)变量a的地址(C)变量a的值(D)其他

7、*不正确的标识符是()

(A)_a2(B)2ai(C)a2_i(D)Int

8、*已知inta=2,b=5;则表达式a+5>b+3的值是()

(A)0(B)1(0)不确定(D)表达式错误

9、**若变量已正确定义并赋值,下面符合C语言语法的表达式是

(A)a:=b+1(B)a=b=c+2(C)int18.5%3(D)a=a+7=c+b

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

(A)1(B)2(C)2.0(D)2.5

11、*若变量a、i已正确定义,且i已正确赋值,合法的语句是

(A)a==1(B)++i;(0)a=a++=5;(D)a=int(i);

12、**以下不是c语言规定保留字的是()o

(A)fIoat(B)integer(0)signed(D)unsigned

13*、下列不正确的转义字符是

(A)'\\'(B)'\"(C)1074'(D)'\0

14、**若有以下定义:

chara;intb;

fIoatc;doubled;

则表达式a*b+d-c值的类型为

(A)fIoat(B)int(C)char(D)doubIe

15、**常数的书写格式决定了常数的类型和值,0x1011是()

(A)8进制整型常量(B)字符常量(C)16进制整型常数(D)2进制整型常数

16、**在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为

A)char<int<1ongint<=fIoat<doubIeB)char=int<1ongint<=fIoat<doubIe

C)char<int<1ongint=float=double

D)char=int=1ongint<=fIoat<doubIe

17、*若x,i,j和k都是int型变量,则执行下面表达式后x的值为

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

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

18、*假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:

A)7B)8C)6D)2

19、**下列四组选项中,均不是C语言关键字的选项是

A)defineB)getcC)incIudeD)whiIe

IFcharscanfgo

typeprintfcasepow

20、*下面四个选项中,均是C语言关键字的选项是

A)autoB)switch0)signedD)if

enumtypedefunionstruct

incIudecontinuescanftype

21、**下面四个选项中,均是不合法的用户标识符的选项是。

A)AB)f1oatC)b-aD)—123

P_01a0gotote

mp

do—

AintINT

22、*下面不正确的字符串常量是。

A)'abc'B)"12,12"0)"0"D)""

23、**若有代数式3ae/bc,则不正确的C语言表达式是:

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

24、**以下不正确的叙述是

A)在C程序中,逗号运算符的优先级最低

B)在C程序中,APH和aph是两个不同的变量

C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。

D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。

25、**以下正确的叙述是:

A)在C程序中,每行中只能写一条语句

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

C)在C程序中,无论是整数还是实数,都能被准确无误地表示

D)在C程序中,%是只能用于整数运算的运算符

26、**以下符合C语言语法的赋值表达式是

A)d=9+e+f=d+9B)d=9+e,f=d+9C)d=9十e,e++,d十9D)d=9十e++=d

+7

27、**已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A,十6—3;后c2中

的值为

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

28、**设变量a是整型,f是实型,i是双精度型,则表达式10+'a,+i*f值的数据类型为

A)intB)float0)doubIeD)不确定

29、*设有说明:charw;intx;floaty;doubIez;则表达式w*x+z—y

值的数据类型为:

A)fIoatB)charC)intD)double

30、**若有以下定义,则能使值为3的表达式是:

intk=7,x=12;

A)x%=(k%=5)B)x%二(k—k%5)C)x%=k-k%5D)(x%=k)一(k%=5)

第四章顺序程序设计

一、填空

1、*在屏幕上输出整型变量a,b值,每个数占5位,输出数据前有说明字符的printfO函数为()。

2、*设charc='A',则语句printf("%c",c+32)结果为()。

3、*通过键盘输入整型变量a的scanf()函数为()。

4、*已知inta,b,c;a或者b两个中间有一个小于c的表达式是()。

5、**已知intx;如果用scanf(,&x);给x赋值,错误的原因是()。

6、*fIoata=3.54;printf("%2.3f=a);的输出结果是()

7、***若有定义语句“inta=25,b=14,c=19;”,以下语句的执行结果是()。

if(a++<=25&&b—*2&&c++)printf("***a=%d,b=%d,c=%d\n",a,b,c);

eIseprintf("###a=%d,b=%d,c=%d\n",a,b,c);

8、***以下程序输入123<CR>后的执行结果是()o

#incIude<stdio.h>

main()

{inta,c;

charb;

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

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

)

9、**以下程序输入123456<CR>后的执行结果是()。

#incIude<stdio.h>

main()

{inta,b;

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

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

)

10、**若有说明inti,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为()o

二'单项选择题

1、*设变量定义为“inta,b;",执行下列语句时,输入(),则a和b的值都是10。

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

(A)1010(B)10,10(0)a=10b=10(D)a=10,b=10

2、*若七为int类型,表达式t=1,t+5,t++的值是()o

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

3、**设*、y均为整型变量,且x=10,y=3,则以下语句的输出结果是()

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

(A)10,3(B)9,3(C)9,2(D)10,2

4、**阅读以下程序,当输入数据的形式为:25,13,10<回车>,正确的输出结果是()

main()

{intx,y,z;

scanf("%d%d%d”,&x,&y,&z);

printf("x+y+z=%d\n”,x+y+z);

)

(A)x+y+z=48(B)x+y+z=35(C)x+z=35(D)不确定值

5、**已知inta=5,y;y=a++;问a,y=?()

(A)a=6,y=5(B)a=6,y=6(C)a=6,y=7(D)a=5,y=6

6、*已知inta=5;赋值表达式a+=a*a的值为()

(A)5;(B)10;(0)30;(D)50;

7、**若有以下程序段,

intc1=1,c2=2,c3;

c3=1.0/c2*c1;

c3中的值是

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

8、*putchar函数可以向终端输出一个:()

A)整型变量表达式值B)实型变量值C)字符串D)字符或字符型变量值

9、**printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5歹人如果字符串长度大于5,则

输出按方式()

A)从左起输出该字串,右补空格B)按原字符长从左向右全部输出

0右对齐输出该字串,左补空格D)输出错误信息

10、**已有定义inta=-2;和输出语句:printf("%8lx”,a);以下正确的叙述是:()

A)整型变量的输出格式符只有%d一种

B)%x是格式符的一种,它可以适用于任何一种类型的数据

C)%x是格式符的一种,其变量的值按十六进制输出,但%81x是错误的

D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度

11、**若x“均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是:()

A)scanf("%d%lx,%le",&x,&y,&z);B)scanf("%2d*%d%If"&x,&y,&z);

C)scanf("%x%*d%o",&x,&y);D)scanf("%x%o%6.2f",&x,&y,&z);

12、**已有如下定义和输入语句,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第一列开始输入数据

时,正确的数据输入方式是()

inta1,a2;charc1,c2;

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

A)10A20B<CR>B)10A20B<CR>C)10A20<CR>D)10A20B<cR>o

13、**已有定义intx;floaty;且执行scanf&x,&y);语句,若从第一列开始输入数

据12345678(回车),则x的值为()

A)12345B)123。0)45D)345

14、**已有定义intx;floaty;且执行scanf("%3d%f",&x,&y);语句,若从第一列开始输入数

据12345678(回车),则y的值为:()

A)无定值B)45.00000)678.000000D)123.00000

15、**已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,

正确的数据输入方式是:()

inta1,a2;chard,c2;

scanf("%d%d",&a1,&a2);

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

A)1020AB<CR>B)1020<CR>AB<CR>C)1020AB<CR>D)1020AB<CR>

16、*已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为()

main。

{inta;floatf;

printf("\nInputnumber:");

输入语句

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

)

Inputnumber:4.52<CR>

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

0)scanf&a,&f);D)scanf&f,&a);

17、*以下能正确地定义整型变量a,b和c并为其赋初值5的语句是()

A)inta=b=c=5;B)inta,b,c=5;

C)a—5,b—5,c—5;D)a—b—c—5;

18、*已知ch是字符型变量,下面不正确的赋值语句是()

A)ch='a+b';B)ch='\0';C)ch='7'+,9,;D)ch=5+9;

19、已*知ch是字符型变量,下面正确的赋值语句是()

A)ch='123';B)ch='\xff';0)ch='\08';D)ch="\";

20、**若有以下定义,则正确的赋值语句是:

inta,b;fIoatx;

A)a=1,b=2,B)b++;C)a二b二5D)b=int(x);

21、*设x、y均为float型变量,则以下不合法的赋值语句是()

A)++x;B)y=(x%2)/10;0)x*=y+8;D)x=y=0;

22、**x,y,z均为int型变量,则执行语句x=(y=(z=10)+5)—5;后,x、y和之的值是:()

A)x=10B)x=100)x=10D)x=1

y=15y=10y=10y=5

z=10z=10z=15z=10

23、*逻辑运算符两侧运算对象的数据类型()。

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

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

24、***下关于运算符优先顺序的描述中正确的是()。

A)关系运算符<算术运算符<赋值运算符<逻辑与运算符

B)逻辑运算符<关系运算符<算术运算符<赋值运算符

C)赋值运算符<逻辑与运算符<关系运算符<算术运算符

D)算术运算符<关系运算符<赋值运算符<逻辑与运算符

25、*下列运算符中优先级最高的是()。

A)<B)十C)&&D)!=

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

1、*main()

{inta=1,b=2;

a=a+b;b=a_b;a=a-b;

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

)

2、*main()

{intx=7,a=2,b=2,c;

c=x/a%b;

printf(c=%d\nJ,,c);}

3、**以下程序输入100<CR>后的执行结果是()o

#incIude<stdio.h>

main()

{intn;

scanf("%o",&n);

printf("n^dXn",n);

)

4、**以下程序输入x=1.23,y=50<CR>后的执行结果是()。

#incIude<stdio.h>

main()

{floatx,y;

scanf("x=%f,y=%f",&x,&y);

printf("x=%7.2f,y=%7.2f\n",x,y);

)

5、***阅读下列程序,写出程序的输出结果。

main()

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

if(a<b)

if(b!=15)

if(!ok1)

x=1;

eIseif(ok2)

x=10;

eIsex=-1;

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

1

6、**阅读下列程序,写出程序运行的输出结果。

main()

{inty=9;

for(;y>0;y一)

if(y%3=0)

(

printf("%d",—y);

continue;

1

)

7、*阅读下列程序:

main()

{inta;

charb;

fIoatc;

printf("inputabc:");

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

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

)

程序运行后若输入u1234r1234.567(回车)”,写出程序的输出结果。

8、**阅读下列程序:

main()

{inta;

fIoatb,c;

printf("inputabc:");

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

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

)

程序运行后若输入“12345678987654321(回车)”,写出程序的输出结果。

9、***阅读下列程序:

main()

{inta;

千Ioatb,c;

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

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

)

程序运行后若输入“12345678987654321(回车)”,写出程序的输出结果。

第五章选择结构程序设计

一、填空

1、**能正确表示“当Ch为小写字母为真,否则为假”的表达式是()o

2、*设y是int型变量,请写出判断y为5的倍数的关系表达式()。

3、*已知inta=1,b=2;表达式(a<b?a:b)的值是()。

4、*在switch语句中出现的break语句的功能是()。

5、**能正确表示“当A=5时布尔量BL为真,否则为假”的表达式是()。

6、*已知inta,b;a、b中有一个小于0的表达式是()。

7、语言中,表示逻辑量“真”用1,表示逻辑量"假”用()o

8、**若x=5,y=10,则x>y和x<=y的逻辑值分别为()和()。

9、*C语言中的逻辑运算符按优先级别是()、()、()。

10、*C语言中逻辑运算符()的优先级高于算术运算符。

11、**将下列数学式(A)a=b或a<c(B)|x|>4改写成C语言的关系表达式或逻辑表达式()和()

12、*请写出以下程序的输出结果()。

main。

{inta=100;

if(a>100)printf(u%d\n,J,a>100);

eIseprintf(u%d\nJ,,a<=100);

1

13、**当"1,b=2,c=3时,以下if语句执行后,a、b、c中的值分别为()、()、()o

if(a>c)

b-a;3—c;c-b;

二、单项选择题

1、**已知整型变量k的值为3,下面程序段执行的结果是()

switch(k)

{case1:putchar('A');break;

case2:putchar('B');break;

case3:putchar(C);

case4:putchar(D);

defau11:putchar(£);

)

(A)CDE(B)C(C)ABC(D)ABCD

2、***以下程序段正确的是()

(A)if(a>b)c=1(B)if(a>b)c=1;

eIsec=2;eIsec=2

(C)if(a>b)c=1;(D)if(a>b);c=1;

eIsec=2;eIsec=2;

3、**以下程序运行的结果是()

main0

lintx=12,y;

y=x>12?x+10:x-12;

printf(iiy=%d\n,.y);)

(A)y=0(B)y=22(C)y=12(D)y=10

4、**表示关系x<=y<=z的c语言表达式为

(A)(X<=Y)&&(Y<=Z)(B)(X<=Y)AND(Y<二Z)(C)(X<=Y<=Z)(D)(X<二Y)&(Y<=Z)

5、**假定所有变量均已正确说明,下列程序段运行后x的值是

a=b=c=O;x=35;

if(!a)x-;

eIseif(b);

if(c)x=3;

eIsex=4;

(A)34(B)4(C)35(D)3

6、**当a=1,b=3,c=5,d=4,执行完下面一段程序后x的值是:

if(a<b)

if(c<d)x=1;

eIse

if(a<c)

if(b<d)x=2;

eIsex=3;

eIsex=6;

eIsex=7;

A)18B)2C)3D)6

7、**以下程序的输出结果是:

main()

{inta=100,x=10,y=20,okI=5,ok2=0;

if(x<y)

if(y!=10)

if(!okI)a=1;

eIse

if(ok2)a=10;

a=-1:

printf("%d\n",a)

)

A)1B)00—1D)值不确定

8、*为了避免在嵌套的条件语句If-else中产生二义性,C语言规定else子句

总是与()配对。

A)缩排位置相同的ifB)其之前最近的ifC)之后最近的ifD)同一行

上的if

9、**以下不正确的语句为:

A)if(x>y);B)if(x=y)&&(x!=0)

x+=y;

C)if(x!=y)scanf("%d",&x);eIsescanf&y);D)if(x<y){x++;y十

+;)

10、***请阅读以下程序:

#incIude<stdio.h>

main()

{fIoata,b

scanf("%f",&a);

if(a<10.0)b=1.0/x;

elseif((a<0.5)&&(a!=2.0))b=1.0/(a+2.0);

elseif(a<10.0)b=1.0/x;

eIseb=10.0;

printf("%f\rT,y);

)

若运行时输入2.0(回车),则上面程序的输出结果是:

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

11X*若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表

达式(exp)的是:

A)(exp=0)B)(exp!=0)C)(exp==1)D)(exp!=1)

12、**若运行时给变量x输入12,则以下程序的运行结果是:

main()

{intx,y;

scanf("%d",&x);

y=x>12?x+10:x—12;

prin"("%d\rT,y);

)

A)0B)220120)10

13、*以下程序的运行结果是:

main0'

{intk=4,a=3,b=2,c二;

printf("\n%d\n",k<a?k:c<b?c:a);

}

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

14、*执行以下程序段后、变量a,b,c的值分别是一。

intx=10,y=9;

inta,b,c;

a二(一一x=二y++)?--x:++y;

b=x++;

c=y;

A)a=9,b=9,c=9B)a=8,b=8,c=10C)a=9,b=10,c=90)

a=1,b=11,c=10

15、**若w,x,y,z,m均为int型变量,则执行下面语句后的m值是:

w=1;x=2;y=3;z=4;

m=(w<y)?w:x;

m=(m<y)?m:y;

m=(m<z)?m:Z;

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

16*若亚二1"=2,y=3,z=4,则条件表达式w〈x?w:y<z?y:z的值是:

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

17、**执行以下程序段后的输出结果是

intw=3,z=7,x=10;

printfC^dXn",x>10?x+100:x—10);

printfC^dXn",w++||z++);

printf("%d\n”,!w>z);

printf("%d\n",w&&z);

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

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

1x**main()

{inti,j=4;

for(i=j;i<=2*j;i++)

switch(i/j)

{case0:

case1:printf(;break;

case2:printf(,a);

)

)

2、*若x=2,y=3,z=2,求下列表达式的值

(1)x<y?y:z

(2)x>y?(++x):(++z)

3、*main()

{inta=10,b=5,x;

x=a<b?b:a;

printf(ttx=%d\nJ,,x);)

4、*main()

{int3—1,b—2,c—3;

if(a>c)

b—3;a—cc=b;

printf(ua=%db=%dc=%d\n",a,b,c);)

2

5、***main()

{inti=5;

do

{switch(i%2)

(case4:i一;break;

case6:i一;continue;

)

i-=2;

printf("%5d",i);

}whiIe(i>0);

)

6.**若x=3,y=z=4,求下列表达式的值

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

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

7、**main()

{inta,b;

for(a=1,b=1;a<=100;a++)

{if(b>=10)break;

if(b%3==1)

{b+=3;continue;}

)

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

)

8、**#include<stdio.h>

main()

(

ints=0,k;

for(k=0;k<=7;k++)

(

switch(k)

case1:

case4:

case7:s++;

break;

case2:

case3:

case6:break;

case0:

case5:s+=2;

break;

)

)

printf("s=%d\n”,s);

}

五、编写程序

1、***设计一个判断输入年份是否是闰年的程序。

第六章循环控制

一、填空

1、*c语言中whiIe和do-whiIe循环的主要区别是()的循环体至少无条件执行一次。

2、**for(i=0;i<=;printf("%d\n",i+=2));程序段输出10个整数,i应<=()

3、**若WhiIe((ch=getchar())=='e")printf("*");输入字符串:abcde<回车>,则循环体将执行()

次。

4、*在while(表达式)循环语句中,表达式的值是()时可以循环,至少循环()次。

5、**循环语句for(;;)printf("OK'n");和do{printf("0K\n");}while(0);执行完毕循环,循环次

数分别是()和()0

6、*结构化程序设计的三种基本结构是:选择结构、顺序结构和()o

7、***当循环体中的switch语句内有break语句,则只跳出()语句。同样,当switch语句中有循

环语句,内有break语句,则只跳出()语句。

8、*循环体执行遇到continue语句时()。

二、单项选择题

**以耳朝wm四

main()

{inti;for(i='A';i<'I';i++,i++)

prirrtf("%c",i+32);prirrtf("\n");}

(A)编译T通过,无输出(B)aceg(0)acegi(D)abcdefghi

2、**执®T隋而;输姆结耨

main0

{inty=10;do{y—;}while(—y);

printf("W,y—);)

(A)-1(B)1(0)8(D)0

3、**若变量已正确定义,语句"if(a>b)k=0;elsek=1;”和()等价。

(A)k=(a>b)?1:0;(B)k=a>b;

(C)k=a<=b;(D)a<=b?0:1;

4、*设有程序段intk=10;while(k=0)k=k-1;则下面描述中正确的是()

(A)循环执行十次(B)循环是无限循环

(C)循环体语句一次也不执行(D)循环体语句执行一次

5、*已知:inti;for(i=0;i<=10;i++);如果表达式1即i=0缺省那么完成表达式1功能的语句可以()

(A)放在for语句的前面(B)放在循环体中

(C)放在for语句的后面(D)放在程序的任何地方

6、**以下可以正确计算s=1*2*3*4*5的程序段是()

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

{s=1;{s=0;

s=s*i;}s=s*i;}

(C)s=1;(D)s=0;

for(i=1;i<=5;i++)for(i=1;i<=5;i++)

s=s*i;s=s*i;

7、*以下叙述正确的是()。

(A)do-whiIe语句构成的循环不能用其他语句构成的循环来代替

(B)do-whiIe语句构成的循环只能用break语句退出

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

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

8、*以下程序段输出的结果是()

a=-1;

do

{a=a*a;}whiIe(a<0);

(A)循环一次(B)循环两次(C)死循环(D)有语法错误

9、**设x和y均为int型变量,则执行下的循环后,y值为

for(y=1,x=1;y<=50;y++)

{if(x>=10))break;

if(x%2==1)

{x+=5;continue;}

x-=3;

)

(A)2(B)4(06(D)8

10、**假定a和b为int型变量则执行以下语句后b的值为

a=1;b=10;

do

{b-=a;a++;}

while(b一<0);

(A)9(B)-2(0)-1(D)8

11、**设j为int型变量,则下面for循环语句的执行结果是

for(j=10;j>3;j—)

{if(j%3)j—;

printf("%d",j);

)

(A)63(B)74(C)62(D)73

12、**设有程序段

intk=10;

while(k=0)k=k—1;

则下面描述中正确的是

A)while循环执行10次B)循环是无限循环

C)循环体语句一次也不执行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论