C语言(2010)总复习

合集下载

《C语言》总复习题

《C语言》总复习题

《C语言》课程综合复习资料一、单项选择1. 若有如下语句: int *p1,*p2; 则其中int所指的是(D )A. p1的类型B. *p1和*p2的类型C. p2的类型D. p1和p2所能指向变量的类型2. 下列程序段的输出结果是(C )x=9; while(x>7) {printf(“*”);x--;}A. ****B. ***C. **D. *3. 下列变量的定义及赋值正确的是(C)A. int i=0;j;B. char c=”A”;C. double x,y,z; x=y=z=100;D. float a=b=100;4. 设有语句:int x=10;x = x -= x - x;,则执行语句后,x的值为(B )A. 30B. 20C. 10D. 405. 设有语句:float x=1,y; y=x 3/2; 则y的值是(C )A. 1B. 2C. 2.0D. 2.56. 设有如下定义和执行语句,其输出结果为(A )int a=3,b=3; a = --b + 1; printf(“%d %d”,a,b);A. 3 2B. 4 2C. 2 2D. 2 37. 设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后的为(C )A. strcpy(str1,str2);B. strcpy(str1, “China”);C. strcat(str1,“China”)D. strcat(“Beijing”,str2);8. 设有定义语句:char str[][20]={""Hello"",""Beijing""},*p=str; 则printf(""%d\n"",strlen(p+20)); 输出结果是(C )A. 0B. 5C. 7D. 209. 设有定义int a[ ]={1,5,7,9,11,13},*p=a 3;则*(p-2),*(a 4)的值是(A )C. 5 9D. 有错误10. 设有定义:int x=0,y=1,z=1;则运行表达式:x=y >z--后,x,y,z的值分别是(D )A. 1,1,1B. 1,2,0C. 0,1,1D. 0,2,011. 设有定义:int x=12,n=5; 则表达式x%=(n%2) 的值为(A )A. 0B. 1C. 2D. 312. 设有定义int a=3,b=4,c=5; ,则以下表达式中,值为0的表达式是(D )A. a&&bB. a<=bC. a||b c&&b-cD. !((a<b)&&!c||1)13. 设有定义int a[ ]={1,5,7,9,11,13}, *p=a 3; 则*(p-2) , *(a 4) 的值是(A )A. 5 11B. 1 9C. 5 9D. 有错误14. 设有定义char *p=“abcde\0fghjik\0”; 则printf(“%d\n”,strlen(p));输出结果是(D )A. 12B. 15C. 6D. 515. 设有int x=11;则表达式(x *1/3)的值是(A )A. 3B. 4C. 11D. 1216. 设a=3,b=4,c=-5,则逻辑表达式:a || b c && b==c 的值是(A )A. 1B. 0C. 非0D. 语法错17. 若有以下定义:int a[10],*p=a; 则*(p+3)表示的是(B )A. 元素a[3]的地址B. 元素a[3]的值C. 元素a[4]的地址D. 元素a[4]的值18. 若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是(A )A. ps 3D. ps =3,*ps19. C语言中,函数返回值的类型是由(D )A. return语句中的表达式类型决定B. 调用函数的主调函数类型决定C. 调用函数时的临时类型决定D. 定义函数时所指定的函数类型决定20. C语言提供的合法关键字是(D )A. swicthB. chaC. CaseD. default二、读程序题1. "#include <stdio.h>void main(){ int a=4,x=3,y=2,z=1;printf(""%d\n"",(a<x ? a : z<y ? z : x)); }"2. "#include <stdio.h>void main(){ int x=12,y=0;if(x>=0){ if(x>0) y=10; }else y=-10;printf(“y=%d\n”,y);}"3. "#include <stdio.h>void main(){ int k=1;switch(k){ case 0: printf(""A""); break;case 1: printf(""B"");case 2: printf(""I"");case 3: printf(""G""); break;default: printf(""E"");}}"4. "#include <stdio.h>#define S(x) x*xvoid main(){int a,k=3,m=1;a=S(k+m);printf(""%d"",a);}"5. "#include <stdio.h>int fun(int a, int b){ if(a>b) return(a);else return(b);}void main(){ int x=3, y=8, z=6, r;r=fun(fun(x,y), 2*z);printf(""%d\n"", r);}"6.#include <stdio.h&>void main(){ int k=4,n=0;for(;n<k;){ n++;if(n%3!=0) continue;k- -;}printf(""%d,%d\n"",k,n);}三、编程题1. 写一个判断素数的函数。

