二级c语言笔试练习题.pdf

上传人:文*** 文档编号:88051496 上传时间:2023-04-20 格式:PDF 页数:101 大小:11.21MB
返回 下载 相关 举报
二级c语言笔试练习题.pdf_第1页
第1页 / 共101页
二级c语言笔试练习题.pdf_第2页
第2页 / 共101页
点击查看更多>>
资源描述

《二级c语言笔试练习题.pdf》由会员分享,可在线阅读,更多相关《二级c语言笔试练习题.pdf(101页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、全国计算机等级考试二 级C语言程序设计第 1 章 C 语言程序设计概述.1第 2 章 C 语言的基本数据类型与表达式.3第 3 章 顺序程序设计.11第 4 章 选择结构程序设计.13第 5 章 循 环 结 构.18第 6 章 函数与编译预处理.24第 7 章 数 组.34第 8 章 指针.42第 9 章 结构体数据类型与链表.57第 1 0 章 位 运 算 与 文 件 操 作.64上机考试题.71目 录第 1 章 C 语言程序设计概述1.1 程序与程序设计1.2 算法及其描述1.3 C 语言的发展及特点1.4 C 语言程序的基本结构1.5 C 语言字符集、标识符和关键字1.6 C 语言程序的

2、开发环境第 2 章 C 语言的基本数据类型与表达式2.1 C 语言的基本数据类型2.2 常量和变量2.3 运算符与表达式2.4 数据类型转换第 3 章 顺序程序设计3.1 C 语言的基本语句3.2 数据输入与输出3.3 程序举例第 4 章 选择结构程序设计4.1 关系运算符与关系表达式4.2 逻辑运算符与逻辑表达式4.3 if语句4.4 switch 语句第 5 章 循 环 结 构5.1 while 语句5.2 do-while 语句5.3 fo r语句5.4 break continue 和 goto 语句5.5 循环的嵌套5.6 复合结构程序举例第 6 章 函数与编译预处理6.1 模块化程

3、序设计与函数6.2 函数的定义与调用6.3 函数的递归调用6.4 变量的作用域与存储方式6.5 编译预处理第 7 章 数 组7.1 一维数组7.2 二维数组7.3 数组的应用7.4 字符数组与字符串7.5 数组作为函数的参数7.6 程序举例第 8 章 指 针8.1 指针与指针变量8.2 指针与函数8.3 指针与数组8.4 指针与字符串8.5 指针数组与命令行参数8.6 程序举例第 9 章 结构体数据类型与链表9.1 结构体类型的定义9.2 结构体类型变量9.3 结构体类型数组9.4 结构体类型指针9.5 结构体与函数9.6 链表第 1 0 章 位运算与文件操作10.1 位运算与位运算符10.2

4、 位运算举例10.3 C 文件概述10.4 文件类型指针10.5 文件的打开与关闭10.6 文件的定位第 1 1 章 上机考试题分析第1 C错言程声钺什概述第 1 章 C 语言程序设计概述一、选择题1、以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点2、以下说法正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序

5、的开始部分3、C语言规定,在一个源程序中,main函数的位置A)必须在最开始 B)必须在系统调用的库函数的后面C)可以任意 D)必须在最后4、以下叙述不正确的是A)一个C源程序可由一个或多个函数组成B)一 个 C源程序必须包含-个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面5、C语言程序的基本单位是A)程序行 B)语句C)函数 D)字符6、以下叙述正确的是A)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,是只能用于整数运

6、算的运算符7、以下选项错误的是A)main()int x,y,z;x=0;y=x-l;z=x+y;C)main()int x;intint y;x=O,y=x+l;z=x+y;1 仔 细 答 题,认 真 总 结!B)main()int x,y,z;x=O,y=x+l;z=x+y;D)main()int x,y,z;x=O;y=x+l;z=x+y,二 级 考 试 专 用第 1 *C 语言程序强针概述8、以下4个选项中,不能看做一条语句的是A);B)a=5,b=2.5,c=3.6;C)if(a 12?x+10:x-12;printf(%d n,y);)A)0 B)22C)12 D)1020、在C语

