C语言程序设计试题库及复习资料_第1页
C语言程序设计试题库及复习资料_第2页
C语言程序设计试题库及复习资料_第3页
C语言程序设计试题库及复习资料_第4页
C语言程序设计试题库及复习资料_第5页
已阅读5页,还剩168页未读 继续免费阅读

下载本文档

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

文档简介

电子信息工程学院2014.9.1内容简介本习题集是为根据嘉应学院电子信息工程学院《C语言程序设计》课程教学大纲筛选题目整理而成的。本习题集共分10章,提供了361道选择题,85道填空题,42道编程题,题集覆盖了《C语言程序设计》的全部内容,满足嘉应学院电子信息工程学院《C语言程序设计》考试大纲的要求。寄语亲爱的同学们:很高兴你们学习计算机的语言—C语言,她将带你进入一个全新的计算机的世界。我是你们的老师,但我更希望是你们的朋友,为你在学习C语言的道路上提供帮助。同学们,“攻城不怕坚,攻书莫畏难。科学有险阻,苦战能过关。”,学习是辛苦的,但也充满了挑战和乐趣。我希望你们在学习C语言时,带着希望出发,体会一路的艰辛,最后满载收获而回。朋友们,学习向来没有什么捷径可寻。“多看、多模仿、多操作”是我能给你们的唯一建议。祝你们学业有成。杨久红2014.9.1目录第一部分习题第1章C语言概述11.1选择题11.2填空题21.3编程题2第2章数据的存储及运算32.1选择题32.2填空题62.3编程题7第3章最简单的程序设计-顺序程序设计83.1选择题83.2填空题133.3编程题14第4章选择结构程序设计154.1选择题154.2填空题194.3编程题20第5章循环结构程序设计215.1选择题215.2填空题295.3编程题30第6章利用数组处理批量数据326.1选择题326.2填空题376.3编程题38第7章用函数实现模块化程序设计407.1选择题407.2填空题527.3编程题57第8章善于使用指针588.1选择题588.2填空题708.3编程题71第9章结构体729.1选择题729.2填空题739.3编程题74第10章利用文件保存数据7510.1选择题7510.2填空题7710.3编程题79第二部分参考答案第1章C语言概述811.1选择题811.2填空题811.3编程题81第2章数据的存储及运算812.1选择题812.2填空题822.3编程题82第3章最简单的程序设计-顺序程序设计833.1选择题833.2填空题833.3编程题83第4章选择结构程序设计844.1选择题844.2填空题854.3编程题85第5章循环结构程序设计875.1选择题885.2填空题885.3编程题88第6章利用数组处理批量数据956.1选择题956.2填空题956.3编程题95第7章用函数实现模块化程序设计1007.1选择题1007.2填空题1007.3编程题100第8章善于使用指针1048.1选择题1048.2填空题1048.3编程题104第9章结构体1069.1选择题1069.2填空题1069.3编程题106第10章利用文件保存数据10710.1选择题10710.2填空题10710.3编程题108第一部分习题第1章C语言概述1.1选择题以下说法中正确的是()。(A)C语言程序总是从第一个定义的函数开始执行(B)在C语言程序中,要调用的函数必须在main()函数中定义

(C)C语言程序总是从main()函数开始执行(D)C语言程序中的main()函数必须放在程序的开始部分以下叙述中正确的是()。(A)C语言比其他语言高级

(B)C语言可以不用编译就能被计算机识别执行

