《C语言历年真题分章显示.pdf》由会员分享,可在线阅读,更多相关《C语言历年真题分章显示.pdf(67页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章:程序设计基本概念(1)算法具有五个特性,以下选项中不属于算法特性的是(B)(0 5 年4 月)(A)有穷性(B)简洁性(C)可行性(D)确定性(2)以下叙述中正确的是(C)(0 5 年4 月)(A)用C 语言实现的算法必须要有输入和输出操作(B)用C 语言实现的算法可以没有输出但必须要有输入(C)用C程序实现的算法可以没有输入但必须要有输出(D)用C 程序实现的算法可以既没有输入也没有输出(3)以下叙述中错误的是(D)(0 6 年4 月)?A)C语言源程序经编译后生成后缀为.o b j 的目标程序?B)C 语言经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件?C)用C
2、语言编写的程序称为源程序,它以A S CH 代码形式存放在一个文本文件中?D)C语言的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(4)以下叙述中错误的是(B)(0 6 年4 月)?A)算法正确的程序最终一定会结束?B)算法正确的程序可以有零个输出?C)算法正确的程序可以有零个输入?D)算法正确的程序对于相同的输入一定有相同的结果(5)算法中,对需要执行的每一 步操作,必须给出清楚、严格的规定,这属于算法的(C)(0 7 年4 月)A)正当性 B)可行性 C)确定性 D)有穷性(6)下列叙述中错误的是(D)(0 7 年4 月)A)计算机不能直接执行用C语言编写的源程序B)C 程序
3、经C 编译后,生成后缀为.o b j 的文件是一个二进制文件C)后缀为.o b j 的文件,经连接程序生成后缀为.e x e 的文件是一个二进制文件D)后缀为.o b j 和.e x e 的二进制文件都可以直接运行(7)以下叙述中错误的是(C)(0 7 年4 月)A)C 语言是一种结构化程序设计语言B)结构化程序有顺序、分支、循环三种基本结构组成C)使用三种基本结构构成的程序只能解决简单问题D)结构化程序设计提倡模块化的设计方法(8)C 语言源程序名的后缀是(B)(0 7 年9 月)A).exe B).C C).obj D).cp(9)、计算机能直接执行的程序是(A )(0 8 年9 月)A)
4、源程序 B)目标程序 C)汇编程序 D)可执行程序第二章:C程序设计的初步知识(1)以下选项中可作为C语言合法常量的是(A)-8 0.(B)-0 8 0(2)以下不能定义为用户标识符是(D(A)(0 5 年4 月)(C)-8 e l.O)(05年4 月)(D)-8 0.0 e(A)Ma i n (B)0 (C)_ i n t (D)s i z e o f(3)以下选项中,不能作为合法常量的是(B)(0 5 年4 月)(A)1.2 3 4 e 0 4 (B)1.2 3 4 c 0.4 (C)1.2 3 4 e+4 (D)1.2 3 4 e 0(4)以下叙述中错误的是(A )o (0 5 年9 月
5、)A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识(5)以下叙述中错误的是(C)(0 5 年9 月)A.C语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句(6)以下不能正确计算代数式值的C语言表达式是(A )(0 5 年9 月)A)l/3*s i n(l/2)*s i n(l/2)B)s i n(0.5)*s i n(0.5)/3C)p o w(s i n(0.5),2)/3 D)1/3.
6、0*p o w(s i n(l.0/2),2)(7)以下能正确定义且赋初值的语句是(B)(0 5 年9 月)A)i n t n l=n 2=1 0;B)c h a r c=3 2;C)f l o a t f=f+l.1;D)d o u b l e x=1 2.3 E2.5;(8)以下程序的功能是:给r 输入数据后计算半径为r 的圆面积s。程序在编译时出错。(D)(0 5 年9 月)m a i n()/*Be g i n n i n g */i n t r;f l o a t s;s canf&r);s=*p*r*r;p r i n tf (/s=%f n,/,s);出错的原因是A)注释语句书写
7、位置错误B)存放圆半径的变量r 不应该定义为整型C)输出语句中格式描述符非法D)计算圆面积的赋值语句中使用了非法变量9)设有定义:i n t k=l,m=2;f l o a t f=7;,则以下选项中错误的表达式是(C)(0 5 年9 月)A)k=k=kB)-k+C)k%i n t(f)1 0)以下不合法的用户标识符是(C)(0 6 年4月)A)j 2 _ K EY B)Do u b l e C)4d1 1)以下示合法的数值常量是(C)(0 6 年4月)A)0 1 1 B)l e i C)8.0 E0.5D)k=f=mD)_ 8 _D)Ox a b c d1 2)以下不合法的字符常量是(A)(
8、0 6 年4月)A)AOIS B)C)D)x c c 1 3)表达式3.6-5/2+1.2+5%2 的值是(D)(0 6 年4月)A)4.3 B)4.8 C)3.3 D)3.81 4)以下叙述中错误的是(D)(0 6 年4月)A)C程序中的#i n c l u d e 和#d e f i n e 行均不是C语句B)除逗号运算符外,赋值运算符的优先级最低C)C程序中,j+;是赋值语句D)C程序中,+、-、*、/、号是算术运算符,可用于整型和实型数的运算(1 5)下列叙述中错误的是(A).(0 6 年9 月)A)一个C语言程序只能实现一种算法B)C程序可以由多个程序文件组成C)C程序可以由一个或多
9、个函数组成D)个C函数可以单独作为一个C程序文件存在(1 6)下列叙述中正确的是(A)。(0 6年9月)A)每个C程序文件中都必须有一个m a i n。函数B)在C程序中m a i n。函数的位置是固定的C)C程序可以由一个或多个函数组成D)在C程序的函数中不能定义另一个函数(1 7)下列定义变量的语句中错误的是(D)。(0 6年9月)A)i n t _ i n t;B)d o u b l e i n t_;C)c h a r Fo r;D)f l o a t U S S(若变曷:x、y已正确定义并赋值,以卡符合C语言语法的表达式是(D)(0 6年9月)A)+x,y=x B)x+l=y C)x
10、=x+1 0=x+y D)d o u b l e(x)/1 0(1 9)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(B)(0 7年4月)A)大写字母 B)连接符 C)数字字符 D)下划线(2 0)对于一个正常运行的C程序,以下叙述中正确的是(A)(0 7年4月)A)程序的执行总是从m a i n函数开始,在m a i n函数结束B)程序的执行总是从程序的第一个函数开始,在m a i n函数结束C)程序的执行总是从m a i n函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束(2 1)若有代数式(其中e仅代表自然对数的底数,
11、不是变量),则以下能够正确表示该代数式的C语言表达式是(C)(0 7年4月)A)sq r t(a b s(n x+e-x)B)sq r t(f a b s(p o w(n,x)+p o w(x,e)C)sq r t(f a b s(p o w(n,x)+e x p (x,e)D)sq r t(f a b s(p o w(x,n)+e x p(x)(2 2)设有定义:i n t k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A)(0 7年4月)A)k+B)k+=1 C)+k D)k+1(2 3)可在C程序中用作用户标识符的一组标识符是(A)(0 7年9月)A)a n d B)D
12、a te C)Hi D)c a se_ 2 0 0 7 y-m-d Dr.T o m Bi g l(2 4)以下选项中,合法的一组C语言数值常量是(A)(0 7年9月)A)0 2 8.5 e-3-Ox fB)1 2.0 X a 2 34.5 e 0C)(2 5)A)以下叙述中正确的是(C.1 7 7 D)4e l.5Oa b c(0 7年9月)0 x 8 A1 0,0 0 03.e 5C语言程序将从源程序中第一个函数开始执行)B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用m a i n作为主函数名,程序将从此开始执行,在此结束D)m a i n可作为用
13、户标识符,用以命名任意一个函数作为主函数(2 6)以下关于l o n g、i n t和sh o r t类型数据占用内存大小的叙述中正确的是(D)(0 7年9月)A)均占4个字节 B)根据数据的大小来决定所占内存的字节数C)由用户自己定义 D)由C语言编译系统决定(2 7)若变量均已正确定义并赋值,以下合法的C语言赋值语句是(A)(0 7年9月)A)x=y=5;B)x=n%2.5;C)x+n=i ;D)x=5=4+l;(2 8)以下叙述中正确的是(C )(0 8年4月)A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C 程序书写格式自由,
14、一个语句可以写在多行上D)用C 语言编写的程序只能放在一个程序文件中(2 9)以下选项中不合法的标识符是(C )(0 8年4月)A)pri nt B)F 0 R O&a D)_ 0 0(30)设变量已正确定义并赋值,以下正确的表达式是(0(0 8年4月)A)x=y*5=x+z B)i nt(15.8%5)C)x=y+z+5,+y D)x=2 5%5.0(31)、以下叙述中正确的是(C )A)C 程序的基本组成单位是语句C)简单C 语句必须以分号结束B)C 程序中的每一行只能写一条语句D)C 语句必须在一行内写完(32)、以下选项中不能作为C 语言合法常量的是(A )(0 8年9月)A)c d
15、B)0.lc+6 C)”a D)0 11(33)、以下选项中正确的定义语句是(C )(0 8年9月)A)d ou b le a;b;B)d ou b le a=b=7 C)d ou b le a=7,b=7;D)d ou b le,a,b;(34)、以下不能正确表示代数式2 a b/c d 的C 语言表达 式 是(D)(0 8年9月)A)2*a*b/c/d B)a*b/c/d*2 C)a/c/d*b*2(35)、C 源程序中不能表示的数制是(A )(0 8年9月)A)二进制 B)八进制 C)十进制(36)、若函数中有定义语句:i nt k;W J(B _)A)系统将自动给k赋初值0 B)这时k
16、中的值无定义C)系统将自动给k赋初值T D)这时k中无任何值(37)设有定义:i nt x=2;以下表达式中,值不为6的值是(D )A)x*=x+1 B)x+,2*x C)x*=(l+x)(38)设变量已正确定义为整型,则表达式n=i=2,+i,i+的值为 3D)2*a*b/c*dD)十六进制D)2*x,x+=2(0 8年4月)(39)表达式(i nt)(d ou b le)(5/2)+2.5)的值是 4 。(0 9年3月)第三章:顺序结构有以下程序(0 5年4月)ma i n()i nt m=12,n=34;pri nt f(H%d%dH,m+.4-+n);pri nt f(,%d%d n,
17、n+,+m);)程序运行后的输出结果是(A)(A)12 353514(B)l 2 353513(C)l 2 343514(D)l 2 343513 有以下语句:i nt b;c h a rc 10 ;,则正确的输入语句是(B)(0 5年4月)A)sc a nf(%d%s&b,&c);B)sc a nf(%d%s,&b,c);C)sc a nf(H%d%sH,b,c);D)sc a nf(,%d%s b,&c);有以下程序(0 5年4月)ma i n()i nt m,n,p;sc a nf(m=%d n=%d p=%d,&m,&n,&p);pri nt f(H%d%d%d nH,m,n,p);若
18、从键盘上输入数据,使变量m 中的值为12 3,n中的值为456,p中的值为789,则正确的输入是A)m=l 2 3n=456p=789 B)m=l 2 3n=456p=789 C)m=l 2 3,n=456,p=789 D)12 3 456 789(4)有以下程序(0 5年9月)main()char a 1 =M,a2=fm;printf(,%cn,(al,a2);以下叙述中正确的是()A.程序输出大写字母MB.程序输出小写字母mC.格式说明符不足,编译出错D.程序运行时产生出错信息?5)下四个程序中,完全正确的是(?A)include?main();?/programming*/?print
19、fC4programming!n);?C)include?main()?/*/*programmi ng*/?printf(uprogramming iXn);?6)有以下程序(05年9月))(06年4月)B)#includemain()/*/programming/*/pr i ntfCprogrammi ng!nM);D)includemain()*/programming*/printf(4programming!nM);main()int x,y,z;x=y=l;z=x+,y+,+y;printf(%d,%d,%dn”,x,y,z);程序运行后的输出结果是()。A)2,3,3B)2,3
20、,2C)2,3,1D)2,2,1(7)设有定义:in t a;flo a t b;执行scanf(%2d%f,&a,&b);语句时,若从键盘输入876 543.0回车,a和b的值分别是().(05年9月)A)876和543.000000C)87和543.000000(8)有以下程序B)87和6.000000D)76和543.000000(05年9月)main()in t a=0,b=0;a=10;/*给a赋值b=2 0;给b赋 值*/p rin tf(a+b=%dn,a+b);/*输出计算结果*/程序运行后输出结果是()。A)a+b=0B)a+b=30C)30D)出错(9)设变量均已正确定义,
21、若要通过$武(“猊枇%(1%(:”,&21,舐1,&22,舐2);语句为变量21和22赋数值10和2 0,为变量c l和C2赋字符X和Y。以下所示的输入形式正确的是()(注:代表空格字符)(07年4月)A)10口*口20口丫 回车C)1 0 D X 回车2 0 Q Y 回车B)10nX 20C Y 回车D)10X 回车2 0Y 回车(10)有以下程序,其中1 1表示按无呼号整数输出(07年4月)main()unsigned int x=0 xFFFF;/*x的初值为十六进制数*/printf(t4%un,x);)程序运行后的输出结果是()A)-I B)65535 C)32767 D)OXFFF
22、F(1 1)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是()(07年9月)A)scanf(%d”,a,b,c);B)scanf(%d%d%d”,a,b,c);C)scanf(%d ,p);D)scanf(%d ,&p);(1 2)有以下程序段(07年9月)int j;float y;char name50;scanf(级 2d&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y 的值为()A)55566.0 B)566.0 C)777 7.0 D)566777.0(13)有以下程序段(D)(08年4月)ch
23、ar ch;int k;ch=a;k=12;printf(%c,%d,ch,ch,k);printf(k=%dn,k);己知字符a的ASCII十进制代码为9 7,则执行上述程序段后输出结果是()A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12 D)a,97,k=1214)、若变量已正确定义为i n t 型,要通过语句scanf(%d,%d,%d”,&a正b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(u代表-个空格符)(08年9月)A)uuul,2,3 回车 B)lu2113c回车 C)1,uu
24、u2,uuu3 回车 D)1,2,3 回车)15).以下程序运行时若从键盘输入:10 20 30 回车.输 出 结 果 是 (05年4月)#includemain()int i=O,j=O,k=O;scanf(%d%*d%d,&i,&j,&k);printf(%d%d%dn,i,j,k);)(1 6)设 有 定 义:float x=123.4567;,则 执 行 以 下 语 句 后 的 输 出 结 果 是 。printf(%fn,(int)(x*100+0.5)/100.0);(05年9月)1 7)以 下 程 序 运 行 后 的 输 出 结 果 是。(05年9月)main()int x=021
25、0;printf(%Xn,x);)1 8)以 下 程 序 运 行 后 的 输 出 结 果 是。(05年9月)main()char c;int n=100;float f=10;double x;x=f*=n/=(c=50);printf(%d%fn,n,x);?19)若变量a,b已定义为int类型并赋值21和5 5,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句 O (06年4月)2 0)以 下 程 序 运 行 后 的 输 出 结 果 是 o (05年9月)main()int m=01 l,n=l 1;printf(H%d%dn”,+m,n+);21)执 行 以 下
26、 程 序 后 的 输 出 结 果 是.(0 7年4月)ma in()int a=1 0;a=(3*5,a+4);printf(tia=%d n,a);22)执行以下程序时输入1 2 3 4 5 6 7 ,则 输 出 结 果 是。(0 7年9月)ttinclude ma i n()int a=l,b;sca nf(2 d%2 d”,&a,&b);printf(%d%d n,a,b);)2 3)设变量a和b已正确定义并赋初值。请写出与a-=a+b等价的赋值表达式(0 8年9月2 4)若整型变量a和b中的值分别为7和9,要求按以下格式输出a和b的值(0 8年9月a=7b=9请完成输出语句 print
27、f(,a,b);2 5)若变量x、y已定义为int类型且x的值为9 9,y的值为9,请将输出语句printf(【】,x/y);补充完整,使其输出的计算结果形式为:x/y=U.(0 9年3月)第四章:选择结构有以下程序(0 5年4月)ma in()int a,b,d=2 5;a=d/1 0%9;b=a&-l);printf(,%d,%d n,a,b);)程序运行后的输出结果是()A)6,1 B)2,1 C)6,0 D)2,0(2)有以下程序(0 5年4月)ma in()int i=l,j=2,k=3;if(i+=l&(+j=3 llk+=3)printf(%d%d%d n”,i,j,k);程序运
28、行后的输出结果是()(A)l 2 3 (B)2 3 4 (C)2 2 3 (D)2 3 3(3)当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选 项 是()(0 5年9月)A)k%2 B)k%2=l C)(k%2)!=0 D)!k%2=l(4)设有定义:inta=2,b=3,c=4;,则以下选项中值为0的表达式是()(0 5年9月)A)(!a=l)&(!b=0)B)a C)a&b D)a ll(b+b)&(c-a)(5)有以下程序段(0 5年9月)int k=(),a=l,b=2,c=3;k=a c?c:k;执行该程序段后,k的值是()A)3 B)2 C)
29、1 D)06)有以下程序(D)(0 6年4月)?ma in()?int a=0,b=0,c=0,d=0;?if(a=l)b=l;c=2;?else d=3;?printfC 0)B)(x-y 0)C)(x-y 0)D)(x-y=0)9)在嵌套使用if语句时,C语言规定else总是()。(0 6年9月)A)和之前与其具有相同缩进位置的if配对 B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配 对D)和之前的第一个if配对1 0)下列叙述中正确的是()o(0 6年9月)A)b rea k语句只能用于switch语句B)在switch语句中必须使用defa ultC)b rea
30、 k语句必须与switch语句中的ca se配对使用D)在switch语句中,不一定使用b rea k语句1 1)设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是()(0 7年4月)A)if(x+)B)if(x y&y!=0);C)if(x y)x-else y+:1 2)以下选项中,当x为大于1的奇数时,值为0的表达式()A)x%2=l B)x/2 C)x%2!=01 3)以下叙述中正确的是()(0 7年4月)A)b rea k语句只能用于switch语句题中D)if(y=0)y=sqrt(x);e lse y=sqrt(-x);B)y=sqrt(x);i f(x=
31、0)y=sqrt(x);D)y=sqrt(x=0?x:-x);i f (x=2&c=2&c=2&cb)a=b;c=a;if(c!=a)c=b;printf(d,%d,%dn”,a,b,c);其输出结果是()A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,71 8)有以下程序(08年4月)include main()int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;)case 2:a+;b+;break;case 3:a+;b+;)printf(ua=%d,b=%dn),a,b
32、);)程序的运行结果是()A)a=1,b=0 B)a=2,b=2 C)3=1,b=1 D)a=2,b=119)、若有表达式(w)?(-x):(+y),则其中与w等 价 的 表 达 式 是(08年9月)A)w=l B)w=0 C)w!=l D)w!=020)、执行以下程序段后,w的值为(08年9月)i n t w=,A,x=14,y=15;W=(x|y)&(w b)a=b,b=c,c=a;pri n tf C a=%d b=%d c=%d n/,a,b,c);程序的输出结果是A)a=10 b=50 c=10 B)a=10 b=50 c=30 C)a=10 b=30 c=10 D)a=50 b=3
33、0 c=5022)、有以下程序(08年9月)#i n c lud e m a i n O i n t x=l,y=2,z=3;i f(x y)i f(y z)pri n tf(d,+z);e lse pri n tf(%d ,+y);pri n tf C%d n”,x+);)程序运行的结果是A)331 B)4123)以下是i f语句的基本形式:i f (表达式)语句其中“表达式”()(09年3月)A)必须是逻辑表达式0必须是逻辑表达式或者关系表达式24)有以下程序0 2B)必须是关系表达式D)可以是任意合法的表达式D)1tti n c lud e m a i n ()i n t x;sc a
34、n f Cld ,&x)i f(x=3);e lsei f (x!=10)pri n tf (%d nM,x);程序运行时,输入的值在那个范围才会有输出结果()(09年3月)A)不等于10的整数 B)大于3且不等10的整数C)大于3或等于10的整数 D)小于3的整数25)有以下程序tf i n c lud e s m a i n()i n t a=l,b=2,c=3,d=0;i f(a=l&b+=2)i f(b!=2|c !=3)pri n tf (%d,%d,%d n ,a,b,c);e lse pri n tf (%d,%d,%d n ,a,b,c);e lse pri n tf%d,%d
35、 n ,a,b,c);程序运行后的输出结果是()(09年3月)A)l,2,3 B)1,3,2 01,3,3 D)3,2,126).以下程序运行后的输出结果是一(05年4月)m a i n()i n t a,b,c;a=10;b=20;c=(a%b l);pri n tf(%d%d%d n ,a,b,c);)2 7)以下程序运行后的输出结果是。(05年9月)m a i n()i n t a=l,b=2,c=3;i f(c a)pri n tf(%d n ,c);e lse pri n tf(%d n ,b);?2 8)以下程序用于判断a,b,c能否构成三角形,若能输出Y E S,若不能输出NO。
36、当a,b,c输入三角形三条边长时,确定a,b,c能构成三角形的条件是需要同时满足三条件:a+b c,a+c b,b+c a o请填空。)(06年4月)?m a i n()?f loa t a,b,c;?sc a n f C%f%f%f&a,&b,&c);?i f(_)pri n tf,YES n );/*a,b,c 能构成三角形*/?e lse pri n tf(44N O nM);/*a,b,c 不能构成三角形*/2 9)以下程序运行后的输出结果是一o (06年9月)main()int x,a=l,b=2,c=3,d=4;x=(ab)?a:b;x=(xx)?x:d;printf(%dnu,x
37、);)3 0)以下程序的运行结果是一o (07年4月)main()int a=2,b=7,c=5;switch(a0)case 1 :switch(b);)31)已定义charch=飞”;inti=l,j;执行j=!ch&i+以后,i的值为_ _ _ _ (07年4月)3 2)以下程序的功能是:输出a、b、c 三个变量中的最小值。请填空(07年9月)tti n c lud e m a i n()i n t a,b,c,tl,t2;sc a n f(%d%d%d ,&a,&b,&c);tl=a b?;t2=c tl?_ _ _ _ ;pri n tf (z,%d n,z,t2);)3 3)已有定
38、义:2 2 1 =阿2=1,13;(此处0的初值为空格字符),执行b=!c&a;后b的值为_ _ _ _。(08年4月)第五章:循环结构1)有 以 下 程 序(05年4月)main()int a=l,b;for(b=l;b=8)break;if(a%2=1)a+=5;continue;a-=3;printf(u%dn,b);程序运行后的输出结果是()A)3 B)4 C)5(2)有以下程序段(05年9月)i n t n,t=l,s=0;sc a n f(%d ,&n);d o s=s+t;t=t-2;wh i le (t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是()D)6A)任意
39、正奇数 B)任意负偶数 C)任意正偶数D)任意负奇数(3)设变量已正确定义,则以下能正确计算f=n!的程序段是()f or(i=n;i l;i+)f*=i;f or(i=n;i =2;i-)f*=i;(05年9月)A)f=0;B)f=l;C)f=l;(4)有以下程序(05年9月)m a i n()i n t k=5,n=0;wh i le(k 0)swi tc h(k)d e f a ult:b re a k;c a se 1 :n+=k;c a se 2:c a se 3:n+=k;)k-;)pri n tf(%d n ,n);)程序运行后的输出结果是()D)f=l;A)0 B)4 C)6?
40、5)若有以下程序(06年4月)?m a i n()?i n t y=10;?wh i le(y-);pri n tf(*y=%d n,y);?程序运行后的输出结果是()D)7?A)y=0 B)y=-1 C)y=l?6)有以下程序(06年4月)?m a i n()?i n t i,j,x=0;?f or(i=0;i 2;i+)?X+;?f or(j=0;j=3;j+)?i f(j%2)c on ti n ue;?x+;?X+;?pri n tf Cx=%d n,x);?!?程序执行后的输出结果是()D)wh i le构成无限循环?A)x=4?B)x=8?C)x=6?D)x=127)有以下程序(0
41、6年9月)m i a n Oi n t k=5;wh i le(-k)p r int fk-=3);pri n tf CW)执行后的输出结果是()oA)1 B)2 C)48)有以下程序(06年9月)m a i n()i n t i;f or(i=l;i 0&n 5);D)死循环D)40程序运行后的输出结果是()A)235 B)0235C)0235610)若变量已正确定义,有以下程序段(07年9月)D)2356i =0;d o pri n tf (%d,i);wh i le(i +);pri n tf (%d n ,i);其输出结果是()A)0,0 B)0,1 C)1,1ID 有以下程序(07年
42、9月)D)程序进入无限循环#i n c lud e m a i n()i n t y=9;f or(;y 0;y-)i f(y%3=0)pri n tf (,z%dz z,-y);程序的运行结果是()A)741 B)963 C)85212)有 以 下 程 序(07年9月)tti n c lud e m a i n()i n t i,j,m=55;f or(i=l;i=3;i+)f or(j=3;j=i;j+)m=m%j;pri n tf (z,%d n m);)程序的运行结果是()A)0 B)1 C)2 D)31 3)有以下程序(08年4月)#include main()int x=8;for
43、(;x0;x-)i,(x%3)printf(“d,”,x-);continue;printf(“d,”,x);)程序的运行结果是()A)7,4,2 B)8,7,5,2 C)9,7,6,4D)875421D)8,5,4,21 4)以下不构成无限循环的语句或者语句组是()(08年4月)A)n=0;B)n=0;C)n=10;D)for(n=0,i=1;i+)n+=i;do+n;while(n=0);whilen+;while(n);n-;15)、有以下程序(08年9月)#include main()int i,j;for(i=3;i=l;i-)for(j=l;j=2;j+)printfCp in t
44、f(n);%d,i+j);程序运行的结果是A)2 3 43 4 5B)453 24 302 33 44 5D)4 5324316)、有以下程序(08年9月)#include main()int i=5;do if(i%3=l)if(i%5=2)p rin tf C%d,i);break;i+;while(i!=0);printf(,z n );程序运行的结果是(*号代表空格)A)*7 B)*3*5 C)*5 D)*2*617)以下程序段中的变量已正确定义for(i=0;i4;i+,i+)for(k=l;k3;k+);p rin tf(“*”);则程序段输出的结果是()(09年3月)A)*B)*
45、C)*D)*1 8)以下程序的功能是计算:s=l+12+123+1234+12345。请填空。(05年9月)main()int t=O,s=O,i;for(i=l;i=5;i+)t=i+_;s=s+t;)printf(u s=%dnu,s);)?19)以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。(06年4月)?main()?int i,j;?for(i=0;_;i+)?j=i*10+6;?if_)continue;?printf(4%d”,j);20)以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0,请填空(06年4
46、月)?int isprime(int a)?inti;?for(i=2;ib)a-=b;while(ba)b-=a;)printf(,%3d%3dnH,a,b);2 2)以下程序的功能是:将输入的正整数按逆序输出。例如,若输入1 3 5,则输出531。请填空。(06年9月)#include main()int n,s;printf(Enter a number:);scanf(%d,&n);printffOutput:);d os=n%10;pri n tf(%d ,s);_ _;wh i le(n!=0);pri n tf CX n1);)2 3)以下程序的功能是:求出数组x中各相邻两个元素
47、的和,依次存放到a数组中,然后输出,请填空。(07年4月)ma i n()i n t x 10,a 9,I;f o r(i=0;i 10;i+)sc a n f(%d”,&x i );f o r(i=l;i 10;i+)a i-l=x i +;f o r(i=0;i 9;i+)pri n t f(d”间 i );pri n t f(n”);2 4)以下程序的输出结果是一o (07年9月)#i n c lu d e ma i n()i n t 12345,d;wh i le(n!=0)d=n%10;pri n t f(%d,d);n/=10;2 5)有以下程序段,且变量已正确定义和赋值(07年9
48、月)f o r(s=1.0,k=l;k =n;k+)s=s+1.0/(k*(k+l);pri n t f (s二%f n n,s);请填空,使下面程序段的功能与之完全相同s=l.0;k=l;wh i le(_ )s=s+l.0/(k*(k+l);2 6)若有定义:i n t k;,以下程序段的输出结果是。(08年4月)f o r(k=2;k 6;k+,k+)pri n t f(u#%d,k);2 7)以下程序的输出结果是()(08年9月)#i n c lu d e ma i n()i n t i,j,su m;f o r(i=3;i =l;i一 一)su m=0;f o r(j=l;j =i;
49、j+)su m+=i*j;)pri n t f (,z%d n ,su m);第六章:字符型数据数字字符0的A S C II值为48,若有以下程序(05年4月)ma i n()c h a r a=T,b=2;printf(,%c,b+);printf(n%dnn,b-a);程序运行、的输出结果是()(A)3,2(B)50,2(C)2,2(D)2,50(2)以下叙述中正确的是()(05年9月)A)调用printf函数时,必须要有输出项B)使用putchar函数时,必须在之前包含头文件stdio.hC)在C语言中,整数可以以卜二进制、八进制或十六进制的形式输出D)调用getchar函数读入字符时,
50、可以从键盘上输入字符所对应的ASCII码(3)有以下程序(05年9月)#includemain()char c 1=1,c2=2;cl=gelchar();c2=getchar();putchar(cl);putchar(c2);当运行时输入:a 回车后,以下叙述正确的是()A)变量cl被赋予字符a,c2被赋予回车符B)程序将等待用户输入第2个字符C)变量cl被赋予字符a,c2中仍是原有字符2D)变量cl被赋予字符a,c2中将无确定值?4)要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是()(06年4月)?A)while(ch=getchar()