7、言中,运算对象必须是整型数的运算符是A)%B)C)%和 D)*21、C语言中运算对象必须是整型的运算符是A)%=B)/仔 细 答 题,认 真 总 结!二 级 考 试 专 用 4第 2 章 C 辖言的基洋毅据奏型易表达WC)=D)=22、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合c 语言语法的表达式是A)x%(-3)B)w+=-2C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)23、若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是

8、A)2.500000 B)2.750000C)3.500000 D)0.00000024、请选出以下语句的输出结果printf(d n”,strlen(t 0 6 5 x f f n );A)5 B)14C)8 D)输出项不合法,无正常输出25、设有数组定义:char array 口=China;则 数 组 array所占的空间为A)4个字节 B)5个字节C)6个字节 D)7个字节26、以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对

9、于整型变量只能输入整型数值,对于实型变量只能输入实型数值27、sizeof(float)是A)一个双精度型表达式C)一种函数调用B)一个整型表达式D)一个不合法的表达式28、若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A)4C)32B)16D)5229、下列程序的输出结果是main()double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf(d n”,d*y);)A)3B)3.2C)0D)3.0730、设变量a是int型,f是float型,i是double型,则表达式10+a+i*f值的数据类型为A)intB

10、)float5仔 细 答 题,认 真 总 结!二 级 考 试 专 用第2*C语言的基漳裁据类型与表达K、C)d ou b l eD)不确定3 1、设以卜变量均为i n t类型,A)(x=y=6,x+y,x+1)C)(x=6,x+1 ,y=6,x+y)表达式的值不为7的是B)(x=y=6,x+y,y+l)D)(y=6,y+1 ,x=y,x+1)3 2、若 有 条 件 表 达 式(e x p)?a+:b-,则以下表达式中能完全等价于表达式(e x p)的是A)(e x p=0)C)(e x p=l)B)(e x p!=0)D)(e x p!=l)3 3、以下选项中,与k=n+完全等价的表达式是A)

11、k=n,n=n+lC)k=+nB)n=n+1 ,k=nD)k+=n+13 4、以下程序的输出结果是m ai n ()i n t a=2 1 ,b=1 1;p r i n t f (%d n ,-a+b,b+a);A)3 0C)3 2B)3 1D)3 33 5、设x、y均为整型变量,且x=1 0 y=3,则以下语句的输出结果是p r i n t f (%d,%d n ,x y);A)1 0,3C)9,2B)9,3D)1 0,23 6、表达式a b ll(c&d)中运算符优先级最高的是A)I IC)B)&D)()3 7、在C语言中,int,c ha r和sho rt三种类型数据在内存中所占用的字节

12、数A)由用户自己定义C)是任意的B)均为2个字节D)由所用机器的机器字长决定3 8、若有以下定义,则能使值为3的表达式是int k=7,x=1 2;A)x%=(k%=5)C)x%=k-k%5B)x%=(k-k%5)D)(x%=k)-(k%=5)3 9、下面程序的输出结果为ma in()int a,b;b=(a=3*5,a*4,a*5 );p rintf(%d,b);A)6 0C)6 5B)7 5D)无确定值4 0、假定x和y为d o ub le型,则表达式x=2,y=x+3/2的值是A)3.5 0 0 0 0 0B)3仔 细 答 题,认 真 总 结!二 级 考 试 专 用 6第2 章 C语言的

13、基漳敏提奏型星表达WC)2.000000 D)3.00000041、以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x+y+z的C语言表达式是A)x/y*zC)x/y*l/zB)x*(1/(y*z)D)x/y/z42、以下程序的输出结果是main()char c=z;printf(c”,c-25);)A)aC)z-25B)ZD)y43、有以下程序#include main()char*p=abcde Ofghjik 0printf(0%d n H,strlen(p);)程序运行后的输出结果是A)12 B)15C)6 D)544、设有intx=U;则表达式(x+*l/3)

