C语言分章节知识点及典型试题.doc
《C语言分章节知识点及典型试题.doc》由会员分享,可在线阅读,更多相关《C语言分章节知识点及典型试题.doc(39页珍藏版)》请在咨信网上搜索。
第一章数据类型与表达式 一.知识点 1.C语言的特点:①语言简洁、紧凑,使用方便、灵活;②运算符丰富; ③数据结构丰富;④具有结构化控制语句; ⑤语法限制不太严格,程序设计自由度大; ⑥可以进展位操作,能实现汇编语言的大局部功能,能直接对硬件进展操作; ⑦生成的目标代码质量高,程序执行效率高;⑧程序的移植性好。 2.C程序的组成: ⑴C程序是由函数构成的; ⑵一个函数包括函数的首部〔即函数的第一行〕和函数体〔即花括号局部〕; ⑶函数体一般包括声明局部和执行局部; ⑷一个C程序总是从main函数开场执行,从main函数完毕; ⑸C程序书写格式自由,一行可以写几个语句,一个语句可以分写在多行上; ⑹每个语句和数据定义的最后必须有一个分号; ⑺C语言本身没有输入输出语句,是通过函数实现输入输出的; ⑻可以用/*……*/对C程序的任何局部作注释。 3.C语言程序的运行:源程序文件的扩展名为.c,目标程序文件的扩展名为.obj,可执行程序文件的扩展名为.exe。 4.C的数据类型:根本、构造、指针和空类型,char、int、short、long、unsigned、float、double、enum、struct、union、typedef。 5.常量与变量的概念,注意符号常量的定义与使用; 6.整型、实型、字符型常量的表示,注意整型常量的十进制、八进制、十六进制的书写。 7.变量的定义,C的标识符包括关键字、预定义标识符、用户定义标识符;用户定义标识符的可用字符为字母、数字、下划线,第一个字符为字母或下划线。 8.常见数据类型的取值围,int为-32768~+32767,unsigned int为0~65535。 9.转义字符:\n、\t、\b、\r、\f、\\、\’、\〞、\ddd、\xhh 10.不同数值型数据的混合运算,低级类型转换为高级类型运算 11.C的运算符:注意结合方向和运算的优先级 12.算术运算符:+、-、*、/、%、++、--,注意自加、减运算符分前缀和后缀两种方式。其中前缀方式为先自加、减,后引用;后缀方式为先引用,后自加、减;运算符%要求运算量为整数,运算结果也为整数。注意除运算时,假设运算量为整型时,其运算结果也是整型的规那么。 13.赋值类运算符:=、+=、-=、*=、/=、%=,注意含义和数据类型的转换。 14.逗号运算符的使用,注意逗号运算符的运算规那么。 二.练习 ㈠.填空题: 1.在TURBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是.exe。 2.C语言源程序文件的后缀是.c ,经过编译后,生成文件的后缀是.obj,经过连接后,生成文件的后缀是.exe 。 3.结构化程序由顺序、选择〔分支〕、循环三种根本结构组成。 4.假设k为整型变量且赋值11。请写出运算k++后表达式的值11和变量的值12。 5.假设x为double型变量,运算x=3.2,++x后表达式的值4.2 和变量的值4.2。 6.函数体由符号{开场,用符号}完毕。函数体的前面是定义局部,其后是执行局部。 7.C语言中的标识符可分为关键字、用户标识符和预定义标识符三类。 8.在C语言程序中,用关键字int定义根本整型变量,用关键字float定义单精度实型变量,用关键字double定义双精度实型变量。 9.把a1、a2定义成单精度实型变量,并赋初值1的定义语句是float a1=1.0,a2=1.0;。 10.C程序中定义的变量,代表存中的一个存储空间。 11.表达式3.5+1/2的计算结果是3.5。 12.写出数学表达式三个等价的C语言表达式a*b/(c*d)、a /(c*d)*b、b/(c*d)*a。 13.通常一个字节包含8个二进制位。 14.当计算机用两个字节存放一个整数时,能存放的最大〔十进制〕整数是216-1(65535)、最小〔十进制〕整数是-215(-32768)。 15.在C语言中整数可用十进制数、八进制数和十六进制数三种数制表示。 16.C语言中,int型数据占2个字节,long型数据占4个字节,unsigned int型数据占2个字节,short型数据占 2个字节, float型数据占4个字节,double型数据占8个字节,char型数据占1个字节。 ㈡.选择题: 1.组成C语言程序的是〔〕〔C〕。 A.子程序 B.过程 C.函数 D.主程序和子程序 2.以下表达中正确的选项是〔〕(C)。 A.在C程序中无论是整数还是实数,只要在允许的围都能准确无误的表示。 B.C程序由主函数组成。 C.C程序由函数组成。 D.C程序由函数和过程组成。 3.以下选项中正确的整型常量是〔〕(B)。 A.12. B.-20 C.1,000 D.4 5 6 4.以下选项中正确的实型常量是〔〕(D)。 A.0 B.3. 1415 C.0.329╳102 D..871 5.以下选项中不合法的用户标识符是〔〕(C)。 A._123 B.printf C.A$ D.Dim 6.C语言中运算对象必须是整型的运算符是〔〕(A)。 A.% B./ C.! D.* 7.可在C程序中用作用户标识符的一组标识符是〔〕(B)。 A.void B.as_b3 C.For D.2c define _123 -abc DO WORD If case SIG 8.假设变量已正确定义并赋值,符合C语言语法的表达式是〔〕(B)。 A.a=a+7; B.a=7+b+c,a++ C.int〔12.3%4〕 D.a=a+7=c+b 9.不合法的八进制数是〔〕(B)。 A.0 B.028 C.077 D.01 10.不合法的十六进制数是〔〕(A)(零X)。 A.oxff B.0Xabc C.0x11 D.0x19 ㈢.程序设计题: 1.编写一个C程序,输入a、b、c三个数,输出其中最大者。 #include<stdio.h> void main() {int a,b,c,max; printf(“input 3 num:\n〞); scanf(“%d%d%d〞,&a,&b,&c); max=a; if(b>max)max=b; if(c>max)max=c; printf(“%d〞,max); } 第二章算法与顺序结构 一.知识点 1.算法:为解决一个问题而采取的方法和步骤。 2.算法的分类:数值算法、非数值算法。 3.算法的特点:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性。 4.算法描述方法:自然语言、流程图、改良流程图、N—S流程图、伪代码、计算机语言。 5.C语句的类型:控制语句、函数调用语句、表达式语句、空语句、复合语句。 6.输入输出的概念:输入输出是相对主机而言,C语言是由函数来实现输入输出的。 7.字符数据的输入/输出:getchar〔〕、putchar〔〕 8.格式输入/输出:scanf〔〕、printf〔〕 9.printf的格式符:d、i,o,x、X,u,c,s,f,e、E,g、G;l,m,n,-。 10.scanf的格式符:d、i,o,x、X,u,c,s,f,e、E,g、G;l,m,*;&。注意输入数据时数据流的分隔符,系统默认的分隔符为空格、tab键和回车。 11.顺序结构的设计思想:声明变量、输入数据、处理、输出结果。 二.练习 ㈠.填空题: 1.以下程序段执行后的输出结果是:⑴-200 2500⑵i=-200,j=2500⑶。 int i=-200,j=2500; printf〔“⑴ %d %d〞,i,j〕; printf〔“⑵ i=%d,j=%d\n〞,i,j〕; printf〔“⑶ i=%d\n j=%d\n〞,i,j〕; 2.复合语句在语法上被认为是一条语句。空语句的形式是;。 3.C语句的最后用;完毕。 4.以下程序段的输出结果是 x= 127,x= 177,x= 7f,x= 127。 int x=0177;printf〔“x=%6d,x=%6o,x=%6x,x=%6u\n〞,x,,x,x,x〕; 5.以下程序段的输出结果是a=513.789215,a= 513.79,a=513.78921500,a= 531.78921500。 double a=513.789215; printf〔“a=%8.6f,a=%8.2f,a=%14.8f,a=%14.8lf\n〞,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的值。请填空: #include <stdio.h> main〔〕 { int a,b,c,m ; printf〔“Enter a,b,c:〞〕; scanf〔“%d,%d,%d〞,&a,&b,&c〕; m=a;a=b;b=c;c=m; printf〔“a=%d,b=%d,c=%d\n〞,a,b,c〕;} 8.以下程序不借助任何变量把a、b中的值进展交换。请填空: #include <stdio.h> main〔〕 { int a,b; printf〔“Input a,b:〞〕; scanf〔“%d,%d〞,&a,&b〕; a+=b;b=a-b;a=a-b; printf〔“a=%d,b=%d\n〞,a,b〕;} ㈡.选择题: 1.假设a、b、c、d都是int型变量且初始值为0,以下不正确的赋值语句是〔〕(C)。 A.a=b=c=100; B.d++; C.c+b; D.d=〔c=22〕-〔b++〕; 2.以下选项中不是C语句的是〔〕(C)。 A.{int i;i++;printf〔“%d\n〞,i〕;} B.; C.a=5,c=10 D.{ ;} 3.以下合法的C语言赋值语句是〔〕(D)。 A.a=b=58 B.k=int〔a+b〕; C.a=58,b=58 D.--i; 4.以下程序的输出结果是〔〕(C)。 A.0 B.1 C.3 D.不确定的值 main〔〕 { int x=10,y=3; printf〔“%d\n〞,y=x/y〕;} 5.假设变量已正确说明为int类型,要给a、b、c输入数据,正确的输入语句是〔〕D。 A.read〔a,b,c〕; B.scanf〔“%d%d%d〞,a,b,c〕; C.scanf〔“%D%D%D〞,&a,&b,&c〕; D.scanf〔“%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.16800 D.5.16900 x=5.16894;printf〔“%f\n〞,〔int〕〔x*1000+0.5〕/〔float〕1000〕; 8.执行以下程序段后,c3中的值是〔〕A。 A.0 B.1/2 C.0.5 D.1 int c1=1,c2=2,c3;c3=c1/c2; 9.执行以下程序段后,其输出结果是〔〕B。 A.0,0,-10 B.0,0,3 C.-10,3,-10 D.3,3,-10 int a=0,b=0,c=0; c=〔a-=a-5〕,〔a=b,b+3〕; printf〔“%d,%d,%d\n〞,a,b,c〕; 10.以下程序的输出结果是〔〕D。 A.a=%2,b=%5 B.a=2,b=5 C.a=%%d,b=%%d D.a=%d,b=%d main〔〕 { int a=2,b=5; printf〔“a=%%d,b=%%d\n〞,a,b〕;} 11.假设int型占两个字节,以下程序段的输出是〔〕D。 A.-1,-1 B.-1,32767 C.-1,32768 D.-1,65535 int a=-1;printf〔“%d,%u\n〞,a,a〕; 12.以下程序段的输出结果是〔〕C。 A.|3.1415| B.| 3.0| C.| 3| D.| 3.| float a=3.1415;printf〔“|%6.0f|\n〞,a〕; 13.以下程序段的输出结果是〔〕B。 A.9 8 B.8 9 C.6 6 D.以上三个都不对 #include <math.h> main〔〕 { double a=-3.0,b=2; printf〔“%3.0f %3.0f\n〞,pow〔b,fabs〔a〕〕,pow〔fabs〔a〕,b〕〕;} 14.假设a为整型变量,那么以下语句〔〕B。 A.赋值不合法 B.输出值为-2 C.输出为不确定值 D.输出值为2 a=-2L;printf〔“%d\n〞,a〕; 15.假设有定义char s=‘\092’;那么该语句〔〕B。 A.使s的值包含1个字符 B.定义不合法,s的值不确定 C.使s的值包含4个字符 D.使s的值包含3个字符 16.假设k、g均为int型变量,那么以下语句的输出为〔〕D。 A.15 B.16 C.15 D.16 6f 70 71 6f k=017;g=111;printf〔“%d\n〞,++k〕;printf〔“%x\n〞,g++〕; 17.字母a的ASCII十进制代码为97,执行以下语句后的输出为〔〕C。 A.b,c B.a--运算不合法,故有语法错误 C.98,c D.格式描述和输出项不匹配,输出无定值 char a=‘a’;a--;printf〔“%d,%c\n〞,a+‘2’-‘0’,a+‘3’-‘0’〕; 18.以下程序的输出为〔〕A。 A.27.000000 B.27.500000 C.28.000000 D.28.500000 #include <stdio.h> main〔〕 { int m=7,n=4; float a=38.4,b=6.4,x; x=m/2+n*a/b+1/2;printf〔“%f\n〞,x〕; } 19.以下程序的输出结果是〔〕C。 A.18 B.9 C.-18 D.-9 main〔〕 { int a=9;a+=a-=a+a;printf〔“%d\n〞,a〕; } 20.以下程序的输出结果是〔〕A。 A.0 B.5 C.1 D.不确定值 main〔〕 { int a=7,b=5;printf〔“%d\n〞,b=b/a〕;} 21.以下程序的输出结果是〔〕C。 A.12 B.11 C.10 D.9 main〔〕 { int a=011;printf〔“%d\n〞,++a〕;} ㈢.程序设计题: 用N—S图表示以下问题: 1.有两个瓶子A和B,分别盛放醋和酱油,要求将它们互换。 编写程序 2.依次将10个数输入,要求将其中最大的数打印出来。 #include <stdio.h> main() { int i,a,max; scanf("%d",&max); for (i=1;i<=9;i++) { scanf("%d",&a); if (a>max) max=a; } printf("%d",max); } 3.有3个数a、b、c,要求按从大到小的顺序把它们打印出来。 main() { float a,b,c,t; scanf("%f,%f,%f",&a,&b,&c); if(a>b) {t=a;a=b;b=t;} /*实现a和b的互换*/ if(a>c) {t=a;a=c;c=t;} /*实现a和c的互唤*/ if(b>c) {t=b;b=c;c=t;] /*实现b和c的互换*/ printf("%5.2f,%5.2f,%5.2f\n",a,b,c); } 4.求1+2+3+……+100。 #include <stdio.h> int main() { int i,sum=0; i=1; while(i<=100) { sum=sum+i; i=i+1; } printf(“%d〞,sum); } 5.判断一个数n能否同时被3和5除。 #include <stdio.H> main(void) { int n; scanf("%d",&n); if(n%3 == 0 && n%5 == 0) printf("%d能否同时被3和5整除\n",n); else printf("%d不能否同时被3和5整除\n",n); return 0; } 6.将100~200之间的素数打印出来。 #include <stdio.h> int isPrime(int n) { int i; for(i=2;i*i<=n;i++) if(n%i==0) return 0; return 1; } int main() { int i; for(i=100;i<=200;i++) { if(isPrime(i)) printf("%d\n",i); } } 7.求两个整数m和n的最大公约数和最小公倍数。 main() { int a,b,num1,num2,temp; printf("please input two numbers:\n"); scanf("%d,%d",&num1,&num2); if(num1 { temp=num1; num1=num2; num2=temp; } a=num1;b=num2; while(b!=0)/*利用辗除法,直到b为0为止*/ { temp=a%b; a=b; b=temp; } printf("gongyueshu:%d\n",a); printf("gongbeishu:%d\n",num1*num2/a); } 8.求方程ax2+bx+c=0的根 #include <stdio.h> #include <math.h> //用到平方根函数 void main() { float a,b,c,x1,x2,p,q,m; scanf("%f%f%f",&a,&b,&c); if ((a==0.0)&&(b==0.0)&&(c!=0.0)) printf(“no value!"); else if ((a==0.0)&&(b==0.0)&&(c==0.0)) printf("any value!"); else if ((a==0.0)&&(b!=0.0)) printf("x1=x2=%f",-c/b); else {m=b*b-4.0*a*c; if(m>=0) { x1=(-b+sqrt(m))/(2.0*a); x2=(-b-sqrt(m))/(2.0*a); printf("x1=%f\n",x1); printf("x2=%f\n",x2); } else { p=-b/(2.0*a); q=sqrt(-m)/(2.0*a); printf("x1=%f+%fi\n",p,q); printf("x2=%f-%fi\n",p,q); } }} 9.编写程序,输入两个整数1500和350,求出它们的商和余数并进展输出。 #include <stdlib.h> #inclued <stdio.h> void main() {int a; int b; int c,d; a=1500,b=350; c=a/b;//商数 d=a%b;//余数 pritf("商数为: %d\n",c); printf("余数为:%d\n",d); return 0; } 10.编写程序,读入三个双精度数,求它们的平均值并保存此平均值小数点后一位数,对小数点后第二位数进展四舍五入,最后输出结果。 #include<stdio.h> main() { double a, b, c, d; printf("输入三个双精度数\n"); scanf("%lf%lf%lf", &a, &b, &c); d = ( a + b + c) / 3; printf("%.1f\n", d); } 11.求三角形的面积:a,b,c是边长,p是半边长,s是面积,那么s=[p(p - a)(p - b)(p - c)] 1/2 #include<stdio.h> #include<math.h> main() {float a,b,c,p,s; printf("input 3 num:"); scanf("%f%f%f",&a,&b,&c); p=(a+b+c)/2; s=p*(p-a)(p-b)(p-c); s=pow(s,0.5); printf("s=%f",s); } 12.输入一个华氏温度,要求输出摄氏温度。公式为:c=5〔f-32〕/9。 #include<stdio.h> main() { double tem_c, tem_f; puts("=====华氏温度至摄氏温度转换程序====="); printf("请输入华氏温度:"); scanf("%lf", &tem_f); tem_c = (tem_f - 12) * 5.0 / 9.0; printf("%f对应的摄氏温度为%.2f", tem_f, tem_c); renturn 0; } 第三章 选择结构程序设计 一.知识点 1.关系运算符、逻辑运算符、逻辑值的表示与含义;注意&&、||的运算规那么。 2.三种if语句 3.选择结构的嵌套,注意if与else的配对; 4.条件运算符:?: 5.switch语句,注意其执行过程; 6.选择结构程序设计思想。 二.练习 ㈠.填空题: 1.C语言中用非0表示逻辑值“真〞,用0表示逻辑值“假〞。 2.C语言中的关系运算符按优先级别是、、、、、。 答案:>、<、>=、<=、==、!= 3.C语言中的逻辑运算符按优先级别是、、。 答案:!、&&、|| 4.C语言中的关系运算符和逻辑运算符的优先级别是 、、、、、 、、、。 !、>、<、>=、<=、==、!=、&&、|| 5.C语言中逻辑运算符的!优先级高于算术运算符。 6.将以下数学式改写成C语言的关系表达式或逻辑表达式: a=b或a<c a=b||a<c |x|>4 x>4||x<-4 7.以下程序的输出结果1。 main〔〕 { int a=100; if〔a>100〕 printf〔“%d\n〞,a>100〕; else printf(“%d\n〞,a<=100);} 8.假设a=10、b=15、c=1、d=2、e=0,请分别给出以下表达式的运算结果: ⑴ a*b && c 1 ⑵ a+b>10 || a+b<0 1⑶ e 0⑷ c==b>e 1 ⑸ !a<e 0⑹ a++ && e++ && c++ 0⑺ !e && e==b==++c 1 ⑻ (0<a) && (a<2) 0⑼ 1.234 && 5.982 1 ⑽(b==10) && (a==10) 0⑾ !0 || d && a==c+d 1 ⑿ (a+c==b)==(b+d==a) || (c=b+a)>(d=c+b) 1 9.当a=1、b=2、c=3时,执行以下if语句后,a= 3、b=1、c=1。 if〔a>c〕;b=a;a=c;c=b; 10.当a=1、b=2、c=3时,执行以下if语句后,a=3、b=2、c=2。 if〔a>c〕b=a;a=c;c=b; 11.当a=1、b=2、c=3时,执行以下if语句后,a=1、b=2、c=2。 if〔a>c〕b=a,a=c;c=b; 12.将以下两条if语句合并为一条if语句:。 if〔a>b〕 scanf〔“%d〞,&x〕;else scanf〔“%d〞,&y〕; if〔a<=b〕 i++;else j++; 答案:if〔a>b〕 {scanf〔“%d〞,&x〕;j++;} else {scanf〔“%d〞,&y〕;i++;} 13.将以下嵌套的if语句改写成不嵌套的if语句:。 if〔w<0〕 k=0;else if〔w<=100〕 k=1; else k=0; 答案:if〔w>=0&&w<=100〕k=1; else k=0; 14.以下程序判断输入的一个整数是否能被3或7整除,假设能整除,输出“YES〞,假设不能整除,输出“NO〞。请填空: #include <stdio.h> main〔〕 { int k; printf〔“Enter a int number:〞〕;scanf〔“%d〞,&k〕; if〔 k%3==0||k%7==0 〕printf〔“YES\n〞〕;else printf〔“NO\n〞〕;} 15.在switch语句中,当执行到break语句时,使流程跳出开关语句。 ㈡.选择题: 1.假设给定条件表达式〔M〕?〔a++〕:〔a--〕,那么和表达式M等价的表达式为〔 〕C。 A.M==0 B.M==1 C.M!=0 D.M!=1 2.为表示关系x≥y≥z,应使用的C语言表达式是〔 〕A。 A.(x>=y) && (y>=z) B.(x>=y)AND(y>=z) C.(x>=y>=z) D.(x>=y)&(y>=z) 3.以下程序的输出结果是〔 〕D。 A.0 B.1 C.2 D.3 main〔〕 { int a=2,b=-1,c=2; if〔a<b〕 if〔b<0〕 c=0; else c+=1; printf〔“%d\n〞,c〕; } 4.以下程序的输出结果是〔 〕A。 A.1 B.2 C.3 D.4 main〔〕 { int w=4,x=3,y=2,z=1;printf〔“%d\n〞,〔w<x ? w : z<y ? z : x〕〕;} 5.假设执行以下程序时,从键盘上输入3和4,那么输出结果是〔 〕B。 A.14 B.16 C.18 D.20 main〔〕 { int a,b,s;scanf〔“%d %d〞,&a,&b〕; s=a; if〔a<b〕s=b; s*=s;printf〔“%d\n〞,s〕; } 6.在C语言中,if语句后的一对圆括号中,用以决定分支的流程的表达式〔 〕。D A.只能用逻辑表达式 B.只能用关系表达式 C.只能用逻辑表达式或关系表达式 D.可用任意表达式 7.以下程序段运行后,x的值是〔 〕D。 A.14 B.4 C.15 D.3 ok1=1;ok2=2;ok3=3;x=15; if〔!ok1〕 x--;else if〔ok2〕 if〔ok3〕x=3;else x=4; 8.在C语言中,switch语句后一对圆括号中exp的类型〔 〕。A A.可以是任何类型 B.只能为int型 C.可以是整型或字符型 D.只能是整型或实型 9.以下各组运算符中,优先级最高的分别为〔⑴B ⑵C ⑶C ⑷D〕。 ⑴A.?: B.++ C.&& D.+= ⑵A.*= B.>= C.〔类型〕 D., ⑶A.|| B.% C.! D.== ⑷A.= B.!= C.*(乘) D.( ) 10.假设a为整型变量,b为字符型变量,那么以下正确的switch语句是〔 〕A。 A.switch〔〔int〕x/10〕B.switch〔b〕 { case 1:a++;break; { case ‘\042’;x=a/b;break; case 2:b++;break; case ‘6’;x=a*b;break; case 3:c++;break; case ‘\010’;x=a+c;break; } } C.switch〔〔int〕x/10〕; D.switch〔a/100+10〕 { case 0:a++;break; { case2 :x=a/b;break; default:b++;break; case6 :x=a*b;break; case 3+1:c++;break; case8 :x=a+c;break; case 3:d++;break; case10 :x=a-c;break; } } ㈢.程序设计题: 1.从键盘输入一个字母,假设是大写字母,要求改用小写字母输出。 #include<stdio.h> void main() {char var; var=getchar(); if(var>=65&&var<=90) var=32+var; putchar(var); } 2.求ax2+bx+c=0的根。a、b、c由键盘输入,设b2-4ac>=0. #include<stdio.h> #include<math.h> void main() {float a,b,c,p,x1,x2; printf("input 3 numbers:\n"); scanf("%f%f%f",&a,&b,&c); if(b*b-4*a*c>=0) { p=pow(b*b-4*a*c,0.5); x1=(-b+p)/2; x2=(-b-p)/2; printf("x1=%f,x2=%f",x1,x2); } else { p=pow(-b*b+4*a*c,0.5); printf("x1=%f+%fi,x2=%f-%fi",-b/2,p/2,-b/2,p/2); } } 第四章循环结构程序设计 一.知识点 1.循环的概念,C实现循环的方法; 2.goto语句,注意标号的书写; 3.while语句,注意条件表达式的设计; 4.do……while语句,注意条件表达式的设计,与while之后的分号; 5.for语句,注意for中三个表达式的一般含义; 6.循环的嵌套; 7.break与continue语句,注意二者之间的区别; 8.循环结构程序设计思想 二.练习 ㈠.填空题: 1.以下程序段的输出结果。y=7,x=21 x=y=0;while〔x<20〕y++,x+=3; printf〔“y=%d,x=%d\n〞,y,x〕; 2.当执行以下程序段后,i的值是、j的值是、k的值是。5、4、6 int a,b,c,d,i,j,k;a=10;b=c=d=5;i=j=k=0; for〔 ;a>b;++b〕i++; while〔a>++c〕 j++; do k++;while〔a>d++〕; 3.以下程序段的输出结果。死循环没有输出结果 int k,m,n;n=10;m=1;k=1; while〔k<=n〕 m*=2; printf〔“%d\n〞,m〕; 4.以下程序的输出结果-1。 main〔〕 { int x=2;while〔x--〕;printf〔“%d\n〞,x〕;} 5.以下程序段的输出结果11。 int i=0,sum=1;do{ sum+=i++;}while〔i<5〕;printf〔“%d\n〞,sum〕; 6.有以下程序段: s=1.0;for〔k=1;k<=n;k++〕s=s+1.0/〔k*〔k+1〕〕;printf〔“%f\n〞,s〕; 要使下面的程序段的功能与上面程序段的功能一样,请填空: s=0.0;k=0;d=1.0; do{ s=s+d;k++;d=1.0/〔k*〔k+1〕〕;}while〔k<=n〕; printf〔“%f\n〞,s〕; 7.以下程序的功能是:从键盘上输入假设干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时完毕输入。请填空: main〔〕 { float x,amax,amin; scanf〔“%f〞,&x〕;amax=x;amin=x; while〔x>=0〕 { if〔x>amax〕amax=x; if〔x<amin〕amin=x; scanf〔“%f〞,&x〕;} printf〔“\namax=%f\namin=%f\n〞,amax,a- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 章节 知识点 典型 试题
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文