C语言基础知识总复习(精华浓缩+考前突击必备)

C语言基础知识总复习(精华浓缩+考前突击必备)

C语言基础知识总复习(精华浓缩+考前突击必备)总体上必须清楚的:1)程序结构是三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。

3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。

byte 是指字节, 一个字节= 八个位.5)一定要记住二进制如何划成十进制。

概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。

C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。

2、每个C语言程序中main函数是有且只有一个。

3、在函数中不可以再定义函数。

4、算法的是一定要有输出的,他可以没有输入。

5、break可用于循环结构和switch语句。

6、逗号运算符的级别最低。

第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。

有其它元素就错了。

并且第一个必须为字母或则是下划线。

第一个为数字就错了。

关键字不可以作为用户标识符号。

main define scanf printf 都不是关键字。

迷惑你的地方If是可以做为用户标识符。

因为If中的第一个字母大写了,所以不是关键字。

2)实型数据的合法形式:2.333e-1 就是合法的,且数据是 2.333×10-1。

考试口诀:e前e后必有数,e后必为整数。

.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。

'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。

4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。

C语言基础知识总复习考前突击专用

C语言基础知识总复习考前突击专用

C语言基础知识总复习(考前突击专用)总体上必须清楚的:1)程序结构就是三种: 顺序结构、选择结构(分支结构)、循环结构。

2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。

3)计算机的数据在电脑中保存就是以二进制的形式、数据存放的位置就就是她的地址、4)bit就是位就是指为0 或者1。

byte就是指字节, 一个字节 = 八个位、概念常考到的:1、编译预处理不就是C语言的一部分,不占运行时间,不要加分号。

C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。

2、define PI3、1415926; 这个写法就是错误的,一定不能出现分号。

3、每个C语言程序中main函数就是有且只有一个。

4、在函数中不可以再定义函数。

5、算法:可以没有输入,但就是一定要有输出。

6、break可用于循环结构与switch语句。

7、逗号运算符的级别最低,赋值的级别倒数第二。

第一章C语言的基础知识第一节、对C语言的基础认识1、C语言编写的程序称为源程序,又称为编译单位。

2、C语言书写格式就是自由的,每行可以写多个语句,可以写多行。

3、一个C语言程序有且只有一个main函数,就是程序运行的起点。

第二节、熟悉vc++1、VC就是软件,用来运行写的C语言程序。

2、每个C语言程序写完后,都就是先编译,后链接,最后运行。

(、c---→、obj---→、exe)这个过程中注意、c与、obj文件时无法运行的,只有、exe文件才可以运行。

(常考!) 第三节、标识符1、标识符(必考内容):合法的要求就是由字母,数字,下划线组成。

有其它元素就错了。

并且第一个必须为字母或则就是下划线。

第一个为数字就错了2、标识符分为关键字、预定义标识符、用户标识符。

关键字:不可以作为用户标识符号。

main define scanf printf 都不就是关键字。

迷惑您的地方If就是可以做为用户标识符。

2010.06--程序设计基础复习大纲

2010.06--程序设计基础复习大纲

程序设计基础复习大纲一、C语言概述标识符的规定:字母、数字、下划线组成,第一个不能是数字。

区分大小写(如:Xyz与xYZ 不是同一标识符)。

不能使用系统使用过的关键字。

二、基本数据类型和表达式int(整型)、float(单精度浮点型)、double(双精度浮点型)、char(字符型)整形常量:十进制整常量、八进制整常量(以0开头)、十六进制整常量(以0X或0x开头)。

字符常量:单引号括起来的一个字符。

(例:‘A’、‘7’、‘\n’、‘\xa3’、‘\141’都为合法的字符常量;不合法的字符常量如:“A”、A、65、‘65’、“\0”、‘\081’、‘XY’)字符串常量:用双引号括起来的一个或多个字符。