14、的值是A)3 B)4C)11 D)1245、若变量a是int类型,并执行了语句:a=A+1 6,则正确的叙述是A)a的值是字符CC)不允许字符型和浮点型相加B)a的值是浮点型D)a的值是字符A 的ASCH值加上146、下列程序运行的结果是main()float x;int i;x=3.6;i=(int)x;printf(x=%f,i=%d”,x,i);)A)x=3.600000,i=3C)x=3,i=3B)x=3.6,i=3D)x=3.600000,i=3.000000二、填空题1、在C语言中(以16位PC机为例),一个flo at型数据在内存中所占的字节数为4;一个double型数据在内存中

15、所占的字节数为【17仔 细 答 题,认 真 总 结!二 级 考 试 专 用第 2 章 C 语者的基中於据类型易表达K2、以下程序的输出结果是ma in()int i=0 1 0,j=1 0;p irntf(z,%d,%d n,z,i,j);)3、已知字母a 的A S CH 码为十进制数9 7,且设c h为字符型变量,则表达式c h=a/+8 -3 的 值 为【】。4、下列程序的输出结果为【】。ma in()(int x=3,y=5;p rintf(%d”,x=(x-)*(-y);)5、设y 是int型,请写出y 为奇数的关系表达式【106 设int a=5,b=6,表 达 式(+a=b )?+

16、a:b 的值是【】。7、以下程序的输出结果是“】。ma in()int a=0;a+=(a=8);p rintf(%d n,a);8、在计算机中,字 符 的 比 较 是 对 它 们 的 进 行 比 较。9、在内存中,存储字符xz要占用1 个字节,存储字符串 X 要 占 用【】个字节。1 0、下列程序的输出结果是1 6.0 0,请填空。ma in()int a=9,b=2;flo a t x=,y=l.1,z;z=a/2+b*x/y+l/2;p rintf(%5.2 fn,z );)ii、以下程序段的输出结果是ma in()int a=2,b=3,c=4;a*=1 6+(b+)-(+c);p r

