版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C程序设计复习C语言程序设计重修班辅导资料陈世清第1页共43页C程序设计复习第一章C一.知识点1. C语言的特点:语言简洁、紧凑,使用方便、灵活;运算符丰富;数据结构丰富;具有结构化控制语句;语法限制不太严格,程序设计自由度大;可以进行位操作,能实现汇编语言的大部分功能,能直接对硬件进行操作;生成的目标代码质量高,程序执行效率高;程序的移植性好。2. C程序的组成:C程序是由函数构成的;一个函数包括函数的首部(即函数的第一行)和函数体(即花括号部分);函数体一般包括声明部分和执行部分;一个C程序总是从main函数开始执行,从 main函数结束;C程序书写格式自由,一行内可以写几个语句,一个语句
2、可以分写在多行上;每个语句和数据定义的最后必须有一个分号;C语言本身没有输入输出语句,是通过函数实现输入输出的;可以用/*/对C程序的任何部分作注释。3. C语言风格C语言严格区分英文字母大小写。C语言用“;”作为语句分隔符。C语言中“ ”用于标识一组语句,构成复合语句。C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上。注释用来向用户提示或解释程序的意义。(注释部分允许出现在程序的任何位置。编译时,会忽略所有的注释符,即不对他们作任何处理。)4. C语言程序的运行:源程序文件的扩展名为.c ,目标程序文件的扩展名为.obj ,可执行程序文件的扩展名为.exe。二.练习.填空题
3、:1 .在TURBO阴境中用RU厢令运彳T一个 C程序时,所运行的程序的后缀是 工_。2 . C语言源程序文件的后缀是 /,经过编译后,生成文件的后缀是.obj ,经过连接后,生成文件的后缀是.exe 。3 .结构化程序由顺序结构、选择结构、 循环结构 三种基本结构组成。.选择题:1 .组成C语言程序的是(C )。A.子程序 B .过程 C .函数 D .主程序和子程序第2页共43页C程序设计复习2 .以下叙述中正确的是(C )。A.在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示。B. C程序由主函数组成。C. C程序由函数组成。D. C程序由函数和过程组成。.程序设计题:
4、1.编写一个C程序,输入a、b、c三个数,输出其中最大者。第3页共43页C程序设计复习第二章数据类型、运算符与表达式一.知识点1 . C的数据类型: 基本、构造、指针和空类型,char、int、short、long、unsigned、float、 double、enum struct 、union、typedef 。2 .常量与变量的概念,注意符号常量的定义与使用;3 .整型、实型、字符型常量的表示,注意整型常量的十进制、八进制、十六进制的书写。4 .变量的定义,C的标识符包括关键字、预定义标识符、用户定义标识符;用户定义标识符的可用字符为字母、数字、下划线,第一个字符为字母或下划线。5 .常
5、见数据类型的取值范围,int为-32768+32767, unsigned int 为065535。6 .转义字符:n、t、b、r、f、'、"、ddd、xhh7 .不同数值型数据的混合运算,低级类型转换为高级类型运算8 . C的运算符:注意结合方向和运算的优先级9 .算术运算符:+、-、*、/、 +、-,注意自加、减运算符分前缀和后缀两种方式。其中前缀方式为先自加、减,后引用;后缀方式为先引用,后自加、减;运算符%要求运算量为整数,运算结果也为整数。注意除运算时,若运算量为整型时,其运算结果也是整型 的规则。10 .赋值类运算符:=、+=、-=、*=、/=、%=注意含义和数据
6、类型的转换。11 .逗号运算符的使用,注意逗号运算符的运算规则。【要点归纳】1、基本数据类型C语言的数据类型有基本数据类型和非基本数据类型之分。2、变量所谓变量就是在程序执行过程中,其值可以改变的量。变量有两个要素:z变量名。每个变量都必须有一个名称,即变量名,变量名应遵循标识符的命名规则。z变量值。在程序运行过程中,变量的值存储在内存中,不同类型的变量,占用的内存单元数不同。C语言是一种强类型语言,它要求在使用数据之前对数据的类型进行说明。也就是说,在C语言中,所有变量必须先定义后使用。在定义的同时也可以进行赋初值操作,即初始化。定义变量的格式如下:存储类型数据类型变量1,变量2,;3、常量
7、 常量又称作常数,是指在程序运行过程中其值不能被改变的量。在C语言中,常量有不同的类型,如整型常量、实型常量和字符串常量等。整型常量:可以是十进制、八进制和十六进制表示的数。z十进制 其形式是:d其中,d可以是从0-9的一个或多个十进制数位,第一位不能是0。z八进制 其形式是:0d其中,d可以是一个或多个八进制数(0-7之间),起始0是必须的引导符。z十六进制其形式是:0xd其中,d可以是一个或多个十六进制数(从0-9的数字,或是从” afT' f第4页共43页C程序设计复习的 字母)。引导符0是必须的,字母 X可以用大写或小写。整型数据在内存中是以二进制方式存放的,最高位为符号位,并
8、以补码表示。将一个十进制整数转化为补码表示的方法如下:z对于正数,其补码表示与原码相同。z对于负数,其补码表示为它的反码加1;负数的反码为其绝对值的所有 位(含符号 位)取反得到。 对于用补码表示的数据,还原为原码的方法如下:z对于正数(补码表示的符号位为0),原码与补码相同。z对于负数,原码一定为负数,其绝对值为除符号位以外所有位取反后加1。实型常量 实型常量又称浮点型常量,是一个用十进制表示的符号实数。实型常量表示 形式有以下两种:z十进制小数表示方式z指数表示方式 注:e之前必须有数字,e后面的指数必须为整数。字符常量 字符常量又分为字符型常量、字符串常量、转义字符和符号常量四种类型。z
9、字符型常量 字符型常量是指用一对单引号括起来的一个字符。z字符串常量 字符串常量是指用一对双引号括起来的一串字符。 例:ddd三位八进制xhh二位十六进制z符号常量C语言允许将程序中的常量定义为一个标识符,称为符号常量。例:#define PI 3.14159264、运算符运算符:狭义的运算符是表示各种运算的符号。表达式:使用运算符将常量、变量、函数连接起来,构成表达式。算术运算符 +、一、*、 /、 注:% ”运算符的操作数只能是整数。“您算符的运算结果根据操作数的类型而定。自增和自减运算符+、一一注:自增和自减运算符只适用于单个变量,而不能用于表达式或常量。赋值运算符 =复合的赋值运算符+
10、 =、 =、* =、 / =、=注:复合的赋值运算符只能是双目运算符。关系运算符 <、 <=、>、 >=、 =、逻辑运算符 !、 &&、 |逗号运算符 表达式1,表达式2,条件运算符 c ? e1 : e2长度运算符 sizeof()5、类型转换数据的混合运算和类型自动转换C语言允许不同类型的数据混合运算, 但此时要遵循一定的规则,将运算符两边的操作数 转换成共同的类型,具体转换原则是将运算符两边的数据转换成为它们之中数据最长的数据类型,以保证运算的精度不会低。强制类型转换(类型名称)(表达式)第5页共43页C程序设计复习_(1)类型说明和表达式都需要加
11、括号(单个变量可以不加括号)(2)无论隐式转换,强制转换都是临时转换,不改变数据本身的类型和值。二.练习用NR S图表示下列问题:1 .有两个瓶子 A和B,分别盛放醋和酱油,要求将它们互换。2 .依次将10个数输入,要求将其中最大的数打印出来。3 .有3个数a、b、c,要求按从大到小的顺序把它们打印出来。4,求 1+2+3+100o5 .判断一个数n能否同时被3和5除。6 .将100200之间的素数打印出来。7 .求两个整数 m和n的最大公约数。8 .求方程ax2+bx+c=0的根;分别考虑有两个不等的实根和有两个相等的实根的情况。.填空题:1 .若k为整型变量且赋值 11。请写出运算k+后表
12、达式的值 J1 和变量的值12 q2 .若x为double型变量,运算x=3.2 , +x后表达式的值4.2 和变量的值 4.2。3 .函数体由符号 开始,用符号结束。函数体的前面是声明 部分,其后是执行部分。4 . C语言中的标识符可分为关 、和预定义标识符三类。5 .在C语言程序中,用关键字int 定义基本整型变量,用关键字 定义单精度 实型变量,用关键字 定义双精度实型变量。6 .把a1、a2定义成单精度实型变量,并赋初值1的定义语句是 float a1,a2;。7 . C程序中定义的变量,代表内存中的一个地址 。8 .表达式3.5+1/2的计算结果是 3.5。9 .写出数学表达式a也三
13、个等价的C语言表达式 、。c *d10 .通常一个字节包含 8 个二进制位。11 .当计算机用两个字节存放一个整数时,能存放的最大(十进制)整数是32767、最小(十进制)整数是 -32768。12 .在C语言中整数可用 进制数、进制数和 进制数三种数制表示。13 . C语言中,int型数据占 2 个字节,long型数据占 4 个字节,unsigned int 型 数据占 2 个字节,short型数据占 2 个字节,float 型数据占4 个字节,double 型数据占 8 个字节,char型数据占一个字节。.选择题:1 .以下选项中正确的整型常量是( B )。A. 12. B . -20 C
14、 . 1, 000 D . 4 5 6 第6页共43页C程序设计复习2 .以下选项中正确的实型常量是(D )。A. 0 B , 3. 1415 C . 0.329 X102D . .8713 .以下选项中不合法的用户标识符是( B )。A. _123 B . printf C . A$ D . Dim4 . C语言中运算对象必须是整型的运算符是( A )。A. % B . / C . ! D . *5 .可在C程序中用作用户标识符的一组标识符是( B )。A. void B . as_b3 C . For D .2cdefine _123 -abc DOWORD If case SIG6 .若
15、变量已正确定义并赋值,不符合C语言语法的表达式是(C )。A. a=a+7; B . a=7+b+c, a+ C . int (12.3%4) D . a=a+7=c+b7 .不合法的八进制数是(B )。A. 0 B . 028 C . 077 D . 018 .不合法的十六进制数是( A )。A. oxff B . 0Xabc C .0x11 D .0x19.程序设计题:略第7页共43页C程序设计复习第三章顺序程序设计一.知识点1 .算法:为解决一个问题而采取的方法和步骤。2 .算法的分类:数值算法、非数值算法。3 .算法的特点:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性。4
16、 .算法描述方法:自然语言、流程图、改进流程图、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 ,mn,-。10 . scanf 的格式符:d、i ,o,x、X,u,c,s, f,e、E,g、G;l ,m,*; & 注意输入数据
17、时数据流的分隔符,系统默认的分隔符为空格、tab键和回车。11 .顺序结构的设计思想:定义(声明)变量、输入数据、处理数据、输出结果。 【要点归纳】1、 C语言语句一个C程序应包括数据描述(由数据声明部分来实现)和数据操作(由执行语句来实现)两部分。C语句分为以下五类:z控制语句(9种)z函数调用语句z表达式语句z空语句z复合语句2、数据输出在C语言中可以使用printf( )、 putchart( )、 puts()等函数进行数据输出。注:在printf ()语句中,是从右向左计算输出表达式的值。3、数据输入在C语言中可以使用scanf(卜getchar(卜gets()等函数进行数据输入。注
18、:scanf ()函数中没有精度控制。gets(str);与scanf( "%§ ,s啾差别是:使用gets()函数输入的字符串可以含有空格,而scanf( “ s”福能输入含空格字符的字符串。二.练习.填空题:1 .以下程序段执行后的输出结果是:。int i=-200, j=2500 ;printf (" %d %d”, i , j );printf (" i=%d , j=%dn ”, i , j );第8页共43页C程序设计复习printf (" i=%dn j=%dn ”, i , j );2 .复合语句在语法上被认为是一条词句。空语句
19、的形式是 一。3 . C语句的最后用一结束。4 .以下程序段的输出结果是 。int x=0177; printf("x=%6d x=%6q x=%6x x=%6un” , x, , x, x, x);5 .以下程序段的输出结果是 。double a=513.789215;printf("a=%8.6f, a=%8.2f , a=%14.8f, a=%14.8lfn ”, a, a, a, a);6 .以下程序段的输出结果是 。a=3+5, a*4; x=11/3 ; printf ("%d %dn',a, x);7 .以下程序输入三个整数值给a、b、c,程
20、序把b中的值给a,把c中的值给b,把a中的值2c,交换后输出a、b、c的值。请填空:#include <stdio.h>main () int a , b, c, ;printf ("Enter a , b, c:");scanf ("%d %d %d, ); a=b; b=c; ;printf ("a=%d b=%d c=%dn”, a, b, c); 8 .以下程序不借助任何变量把a、b中的值进行交换。请填空:#include <stdio.h>main () int a , b;printf ("Input a ,
21、 b:");scanf ("%d %d', );a+= b; b=a- b; a=a- b;printf ("a=%d b=%dn”, 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 ("%dn",i); BC . a=5, c=10 D . ; 3 .以下合法的C语言赋值语句是(B D
22、 )。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 ("%dn", y=x/y ); 第9页共43页5.A.C.6.A.C.若变量已正确说明为int read (a, b, c);scanf ("D%D%D &a, 若变量已正确定义,要将 a=a+b, b=a-b , a=a-b ;a=t; t=b ; b=a;C程序设计复习类型,要给a、b、c输入数据,正确
23、的输入语句是( D )。B. scanf ("%d%d%d a, b, c);&b, &c);D . scanf ("%d%d%d &a, &b, &c);a和b中的数进行交换,下面不正确的语句组是(B . t=a , a=b, b=t;.t=b ; b=a; a=t ;C )。7.A.B.若变量已正确定义,以下程序段的输出结果是( 输出格式说明与输出项不匹配,输出无定值D )。8.A.5.1700 C . 5.16800 D x=5.16894 ; printf ("%fn", 执行以下程序段后,c3中的值是(
24、0 B . 1/2 C . 6900(int ) (x*1000+0.5 ) / (float ) 1000);9.int c1=1 , c2=2 , c3; c3=c1/c2执行以下程序段后,其输出结果是(A.0, 0, -10int a=0B . 0, 0, 5,b=0, c=0; c= (a-=a-5)°.-10 , 3, -10(a=b, b+3);D . 3, 3, -10printf ("%d %d %dn”, a, b,10.以下程序的输出结果是(A )。A. a=%2 b=%5 main () int a=2B . a=2, b=5 C.a=%
25、d b=%d.a=%d b=%d,b=5; printf(" a=%d b=%dn ,a,b);11.若int型占两个字节,以下程序段的输出是(A. -1 , -1 B , -1 , 32767 C int a=-1; printf ("%d, %un”,a,D )。32768.-1 , 6553512 .以下程序段的输出结果是(A. |3.1415| B . | 3.0| float a=3.1415; printf13 .以下程序段的输出结果是(C )。C (“|%6.0f|n3| a);3.|A. 9 8 B.以上三个都不对#include <math.h>
26、; main () double a=-3.0,printf ("3.0fb=2;%3.0fn14.若a为整型变量,则以下语句(A.赋值不合法Ba=-2L ; printf15. 若有定义 char s=.输出值为(" %dn”,'092A,使s的值包含1个字符C.使s的值包含4个字符-2a);,powB )。Cfabs ( a), pow (fabs.输出为不确定值B )。.定义不合法,s的值不确定.使s的值包含3个字符第10页共43页(a), b); .输出值为2C程序设计复习16 .若k、g均为int型变量,则下列语句的输出为(A. 15 B . 16 C .
27、 15 D . 166f 7071 6fk=017; g=111; printf("%dn", +k) ; printf ("%xn”, g+);17 .已知字母a的ASCII十进制代码为97,执行下列语句后的输出为( C )。A. b, c B .a-运算不合法,故有语法错误C. 98, c D .格式描述和输出项不匹配,输出无定值char a= 'a' a- ; printf ("%d %cn”, a+ '2' - '0', a+ '3' - '0');18 .下列程序的
28、输出为( 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 ("%fn", x); 19 .下列程序的输出结果是( C )。A. 18 B . 9 C . -18 D . -9 main () int a=9; a+=a-=a+a; printf ("%dn", a);20 .下列程序的输出结果是(A
29、 )。A. 0 B . 5 C . 1 D .不确定值 main () int a=7, b=5; printf ("%dn", b=b/a ); 21 .下列程序的输出结果是(C )。main () int a=011A. 12 B . 11 C . 10 D . 9;printf(" %dn", +a); .程序设计题:1 .编写程序,输入两个整数1500和350,求出它们的商和余数并进行输出。2 .编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小 数点后第二位数进行四舍五入,最后输出结果。3 .输入一个华氏温度,要求输出
30、摄氏温度。公式为:c=5 (f-32 ) /9。第四章选择结构程序设计.知识点第11页共43页C程序设计复习&& |的运算规则。1 .关系运算符、逻辑运算符、逻辑值的表示与含义;注意2 .三种if语句3 .选择结构的嵌套,注意 if与else的配对;4 .条件运算符:?:5 . switch语句,注意其执行过程;6 .选择结构程序设计思想。【要点归纳】1、 if语句if语句有三种使用形式单分支if语句。if (条件)语句; 双分支if语句。if (条件)语句1;else语句2;多分支if语句。if (条件1) 语句1;else if (条件 2)语句 2; else if (条
31、件 n)语句 n;else 语句 n+1;2、 switch (开关)语句switch语句用于方便地从多个语句中选择一个或多个语句执行。switch (表达式)(case常量表达式 1 :语句1;case常量表达式 2: 语句 2; case 常量表达式 n: 语句 n;default :语句 n+1 ;注:表达式的值一定是整型值,若为其他类型,最后都要转换为整型数。二.练习.填空题:1. C语言中用j表示逻辑值“真",用 0 表示逻辑值“假”2. C语言中的关系运算符按优先级别是 、3. C语言中的逻辑运算符按优先级别是 、。4. C语言中的关系运算符和逻辑运算符的优先级别是、 O
32、5. C语言中逻辑运算符的!优先级高于算术运算符。第12页共43页C程序设计复习6. 将下列数学式改写成 C语言的关系表达式或逻辑表达式:a=b 或 a<c (a=b)|(a<c)|x|>4 fabs(x)>4 7,下列程序的输出结果 J。main () int a=100;if (a>100) printf ("%dn”, a>100) ; else printf("%dn", a<=100); e 0(4) c=b>e 1!e && e=b=+c 0 8.若已知a=10、b=15、c=1、d=2、
33、e=0,请分别给出下列表达式的运算结果: a*b && c 1 a+b>10 | a+b<0 1 !a<e 0(6) a+ && e+ && c+ 0(0<a) && (a<2) 0 (9) 1.234 && 5.982 1 10 0) (b=10) && (a=10) 0 (11) !0 | d && a=c+d 0 (a+c=b)=(b+d=a) | (c=b+a)>(d=c+b) 1 11 当 a=1、b=2、c=3 时,执行以下 if 语句
34、后,a= 3、b= 2、c=2。if (a>c); b=a; a=c; c=b;12 .当 a=1、b=2、c=3 时,执行以下 if 语句后,a=、b=、c=。if (a>c) b=a; a=c; c=b;13 .当 a=1、b=2、c=3 时,执行以下 if 语句后,a=、b=、c=。if (a>c) b=a, a=c; c=b;14 .将以下两条if语句合并为一条if语句: if (a>b) scanf ("%d, &x) ; else scanf ("%d, &y);if 语句:k=1 ; else k=0;3或7整除,若能整
35、除,输出“ YE6,若不能if (a<=b) i+ ; else j+ ;15 .将以下嵌套的if语句改写成不嵌套的if (w<0) k=0 ; else if(w<=100)16 .以下程序判断输入的一个整数是否能被整除,输出“ NO。请填空:#include <stdio.h>main () int k ;printf E Enter a int numberscanf ("%d',&k);if ( k%3=0|k%7=0 ) printf("YES'n"); else printf("NO
36、9;n"); 17 .在switch 语句中,当执行到 break语句时,使流程 。.选择题:1 .若给定条件表达式(M)? ( a+): (a-),则和表达式 M等价的表达式为(B )。A. M=0 B . M=1 C . M! =0 D . M! =12 .为表示关系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 .以下程序的输出结果是(A )。A. 0 B
37、 . 1 C . 2 D . 3第13页共43页C程序设计复习main () int a=2, b=-1 , c=2;if(a<b)if (b<0) c=0 ;else c+=1;printf ("%dn", c); 4 .以下程序的输出结果是(A )。A. 1 B . 2 C .3 D . 4main () int w=4 , x=3, y=2, z=1 ; printf ("%dn", (w<x ? w : z<y ? z : x ); 5.若执行以下程序时,从键盘上输入 3和4,则输出结果是(B )。A. 14 B . 16
38、 C . 18 D . 20 main () int a , b, s; scanf ("%d %d, &a, &b); s=a ; if(a<b) s=b;s*=s ; printf ("%dn", s); 6 .在C语言中,if语句后的一对圆括号中,用以决定分支的流程的表达式( D )。A.只能用逻辑表达式B .只能用关系表达式C.只能用逻辑表达式或关系表达式D .可用任意表达式7 .下列程序段运行后,x的值是(D )。 A. 14 B . 4 C . 15 D . 3ok1=1; ok2=2; ok3=3; x=15;if (! ok1
39、) x-;8.在C语言中,switchA.可以是任何类型C.可以是整型或字符型else if (ok2) if语句后一对圆括号中B .只能为int(ok3) x=3;exp的类型型D .只能是整型或实型else x=4 ;(DC )。9.以下各组运算符中,优先级最高的分别为(B CC DA. ? :B.+ C . &&D.+=A. *= B.>= C . ()D .A. | B.%C . !D.= A. =B.!= C. *(乘)D .()10.若a为整型变量,b为字符型变量,则以卜止确的switch 语句是(A. switch (int ) x/10)B . switc
40、h(b) case 1: a+;break ; case'042'x=a/b ; breakcase 2: b+;break ;case6 ;x=a*b ; break ;case 3: c+;break ;case'010'x=a+c; breakC. switch (int ) x/10);D . switch(a/100+10 )case 0: a+;break ; case2:x=a/b ; break ;第14页共43页AC程序设计复习default:b+; break ;case6:x=a*b ; break ;case 3+1:c+; break
41、;case8:x=a+c; break ;case 3:d+; break ;case10:x=a-c ; break ;.程序设计题:1 .从键盘输入一个字母,若是大写字母,要求改用小写字母输出。2 .求 ax2+bx+c=0 的根。a、b、c 由键盘输入,设 b2-4ac>=0.第五章循环结构程序设计一.知识点1. .循环的概念,C实现循环的方法;2. goto语句,注意标号的书写;3. while语句,注意条件表达式的设计;第15页共43页C程序设计复习4. dowhile语句,注意条件表达式的设计,及 while之后的分号;5. for语句,注意for中三个表达式的一般含义;6.
42、 循环的嵌套;7. break与continue 语句,注意二者之间的区别;8. 循环结构程序设计思想【要点归纳】1、while循环语句 while (条件)语句; 注:先判断条件,后执行语句;2、do while循环语句do语句;while (条件);注:先执行一次循环体,再判断条件。While和do-while语句的差别是,后者至少执行语句“一次,而前者有时一次也不执行语句。3、for循环语句for(表达式1;表达式 2;表达式 3) 语句;注:省略各个表达式时,应能够知道其意义。表达式1”可以省略,此时应在该语句之前给循环变量赋初值。其后的分号不能省略。 表达式2”可以省略,即无判定条件
43、,循环无终止进行下去。 需要在循环体中用break等语句退出循环。表达式3”可以省略,这样需要在循环体语句”中让循环变量变化,以保证循环能正常结束。(4)表达式1”和 表达式3”可以同时省略,这样为和两种情况同时出现,需要使用相 关语句保证循环结束。三个表达式都可省略,这样为和两种情况同时出现,需要使用相关语句保证循环结束。 #include<stdio.h> void main() int i=1,sum=0; for(; ;) if(i>100) break; sum+=i; i+; printf( "sum=%d” ,sum); 4、break语句break语
44、句的使用格式很简单,由关键字 break和分号构成,其功能如z在switch语句中,break用来使程序流程跳出switch语句,继续执行 switch后的语句;z在循环语句中,break用来从最近的循环体内跳出来。5、continue语句continue语句只能用于循环语句中,作用为结束本次循环,即跳过循 环体中尚末执行的语句,接着进行是否执行下一次循环的判定。二.练习.填空题:1 .以下程序段的输出结果7 18qx=y=0; while (x<20) y+, x+=3;第16页共43页C程序设计复习printf (" y=%d x=%dn",y, x);2 .当执
45、行以下程序段后,i的值是也、j的值是/、k的值是 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 , mi, n; n=10; m=1; k=1;while (k<=n) m*=2; printf ("%dn", mj);4 .以下程序的输出结果-1。main () int x=2; while (x- ); printf("
46、%dn", x); 5 .以下程序段的输出结果10 Qint i=0 , sum=1; do sum+=i+ ; while (i<5); printf ("%dn", sumi);6 .有以下程序段:s=1.0 ; for (k=1; k<=n; k+) s=s+1.0/ (k* (k+1); printf ("%fn", s);要使下面的程序段的功能与上面程序段的功能相同,请填空:s=0.0 ; k=0; d=1.0;do s=s+d ;k+; d=1.0/ (k* (k+1); while ( k<=n);printf
47、("%fn", 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=%fnamin=%fn ", amax, amin); 8
48、 .以下程序段的输出结果12 12 16 28 16 44。a=10; y=0;do a+=2 ; y+=a;printf ("a=%d y=%dn",a, y);if (y>50) break ; while (a=14);9 .下列程序段中,for循环的循环次数为 4。a=2; b=10; for (i=b ; i<=a ; i- , a+) printf("%3d, i);10 .以下程序段的输出结果 。for (i=0 ; i<3 ; i+ , i+ )第17页共43页C程序设计复习 for (j=10 ; j>0 ; j-) if
49、(j+i ) %2) j-; printf ("*%d ", j); continue ; -j; -j ; printf (" %d ",j ); printf ("n"); .选择题:1 .以下程序段的输出结果是(D )。A. 9 B . 1 C . 11 D . 10int k , j , s;for (k=2; k<6; k+, k+) s=1 ; for (j=k ; j<6 ; j+) s+=j ; 2 .以下程序段的输出结果是(C )。A. 12 B . 15 C . 20 D . 25int i , j ,
50、 m=0;for (i=1 ; i<=15 ; i+=4 )for(j=3 ; j =19; j+=4 > m+;printf % %dn”, m) ;3 .以下程序段的输出结果是(A. 109int n=10while(n>7)4 .以下程序段的输出结果是( n-C ) .1;printfo-2 D("dn",n); int x=3 ; do printf5 .以下程序的输出结果是("%3d , x-=2 ); while死循环(! (-x );A. 15 main int iB . 140,sum for)°.不确定6 .以下程序的
51、输出结果是A.741 B(i=1 ;【BCi<6 ; i+)°.963sum+=sum printf (" %dn", sum); .8754217 .A.main () for ( 若x是int int y=10;y>0; y-)if (y%3=0) printf型变量,以下程序段的输出结果是(*3#4*5forB*4#5(x=3;.#3*4#5x<6; x+)8 .以下程序的输出结果是(C . #3 D*5("%d , -y ); continue ; D )。*3#4printf(x%2) ? ( "*%d”) :(“#
52、%dn"),x);C )。第18页共43页C程序设计复习A. *#*#*#$ B . #*#*#*$ C . *#*#$ D . #*#*$ main () int i ;for (i=1 ; i<=5 ; i+ ) if(i%2) printf ("*"); else continue ;printf ("#"); printf("$n");9 .以下叙述正确的是(D )。A. do_while语句构成的循环不能用其它语句构成的循环来代替。B. do_while语句构成的循环只能用break语句退出。C.用do_wh
53、ile语句构成循环时,只有在 while后的表达式为非零时结束循环。D.用do_while语句构成循环时,只有在 while后的表达式为零时结束循环。10 .以下程序的输出结果是(B )。A. 39 81 B . 42 84 C . 26 68 D , 28 70 main () int x , i ;for (i=1 ; i<=100 ; i+ ) x=i ; if (+x%2=0 if (+x%3=0 if (+x%7=0 printf ("%d ", x); printf ("n"); 11 .对下面程序段描述正确的是( C )。A. whi
54、le循环执行了 10次 B .循环是无限循环C.循环体语句一次也不执行D .循环体语句只执行一次int x=10 ; while (x=0) x=x-1 ;12 .以下关于for循环的正确描述是(D )。A. for循环只能用于循环次数已确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用 break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来13.下列程序段中是死循环的是(C)。A. int n=1 ; while (! n) n+;B . int n=1 ; do n-; while (n);C. int n=1 ;
55、do n+ ; while (n);D . for (n=5; n<1;);14.以下能正确计算 1X2X3X-X10的程序段是(C )。A. do k=1 ;n=1; n=n*k;k+;while(k<=10);B. do k=1 ;n=0; n=n*k;k+ ;while(k<=10);C. k=1 ; n=1 ;do n=n*k;k+ ;while(k<=10);D. k=1 ; n=0;do n=n*k;k+ ;while(k<=10);.程序设计题:1 .编写程序,求 1-3+5-7+-99+101的值。 第19页共43页C程序设计复习2,求 1+2+3+ 100 的值。3 .把100200之间的不能被3整除的数输出。4 .求Fibonacci数列前40个数。5 .打印100以内的所有素数。第六章函数一.知识点1 .函数定义的一般形式:函数类型函数名(形参类型 形参名,)函数体2 .函数的参数:注意形参与实参在类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中学体育教学个人工作总结
- 儿童消化道出血管理指南
- 2026年捕集式浓密机行业分析报告及未来发展趋势报告
- 2026年碘化钠口服溶液行业分析报告及未来发展趋势报告
- 2026年神经修复中的生物制品行业分析报告及未来发展趋势报告
- 2026年纳美芬行业分析报告及未来发展趋势报告
- 2026年沿海省际液化气船行业分析报告及未来发展趋势报告
- 2026年汽车油封行业分析报告及未来发展趋势报告
- 2026年易切削铜行业分析报告及未来发展趋势报告
- 2026年中小学防溺水安全知识竞赛题库与答案
- 冠心病合并高血压病例临床诊疗讨论
- 肺结节科普知识课件
- 2026届江苏省苏州市高三上学期开学摸底考试语文试卷
- 2025夏季中国盐业集团有限公司招聘考试参考试题及答案解析
- 药物释放机制-洞察及研究
- 《焊条电弧焊》课件-项目二 焊条电弧焊基本技能
- 国际物流讲解课件
- 水电安装监理培训课件
- 《扎实推动科技创新和产业创新融合发展 加快发展新质生产力》课件
- 2025年云南省中考地理试卷含答案
- 消防设备项目投标方案投标文件(技术方案)
评论
0/150
提交评论