(C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

(D)C语言出现的最晚,具有其他语言的一切优点在一个C程序中()。

(A)main函数必须出现在所有函数之前

(B)main函数可以在任何地方出现

(C)main函数必须出现在所有函数之后

(D)main函数必须出现在固定位置以下叙述中正确的是()。

(A)C程序中注释部分可以出现在程序中任意合适的地方

(B)花括号"{"和"}"用C语言编写的代码程序()。

(A)可立即执行(B)是一个源程序

(C)经过编译即可执行(D)经过编译解释即可执行以下叙述中错误的是()。

(A)C语言源程序经编译后生成后缀为.obj的目标程序

(B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件

(C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中

(D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令

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

(A)C语言程序将从源程序中第一个函数开始执行

(B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

(C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束

(D)main可作为用户标识符,用以命名任意一个函数作为主函数1.2填空题1.C语言源程序文件的后缀是。2.一个C语言源程序由若干函数组成,其中至少应含有一个。1.3编程题编写一个C程序,输出以下信息:******************************Verygood!******************************第2章数据的存储及运算2.1选择题C语言提供的合法的数据类型关键字是()。

(A)Double(B)short(C)integer(D)Char若有说明和语句:

inta=5;

a++;

此处表达式a++的值是()。

(A)7(B)6(C)5(D)4C89语言中最简单的数据类型包括()。(A)整型、实型、逻辑型(B)整型、实型、字符型

(C)整型、字符型、逻辑型(D)整型、实型、逻辑型、字符型在C语言中,要求运算数必须是整型的运算符是()。

(A)%(B)/(C)<(D)!以下有4个用户标识符,其中合法的一个是()。

(A)for(B)4d(C)f2_G3(D)short下面程序的输出是()。main()

{intx=10,y=3;

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

(A)0(B)1(C)3(D)不确定的值C语言提供的合法的关键字是()。

(A)Switch(B)cher(C)Case(D)default在C语言中,合法的字符常量是()。

(A)'\084'(B)'\x43'(C)'ab'(D)"\0"若已定义x和y为double类型,且x=1,则表达式:y=x+3/2的值是()。

(A)1(B)2(C)2.0(D)2.5下列不正确的转义字符是()。

(A)'\\'(B)'\"(C)'074'(D)'\0'若有以下定义:

chara;intb;

floatc;doubled;

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

(A)float(B)int(C)char(D)double以下程序的输出结果是()。

main()

{inta=12,b=12;

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

}(A)1010(B)1212(C)1110(D)1113以下选项中属于C89语言的数据类型是()。

(A)复数型(B)逻辑型(C)双精度型(D)集合型设有intx=11;则表达式(x++*1/3)的值是()。

(A)3(B)4(C)11(D)12C语言中运算对象必须是整型的运算符是()。

(A)%=(B)/(C)=(D)〈=设有说明语句:chara=’\72’;则变量a中()。

(A)包含1个字符(B)包含2个字符(C)包含3个字符(D)说明不合法下列选项中,合法的C语言关键字是()。(A)VAR(B)cher(C)integer(D)default以下选项中,非法的字符常量是()。(A)'\t'(B)'\17'(C)"n"(D)'\xaa'若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是()。

(A)

a的值是字符C

(B)

a的值是浮点型

(C)

不允许字符型和浮点型相加

(D)

a的值是字符‘A’的ASCII值加上1。

以下选项中不属于C语言的类型的是()。

(A)

signed

short

int

(B)

unsigned

long

int

(C)

unsigned

int

(D)

long

short以下选项中合法的用户标识符是()。

(A)

long

(B)

_2Test

(C)

3Dmax

(D)

A.dat已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\101’是()。

(A)

字符A

(B)字符a

(C)字符e

(D)非法的常量下列叙述中正确的是()。

(A)C语言中既有逻辑类型也有集合类型

(B)C语言中没有逻辑类型但有集合类型

(C)C语言中有逻辑类型但没有集合类型

(D)C语言中既没有逻辑类型也没有集合类型下列关于C语言用户标识符的叙述中正确的是()

(A)用户标识符中可以出现在下划线和中划线(减号)

(B)用户标识符中不可以出现中划线,但可以出现下划线

(C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头

(D)用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头有以下程序

main()

{

int

i=10,j=1;

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

}执行后输出结果是()以下选项中可作为C语言合法整数的是()。

(A)10110B

(B)0386

(C)0xffa

(D)x2a2以下不能定义为用户标识符的是()。

(A)scan

(B)num

(C)_3com_(D)int已定义ch为字符型变量,以下赋值语句中错误的是()。

(A)ch='\';

(B)ch=62+3;

(C)ch=80;

(D)ch='\xaa';已定义c为字符型变量,则下列语句中正确的是()。

(A)c='97';

(B)c="97";

(C)c=97;

(D)c="a";以下符合C语言语法的实型常量()。

(A)

1.2E0.5

(B)

3.14.159E

(C)

.5E-3

(D)

E15设有定义:float

a=2,b=4,h=3;,以下C语言表达式及代数式计算结果不相符的是()

。(A)

(a+b)

*h/2

(B)

(1/2)*(a+b)

*h

(C)

(a+b)

*h*1/2

(D)

h/2*(a+b)

下列选项中,不能用作标识符的是()。

(A)_1234_(B)_1_2(C)int_2_(D)2_int_有以下程序

main()

{intm=3,n=4,x;

x=-m++;

x=x+8/++n;

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

}

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

(A)3(B)5(C)-1(D)-2有以下程序

main()

{chara='a',b;

printf("%c,",++a);

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

}

程序运行后的输出结果是()以下选项中可作为C语言合法常量的是()。

(A)-80.(B)e1 (C)-8e1.0(D)-80.0e以下不能定义为用户标识符的是()。

(A)Main(B)_0(C)_int(D)sizeof数字字符0的ASCII值为48,若有以下程序

main()

{chara='1',b='2';

printf("%c,",b++);

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

}

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

(A)3,2(B)50,2(C)2,2(D)2,50有以下程序

main()

{intm=12,n=34;

printf("%d%d",m++,++n);

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

}

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

(A)12353514(B)12353513(C)12343514(D)12343513以下叙述中错误的是()。

(A)用户所定义的标识符允许使用关键字

(B)用户所定义的标识符应尽量做到“见名知意”

(C)用户所定义的标识符必须以字母或下划线开头

(D)用户定义的标识符中,大、小写字母代表不同标识以下不能正确计算代数式值的C语言表达式是()。(A)1/3*sin(1/2)*sin(1/2)(B)sin(0.5)*sin(0.5)/3

(C)pow(sin(0.5),2)/3(D)1/3.0*pow(sin(1.0/2),2)以下能正确定义且赋初值的语句是()。

(A)intn1=n2=10;(B)charc=32;(C)floatf=f+1.1;(D)doublex=12.3E2.5;以下不合法的用户标识符是()。

(A)j2_KEY(B)Double(C)4d(D)_8_以下不合法的字符常量是()。

(A)′\018′(B)′\"′(C)′\\′(D)′\xcc′表达式3.6-5/2+1.2+5%2的值是()。

(A)4.3(B)4.8(C)3.3

(D)3.8

不可在C程序中用做用户标识符的标识符是()。

(A)and(B)Date(C)Hi(D)case以下选项中,不合法的C语言数值常量是()。

(A)028(B)12.(C).177(D)0x8A以下关于long、int和short类型数据占用内存大小的叙述中正确的是()。

(A)均占4个字节(B)根据数据的大小来决定所占内存的字节数

(C)由用户自己定义(D)由C语言编译系统决定已知字符’A’的ASCII代码值是65,字符变量c1的值是’A’,c2的值是’D’。执行语句printf("%d,%d",c1,c2-2);后,输出结果是()。

(A)A,B(B)A,68(C)65,66(D)65,68以下正确的字符串常量是()。

(A)"\\\"(B)’abc’(C)OlympicGames(D)""2.2填空题23/4=

。下程序运行后的输出结果是

main()

{

char

m;

m='B'+32;

printf("%c\n",m);

}设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为___。以下程序的输出结果是。

main()

{inta=1,b=2;

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

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

}若有语句

int

i=-19,j=i%4;

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

则输出结果是。

已知字符A的ACSII码值为65,以下语句的输出结果是。char

ch=’B’;

printf(“%c

%d\n”,ch,ch);设x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是。

printf("%d,%d\n",x--,--y);2.3编程题1.假如我国国民生产总值的年增长率为10%,计算10年后我国国民生产总值及现在相比增长多少百分比?计算公式为:其中r为年增长率;n为年数;P为及现在相比的百分比。2.在一个笼子里同时养着一些鸡和兔子,你想了解有多少只鸡和多少只兔,主人对你说:我只告诉你鸡和兔的总头数是16和总脚数是40,你能不能自己计算有多少只鸡和多少只兔?第3章最简单的程序设计-顺序程序设计3.1选择题在下列选项中,不正确的赋值语句是()。(A)++t;(B)n1=(n2=(n3=0));(C)k=i==j;(D)a=b+c=1;以下叙述中正确的是()。

(A)用C程序实现的算法必须要有输入和输出操作

(B)用C程序实现的算法可以没有输出但必须要输入

(C)用C程序实现的算法可以没有输入但必须要有输出

(D)用C程序实现的算法可以既没有输入也没有输出若变量已正确定义并赋值,下面符合C语言语法的表达式是()。

(A)a:=b+1(B)a=b=c+2(C)int18.5%3(D)a=a+7=c+b若变量a、i已正确定义,且i已正确赋值,合法的语句是()。

(A)a==1(B)++i;(C)a=a++=5;(D)a=int(i);设a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是()。

(A)6.500000

(B)6

(C)

5.500000

(D)

6.000000C语言中用于结构化程序设计的三种基本结构是

()。

(A)顺序结构、选择结构、循环结构

(B)if、switch、break

(C)for、while、do-while

(D)if、for、continue以下选项中非法的表达式是()。

(A)0<=x<100

(B)i=j==0

(C)(char)(65+3)

(D)x+1=x+1有以下定义语句

doublea,b;intw;longc;

若各变量已正确赋值,则下列选项中正确的表达式是()。

(A)a=a+b=b++(B)w%((int)a+b)

(C)(c+w)%(int)a(D)w=a==b;以下选项中,及k=n++完全等价的表达式是()。

(A)

k=n,n=n+1

(B)

n=n+1,k=n

(C)

k=++n

(D)

k+=n+1以下叙述中错误的是()。

(A)C语句必须以分号结束

(B)复合语句在语法上被看作一条语句

(C)空语句出现在任何位置都不会影响程序运行

(D)赋值表达式末尾加分号就构成赋值语句以下叙述中错误的是()。

(A)算法正确的程序最终一定会结束

(B)算法正确的程序可以有零个输出

(C)算法正确的程序可以有零个输入

(D)算法正确的程序对于相同的输入一定有相同的结果

设有如下的变量定义:

inti=8,k,a,b;

unsignedlongw=5;

doublex=1.42,y=5.2;

则以下符合C语言语法的表达式是()。(A)a+=a-=(b=4)*(a=3)(B)x%(-3);(C)a=a*3=2(D)y=float(i)以下程序的输出结果是()。main()

{(A)8,10,16(B)8,10,10(C)10,10,10(D)10,10,16已知字母A的ASCII码为十进制的65,下面程序的输出是()。

main()

{charch1,ch2;

ch1='A'+'5'-'3';

ch2='A'+'6'-'3';

printf("%d,%c\n",ch1,ch2);}(A)67,D(B)B,C(C)C,D(D)不确定的值若有以下定义和语句:

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

printf("%d,%d,%d\n,u,v,w);

则输出结果是()。(A)8,16,10(B)10,10,10(C)010,16,10(D)16,16,16若有以下定义和语句

charc1='b',c2='e';

printf("%d,%c\n",c2-c1,c2-'a'+'A');

则输出结果是()。

(A)2,M(B)3,E

(C)2,E(D)输出项及对应的格式控制不一致,输出结果不确定下列可作为C语言赋值语句的是()。

(A)x=3(B)a=b=6(C)i--;(D)y=int(x);设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:

scanf("i=%d,f=%f",&i,&f);

为了把100和765.12分别赋给i和f,则正确的输入为()。

(A)100765.12(B)i=100,f=765.12(C)100765.12(D)x=100y=765.12以下叙述中正确的是()。

(A)输入项可以是一个实型常量,如:scanf("%f",3.5);

(B)只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d,b=%d");

(C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf("%4.2f",&f);

(D)当输入数据时,必须指明变量地址,例如:scanf("%f",&f);以下程序的输出结果是()。main()

{intk=17;

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

}(A)17,021,0x11(B)17,17,17

(B)17,0x11,021(D)17,21,11下列程序的输出结果是()。main()

{doubled=3.2;intx,y;

x=1.2;y=(x+3.8)/5.0;

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

}(A)3(B)3.2(C)0(D)3.07下列程序执行后的输出结果是()。main()

{intx='f';printf("%c\n",'A'+(x-'a'+1));}(A)G(B)H(C)I(D)J下列程序的运行结果是()。#include

<stdio.h>

main()

{inta=2,c=5;

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

(A)a=%2,b=%5(B)a=2,b=5

(C)a=d,b=d(D)a=%d,b=%dx、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()。(A)inputx、y、z;(B)scanf("%d%d%d",&x,&y,&z);

(C)scanf("%d%d%d",x,y,z);(D)read("%d%d%d",&x,&y,&z);若有以下程序段,

intc1=1,c2=2,c3;

c3=1.0/c2*c1;

则执行后,c3中的值是()。(A)0(B)0.5(C)1(D)2若有定义:int

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

1.4

(B)

1

(C)

2.0

(D)

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

int

a=1234;

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

(A)

12

(B)

34

(C)

1234

(D)

提示出错、无结果

以下非法的赋值语句是()。(A)

n=(i=2,++i);

(B)j++;

(C)

++(i+1);

(D)x=j>0;

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

设有定义:long

x=-123456L;,则以下能够正确输出变量x值的语句是()。(A)printf(“x=%d\n”,x);

(B)

printf(“x=%1d\n”,x);

(C)printf(“x=%8dL\n”,x);

(D)printf(“x=%LD\n”,x);若有以下程序:

main()

{

int

k=2,i=2,m;

m=(k+=i*=k);printf(“%d,%d\n”,m,i);

}执行后的输出结果是()。(A)

8,6

(B)

8,3

(C)

6,4

(D)

7,4

若有以下程序段

int

m=0xabc,n=0xabc;

m-=n;

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

执行后输出结果是()。

(A)

0X0

(B)

0x0

(C)

0

(D)

0XABC

有以下程序段

int

m=0,n=0;

char

c='a';

scanf("%d%c%d",&m,&c,&n);

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

若从键盘上输入:10A10<回车>,则输出结果是()。

(A)

10,A,10

(B)

10,a,10

(C)

10,a,0

(D)

10,A,0有以下程序

main()

{

int

a;

char

c=10;

float

f=100.0;

double

x;

a=f/=c*=(x=6.5);

printf("%d

%d

%3.1f

%3.1f\n",a,c,f,x);

}有定义语句:int

x,

y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是()。

(A)11

12<回车>

(B)11,

12<回车>(C)11,12<回车>

(D)11,<回车>12<回车>设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是()。

(A)x=x*100+0.5/100.0;

(B)x=(x*100+0.5)/100.0;

(C)x=(int)(x*100+0.5)/100.0;

(D)x=(x/100+0.5)*100.0;

若以下选项中的变量已正确定义,则正确的赋值语句是

()。

(A)

x1=26.8%3

(B)

1+2=x2

(C)

x3=0x12

(D)

x4=1+2=3;有以下程序

main(

)

{

int

x=102,y=012;

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

}

以下4个选项中,不能看作一条语句的是

()。

(A)

{;}

(B)

a=0,b=0,c=0;

(C)

if(a>0);

(D)

if(b==0)

m=1;n=2;有以下程序

main()

{intm=0256,n=256;

printf("%o%o\n",m,n);

}

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

(A)02560400(B)0256256(C)256400(D)400400有以下程序

main()

{inta=666,b=888;

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

}

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

(A)错误信息(B)666(C)888(D)666,888有以下程序

main()

{chara,b,c,d;

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

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

}

若运行时从键盘上输入:6,5,65,66<回车>。则输出结果是()。

(A)6,5,A,B(B)6,5,65,66(C)6,5,6,5(D)6,5,6,6以下叙述中正确的是()。

(A)调用printf函数时,必须要有输出项

(B)使用putchar函数时,必须在之前包含头文件stdio.h

(C)在C语言中,整数可以以二进制、八进制或十六进制的形式输出

(D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。

main()

{intr;floats;

scanf("%d",&r);

s=pi*r*r;printf("s=%f\n",s);

}

出错的原因是()。

(A)注释语句书写位置错误(B)存放圆半径的变量r不应该定义为整型

(C)输出语句中格式描述符非法(D)计算圆面积的赋值语句中使用了非法变量有以下程序

#include<stdio.h>

main()

{charc1='1',c2='2';

c1=getchar();c2=getchar();putchar(c1);putchar(c2);

}

当运行时输入:a<回车>后,以下叙述正确的是()。

(A)变量c1被赋予字符a,c2被赋予回车符

(B)程序将等待用户输入第2个字符

(C)变量c1被赋予字符a,c2中仍是原有字符2

(D)变量c1被赋予字符a,c2中将无确定值若变量均已正确定义并赋值,以下合法的C语言赋值语句是()。(A)x=y==5;(B)x=n%2.5;(C)x+n=1;(D)x=5=4+1;程序运行后的输出结果是()。#include<stdio.h>voidmain(){inta,b;a=3;b=20;a=b;printf("a=%d,b=%d\n",a,b);}(A)a=3,b=3(B)a=20,b=20(C)a=20,b=3(D)a=3,b=203.2填空题若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的的输出语句。一个良好的程序,无论多么复杂,都可以由三种基本结构组成,分别是、和,用这三种基本结构构成的程序称为“结构化程序”。执行以下程序时输入1234567,则输出结果是______。

main()

{inta=1,b;

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

}若有程序

main()

{

int

i,j;

scanf("i=%d,j=%d";&i,&j);

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

}要求给i赋10,给有以下语句段

int

n1=10,n2=20;

printf(“”,n1,n2);

要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。

n1=10

n2=20以下程序段的输出结果是_____。inti=9;

printf("%o\n",i);已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是。

#include<stdio.h>

main()

{chara,b;

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

a=a-'A'+'0';b=b*2;

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

}已知字母A的ASCII码为65。以下程序运行后的输出结果是。

main()

{chara,b;

a='A'+'5'-'3';b=a+'6'-'2'

printf("%d%c\n",a,b);}3.3编程题设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。请编程序。输入一个华氏温度,要求输出一个摄氏温度。公式为:输入三角形的三边长,求三角形面积。为简单起见,设输入的三边长a、b、c能构成三角形。从数学知识已知求三角形面积的公式为QUOTE其中s=(a+b+c)/2输入一个小写字母,将其转换为大写字母。第4章选择结构程序设计4.1选择题表达式:10!=9的值是()。

(A)true(B)非零值(C)0(D)1能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是()。(A)a>=10ora<=0(B)a>=0|a<=10(C)a>=10&&a<=0(D)a>=10‖a<=0有以下程序

main()

{inta,b,c=246;

a=c/100%9;

b=(-1)&&(-1);

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

}输出结果是()。(A)2,1(B)3,2(C)4,3(D)2,-1若变量c为char类型,能正确判断出c为小写字母的表达式是()。

(A)'a'<=c<='z'(B)(c>='a')||(c<='z')(C)('a'<=c)and('z'>=c)(D)(c>='a')&&(c<='z')下面程序的输出是()。

main()

{inta=-1,b=4,k;

k=(a++<=0)&&(!(b--<=0));

printf("%d%d%d%\n",k,a,b);}(A)003(B)012(C)103(D)112有如下程序段

inta=14,b=15,x;

charc=’A’;

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

执行该程序段后,x的值为()。

(A)true(B)false(C)0(D)1表示数学上的关系x<=y<=z的C语言表达式为()。

(A)(x<=y)&&(y<=z)(B)(x<=y)AND(y<=z)(C)(x<=y<=z)(D)(x<=y)&(y<=z)设x,y,z,t均为int型变量,则执行以下语句后,t的值为()。x=y=z=1;

t=++x||++y&&++z;

(A)不定值(B)2(C)1(D)0阅读以下程序:main()

{intx;

scanf("%d",&x);

if(x--<5)printf("%d",x);

elseprintf("%d",x++);

}

程序运行后,如果从键盘上输以下程序输出结果是()。

main()

{intm=5;

if(m++>5)printf("%d\n",m);

elseprintf("%d\n",m--);

}(A)7(B)6(C)5(D)4语句:printf("%d",(a=2)&&(b=-2);的输出结果是()。

(A)无输出(B)结果不确定(C)-1(D)1能正确表示a和b同时为正或同时为负的逻辑表达式是()。(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设intx=1,y=1;表达式(!x||y--)的值是()。

(A)0(B)1(C)2(D)-1有如下程序,该程序的输出结果是()。

main(){intx=1,a=0,b=0;

switch(x){

case0:b++;

case1:a++;有如下程序

main(){floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x<10.0)y=1.0/x;

elsey=1.0;

printf(“%f\n”,y);

}

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

(A)0.000000(B)0.250000(C)0.500000(D)1.000000有如下程序

main()

{inta=2,b=-1,c=2;

if(a)c=2;elseif(b<0)c=0;

elsec++;

printf(“%d\n”,c);

}

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

(A)0(B)1(C)2(D)3若执行以下程序时从键盘上输入9,则输出结果是()。main()

{intn;

scanf("%d",&n);

if(n++<10)printf("%d\n",n);

elseprintf("%d\n",n--);

}(A)11(B)10(C)9(D)8

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

main()

{

int

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

d=!a&&!b||!c;

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

}

(A)

1

(B)

0

(C)

非0的数

(D)

-1已有定义:int

x=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2的值是()。

(A)

6

(B)

0

(C)

2

(D)

1

有以下程序

main()

{

int

a=15,b=21,m=0;

switch(a%3)

{

case

0:m++;break;

case

1:m++;

switch(b%2)

{

default:m++;

case

0:m++;break;

}

}

printf(“%d\n”,m);}

程序运行后的输出结果是()

有以下程序

main()

{

int

a=5,b=4,c=3,d=2;

if(a>b>c)

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

若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是()。(A)abs(x-y)<10(B)x-y>-10&&x-y<10

(C)

!(x-y)<-10||!(y-x)>10(D)(x-y)*(x-y)<100有以下程序

main()

{

inta=3,b=4,c=5,d=2;

if(a>b)

if(b>c)

printf("%d",d+++1);

else

printf("%d",++d+1);

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

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

(A)2(B)3(C)43(D)44有以下程序

main()

{inta,b,d=25;

a=d/10%9;

b=a&&(-1);

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

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

(A)6,1(B)2,1(C)6,0(D)2,0当把以下四个表达式用作if语句的控制表达式时,有一个选项及其它三个选项含义不同,这个选项是()。

(A)k%2(B)k%2==1(C)(k%2)!=0(D)!(k%2)==1设有定义:inta=2,b=3,c=4;,则以下选项中值为0的表达式是()。

(A)(!a==1)&&(!b==0)(B)(a<b)&&!c||1(C)a&&b(D)a||(b+b)&&(c-a)有以下程序,程序输出为()。

main()

{int

a=0,b=0,c=0,d=0;

if(a=1)

b=1;c=2;

else

d=3;

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

}

(A)0,1,2,0(B)0,0,0,3(C)1,1,2,0(D)编译有错已有定义:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是()。

(A)isupper(c)(B)’A’<=c<=’Z’

(C)’A’<=c&&c<=’Z’(D)c<=(‘z’-32)&&(‘a’-32)<=c4.2填空题以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否则输出NO。当给a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足三个条件:a+b>c,a+c>b,b+c>a。请填空。

main()

{float

a,b,c;

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

if()printf("YES\n");/*a、b、c能构成三角形*/

else

printf("NO\n");/*a、b、c不能构成三角形*/

}表示条件:x>10且x<100或x<0的C语言表达式是。若x为int类型,请以最简单的形式写出及逻辑表达式!x等价的C语言关系表达式

。以下程序运行后的输出结果是

main()

{

int

a=1,b=3,c=5;

if

(c=a+b)

printf("yes\n");

else

printf("no\n");

}表示“整数x的绝对值大于5”时值为“真”的C语言表达式是。若从键盘输入58,则以下程序输出的结果是

main()

{

int

a;

scanf("%d",&a);

if(a>50)

printf("%d",a);

if(a>40)

printf("%d",a);

if(a>30)

printf("%d",a);

}以下程序运行后的输出结果是

main()

{

int

x=10,y=20,t=0;

if(x==y)t=x;x=y;y=t;

printf(“%d,%d

\n”,x,y);}若有以下程序

main()

{

int

a=4,b=3,c=5,t=0;

if(a<b)t=a;a=b;b=t;

有以下程序

main(

)

{

int

n=0,m=1,x=2;

if(!n)

x-=1;

以下程序运行后的输出结果是。

main()

{inta=1,b=2,c=3;

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

elseprintf("%d\n",b);

}4.3编程题有一函数:写一程序,输入x,输出y值。给一个不多于5位的正整数,要求:(1)求出它是几位数;(2)分别打印出每一位数字;由键盘输入3个整数x,y,z,输出其中的最大数,请编程序。给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。第5章循环结构程序设计5.1选择题t为int类型,进入下面的循环之前,t的值为0

while(t=l)

{……}

则以下叙述中正确的是()

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

(C)循环控制表达式不合法(D)以上说法都不对有以下程序

main(

)

{

int

i,s=0;

for(i=1;i<10;i+=2)

s+=i+1;

printf(“%d\n”,s);

}以下程序段的输出结果是()。intx=3;do

{printf("%3d",x-=2);}while(!(--x));

(A)1(B)30(C)1-2(D)死循环

以下程序中,while循环的循环次数是()。

main()

{

int

i=0;

while(i<10)

{

if(i<1)

continue;

if(i有以下程序

main()

{inta=1,b;

for(b=1;b<=10;b++)

{if(a>=8)break;

if(a%2==1){a+=5;continue;}

a-=3;

}

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

}

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

(A)3(B)4(C)5(D)6有以下程序

main()

{

int

i;

for(i=0;i<3;i++)

switch(i)

下面程序的输出是()。main()

{inty=9;

for(;y>0;y--)

{if(y%3==0)

{printf("%d",--y);continue;}}}(A)741(B)852(C)963(D)875421若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是()。for(i=5;i;i--)

for(j=0;j<4;j++){...}(A)20(B)25(C)24(D)30执行语句:for(i=l;i++<4;此处原来有2个分号,要去掉一个,答案不变。);后,变量i的值是()。

(A)3(B)4(C)5(D)不定此处原来有2个分号,要去掉一个,答案不变。假定a和b为int型变量,则执行以下语句后b的值为()。

a=1;b=10;

do

{b-=a;a++;}

while(b--<0);

(A)9(B)-2(C)-1(D)8设j为int型变量,则下面for循环语句的执行结果是()。

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

{if(j%3)j--;

--j;--j;

printf("%d",j);

}

(A)63(B)74(C)62(D)73有以下程序

main()

{intx,i;

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

{x=i;

if(++x%2==0)

if(x%3==0)

if(x%7==0)

printf("%d,i);

}

}

输出结果是()。

(A)28(B)27(C)42(D)41在执行以下程序时,如果从键盘上输入ABCdef<回车>,则输出()。

#include<stdio.h>

main()

{charch;

while((ch=getchar())!='\n')

{if(ch>='A'&&ch<='Z')ch=ch+32;

elseif(ch>='a'&&ch<='z')ch=ch-32;

printf("%c",ch);

}

printf("\n");

}(A)ABCdef(B)abcDEF(C)abc(D)DEF执行以下程序段时()。x=-1;

do{x=x*x;}while(!x);

(A)循环体将执行一次(B)循环体将执行两次

(C)循环体将执行无限次(D)系统将提示有语法错误执行以下程序后,输出的结果是()。main()

{inty=10;

do{y--;}while(--y);

printf("%d\n",y--);}(A)-1(B)1(C)8(D)0在下列选项中,没有构成死循环的程序段是()。

(A)inti=100;(B)for(;;);

while(1)

{i=i%100+1;

if(i>100)break;

}(C)intk=1000;(D)ints=36;

do{++k;}while(k>=10000);while(s);--s;运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为()。

#include<stdio.h>

main()

{intv1=0,v2=0;

charch;

while((ch=getchar())!='#')

switch(ch)

{case'a':(A)2,0(B)5,0(C)5,5(D)2,5以下程序的输出结果是()。

main()

{intx=10,y=10,i;

for(i=0;x>8;y=++i)

printf("%d,%d",x--,y);

}(A)10192(B)9876(C)10990(D)101091以下程序的输出结果是()。

main()

{intn=4;

while(n--)printf("%d",--n);

}(A)20(B)31(C)321(D)210以下程序的输出结果是()。

main()

{inti;

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

{if(i%2){printf("#");continue;}

printf("*");

}

printf("\n");

}(A)#*#*#(B)#####(C)*****(D)*#*#*以下循环体的执行次数是()。

main()

{inti,j;

for(i=0,j=1;i<=j+1;i+=2,j--)printf("%d\n",i);

}(A)3(B)2(C)1(D)0以下叙述正确的是()。

(A)do-while语句构成的循环不能用其它语句构成的循环来代替。

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

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

(D)用do-while语句构成的循环,在while后的表达式为零时结束循环。有以下程序

main()

{

int

i=0,s=0;

do{

if(i%2){i++;continue;}

i++;

s

+=i;

}while(i<7);

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

}

执行后输出结果是()。(A)

16

(B)

12

(C)

28

(D)

21有如下程序

#include<stdio.h>main(){intx=23;do{printf("%d",x--);}while(!x);}

该程序的执行结果是()。

(A)321(B)23(C)不输出任何内容(D)陷入死循环有如下程序

main(){intn=9;

while(n>6){n--;printf(“%d”,n);}

}

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

(A)987(B)876(C)8765(D)9876有以下程序段intk=0;

while(k=1)k++;

while循环执行的次数是()。

(A)无限次(B)有语法错,不能执行(C)一次也不执行(D)执行1次以下程序的输出结果是()。

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);}

(A)101(B)6(C)5(D)4以下程序的输出结果是()。

main()

{

int

a=0,i;

for(i=1

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

#include

<stdio.h>

main()

{

int

i=0,a=0;

while(i<20)

{

for(;;)

{

if((i%10)==0)

break;

else

i--;

}

i+=11;

a+=i;

}

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

}

(A)

21

(B)

32

(C)

33

(D)

11

有以下程序段

int

n=0,p;

do{scanf(“%d”,&p);n++;}while(p!=12345

&&n<3);

此处do—while循环的结束条件是()。(A)

p的值不等于12345并且n的值小于3(B)

p的值等于12345并且n的值大于等于3

(C)

p的值不等于12345或者n的值小于3(D)

p的值等于12345或者n的值大于等于3若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)

s=a;

for(b=1;b<=c;b++)

s=s+1;

则及上述程序段功能等价的赋值语句是

()。

(A)s=a+b;

(B)s=a+c;

(C)s=s+c;

(D)s=b+c;有以下程序

main()

{

int

k=4,n=0;

for(

n<k

)

{

n++;

if(n%3!=0)

continue;

k--;

}

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

}

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

(A)1,1

(B)2,2

(C)3,3

(D)4,4有以下程序

main(

)

{

int

x=0,y=5,z=3;

while(z-->0&&++x<5)

y=y-1;

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

}有以下程序

main()

{inti;

for(i=0;i<3;i++)

switch(i)

{

case0:printf("%d",i);

case2:printf("%d",i);

default:printf("%d",i);

}

}

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

(A)022111(B)021021(C)000122(D)012有以下程序

main()

{inti=0,s=0;

for(;;)

{

if(i==3||i==5)continue;

if(i==6)break;

i++;

s+=i;

};

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

}

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

(A)10(B)13(C)21(D)程序进入死循环有以下程序

main()

{intk=5,n=0;

while(k>0)

{switch(k)

{default:break;

case1:n+=k;

case2:

case3:n+=k;

}

k--;

}

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

}

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

(A)0(B)4(C)6(D)7要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,

以下正确的程序段是()。

(A)while((ch=getchar())!=′N′)printf("%c",ch);

(B)while(ch=getchar()!=′N′)printf("%c",ch);

(C)while(ch=getchar()==′N′)printf("%c",ch);

(D)while((ch=getchar())==′N′)printf("%c",ch);有以下程序

main()

{int

y=10;

while(y--);printf("y=%d\n",y);

}

程序执行后的输出结果是()。

(A)y=0(B)y=-1(C)y=1(D)while构成无限循环有以下程序

main()

{int

i,j,x=0;

for(i=0;i<2;i++)

{x++;

for(j=0;j<=3;j++)

{if(j%2)continue;

x++;

}

x++;

}

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

}

程序执行后的输出结果是()。

(A)x=4(B)x=8(C)x=6(D)x=12若变量已正确定义,有以下程序段

i=0;

do{printf("%d,",i);}while(i++);

printf("%d\n",i)

其输出结果是()。

(A)0,0(B)0,1(C)1,1(D)程序进入无限循环有以下程序

#include<stdio.h>

main()

{inti,j,m=55;

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

for(j=3;j<=i;j++)m=m%j;

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

}

程序的运行结果是()。(A)0(B)1(C)2(D)35.2填空题以下程序运行后的输出结果是

ma

温馨提示

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

最新文档

评论

0/150

提交评论