17、intf(%d,a);)1 2、以下程序段的输出结果是“】oint x=1 7,y=2 6;p rintf(%d ,y/=(x%=6);仔 细 答 题,认 真 总 结!二 级 考 试 专 用8第 2 章 C 辖言的基漳毅据奏型易表达W1 3、将以下程序写成三目运算表达式是“】oif(a b)ma x=a;else ma x=b;1 4、下列y 的 值 是【】。int y;y=siz eo f(2.2 5*4);1 5、下列x 的 值 是【】。int x;x=siz eo f 2.2 5*4;1 6、设x 和y 均为int型变量,且x=l,y=2,则表达式d o ub le(1+x/y)的值为【

18、】。1 7、把数学表达式 m-n 改写成C 语言的表达式是【】。1 8、若有以下定义:c ha r a;int b;flo a t c;d o ub le d;则表达式a*b+d-c 值的类型为1 】o1 9、若有以下程序段:int c l=l,c2=2tc 3;c 3=l.0/c 2*c l;则执行后,c 3 中的值是【】。三、部分填空题解析2、解析:以0 开头的是八进制数。3、解析:在C语言中,整型,实型,字符型数据间可以混合运算,在进行运算时,不同类型的数据要先转换成同一类型,然后再进行运算。我们可以这样计算本题,9 7+8-3=1 0 2,即1 0 2 所对应的字母为f。4、解析:X的

19、值为3,一y 的值为4;注意前缀一和后缀一的区别。8、解析:C 语言中,字符也可以进行比较运算,且是按照ASC H 码值进行的。9、计算机存储一个字符用1 个字节,存储字符串时,每个字符用占用1 个字节,另在字符串的有效字符之后存储1 个字符串的结束标记符。所以存储字符串“X”要占用2 个字节,存储字 符 x 只要1 个字节。1 0、解析:本题最后一条语句,表示以浮点格式输出z的值,宽度为5,其中所含2 位小数,应该注意的是,两个整型运算结果仍为整型,如1/2 的结果为0,对本题可逐步求解:1 6.0 0=9/2+2*x/l.1+1/21 6.0 0=4+2*x/l.1+01 2.0 0=2*

20、x/l.1所以,x 的值为6.6。1 1、解析:a*=1 6+(b+)-(+c)等价于a=a*(1 6+(b+)-(+c),b+的值为3,+c9 仔 细 答 题,认 真 总 结!二 级 考 试 专 用第2*C语言的基洋裁据类型&表达K的值为5,请注意前缀+和后缀+的用法。1 2、解析:%是取余运算,操作数为整型,所以最后的结果也为整型,运算过程如下:y/=(x%-6);y/=(x=x%6);y/=5;y=y/5;y=5;1 3、解析:本题考查三目运算符的用法,条件运算符要求有三个操作对象,称三目(元)运算符,它是C 语言中惟一的一个三目运算符。条件表达式的一般形式为:表达式1?表达式2:表达式

21、3所以,我们可以写成(a b)?a:b,它是一个“条件表达式。执行顺序是:如果(a b)条件为真,则条件表达式取值a,否则取值b。1 4、解析:size of (2.2 5*4)为 size of (1 0.0 0)值 为 8,C语言规定浮点型常量当双精 度 处 理(以 I B M-P C 机为例)。1 5、解析:size of 运算符高于算术运算符,所以size of 2.2 5*4 等 价 于(size of 2.2 5)*4为8 X 4=3 2 (以I B M-P C 机为例)。1 6、解析:本题考查两个知识点是x/y 的值为整型即为0,二是数字1 存放在doub le 中是doub l

22、e 类型。1 8、解析:C 语言中,如果运算符两边的数据类型不同,将进行类型转换,根据转换规则,短整型转为长整型;整型转换为实型。1 9、解析:在赋值运算中,如果表达式中变量和常量的数据类型不一致就会自动进行类型转换。系统会计算L 0/c 2,由于1.0 是实型,所以均先转化为双精度型0.5 0 0 0 0 0,再和c l转化后的双精度数相乘得0.5 0 0 0 0 0。但其要赋值给整型变量c 3,故要进行强制转换,c 3 的值为0。仔 细 答 题,认 真 总 结!二 级 考 试 专 用10第3*喉方程声钱什第 3 章顺序程序设计一、选择题1、结构化程序所规定的三种最基本控制结构是A)输入、处

23、理、输出 B)树形、网形、环形C)顺序、选择、循环 D)主程序、子程序、函数2、若说明int*p,n;则通过语句scanf能够正确读入数据的程序段是A)p=&n;scanf(%d,&p);B)p=&n;scanf(%d,*p);C)scanf(%d,n);D)p=&n;scanf(%d,p);3、以下程序段的输出结果是int a=1234;printf(%2dn,a);A)12 B)34C)1234 D)提示出错、无结果4、已有定义int a=-2;和输出语句printf(%81x,a);以下正确的叙述是A)整型变量的输出形式只有d一种B)%x是格式符的一种,它可以适用于任何种类型的数据C)%

24、x是格式符的种,其变量的值按十六进制输出,但81x是错误的D)%81x不是错误的格式符,其中数字8规定了输出字段的宽度5、对下面程序描述正确的一项是(每行程序前面的数字表示行号)1 main()2(3 float a 3=0.0;4 int i;5 for(i=0;i3;i+)scanf(%d,&a i );6 for(i=l;i3;i+)a 0=a 0+a L i;7 printf(%fn,a 0 );8)A)没有错误 B)第3行有错误C)第5行有错误 D)第7行有错误6、若变量已正确说明为int类型,要通过语句scanf(%d%d%d”,&a,&b,&c);给2赋值3,b赋值5,c赋值8,

