2023年C语言分章节知识点及典型试题.pdf
第一章数据类型与表达式一.知识点1.C语言的特点:语言简洁、紧凑,使用方便、灵活;运算符丰富;数据结构丰富;具有结构化控制语句;语法限制不太严格,程序设计自由度大;可以进行位操作,能实现汇编语言的大部分功能,能直接对硬件进行操作;生成的目的代码质量高,程序执行效率高;程序的移植性好。2.C 程序的组成:(DC程序是由函数构成的;一个函数涉及函数的首部(即函数的第一行)和函数体(即花括号部分);函数体一般涉及声明部分和执行部分;一个C 程序总是从m a in 函数开始执行,从 main函数结束;(5)C 程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上;每个语句和数据定义的最后必须有一个分号;(7)C 语言自身没有输入输出语句,是通过函数实现输入输出的;可以用/*/对 C 程序的任何部分作注释。3.C 语言程序的运营:源程序文献的扩展名为.c,目的程序文献的扩展名为.o b j,可执行程序文献的扩展名为.ex e。4.C 的数据类型:基本、构造、指针和空类型,c h a r、int、short、long、uns i g nedflo a t、double、enum、struct u n io n、typedef5.常量与变量的概念,注意符号常量的定义与使用;6.整型、实型、字符型常量的表达,注意整型常量的十进制、八进制、十六进制的书写。7.变量的定义,C 的标记符涉及关键字、预定义标记符、用户定义标记符;用户定义标记符的可用字符为字母、数字、下划线,第一个字符为字母或下划线。8.常见数据类型的取值范围,int为-32768+327 6 7,unsigned int为 065535。9.转义字符:n、t、b、r、f、V、ddd、xhh10.不同数值型数据的混合运算,低档类型转换为高级类型运算11.C 的运算符:注意结合方向和运算的优先级12.算术运算符:+、-、*、/、+、一一,注意自加、减运算符分前缀和后缀两种方式。其中前缀方式为先自加、减,后引用;后缀方式为先引用,后自加、减;运算符规定运算量为整数,运算结果也为整数。注意除运算时,若运算量为整型时,其运算结果也是整型的规则。13.赋值类运算符:=、+=、-=、*=、/=、%=,注意含义和数据类型的转换。14.逗号运算符的使用,注意逗号运算符的运算规则。二.练习.填空题:1 .在 TURBO C 环 境 中 用 R U N 命 令 运 营 一 个 C 程序时,所运营的程序的后缀是.exe。2.C 语言源程序文献的后缀是.c,通 过 编 译 后,生 成 文 献 的 后 缀 是.obi,通过连接后,生成文献的后缀是.e x e 。3.结构化程序由 顺序、选 择(分支)、循 环 三种基本结构组成。4.若 k 为整型变量且赋值1 1。请写出运算k+后 表 达 式 的 值 11 和变量的值_L2 05.若 x 为 d o u b 1 e 型变量,运 算 X=3.2,+X后 表 达 式 的 值 4.2 和变量的值4.2。6.函 数 体 由 符 号 开始,用 符 号 结束。函数体的前面是定 义 部分,其后是执 行 部分。7.C 语言中的标记符可分为关键字、用户标记符和预定义标记符三类。8.在 C 语言程序中,用 关 键 字 i nt 定义基本整型变量,用 关 键 字 f l oat定义单精度实型变量,用关键字d o u b le 定义双精度实型变量。9.把a1、a 2 定义成单精度实型变量,并赋初值1 的定义语句是flo a t a i=1 .0,a 2=1.0;o10.c 程序中定义的变量,代表内存中的一个存储空间。1.表达式3.5+1/2的计算结果是3.5。12.写出数学表达 式 丝 2 三个等价的C 语言表达式a*b 式c*d)、a/(c*d)*b、b/(c*c。dd13.通常一个字节包含 8 个二进制位。14.当计算机用两个字节存放一个整数时,能存放的最大(十进制)整 数 是 2电1 (6 5 535)最小(十进制)整数是 一2 5(-3 2 768)。1 5.在C语言中整数可用十进制数、八 进 制 数 和 十 六 进制数三种数制表达。1 6.C 语言中,i n t型数 据 占 2 个 字 节,lo n g 型数据占 4 个字节,u n sign e d i nt 型数据占2 个字节,s hor t 型数据占2个 字 节,f 1 oat型数据占工_ 个字节,double型数 据 占 8 个字节,c h a r型数据占二 个字节。.选择题:1.组成C 语言程序的是()(C)。A.子程序 B.过程 C.函数 D.主程序和子程序2.以下叙述中对的的是()(C)。A.在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表达。B.C 程序由主函数组成。C.C程序由函数组成。D.C 程序由函数和过程组成。3.以下选项中对的的整型常量是()(B)。A.1 2.B.-2 0 C.1,000 D.4 5 64.以下选项中对的的实型常量是()(D)。A.0 B,3.1415 C.0.32 9X10 D.8715.以下选项中不合法的用户标记符是()(C)。A._123 B.p r i n t f C.A$D.D i m6.C 语言中运算对象必须是整型的运算符是()(A)oA.%B./C.!D.*7.可在C 程序中用作用户标记符的一组标记符是()(B)。A.void B.a s_b3de f i n e _ 1 23WORD IfC.Fo r D.2c-abcDOc a s eSIG8.若变量己对的定义并赋值,符合C语言语法的表达式是()(B)。A.a=a+7;B.a 7+b+c,a+C.int(1 2.3%4)D.a=a+7=c+b9.不合法的八进制数是()(B)。A.0 B,028 C.077 D.0110.不合法的十六进制数是()(A)(零X)。A.o xff B.OXabc C.0 x 11 D.0 x19.程序设计题:1.编写一个C 程序,输入a、b、C三个数,输出其中最大者。#i nc I u dev o id mai n()i n t a,b,c,m ax;p r in t f(*i n p u t 3 num:n);sca n f(d%d%d”,&a,&b,&c);m a x=a;i f(bmax)max=b;if(cmax)m a x=c;p r i ntf(%d,max);)第二章算法与顺序结构一.知识点1.算法:为解决一个问题而采用的方法和环节。2.算法的分类:数值算法、非数值算法。3 .算法的特点:有穷性、拟定性、有零个或多个输入、有一个或多个输出、有效性。4.算法描述方法:自然语言、流程图、改善流程图、N-S 流程图、伪代码、计算机语言。5.C 语句的类型:控制语句、函数调用语句、表达式语句、空语句、复合语句。6.输入输出的概念:输入输出是相对主机而言,C 语言是由函数来实现输入输出的。7.字符数据的输入/输出:g e tc h a r()、p ut c har()8.格式输入/输出:sc a n f()、p r int f()9.Dri ntf 的格式符:d、i,o,x、X,u,c,s,f,e、E,Q、G;l,m,n1 O.sca nf 的格式符:d、i,o,x、X,u,c,s,f,e、E,a、G;I,m,*;&。注意输入数据时数据流的分隔符,系统默认的分隔符为空格、t a b 键和回车。1 1 .顺序结构的设计思想:声明变量、输入数据、解决、输出结果。二.练习.填空题:1 .以 下 程 序 段 执 行 后 的 输 出 结 果 是:-2 0 0 2 500 i=-200j=2 5i=-20000(3)J=2500i nti=-2 0 0,j=2500;print f(%d%d,i,j);pri n t f(“i=%d,j=%dn,i,j);pr i ntf(3)i=%dn j=%d n ,i,j);2.复合语句在语法上被认为是一条语句。空语句的形式是一。3.C 语句的最后用工结束。4.以下程序段的输出结果是x=1 2 7,x=1 77,x=7f,x=127。in t x=0 17 7;pri n tf(x=%6d,x=%6o.x=%6x,x=%6un”,x,x,x,x);5.以下程序段的输出结果是 a=51 3.7892 1 5,a=5 13.7 9,a=5 13.789 2 1 5 00,a=531.789 2 1 5 00。double a=513.78 9 2 1 5;p rintf(a=%8.6f,a=%8.2 f,a=%14.8f,a=%14.8lfn,a,a,a,a);6 .以下程序段的输出结果是8,3。a=3+5,a*4;x=11/3;printf(d,%d n”,a,x);7.以下程序输入三个整数值给a、b、c,程序把b 中的值给a,把 c 中的值给b,把 a 中的值给c,互换后输出a、b、c 的值。请填空:#i nc I ude main()int a,b,c,m;p r i n t f(E n t e r a,b,c:”);scan f(d,%d,%d”,&a,&b,&c);m=a;a=b:b=c;c=m;pri ntf(a=%d,b=%d,c=%d n,a,b,c);8 .以下程序不借助任何变量把a、b 中的值进行互换。请填空:#i nclu d e m a in()int a,b;pr i nt f(In p ut a,b:);scan f(%d,%d”,&a,&b);a+=b;b=a b;a=a-_b_;pri n t f(a=%d,b=%dn,a,b);选择题:1 .若a、b、c、d 都是int型变量且初始值为0,下列不对的的赋值语句是()(C)oA.a=b=c=1 0 0;B.d+;C.c+b;D.d=(c=2 2)(b+);2.以下选项中不是C 语句的是()(C)。A.(int i;i+:p C n tf(“d n ,i);B.;C.a=5,c=10 D.;3.以下合法的C 语言赋值语句是()(D)。A.a=b=5 8 B.k=in t(a+b);C.a=58,b=58 D.-i;4.以下程序的输出结果是()(C)。A.0 B.1 C.3 D.不拟定的值mai n()i nt x=1 0,y=3;pri ntf(%dn,y=x/y);5 .若变量已对的说明为i n t类型,要给a、b、c 输入数据,对的的输入语句是()D。A.read(a,b,c);B.s can f(%d%d%d”,a,b,c);C.s c anf(“D%D%D”,&a,&b,&c);D.sc a n f(“%d%d%d”,&a,&b,&c);6.若变量已对的定义,要将a 和 b 中的数进行互换,下面不对的的语句组是()C。A.a=a+b,b=a-b,a=a b;B.t=a,a=b,b=t;C.a=t;t=b;b a;D.t=b;b=a;a=t;7.若变量已对的定义,以下程序段的输出结果是()D。A.输出格式说明与输出项不匹配,输出无定值B.5.1700 C.5.1 68 0 0 D.5.169 0 0 x=5.1 6 89 4;print f(w%fnw,(int)(x*100 0+0.5)/(flo a t)10 0 0);8.执行以下程序段后,c3 中 的 值 是()A。A.0 B.1/2 C.O.5 D.1int c 1 =1 ,c2=2,c3;c 3=c1/c2;9 .执行以下程序段后,其输出结果是()B。A.0,0,-1 0B.0,0,3 C.-10.3,-1 0D.3,3,-1 0i nt a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);P ri n tf(d,%d,%dn”,a,b,c);1 0.以下程序的输出结果是()DOA.a=%2,b=%5 B.a=2,b=5 C.a=%d,b=%dD.a=%d,b=%dm a in()int a=2,b=5;pr i n t f(a=%d,b=%dn”,a,b);11.若 i n t 型占两个字节,以下程序段的输出是()DoA.-1,-1 B.-1,3276 7 C.-1 ,32 7 68 D.-1,65535int a=1 ;printf(d,%un”a);1 2.以下程序段的输出结果是()CoA.|3.141 5|B.|3.0|C.|3 I D.|3.|f 1 oat a=3.1 4 1 5;print f(“|%6.0f|n,a);13.以下程序段的输出结果是()B。A.9 8 B.8 9 C.6 6 D.以上三个都不对#i nclud e main()d ouble a=-3.0,b=2;P ri nt f(“3.0 f%3.0 fn,p ow(b,ta b s(a),pow(fab s(a),b);14.若a 为整型变量,则以下语句()BoA.赋值不合法 B.输出值为-2 C.输出为不拟定值 D.输出值为2a=-2L;p r int f(%d n,a);1 5.若有定义char s=0 9 2;则该语句()B。A.使 s 的值包含1个字符 B.定义不合法,s 的值不拟定C.使 s 的值包含4 个字符 D.使 s 的值包含3 个字符16.若k、g 均为int型变量,则下列语句的输出为()DoA.1 5 B.1 6 C.1 5 D.1 66f 70 71 6fk=017;g=1 1 1 ;printf(dn”,+k);p intf(xn”,g+);17.已知字母a 的 ASCII十进制代码为9 7,执行下列语句后的输出为()C。A.b5c B.a运算不合法,故有语法错误C.98,c D.格式描述和输出项不匹配,输出无定值char a=a ;a-;prin t f(%d,%c n,a+2 -O ,a+3 O);18.下列程序的输出为()A。A.2 7.0 00000 B.27.50 0 0 0 0 C.2 8.000000 D.2 8.500000#inc 1 u de main()in t m=7,n=4;f 1 oat a=3 8.4,b=6.4,x;x=m/2+n*a/b+1 /2;pri n tf(f n”,x);1 9.下列程序的输出结果是()C。A.18 B.9 C.-18 D.-9m a in ()inta=9;a+=a-=a+a;p r i ntf(dn”,a);20.下列程序的输出结果是()AoA.OB.5C.1D.不拟定值m a in()i n t a=7,b=5:printf(%d n,b=b/a);21.下列程序的输出结果是()C。A.12 B.11 C.10 D.9m a in()int a=011;p rin tf(%dn”,+a);).程序设计题:用 N-S 图表达下列问题:1 .有两个瓶子A 和 B,分别盛放醋和酱油,规定将它们互换。编写程序2.依次将1 0 个数输入,规定将其中最大的数打印出来。#inc1 ude a m ain()Aseanf(H%d&maoi=1;imax)m)print(%)3.有 3 个数a、b、c,规定按从大到小的顺序把它们打印出来。ma(float a,b,c,t;if(a b)At=a;a=in(Ascan f(f,%f,%f”,&b;b=t;/*实 现 ai,a,m a x;);+)&a);L x=a;dn,max);)a,&b,&c);和 b 的 互 换*/ntxif(ac)A t=a;a=c;c=t;实 现 a 和 c 的 互 唤*/Ajf(bc)t=b;b=c;c=t;/*实 现 b 和prin t f(”5.2 f,%5.2 f,4.求 1+2+3+100o#in c lude i n t ma i n()(i n t i,sum=0;i=l;while(i=100)(S u m=sum+i;i=i+1;)printf(H%d,sum);5.判断一个数n 能否同时被3 和 5 除。#i n c lu d e A m a i n(void)sc a nf(%d,&n)Nf(n%3=0&nprin t f(d 能否同时被 3 和 5:c 的互换*/%5.2fnH,a,b,c);A i n t n;5=0)除 n”,n);else A p r intf(d 不能否同时被 3 和 5 整除n ,n);eturn 0;6.将 10 02 00之间的素数打印出来。includentsPrime(intn)AjntAfor(i2;i*i=n;i+)A ifn%0)r e tu r n0 ;retrn1;Ainmaini;or(=10;i200+)ut)M A j ntfi0iAif(isPrime()Ap rinf%dni)7.求两个整数m 和 n 的最大公约数和最小公倍数。mai n()int a,b,n u m l,num2,temp;printf(n p lease input t wo numbers:n );s c anf(d,%d”,&n u m1,&n u m2);if(num1 t e mp=num1;num1=n u m2;num 2=t e m p;a=num1;b=num2;while(b!=O)/*运用辗除法,直到b 为 0 为止*/t e mp=a%b;a=b;b=t e mp;)printf(go n gyueshu:%d n,a);p r i n t f(H go n gbeis h u:%dn”,num1*num2/a);)8,求方程a x 2+bx+c=0 的根#in clu de#i n c I u de 用到平方根函数vo i d main()(float a,b,c,x1,x2,p,q,m;s canf(%f a,&b,&c);if(a=0.0)&(b=0.0)&(c!=0.0)op ri n tf(no val u e!M);else if(a=0.0)&(b=0.0)&(c=0.0)o p r in t f(H a ny v a lue!n);else if(a=0.0)&(b!=0.0)printf(,x 1=x 2=%f,-c/b);e ls em=b*b-4.0*a*C;i f(m=0)o x 1=(-b+s qrt(m)/(2.0*a)?3x2=(-b-sqrt(m)/(2.0*a);p r int f(H x1=%fnM,x1);叩r i nt f(x2=%fn”,x 2);)e Ise。op=-b/(2.0*a);oq=sqrt(-m)/(2.0*a);P ri n tf(H x 1 =%f+%fin”,p,q);pr i ntf(x 2=%f%fin”,p,q);)9.编写程序,输入两个整数1500和 3 5 0,求出它们的商和余数并进行输出。printf(余 数 为:%dn,d);Areturn 0;A#includ e#inclu e d Avoid m ain()in t a;int bJintcd;a=1500,b=350Jc=a/b;/商数 cd=a%b;/余 数 r i t f(商 数 为:%d n,C);1 0.编写程序,读入三个双精度数,求它们的平均值并保存此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果。#inc 1 ud e main()d o u b Ie a,b,c,d;P r i nt f(输 入 三 个 双 精 度 数 n);scan f(%1 f%1 f%l f,&a,&b,&c);4 d=(a+b+c)/3;printf(%.1fn,d);q1 1.求三角形的面积:a,b,c 是边长,p 是半边长,s 是面积,则 s=p(p-a)(p b)(P -c)1 2#i n c I u de#in cludemai n()f loa t a-b,c,p,s;pr1 ntf(nput 3 num:M);scanf(%r%f%,&a,&b,&c);p=(a+b+c)/2;s=P*(p-a)(p-b)(p-c);s=pow(s,0.5);pr1 ntf(,s=%f-S);12.输入一个华氏温度,规定输出摄氏温度。公式为:c=5(f-3 2)/9.#include main()/d o u bl e tem_c,temf;叩u t s(=华氏温度至摄 氏 温 度 转 换 程 序=);P ri n tf(请 输 入 华 氏 温 度:);s can f(%l f ,&tem_f);tem_c=(tem _f-12)*5.0/9.0;pr i n t f(%f 相应的摄氏温度为.2f,temf,t e m_c);A r enturn 0;邛第三章选择结构程序设计一.知识点1 .关系运算符、逻辑运算符、逻辑值的表达与含义;注意&、|的运算规则。2.三种if语句3.选择结构的嵌套,注意if与 el s e 的配对;4.条件运算符:?:5.switc h 语句,注意其执行过程;6.选择结构程序设计思想.二.练习(一).填空题:1.C语言中用 非 0 表达逻辑值“真 ,用_Q_表达逻辑值“假”。2.C 语言中的关系运算符按优先级别是_、_、_、_、。答案:、=、=、=、!=3.C 语言中的逻辑运算符按优先级别是_、_、。答案:!、&、|4.C 语言中的关系运算符和逻辑运算符的优先级别是_、_、_、!、=-.=、=、!=、&-|5.C语言中逻辑运算符的一!优先级高于算术运算符。6.将下列数学式改写成C 语言的关系表达式或逻辑表达式:a=b 或 av c a=b I lave|x|4 x4|xv-47.下列程序的输出结果mai n()in t a=100;if(a10 0)printf(d n”,a100);e 1 s e pr i ntf(%dn,a10|a+be _L!ave 0 a+&e+&C+0!e&e=b=+c1(8)(0a)&(a(d=c+b)_J_9.当 a=1、b=2 c=3 时,执行以下 if 语句后,a=3、b=1 、c=_ 1 _。i f(a c);b=a;a=c;c=b;10.当 a=1、b=2、c=3 时,执行以下 i f 语句后,a=3 b=2、c=2 oi f(a c)b=a;a=c;c=b;11.当 a=1、b=2、c=3 时,执行以下i f 语句后,a=、b=2、c=2 oif(ac)b=a,a=c;c=b;1 2.将以下两条i f 语句合并为一条i f 语句:。if(a b)scanf(d”,&x);els e sc a nf(d,&y);i f(ab)sea n f(d,&x);j+;else scant(d,&y);i+;1 3 .将以下嵌套的if语句改写成不嵌套的if语句:Oif(w 0)k=0;e 1 se i f(w=0&wv=1 00)k=1 ;e 1 se k=0;1 4 .以下程序判断输入的一个整数是否能被3 或 7 整除,若能整除,输 出“YES”,若不能整除,输 出“N O”。请填空:#inclu d e m ain()i n t k;p r i ntf(u E n t e r a in t n u mb e r:);sc a n f(d”,&k);if(k%3=0|k%7=0 i nt f(YESn);else printf(aNOn);15.在 s w itc h 语句中,当执行到break语句时,使流程 跳出开关 语 句。.选择题:1 .若给定条件表 达 式(M)?(a+):(a-),则和表达式M 等价的表达式为()C。A.M=0 B.M=1 C.M!=0 D.M!=12.为表达关系x2 y2 z,应使用的C 语言表达式是()A。A.(x=y)&(y=z)B.(x=y)AND(y=z)C.(x=y=z)D.(x=y)&(y=z)3.以下程序的输出结果是()DoA.0 B.1 C.2 D.3main()int a=2,b=-1,c=2;i f(ab)if(b 0)c=0;e 1 s e c+=1;P rin t f(dn,c);4.以下程序的输出结果是()A。A.1 B.2 C.3 D.4m ain()in t w=4,x=3,y=2,z=1;p r i ntf(dn”,(wvx?w:z y?zx);)5.若执行以下程序时,从键盘上输入3 和 4,则输出结果是()BoA.1 4 B.16 C.18 D.20m ain()i n t a,b,s;s canf(“d%d”,&a,&b);s=a;if(a=c.(类型)D.A.|B.%C.!D.=A=B.!=C.*(乘)D.()10.若 a 为整型变量,b 为字符型变量,则以下对的的sw计 ch语句是()A。A.sw i tch(in t)x/10)cas e 1:a+;break;ca s e 2:b+;bre a k;c ase 3:C+;b r ea k;)C.swit c h(int)x/1 0);case 0:a+;b r ea k;defau 1 t:b+;b rea k;ca s e 3+1:c+;break;cas e 3:d+;b r e a k;)B.sw i t ch(b)c a s e 042 ;x=a/b;break;case 6;x=a*b;br e ak;c ase 010,;x=a+c;br e a k;D.s witch(a/100+1 0)case 2:x=a/b;break;case 6:x=a*b;b r e a k;case 8:x=a+c;bre a k;c a se10:x=a c;break;.程序设计题:1.从键盘输入一个字母,若是大写字母,规定改用小写字母输出。#inc I ud e vo id ma i n()c h a r var;v a r=getchar();i f(v a r=6 5&va r=0.#include#incl u devoi d main()flo a t a,b,c,p,x 1,x 2;prin t f(*i n put 3 n u mbers:n*);sc a n f(n%f%f%f 0 ,&a,&b,&c);if(b*b-4*a*c=0)(p=pow(b*b-4*a*c,0.5);x1=(-b+p)/2;x2=(-bp)/2;P rintf(x1=%f,x 2=%fn,x1,x 2);)e 1 sep=pow(b*b+4*a*c,0.5);p r intf(H x1=%f+%fi,x 2=%f-%fi”,-b/2,p/2 b/2,p/2);)第四章循环结构程序设计一.知识点1.循环的概念,C 实现循环的方法;2.go t o 语句,注意标号的书写;3.while语句,注意条件表达式的设计;4.dowhile语句,注意条件表达式的设计,及 while之后的分号;5.f o r 语句,注 意 fo r 中三个表达式的一般含义;6.循环的嵌套;7.brea k 与 conti n ue语句,注意两者之间的区别;8.循环结构程序设计思想二.练习.填空题:1.以 下 程 序 段 的 输 出 结 果。y=7,x=21x=y=0;w h il e(x v 2 0)y+,x+=3;pri nt f(y=%d,x=%d n ,y,x);2.当执行以下程序段后,i 的值是、j 的值是、k 的值是。5、4、6i n t a,b,c,d,i,j,k;a=1 0;b=c=d=5;i=j=k=0;f o r (;a b;+b)i+;while(a+c)j+;d o k+;w h ile(a d+);3.以 下 程 序 段 的 输 出 结 果。死循环没有输出结果i nt k,m,n;n=1 0;m=1;k=1;wh i Ie(k=n)m*=2;printf(d n”,m);4.以下程序的输出结果-1。ma i n()(int x=2;while(x-);p r intf(d n,x);5.以下程序段的输出结果 11。in t i=0,sum=1 ;do s um+=i+;while(i 5);pr i ntf(%dn,sum);6 .有以下程序段:s=1 .0;for(k=1;k=n;k+)s=s+1.0/(k*(k+1);printf(,s);要使下面的程序段的功能与上面程序段的功能相同,请填空:s=0,0;k=0;d=1 .0;do s=s+d;k+;d=1.0/(k*(k+1);w h i le(k=0)if(x a max)amax=x;if(x50)b r ea k;whi 1 e(a=14);9.下列程序段中,f o r 循环的循环次数为 o 109 87 6a=2;b=1 0;f o r(i=b;i=a;i-,a+)p r i ntf(%3d”,i);10.以下程序段的输出结果 o 8*6 *4*2*0/8*6*4*2*0fo r(i=0;i0;j)i f(j+i)%2)j-;pri n t f(“*%d J);c o n t in ue;-j;一j;printf(%d,j);prin t f(n);选择题:1 .以下程序段的输出结果是()D。A.9B.1C.11D.1 0int k,j,s;for(k=2;k6;k+,k+)s=1;f o r(j=k;j6;j+)s+=j;2.以下程序段的输出结果是()o CA.12 B.15 C.20 D.25int i,j,m=0;f o r(i=1;i=1 5;i+=4)for(j=3;j 7)n-;p r intf(d n,n);4.以下程序段的输出结果是()。CA.1 B.3 0 C.1-2 D.死循环in tx=3;do p r intf(“3d”,x-=2);whil e(!(一一x);5.以下程序的输出结果是()。CA.1 5 B.1 4 C.不拟定 D.Omain()in t i,sum;f or(i=1 ;i0;y-)if(y%3=0)printf(%d”,-y);co n ti n ue;7.若x 是 in t 型变量,以下程序段的输出结果是()。DA.*3 B.#3 C.#3 D.*3#4#4*4*4#5 *5*5#5fo r(x=3;x6;x+)pr i ntf(x%2)?(“*%d”):(“#%dn”),x);8.以下程序的输出结果是()。AA.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$m a in()int i;f o r(i=1;i=5;i+4-)if(i%2)p r i ntf(u*n);else c o ntinue;prin tf(#);p ri n tf($n);9.以下叙述对的的是()。DA.d o_w hile语句构成的循环不能用其它语句构成的循环来代替。B.do_whi I e 语句构成的循环只能用break语句退出。C.用 do_w h il e 语句构成循环时,只有在while后的表达式为非零时结束循环。D.用 do_w hile语句构成循环时,只有在whi 1 e 后的表达式为零时结束循环。1 0.以下程序的输出结果是()。DA.39 81 B.42 84 C.2 6 68 D.28 70main()in t x J;for(i=1;i=100;i+)x=i;if(+x%2=0)if(+x%3=0)if(+x%7=0)pr i n t f(“d,x);)p rin tf(an);1 1.对下面程序段描述对的的是()o CA.while循环执行了 1 0 次 B.循环是无限循环C.循环体语句一次也不执行 D.循环体语句只执行一次int x=10;w hile(x=0)x=x-1;1 2.以下关于for循环的对的描述是()。DA.f o r 循环只能用于循环次数已拟定的情况B.for循环是先执行循环体语句,后判断表达式C.在 for循环中,不能用b reak语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来13.下列程序段中是死循环的是()o CA.int n=1 ;while(!n)n+;B.int n=1;d o n-;while(n);C.int n=1;do n+;whi 1 e(n);D.f o r(n=5;n 1 ;);14.以下能对的计算1X 2X 3 X x 10的程序段是()。CA.do k=1;n=1 ;n=n*k;k+;whi 1 e(k=10);B.do k=1;n=0;n=n*k;k+;w h ile(k=10);C.k=1 ;n=1;do n=n*k;k+;w h i Ie(k=1 0);D.k=1;n=0;d o n=n*k;k+;wh i Ie(k=10);.程序设计题:1 .编写程序,求 1 3+5-7+-99+1 0 1 的值。#i n c I u d e m ath.hA#includ e nstd i o.h”voidmain()Aint i;Ad o u b Ie sum=00;M o r(i=0;=50;i+)Asum=sum+pow(-1,i)*(i*2+1 )pr i n tf(1 3+5-7+9 9+101=%00 fH,s u m);)或者#inc 1 ude mat h.h A#include”stdio.h AVO i d m a in()A Aint i,k=1;ongsum=0;for(i=1;i =5 1 ;i+)A Asum+=k*2-1);k=-k;)p r i n tf(1 1 1 -3+5-7+.-9 9+10 1=%ld ,s u m);A2.求 1+2+3+1 0 0 的值。#i n clu d e int ma i n()int i,sum=0;i=1;while(i=10 0)s um=sum+i;i=i+1;)printf(%d,sum);)3.把10 0200之间的不能被3 整除的数输出。#includeV 0id m ai n()(intn;f or(n=10 0;n=200;n+);9if(n%3!=0)p r intf(n%d,n);Pr intf(n);4.求 F ibonacci数列前20个数。#in c 1 u d e void main()i n t a2 0,i;a0=1;a1=1;for(i=2;i=1 9;i+)a i=a E i-1+a i2:printf(,n,);for(i=0;i20;i+)pr i ntf(”d,a i);)5.打 印 1 0 0 0 以内的所有素数。#i n cl u d e stdi o.h nv o id main()i nt a 1 001,i,j;a 0=a 1 =0;for(i=2;i=1 0 00;i+)ai=i;for(i=2;i10 0 1;i+)i f(a E i!=0)fo r(j=i+1;j1001;j+)i f (j%i!=0);el s e a j=0;)printf(nn”);f o r(i=0;i 1001;i+)i f(a i!=0)prin t a i );)第 五 章 数组及其应用一.知识点1.数组的概念与定义2.数组的初始化3 .数组元素的引用4.字符数组的定义、使用、字符串解决函数5.数组数据的一般解决方式二.练习.填空题:1.若有定义:double w 10;则 W数 组 元 素 下 标 的 上 限 是 下 限 是 o2 .以下程序的输出结果是 12。m a i n()i nt arr 1 0,i,k=0;f o r(i=0;i10;i+)ar r i=i;for(i=0;i4;i+)k+=ar r i+i;P r i ntf(d n,z);3.以下程序的输出结果是.3 0 0,0,2。ma i n()i nt i,j,ro w,co 1 ,m;in t arr33=1 00,20 0,300,28,7 2,-30,-850,2,6;m=a rr 0 0;for(i=0;i3;i+)f o r (j=0;j3;j+)if(arri jm)m=a r r i Lj;row=i;col=j;p r intf(“d,%d,%dn”,m,r ow,col);4.在 C 语