运算符的优先级:算术运算符、关系运算符、逻辑运算符的优先级(注意哪个最高、哪个最低)算术表达式:x/y(当两个运算量都为整数时,表达式的值取整)x%y(求余,要求两边的运算量必须是整型)++和- -运算符的运算量一定是变量,不能是常量和表达式。

注意前置和后置的区别。

如何判断一个逻辑值为真和假?(非0和0);如何表示一个逻辑值为真和假?(1和0)。

条件表达式:x>y?x:y (条件运算符是唯一一个三目运算符)求表达式的值:可根据运算符运算特性和优先级及结合性进行运算。

强制类型转换只是改变当前变量或表达式值的类型,而没有改变变量的类型。

例:已知:int x=4,y=3,a=2,b=3;求解表达式。

(1)x>y?x:a>b?a:b(答案:4)(2)x++||!y (答案:1)(3)a+=a-=a*a (答案:-4)(4)a++/y++ (答案:0)(5)x%3+(x+1)%4 (答案:2)( 6 ) x+y,x*a,a*b (答案:6)( 7 ) (float)y/a (答案:1.5)三、语句每个语句必须是分号结束,分号是语句的一部分。

(如:x+y=0不是语句,而x+y=0;则是语句) 结构化程序设计的三种基本结构:顺序结构、选择结构、循环结构选择语句:if、if…else语句开关语句(switch语句):可以实现多分支选择,switch语句中,case后的常量表达式必须是互不相同。

C 语言总复习

C 语言总复习

一、判断题。

1、#include 、#define、scanf和printf都不是C语句。

(对)//#号开头的,是C语言的命令,最后不加分号“;”。

scanf和printf是输入和输出函数,不是C 语言的语句-----C语言里没有输入和输出语句,是由函数(如:这里的scanf 和printf函数)来实现输入和输出的。

2、一个include命令只可以指定一个被包含的文件。

(对)//include命令一次只可以指定一个包含的文件,要包含多个文件要用多个include命令3、参加位运算的数据必须是整型的数据。

(对)//如:不能使float类型的数据4、若有int i=9, j=3; 则执行完i*=j+10; 后i的值为20。

(错)//i*=j+10=>i=i*(j+10)=9*(3+10)=9*135、9&3+11的值是12。

(错)// 9&3+11=9&(3+11)=>1001&1110=1000=>86、关系运算符>=与==的优先级相同。

(错)//关系运算符的前4个(>、>=、<、<=)的优先级相同。

后两个(==、!=)的优先级相同,并且低于前4个的优先级。

7、若i=5,则printf(“%d”,-i++);输出的值为-6。

(错)//++在后面是先将-i打印,再将i加1。

如果是printf(“%d”,- ++i);则输出的值就为-6.8、语句printf(“%f%%”,10.0/3);输出为3.333333。

(错)//10.0/3确实是3.333333,但是这里还有%%,所以输出的结果应该是3.333333%9、若有int i=20, j=0;则执行完语句if(j=0)i++;else i--;i的值为21。

(错)//注意这里是j=0,一个等号是赋值,也就是j=0,这里是假,所以应该执行else i—部分,i的值为19.10、若有定义和语句:int a[3][3]={{3,5},{8,9},{12,35}}, i, sum=0;for(i=0;i<3;i++) sum+=a[i][2-i];则sum=21。

2010年计算机二级C语言机考题库

2010年计算机二级C语言机考题库

给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。

例如,输入一个数:27638496,新的数为:739。

void fun(unsigned long *n){ unsigned long x=0, i; int t;i=1;while(*n)/**********found**********/{ t=*n % __1__;/**********found**********/if(t%2!= __2__){ x=x+t*i; i=i*10; }*n =*n /10;}/**********found**********/*n=__3__;}答案:(1)10 (2)0 (3)x2.改错题给定程序MODI1.C中函数fun的功能是:计算n!。

例如,给n输入5,则输出120.000000。

double fun ( int n ){ double result = 1.0 ;/************found************/if n = = 0return 1.0 ;while( n >1 && n < 170 )/************found************/result *= n--return result ;}答案:(1)if (n == 0) (2)result *= n--;3.编程题请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数。

例如,若输入字符串“-1234”,则函数把它转换为整数数值-1234。