25、正确的输入形式是A)3c回车5 回车8c回车B)3,5,8 回车)C)3V回车58 回车D)35c回车8 回车II仔 细 答 题,认 真 总 结!二 级 考 试 专 用第3*艰本在再强什7、以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是main()int*p,*q,a,b;p=&a;printf(input a:u);scanf(d,*p);)A)*p表示的是指针变量p的地址B)*p表示的是变量a的值,而不是变量a的地址C)*p表示的是指针变量p的值D)*p只能用来说明p是一个指针变量8、x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是A

26、)INPUTx、y、z;B)scanf(n%d%d%dM,&x,&y,&z);C)scanf(%d%d%d,x,y,z);D)read(,%d%d%d,&x,&y,&z);9、执行下列程序时输入:123 空格 456(空格 789 回车输出结果是main()char s 100;int c,i;scanf(c”,&c);scanf(n%d,&i);scanf(%s,s);printf(%c,%d,%snn,c,i,s);A)123,456,789 B)1,456,789C)1,23,456,789 D)1,23,456二、填空题1、以下程序的输出结果是【int a=1234;printf(u%

27、2dnu,a);仔 细 答 题,认 真 总 结!二 级 考 试 专 用12第4*送考修构程再钺计第4章选择结构程序设计一、选择题1、在C程序中,判逻辑值时、用“非(T表示逻辑值“真 又用0表示逻辑值“假”。在求逻辑值时,用()表示逻辑表达式值为“真、又 用()表示逻辑表达式值为“假乙A)1 0 B)0 1C)非0 非0 D)1 12、有如下程序段int a=14,b=15,x;charc=z A;x=(a&b)&(cv B );3、执行该程序段后,x的值为A)ture B)falseC)0 D)14、若运行以下程序时,从键盘输入ADescriptor(vCR表示回车),则下面程序的运行结果是#

28、足4 鼠 main()chare;int v0=l,vl=0,v2=0;do switch(c=getchar()case a:case A:case e:case E:case i:case I:case o:case O:case 1 u:case U:vl+=l;default:vO+=1;v2+=1;while(c!=z nr);printf(uv0=%d,v 1 =%d,v2=%dnn,v0,v 1 ,v2);A)v0=7,vl=4,v2=7C)v0=ll,vl=4,v2=llB)D)v0=8,vl=4,v2=8v0=13,vl=4,v2=125、有如下程序main()float x

29、=2.0,y;if(x10.0)y=1.0/x;else y=1.0;printf(u%f n,y);该程序的输出结果是A)0.000000C)0.500000B)0.250000D)1.0000006、能正确表示逻辑关系:“a 2 10或aWO”的C语言表达式是13 仔 细 答 题,认 真 总 结!二 级 考 试 专 用第4 本 达舞修构程再效计A)a=10 or a=10&a=07、有如下程序main()int a=2,b=-l,c=2;if(ab)if(b=0la=10 I I a=0B)1D)38、若变量c为char类型,能正确判断出c为小写字母的表达式是A)a=c=,a)II(c=z

30、 z )C)(a=c)D)(c=z a)&(cv=z )9、判断char型变量cl是否为大写字母的正确表达式是A)A=cl=A)&(cl=cl)II(z Z=A)&(clb)c=l;else if(a=b)c=0;else c=-l;return(c);)11、设x,y和z都是int型变量,且x=3,y=4,A)x&y B)C)xll+y&y-z D)z=5,则下面表达式中,值为0的表达式是x=y!(xy&!zlll)12、以下程序的输出结果是main()int a,i;a=0;for(i=l;ib)&(n=cd)后n的值是A)1 B)2C)3 D)415、设x,y,t均为int型变量,执行语

31、句:x=y=3;t=+xll+y;完成后,y的值为A)不确定 B)4C)3 D)116、若执行下面的程序时,从键盘上输入5和2,则输出结果是main()int a,b,k;scanf(d,%d”,&a,&b);k=a;if(ab)k=a%b;else k=b%a;printf(n%d nn,k);)A)5 B)3C)2 D)017、请阅读以下程序:main()int a=5,b=0,c=0;if(a=b+c)printf(n*n,f);else printf($nn);以上程序A)有语法错不能通过编译 B)可以通过编译但不能通过连接15 仔 细 答 题,认 真 总 结!二 级 考 试 专 用第

32、4*述存辂构程再领计C)输出*D)输出$二、填空题1、若已知a=10,b=2 0,则表达式!a50)printf(%d,a);if(a40)printf(%d,a);if(a30)printf(%d,a);)3、以下程序输出的结果是【入main()int a=5,b=4,c=3,d;d=(abc);printf(%d n,d);4、关系表达式xyz,用C语言的表达 式 为【】。5、以下程序的输出结果是【main()int x=100,a=10,b=20,ok 1=5,ok2=0;if(ab)if(b!=15)if(!okl)x=l;else if(ok2)x=10;else x=-l;prin

33、tf(%dn,x);6、以下程序的输出结果是【L#define PR(ar)printf(%d,ar)main()intj,a =1,3,5,7,9,11,15,*p=a+5;for(j=3;j;j-)switch(j)case 1:case 2:PR(*p+);break;case 3:PR(*(一 p);)printf(n nM);仔 细 答 题,认 真 总 结!二 级 考 试 专 用16第4*送考修构程再钺计三、部分填空题解析1、解析:计算表达式!a b,先计算!a,因a的值为10,!a的值为0。关系表达式020为真,所以表达式!abc)d=(543)先算53,为真,得1,即:d=(1

34、3),此时13,为假,得0。4、解析:xyz的意思是y大于x并且y小于z,在C语言中,表达“并且”用逻辑与运算符“&”。5、程序预置变量x的值为100,a的值为10,b的值为20,okl为5,ok2为0。程序中给出的if语句可以写成更结构化的形式如下:if(ab)if(b!=15)if(!okl)x=l;elseif(ok2)x=10;else x=-l;由于条件ab成立,并且条件b!=15也成立,而okl不等于0,执行else后的语句。又因ok2等于0,执行else后的语句赋给X。所以程序输出6、解析:程序的宏定义PR以d格式输出参数的值和逗号字符。程序给数组a赋初值,并由指针p指向元素a

35、5。程序让j从3至1,共循环3次。当j是3时,让p减I,并输出p所指元素的值9;当j是2和1时,输出p所指的数组元素的值,并让p增1,顺序输出9和11。所以程序输出:9,9,11,17仔 细 答 题,认 真 总 结!二 级 考 试 专 用菊5*循林楼构第 5 章 循 环 结 构一、选择题1、下面有关for循环的正确描述是A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来2、对表达式for(表达式1;表达式3)可理解为A)for(表达式1;

36、0;表达式3)B)for(表达式1;1;表达式3)C)for(表达式1;表达式1;表达式3)D)for(表达式1;表达式3;表达式3)3、以下描述中正确的是A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号C)在do-while循环体中,是先执行一次循环,再进行判断D)do-while循环中,根据情况可以省略while4、C语 言 中 w hile和do-while循环的主要区别是A)do-while的循环体至少无条件执行一次B)while的循环控制条件比do-wh

37、ile的循环控制条件更严格C)do-while允许从外部转到循环体内D)do-while的循环体不能是复合语句5、对 下 I,n 两个语句描述正确的是I.while(1)II.for(;)A)都是无限循环C)I 循环一次,I【错误6、下列程序的输出结果是#include main()int y=10;doy;while(y);printf(%d n,y-);)A)-1C)8B)是无限循环,II错误D)以上答案都错B)1D)0仔 细 答 题,认 真 总 结!二 级 考 试 专 用18菊5*循林楼构7、有如下程序m a i n ()i n t x=2 3;d o p r i n t f (%d ,