long fun ( char *p){ int i, len, t; /* len为串长,t为正负标识*/long x=0;len=strlen(p);if(p[0]=='-'){ t=-1; len--; p++; }else t=1;/* 以下完成数字字符串转换为一个数字*/while(*p) x = x*10-48+(*p++);return x*t;给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。

2010级C语言期终考试试题(适用于机电学

2010级C语⾔期终考试试题(适⽤于机电学.2010-2011 学年第⼀学期《C 语⾔程序设计》课内考试卷(A 卷)授课班号年级专业学号姓名⼀、选择题(30分,每⼩题1分)1.以下所列的C 语⾔常量中,错误的是( )A . 0xFF B. 1.2e0.5 C.‘#’ D. '\72' 2. 下⾯四个选项中,合法⽤户标识符的选项是( )A. floatB. _totalC. #123D. M.D.John3. 若有以下类型说明语句:char x; float y; double z; 则表达式x+z-y 的结果类型为( )A. floatB. charC. intD. double4. 设x 、y 、s 均为int 型变量,则执⾏语句:x=y=2;s=x++||++y;后,y 的值为( )A. 不定值B. 2C. 3D. 15. 若有说明语句:char c=‘\67’;则变量c( )A .包含1个字符B .包含2个字符C .包含3个字符D .该说明语句不合法C .2D .27.下⾯程序段执⾏后 int i = 4; float x;x = i /5;x 的值为( )A. 0.8B. 0C. 0.0D. 1.08.设有说明“int a=3,b=5,m;”,则执⾏表达式m=a<=3 &&a+b<8后,m 的值为( )。

. A.true B.false C.0 D.19. 完成下列循环语句后,n的值为多少( )。

for(int n=0;n<100;n++){ }A. 0B.99C.100D.10110. 设有定义int a[]={1,2,3,4,5,6,7,8,9,10}, *p=a,i;则数组元素地址的正确表⽰为( )。

A、&(a+1)B、a++C、&pD、&p[i]11.下列数组定义正确的为( )A.char a[]={3,5}; B.char a[]={‘3’,‘5’};C.char a[]=‘3,5’; D.char a[2]=”3579”;12.有如下定义 int *p=NULL; 表⽰( )A. p指向的单元的值为0B. p指向的单元的值为NULLC. p不指向任何有效单元D. p指向的变量的值为0C. 不确定D. 45main(){ int i , sum=0;for(i=10;i>4;i-=2) sum+=i;printf("%d\n",sum);}14.数组作为函数的形参时,把数组名作为实参,传递给函数的是( )。

C语言总复习1基础(1)

C语⾔总复习1基础(1)C语⾔总复习第⼀部分基础⼀、概述1)程序设计语⾔⾼级语⾔、低级语⾔编译连接f1.c f1.obj fi.exe2)C语⾔概述C语⾔特点P7Turbo C源程序主要特点:1.C程序主要由函数构成,C程序中有⼆种类型的函数:系统函数1、主函数main():每个程序必须有⼀个⽽且只能有⼀个称作主函数的main()函数它代表程序开始执⾏的起始位置。

2、标准库函数:如printf()、scanf()等。

Turbo C开发系统提供三百多个函数。

必须⽤预处理命令把相应头⽂件包含进来。

如#include⽤户⾃定义函数:如max ( )C程序主要由函数构成,这种特点有利于实现程序的结构化(结构清晰)。

2. ⼤多数语句结尾必须要⽤";"作为终⽌符, 否则Turbo C 不认为该语句结束;3. ⼀个C程序总是从main()处开始执⾏,⽽不管main()在源程序中的位置。

4. 每个程序体(主函数和每个⼦函数, 如上例中的main()函数和sub()函数)必须⽤⼀对花括号"{"和"}"括起来;5. C语⾔⽤/* */huo//作注释。

例:#includevoid swap(int x,int y){ int temp;temp=x; x=y; y=temp;}main ( ){int x=10;y=20;swap(x,y);printf(“x=%d,y=%d\n”,x,y);}⼆、数据类型12、常量常量(Constant)与符号常量常量: 在程序运⾏过程中,其值不能被改变的量。

符号常量:代表常量的标识符(符号)。

#define N 33、变量变量:在程序运⾏过程中,其值可以被改变的量。

在源程序中,变量⽤标识符(以字母、数字、下划线组成,且第⼀个字符必须为字母或下划线)表⽰。

C语⾔对变量的要求:“先定义、后使⽤”。

1、整型(int)(1)整型常量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 总 复 习 一、 C的基本数据类型 1. 基本数据类型 要求掌握:变量的数据类型、变量的存储类别、变量的名字、变量的定义形式、变量的地址、变量的值 (1) 数据类型的作用:决定给变量分配内存的大小、并且规定一组允许的操作。如:int x; x的空间大小为4个字节,x可以做加、减、乘、除运算,不能做求余数的运算。 (2) 整型 有符号的整型:int(4) short(2) long(4) 无符号的整型:unsigned int unsigned short unsigned long ① 整型常量的表示形式:十进制(如:82)、八进制(如:017)、十六进制(如:0xab7)、长整型常量(如:12l、12L) ② 整型变量的定义形式:如int a; unsigned long b; ③ 整型变量存放整数的范围:如:short int x; x的范围是-32768-32767,unsigned short int x; x的范围是0-65535 ④ 整数存放的是精确值。 (3) 实型 实型分为:单精度实型(4)、双精度实型(8) ① 实型常量的表示形式:小数形式(如:1.23或1.23f)、指数形式(由三部分组成。如:1.23e-8、0.123E10),实型常量缺省为双精度常量。 2

② 实型变量的定义形式:如:float x; double y; ③ 实型常量存放在实型变量中不是精确值,是一个近似值。 ④ 单精度实数的有效位数为7位,双精度实数的有效位数为15位。 (4) 字符型 ① 字符常量:如:‟a‟,‟?‟,‟*‟ 占1个字节 ② 字符串常量:如:”a”,”中国” ,在内存中占字符个数+1个字节。最后一个字节存放的是字符串结束标记‟\0‟。 ③ 字符变量的定义形式:char x; ④ 字符变量只能存放一个字符。实际存储的是字符的ASCII码的二进制。 ⑤ 字符串常量不能存放在字符变量中,只能存放在字符数组中。 如:char c=‟a‟; (对) char c=”a”;(错) ⑥ 字符数据与整型数据在0-127的范围内是通用的。即 char c=‟a‟;与char c=97;是等价的。 34+‟a‟与34+97是等价的。 2. 变量的存储类别 (1) 变量存储类别的作用:决定变量的存储空间是在动态区,还是静态区。动态区变量的生命周期与函数有关;静态区变量的生命周期与整个程序有关。 如:int x=3;//x是全局变量,直到程序结束。 3

sub(int y) {int w;…} w和y是局部变量,调用sub函数时,w和y存在;调用结束,w和y不存在。 (2) 自动存储类别(auto) ① 在一个函数的函数体中用auto说明的或省略的均作为自动存储类别处理。 ② 自动存储类别的变量在动态区分配内存。 (3) 静态存储类别(static) ① 在一个函数的函数体中用static说明的。 ② 静态存储类别的局部变量在静态区分配内存。 ③ 外部变量(全局变量)在静态区分配内存 (4) 内部变量和外部变量 ① 内部变量:在一个函数内部定义的变量,包括形参和在函数体中说明的变量。 ② 外部变量:在函数之外定义的变量。 内部变量在动态区分配内存,外部变量在静态区分配内存。这句话是否有错? (5) 变量的生命周期 全局变量的生命周期是从定义起,至程序结束。 形参的生命周期是从调用函数起,至函数调用结束。 函数体内变量的生命周期从包含它的最内层的左花括号起,至右 4

花括号止。 如;int x=3; func(float t) {int y; … {int z=5;…} … } void main() {…} 3. 变量的地址 每个变量在内存中占有一定大小的存储空间,其中存储空间的第1个字节的编码称为变量的地址,用“&变量名”表示。 如:int x; &x是x的地址。 如:float y; 假设y的存储空间为: 401 402 403 404 其中的401称为变量y的地址,表示为&y。

4. 变量的值 变量中存放的值是可以改变的。每个时刻只能存放一个值。静态存储的变量,如果没有赋值,系统自动赋0值;动态存储的变量,如果没有赋值,变量中存放的是随机值(不确定)。 5. 变量的初始化:在定义变量的同时给变量赋值。静态变量的初始 5

化在编译阶段进行,动态变量的初始化在运行阶段进行。 如:fun(int x) {int a=3; static int b=5;….} a在动态区分配内存,每次调用函数fun(),a=3总要执行;b在静态区分配内存,b=5只有第1次调用fun()执行1次,以后直接使用上一次调用得到的b。 二、 运算符和表达式 1. C的任何一种表达式的值都是数值,其中关系表达式和逻辑表达式的值只有两个,1或者0。 2. 如果表达式的值用于条件判断,表达式的值为非0,表示“真”,否则表示“假”。 3. 在计算逻辑表达式时,一旦能确定逻辑表达式的值,其余部分不再计算。 如: void main() {int x,y,z; x=y=z=0; ++x||++y&&++z; printf(“x=%d\ty=%d\tz=%d\n”,x,y,z); x=y=z=0; ++x&&++y||++z; printf(“x=%d\ty=%d\tz=%d\n”,x,y,z); x=y=z=0; ++x&&++y&&++z; 6

printf(“x=%d\ty=%d\tz=%d\n”,x,y,z); x=y=z=-1; ++x&&++y&&++z; printf(“x=%d\ty=%d\tz=%d\n”,x,y,z); x=y=z=-1; ++x||++y&&++z; printf(“x=%d\ty=%d\tz=%d\n”,x,y,z); x=y=z=-1; ++x&&++y||++z; printf(“x=%d\ty=%d\tz=%d\n”,x,y,z); } 4. 自增、自减运算的对象必须是变量,其结果使变量值加1或减1。如果自增、自减的变量参与其它运算,会因自增、自减运算符在变量的左侧或右侧而得到不同的结果。 如:x=3; ++x; x++; 如:x=3; 5+x++; 或5+(++x); 如:x=2;y=0; while(x--)y+=x*x; 如:x=2;y=0;while(--x)y+=x*x; 5. 表达式的计算顺序、运算符的优先级和结合性 6. 数据类型的转换 ① 计算表达式时的类型转换(自动进行) ② 赋值运算时的类型转换(自动进行) 7

③ 函数调用时的类型转换(形参=实参,自动进行) ④ 函数的返回值与函数值类型不一致时的类型转换(自动进行) ⑤ 强制类型转换(编程实现) 三、 简单C程序的设计 1、 C程序的三种基本结构:顺序、选择(分支)和循环。 2、 C程序可以由多个函数组成,但是只能有必须有一个主函数main()。C源程序可以由多个函数组成。 3、 C程序的运行总是从main()开始,直至main的结束。 4、 函数=函数头+函数体 函数头:函数的类型、函数名、函数的形参 函数体:用一对花括号括起来的一组语句(包括说明语句和执行语句,说明语句在前,执行语句在后)。 5、if语句的三种形式(单分支、两分支、多分支) 分析如下程序段(统计一行字符中的字母个数和数字个数以及其它字符的个数): while((c=getchar())!=‟\n‟) if(c>=‟a‟ && c<=‟z‟ || c>=‟A‟ && c<=‟Z‟)x1++; else if (c>=‟0‟ && c<=‟9‟)x2++; else x3++; while((c=getchar())!=‟\n‟) {if(c>=‟a‟ && c<=‟z‟ || c>=‟A‟ && c<=‟Z‟)x1++; if (c>=‟0‟ && c<=‟9‟)x2++; 8

else x3++;} 6. switch语句(多分支) 分析程序的运行结果 #include void main() {char str[]=”SSSTUHJDENT\2\22W\1WA\\9LMP”,c; int k; for(k=2;(c=str[k])!=‟\0‟;k++) {switch(c) {case „A‟: putchar(„a‟); continue; case „2‟: break; case 2: while((c=str[++k])!=‟\1‟ && c!=‟\0‟); case 9: putchar(„#‟); case „H‟: case „J‟: continue; default: putchar( c); continue;} putchar(„*‟);} printf(“\n”);} 运行结果为: STUDENT#Wa\9LMP 7、由else if构成的多分支与switch构成的多分支的区别 由else if构成的多分支:只能执行一个分支。 switch构成的多分支:可能执行几个分支。 8、循环的三种形式 ① while循环:先判断条件,如果条件成立,重复执行循环体,

相关文档
最新文档