38、x-);)w h i l e (!x);)该程序的执行结果是A)3 2 1C)不输出任何内容B)2 3D)陷入死循环8、执行语句f o r (i=l;i+j共执行的次数是m a i n ()i n t i=0,j=10,k=2,s=0;f o r (;)i+=k;i f(i j)p r i n t f (%d ,s);b r e a k;s+=i;)A)4C)510、设有程序段i n t k=10;w h i l e (k=0)k=k-l;则下面描述中正确的是A)w h i l e循环执行10次C)循环体语句一次也不执行11、若有如下语句i n t x=3;d o p r i n t f (%

39、d n ,x-=2);w h i l e (!(-x);则上面程序段A)输出的是1C)输出的是3和0B)7D)6B)循环是无限循环D)循环体语句执行一次B)输出的是1和-2D)是死循环19 仔 细 答 题,认 真 总 结!二 级 考 试 专 用第5 章 循环错相12、下面程序的功能是把3 16表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。#i n c l u d e m a i n ()i n t i=O,j,k;d o i+;k=3 16-13*i;w h i l e ();j=k/l l;p r i n t f (3 16=13*%d+l l*%d”,i,j);)A)k

40、/11 B)k%l lC)k/l l=O D)k%l l=O13、下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空。#i n c l u d e m a i n ()i n t a,b,t;s c a n f (n%d%d ,&a,&b);w h i l e ()i f (a b)t=a;a=b;b=t;p r i n t f (%d,%d n ,a,b);s c a n f (d%d”,&a,&b);A)!a=bC)a=bB)a!=bD)a=b13、以下程序的输出结果是m a i n ()i n t i j,x=O;f o r (i=0;i v

41、2;i+)x+;f o r (j=O;j 3;j+)i f (j%2)c o n t i n u e;x+;)x+;p r i n t f (ux=%dnn,x);)A)x=4 B)x=8C)x=6 D)x=12仔 细 答 题,认 真 总 结!二 级 考 试 专 用20第5 章 循环错相1 4、设有以下程序段i n t x=O,s=O;w h i l e (!x!=0)s+=+x;p r i n t f (n%du,s);则A)运行程序段后输出0 B)运行程序段后输出1C)程序段中的控制表达式是非法的 D)程序段执行无限次1 5、下列说法正确的是i nt i,x;f or(i=0,x=0;i

42、6)n;pri nt f (%d ,n);)18、该程序的输出结果是A)987 B)876C)8765 D)98761 9、在下列选项中,没有构成死循环的是A)i nt i=100;C)i nt k=10000;w h i le (1)d o k+;w h i le (k 10(X)0);i=i%100+l;i f (i 100)b re a k;B)f or(;);D)i nt s=3 6;二、填空题1、设i,j,k均为i nt型变量,则执行完下面的f or语句后,k的值为【】。f or(i=0,j=10;i n。P=-nJ(m-n)!例如:m=12,n=8时,运行结果应该是495.0000

43、00。请在题目的空白处填写适当的程序语句,将该程序补充完整。#include#include float fun(int m,int n)inti;double p=1.0;for(i=1 ;i=m;i+for(i=1 ;i=n;i+);for(i=l;iamax)amax=x;elseif(Jamin=x;else scanf(n%f&x);)printf(n amax=%f n amin=%f n,amax,amin);)4、下列程序的功能是输入一个整数,判断是否是素数,若为素数输出1,否则输出0,请填空。main()int i,x,y=l;scanf(%d,&x);for(i=2;i=x

44、/2;i+)if 14 y=0;break;printf(d n”,y);仔 细 答 题,认 真 总 结!二 级 考 试 专 用 22菊5*循林楼构5、若变量n中的值为2 4,则print()函数共输出【】行,最后一行有【】个数。void print(int n,int aa)int i;for(i=l;i0;y)if(y%3=0)printf(%d,y);continue;三、部分填空题解析1、解析:该for语句以i为0,j为10初始化,循环条件是iv=j,每次循环后i增1、j减1,循环体是将i与j 的和赋给k。这样变量k将保存的是最后一次赋给它的值。一次循环后i为1、j 为9,二次循环后i

45、为2、j 为8,,五次循环后i为5、j为5,继续第六次循环,将i与j 的和10存于k后,i为6、j 为4,结束循环。所以循环执行后k为10。3、本题先从键盘接受数值,并分别赋给amax(用于保存最高成绩)和amin(用干保存最低成绩),然后通过while循环控制是否结束输入,并且通过if语句来给amax和amin赋值和进行下一次的输入。4、为判数x是否是素数,预置变量y的值为1 (x可能是素数),然后用循环,用2至x/2的整数i测试对x的整除性,若能被其中的某个整数整除,贝 k 是合数,置y的值为0(x不是素数),结束测试循环。若都不能整除,贝卜为素数。i能否整除x,可用求余运算x%i等于0来

46、判定。所以程序中的空框可填x%i=0。测试x为素数的代码可写成:y=1;for(i=2;i b)c=l;else if(a=b)c=0;else c=-l;return(c);)A)-1 B)1C)2 D)编译出错,无法运行18、有以下程序:void fun(int a,int b,int c)a=456,b=567,c=678;main()int x=10,y=20,z=30;fun(x,y,z);printf(n%d,%d,%d nn,x,y,z);)输出结果是A)30,20,10 B)10,20,30C)456,567,678 D)678,567,45619、有以下程序float fun

47、(int x,int y)return(x+y);main()int a=2,b=5,c=8;仔 细 答 题,认 真 总 结!二 级 考 试 专 用26第6*备执&编怦我处.理p r i n t f (%3.0 f n,fu n)程序运行后的输出结果是A)编译出错C)21(in t)fu n (a+c,b),a-c);B)9D)9.02 0、有以下程序fu n (in t x,in t y,in t z)z=x*y;m ain ()in t a=4,b=2,c=6;fu n (a,b,c);p r in t f(cT,c);程序运行后的输出结果是A)16 B)6C)8 D)122 1、在调用函

48、数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是A)地址传递 B)单向值传递C)由实参传形参,再由形参传实参 D)传递方式由用户指定2 2、有以下程序in t f(in t n)if(n=l)r et u r n 1;els e r et u r n f(n-1)+1;)m ain ()in t ij=0;fo r (i=l;i 3;i+)j+=f(i);p r in t f(d n”,j);程序运行后的输出结果是A)4 B)3C)2 D)12 3、若有以下程序#in clu de v o id f(in t n);m ain ()v o idf(i n t n);f(5);)v

49、o id f(in t n)p r in t f(d n”,n);则以下叙述中不正确的是A)若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数fB)若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数f27 仔 细 答 题,认 真 总 结!二 级 考 试 专 用第6*备执&编怦我处.理C)对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明D)函数f无返回值,所以可用v o id将其类型定义为无返回值型2 4、有如下程序:lo n g fib(in t n)if(n 2)r et u r n (fib(n-1)+fib(n-2);els e r et

50、u r n (2);)m ain ()p r in t f(H%d nu,fib(3);该程序的输出结果是A)2 B)4C)6 D)82 5、以下程序的输出结果是lo n g fu n (in t n)lo n g s;if(n=llln=2)s=2;els e s=n-fu n (n-1);r et u r n s;m ain ()p r in t f(n%ld n fu n (3);A)1 B)2C)3 D)42 6、在C语言中,变量的隐含存储类别是A)au t o B)s t at icC)ex t er n D)无存储类别2 7、以下叙述中不正确的是A)在不同的函数中可以使用相同的名字

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