C语言程序设计基础知识要点

上传人:suij****uang 文档编号:55781400 上传时间:2022-02-18 格式:DOCX 页数:18 大小:58.77KB
返回 下载 相关 举报
C语言程序设计基础知识要点_第1页
第1页 / 共18页
C语言程序设计基础知识要点_第2页
第2页 / 共18页
C语言程序设计基础知识要点_第3页
第3页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
01、 C 程序基本结构一、C 语言得特点 :1、C语言源程序得基本组成单位就是函数;一个C程序可由若干个函数组成,其中必须有且仅有一个以main命名得主函数,其余得函数名称可由编程者自行设定。 ,2、 C程序得执行总就是由 mai n()函数得第一个可执行语句开始,到main()函数得最后一个可执行得语句结束;而其 她函数都就是在mai n()函数开始执行以后,通过其她函数得调用才得以运行。3、C语言系统提供了丰富得库函数 ,用户在程序中需要调用某个库函数时,必须用#inc 1 ude编译预处理命令将描述该库函数得头文件包含进去 .二、C 程序得书写格式 :1、语句可从分开放在任意多行内;如口: p rintf (To C,);printf ( “ orn ot to C: ”);与 p rintf( oTC , or not t o C:);就是等价得2、一行中可以有若干个语句;如口: a=12 3; b= 3 4 5;3、 每个语句与数据定义得最后必须有一个分号;三、C 语言程序得运行 :1、 编译( pile ):将 C 源程序文件翻译成能被计算机识别得二进制形式得“目标文件;编译时,编译器将检查源程序每 一条语句得语法错误 .2、建造(Buli d ):C 语言程序示例 :显示 “He1l o”#includei n t mai n (v o id )pri n t f ( “ He lo、 n );r e tu r n 0;说明:# in c lude v stdio、h 就是必不可少得,它包含了 C语言标准输入输出库得相关信息; prin tf 函数来自 ”标准输入输出库 ”,可以产生格式化输出 ;n告诉p rint f函数执行完信息显示后要进行换行操作; return 0 表明程序终止时会向操作系统返回值0; 来标出mai n()函数得起始与结束。02、数据类型一、C 语言得特点:1、 C语言源程序得基本组成单位就是函数;一个C程序可由若干个函数组成,其中必须有且仅有一个以main命名得主函数,其余得函数名称可由编程者自行设定。2、C程序得执行总就是由 main()函数得第一个可执行语句开始,到m ai n ()函数得最后一个可执行得语句结束;而其她函数都就是在m ain()函数开始执行以后,通过其她函数得调用才得以运行。3、 C语言系统提供了丰富得库函数,用户在程序中需要调用某个库函数时,必须用 #in c lu de编译预处理命令将描 述该库函数得头文件包含进去。二、C 程序得书写格式:1、语句可从分开放在任意多行内;如: pr intf( “ To C,”;)print f( “ or nott o C: );与 pr int f( “ To C, or not to C : ”) ;就是等价得2、一行中可以有若干个语句;如:a=123;b= 3 45;3、每个语句与数据定义得最后必须有一个分号;三、C 语言程序得运行:1、 编译(p ile):将C源程序文件翻译成能被计算机识别得二进制形式得目标”文件;编译时,编译器将检查源程序每一 条语句得语法错误2、建造(E ulid):C语言程序示例:显示“ Hello ”#inelude stdio、hintmain( voi d)pr i nt f( “ HelO、n”); r e tu rn 0;说明:#in c lude就是必不可少得,它包含了C语言标准输入输出库得相关信息;pr i ntf函数来自”标准输入输出库”,可以产生格式化输出;n告诉pr i ntf函数执行完信息显示后要进行换行操作; re tur n 0表明程序终止时会向操作系统返回值0; 来标出m ai n()函数得起始与结束.03,运算符与表达式1、算术运算符与表达式+ :加法运算符,如 3+5 ;:减法运算符,如 5 3;* :乘法运算符,如 5* 8;/:除法运算符,如3 /6;参与运算量均为整型时,结果也为整型,舍去小数;若运算量中有一个就是实型,则结果为双 精度实型%:模运算符,也称 取余运算符”用于计算两数相除后得余数,如5% 3 = 2;2、赋值运算符与赋值表达式?赋值运算符:”=其作用就是将一个表达式得值赋给一个变量;其一般形式为:变量=表达式如:x= a +b;赋值表达式得功能就是计算表达式得值再赋予左边得变量。赋值运算符具有右结合性。因此a=b=c = 5可理解为a=(b=(c=5);复合赋值运算符:+ =、=、*=、/=、 =、=、ma in ()i nt i =8;pr in tf ( % dn ”,+ + i) ;/* i先加1,再输出i ,输出结果为9 * /pri nt f ( % n , i) ;/ * i 先减 1,再输出 i,结果为 8 */pri ntf (” %d n, i+ ) ; /*先输出i,输出结果为8, i再加1, */prin t f( ” %d,i ) ;/*先输出i ,输出结果为 9,i再减1,* /pri n tf (” dn ” ,卄+) ; /*先加输出 一i,输出结果为 一8, i再加1 * / pr i n t f (% n , -i -);/*先输出-i ,输出结果为-9, i再减1*/5、求字节运算符计算表达式得结果所占字节数或某种数据类型得定义字节数。 一般格式:s i ze o f (数据类型标识符)或 sizeof (表达式)如:sizeo f(f loat)得值为4,占4个字节;s ize o f (2 *3)得值为2,占2个字节;6、关系运算符与关系表达式关系运算符:(小于)、=”小于等于)、(大于)、” ”(大于等于)、”=”等于)、“士”(不等于)关系表达式:若关系表达式成立,其值为 真”,否则为 假;在C语言中,用0代表假”用1代表 真”;7、逻辑运算符与逻辑表达式:逻辑运算符:“非)、“&” (与)、“|”或);运算优先级:!&丨丨逻辑表达式:用逻辑运算符将表达式连接起来得式子;逻辑表达式得结果仍然就是逻辑量(真”或 假)&条件运算符:一般格式:表达式1 ? : v表达式 3先计算表达式1,若表达式1得值为真,则计算表达式2得值,且表达式2得值为整个条件表达式得值;否则,计算表 达式3得值,且表达式 3得值即为整个条件表达式得值。9、逗号运算符与逗号表达式逗号运算符:”,”作为运算符,其功能就是将多个表达式组成一个表达式;一般形式:表达式1,表达式2,,表达式n求解过程:先计算表达式 1,再计算表达式2,依此计算表达式 n,最终,表达式 n得值即为整个表达式得值。04、顺序结构一、概述: 顺序语句按照语法形式分为:表达式语句、函数调用语句、复合语句、流程控制语句与空语句。1、表达式语句:语法格式:表达式;如:a +4;其中赋值语句为最典型得表达式语句,如:a= 5 ; a =b + 3;特别提示:分号(;)就是表达式语句中不可缺少得一部分。2、函数调用语句:如:pri ntf (I am a stu d ent! ”;其中:printf()为系统提供得函数,用于显示信息 .3、复合语句:所谓 复合语句”即由一对“”括起来得一组语句,也称块语句”或 分程序”一般形式为 :语句 1语句 2、语句n如:i+;j =a+3;p ri n tf (”d,j =” i, j ); 特别提示:复合语句中得最后一条语句得分号不得缺少;复合语句得“ 之后不得有分号。4、空语句: “空语句 即为一个独立得分号。如:ma i n ()、二、数据得输入输出C语言提供了一些输入输出函数,如p ri ntf ()与sea nf (),在程序中调用这些输入输出函数时,必须将标准输入输出头文件“std 0、h”包含到用户所编写得源程序中.女如:# inc 1 ude vst dio、h其中:# i n clud e命令一般写在程序得开头位置。1、格式输入输出1、格式输出函数 pri nt f( )(1) 一般格式:pri n t f (格式字符串,输出列表)其中: “格式字符串 ”包括“输出字符 ”与“格式控制字符 ”(由与格式字符组成,指定输出项得输出格式) 。 ? d格式符:用于输出十进制整数;%d :以十进制形式显示输出变量得值;%5 d:以十进制形式显示变量得值,且至少占用5个字符得空间,若不够5位数字,则左侧补空格;%5d :以十进制形式显示变量得值,且至少占用5个字符得空间,左对齐;% 5、3 d :以十进制形式显示变量得值,且至少占用5个字符得空间并至少有3位数字若不够3位数字,则左侧补0;女D:#in c 1 udestd io、hmain()in t i;i= 40;pri n tf ( %d n” i ); print f( “ d n ”,i);prin tf( %“5dn”, i) ;pri n tf( “ %、5 3dn, i);? f格式符:用于以小数形式输出实数;% 10、3f:以定点十进制形式显示变量得值,且总共用10个字符,其中,整数位6位,小数位3位,小数女口: # i nc 1 ud e st dio、hm a i n ()float x ;x = 8 3 9、21 f; prin t f ( %10、3 f、n,x);? c格式符:用于输出一个字符; 女口:x= ” a ” y =b ”,贝U pri n t f ( %c %C ,x y)得输出结果为:a b若变量得值为整数,则输出该整数值为A SCII码得字符:女口 x=65, y=98,贝U printf ( %c ,%c, x, y)得输出结果为:A, b;同理,一个字符得数据也可以以整数得形式输出;女口 x= ay= B则 p rintf( “ %d %d ” ,x,y 得输出结果为:9 7, 6 6? s格式符:用于输出一个字符串。如 口: pr i nt f ( %s ” , al m a s tuden t ! ”)? e,E格式符:用于以指数形式输出实数。如:printf( %e ,1 23、4 5 6),则输出结果为:1、2345 6 0e+00 2 ;? g, G格式符:用于输出实数,根据数值得大小自动选择f格式或e格式。2、格式输入函数 scanf()(1)一般格式:sc anf (格式字符串,变量地址表)其中:格式字符串使用双引号括起来得字符串 ,包括“普通字符 (按原样输入) 、 “格式控制字符 由(%与格式字 符组成 ,用来标定输入数据得格式 )。变量地址表就是由若干个变量地址组成得表列 ,可以就是变量得地址,也可以使字符串得首地址。? d 格式:用于输入十进制整数;如:sc a nf ( % d, %d,&x,&y);则输入格式为:123 , 3 45 6?u格式:用于输入十进制无符号整数;?f格式:用于输入以小数形式得实数;如:sc an f ( %f, %f”,& x,&y);则输入格式为:12 3、23 , 23、456?c格式:用于输入一个字符;如:sca n f( %c,% c, &x,&y );则输入格式为:a ,b?$格式:用于输入一个字符串;如:scan f( “s , a);假定a为字符数组,则输入格式为:abedef 注:输入得字符串中间不能包含空格。特别说明 :?对于变量,” &加变量名即为该变量得地址;如:&a、&b等分别表示变量a与变量b得地址;?对于字符串数组或字符指针型变量,数组名与指针变量名本身即为其地址;?可以在%与格式字符之间加表示位数得数字;如:sc anf ( % 5 s , p);表示只能输入5个字符给字符串指针 p;3、字符数据得输入输出 :(1 ) p utchar()函数:就是向标准输入输出设备输出一个字符;其调用格式为:pu tc h a r(c h);其中:ch为一个字符变量或常量;p utchar ()函数作用等同于p r i n tf( %c ”,ch);(2)g et ch() get c h e ()与 getc har ()函数:?getch():从键盘上读入一个字符,但不显示在屏幕上;?getch e() : 从键盘上读入一个字符,显示在屏幕上 ;?getc ha r( ):从键盘上读入一个字符,并显示在屏幕上,但直到输入回车键时才结束输入,第一个字符为其函数得返回值 .0 5、选择结构一、if 语句:一般格式 :i f(表达式)语句;表示:当 “表达式 成立时,则执行 “语句 ”否;则跳过 “语句 ;女口: if (ab)p r i ntf( a! ” );例:若用户输入得数为 3得倍数,则显示 ” OK”#i n cl u devs tdio、hm ain ()int a ;s c an f( % d” & a);i f( a % 3 = =0 ) pr i ntf ( “ OK;二、if els e 语句:一般格式 :if (表达式)语句 1;e Is e语句2 ;例:给出用户输入得两个整数得较大者#i ncl ude std i o、h mai n( )i nt a,b;sca nf( “ %d%, d, a, b);i f(a b )p r i ntf ( the max=%d ,a );e lsep rintf ( “ th e max=% d”,b) ;三、i f语句得嵌套1、if子句中嵌套:? i f (表达式1)if( 表达式2) 语句 1;el se 语句 2 ;e lse 语句 3;? i f (表达式1) if (表达式2) 语句1; else 语句 2;2、else子句中嵌套? if (表达式1)语句1 ;elseif (表达式2)语句2;el se 语句3 ;? i f( 表达式 1 ) 语句 1;els eif (表达式 2) 语句 2;3、嵌套一般格式:i f (表达式 1 ) 语句1;else i f(表达式2)语句2;elseif (表达式3)语句3 ;else if (表达式n) 语句n; el s e 语句 n+1;例:将用户输入得成绩按以下规则转换成等级成绩: 分数 : 90100等级:优分数:808 9等级:良分数:70 7 9等级冲分数:6069等级 :及格分数:6 0以下等级:不及格# i nc l ud ema i n ()int d;p ri n tf(输入分数:”) sc anf (“%d”,d );i f (d = 9 0 ) prin tf(优”);else i f (d= 8 0) pri n t f(良”);e lse i f ( d =70 ) pri nt f( 中”);e 1 se if (d =6 0) pr i nt f(及格”; else p rin t f (不及格”);四、条件语句:表达式 1? 表达式 2 :表达式 3执行得过程 :若表达式 1 得值为非 0时,该条件语句得职位表达式2,否则为表达式 3;例:求一个整数得绝对值#includema in ()int i,absi; scanf( “d,i);absi=i 0 ? i :i;p rintf( “绝对值就是 % d n”,i ,a bs i);五、sw i tch语句swit ch(表达式)case 常量表达式 1:语句 1 ;break;case常量表达式 2:语句 2;b re a k;case常量表达式n:语句 n ;br eak;default:语句n +1;例:商店卖货物 ,每一件 3、5 元,按购买得数量给与优惠:购买1 0 0件,优惠5%;购买2 00件以上,优惠6%;购买 30 0 件以上,优惠 8%;购买 400件以上 ,优惠 10%;购买 500 件以上,优惠 15%;# incl u devst dio、hma in ()int n;flo a t p,pric e ;scanf ( % d & n);swi t c h(n/1 0 0)c ase 1:p =0、05;bre ak;ca se 2:p =0、06;b re ak;case 3 :p=0、0 8;bre ak;c ase 4:p= 0、10;break ;case 5:p =0、 15;br eak;p rice=3 、5 *n*(1 p) ; prin tf (” %应付款=% 7、2fn, price);06、循环结构一、for 语句 :一般格式 : for( 表达式 1 ;表达式2 ;表达式 3) 语句 ;表示:先计算表达式1得值,再计算表达式 2得值,若表达式 2得值为 0,则跳出循环体,转去执行循环体后面得程序命令;若表达式 2得值非 0,则执行循环体中得语句,接着计算表达式3得值;而后,再从计算表达式 2得值开始重复上诉操作,直到表达式2得值为 0 时结束。例:计算sum=1+2+3 +100得值”# incl u demain()int i,sum;sum =0;fo r(i= 1 ;i =100; i+)sum =sum +i;p rintf (“s um=% d”,s um) ;二、w h i le 语句:一般格式 :w h ile表达式语句;表示 :先计算表达式得值 ,若为非 0,则执行循环体语句,然后再计算表达式得值,重复上述过程,直到计算表达式 得值为 0 时结束循环。例:计算sum= 1 + 2 + 3+ 10 0得值 include stdio、 hmain()i n t i, sum ;i=1;sum =0 ;whil e( i =100)sum=sum +i;i+;printf ( s um= %d” $ u m);三、d o - w hi le语句1 、一般格式 :Do语句;While;表示 :先执行一次循环语句 ,然后计算表达式得值,若表达式得值非0,则再执行循环语句,然后从计算表达式得值开始重复上述过程 ,直到计算表达式得值为0,循环结束 .例:计算su m=1+2+ + 100得值# i n c l ude std io、h main()int i,sum;i=1;sum= 0;dosum=s um+i ;i +; wh il e( iv =10 0 );pr i n tf( “ su%=d ”,sum);四、break 与 contin u e 语句:1、break 语句:使用brea k语句可以提前结束由 while、f o r、do w h ile语句构成得循环,而去执行循环下面得语句。例 :判定用户输入得一个数就是否为素数#i ncludestdio、 hmain()inta,d;print f(“请输入一个整数s Canf(“% d”, a);for(d= 2;da; d+)if (a% d= 0 )break;/ 跳出当前得循环 ,执行循环后面得语句if (da)pr i nt f( %d不就是素数, a);e Iseprint f( %d就是素数“ a);2、con t i nu e:cont inu e语句用于for、whi 1 e、do-w h il e语句中,其作用就是结束本次循环,接着进入下一次就是否执行循环得判断。例:输入 10个非 0 得整数并求与。#inc1u de中包含使循环趋于结束得语句;3、对于whi 1e与do- wh il e循环语句,循环变量得初始化应在w h i l e与do-w h i le语句之前完成;for循环语句 可以在表达式 1中进行;4、w h i 1e与for语句就是先判断表达式,后执行循环;d o while循环语句就是先执行循环,后判断表达式;0 7数组数组就是一组具有同一名字、不同下标得变量.数组中带下标得变量称为数组元素,每个数组元素由数组名字与下标唯一地来确定 ;同一数组中得元素数据类型相同。一、一维数组:1、定义 :只有一个下标得数组 .2、定义格式 : 类型说明符 数组名常量表达式如:int a 3:;定义了一个一维数组,名称为a,数据类型为整型,含3个数组元素a 0卜a 1、a 2;说明:?类型说明符:就是指数组得数据类型; ?常量表达式:就是一个值为正整数得表达式,用来表示该数组得元素得个数,即数组得大小;3、数组得引用:数组名下标 ; 如: a24、数组得初始化:?对数组得全部因素赋初值:女口: int a 3: = 1 0, 20,3 0;则该语句执行后,a : 0=10 , a :1 =2 0, a 2 =30;? 对数组得部分元素赋初值 :女如: in t b :3 =12, 1 1;则该语句执行后,b0= 12,b1: = 1 1,a 2=0;?对数组得全部元素赋初值时,也可将数组定义为一个不确定长度得数组:女如: int c : : = 10, 15, 20;则该语句执行后,数组c得长度自动确定为3,c0= 10,c1 =15,c2 = 20;例:将输入得1 0个整数按反序输出i ncludema i n()int a10, i; printf( 请输入1 0 个整数 :);f o r (i=0 ; i =0 ; i)printf( ” d”,ai ) ; pri ntf( n) ;例:计算Fibon a cc i数列得前20项F ib o na cci数列定义:f( 1)=1f(2)=1f(n )= f( n 1) +f ( n2)(n2)#include stdio、hmai n( )int f21 ,i;f1 =1 ;f2=1;f o r (i=3; i =2 0 ;i+ )fi = f i -1 + fi-2 ;f o r (i =1; i= 2 0; i + +)p ri nt f (”8d ” fi);/每个数字占 8 位if(i %5= =0) pri nt f (n);/按5个一行输出二、二维数组 : 具有两个下标得数组为二维数组。1、 定义格式:类型说明符数组名 常量表达式 常量表达式如:int a32; /定义了一个二维数组,名称数组名为a,含有 6 个元素:a : 0 : 0、a0 : 1 、a1 : 0、a1 1 、a2 0、 a21 ;说明: ?第一个常量表达式指出得就是数组得行数;第二个常量表达式指出得就是数组得列数;?二维数组元素得顺序就是:按行存放;即先顺序存放第一行得元素,再存放第二行得元素 以此类推;其存储格式:a00a01a10a1 1a2 0 a 212、二维数组得初始化 : 同一维数组。?分行为二维数组赋初值:int a 3: 2=1, 2 , 3,4 , 5, 6;则该语句执行后,a : 0 :0 =1 , a : 0: : 1=2, a : 1 : 0 =3 ,a1 1=4 , a2 0 =5, a 2 : 1= 6 ;?按数组在存储时得排列次序赋初值:int a : 3 2 =1, 2, 3, 4, 5, 6;?对数组得部分元素赋初值:i nt a: 3 : 2 = 1 ,2,3 , 4;?忽略第一维得长度,对二维数组赋初值:int a : 2 = 1 ,2, 3,4,5,6 ; 该语句执行后,C语言系统自动计算出第一维得长度为6/2 =3,同样有:a :0 :0=1, a : 0 : 1=2 , a 1 :0 = 3,a1 1 =4, a :2 0 =5, a2 : 1 =6;例:将两个2行3列得矩阵相加,并显示结果。#inclu d emai n ()i n t a : 2 3 =1 , 3,5, 7, 9,1 1;int b : 2 3= 2 , 4 ,6, 8,10, 12;int c23,sum =0,i,j;f o r (i =0; i 2 ; i +)/i表示第1行到第3行for(j = 0; j3;j + + )/ / j表示第1列到第3列c i :j =a :i j+b :i :j;fo r(i =0;i 字符串2,则返回1,否则返回 -1;如:比较两个字符串 str1、 str2: if(s trcmp(str1 , st r 2)= 1 ) pr intf (str1 s t r2”;)?st rlen (字符数组);/返回字符数组中包含得字符串得长度;?str lwr (字符串);/将字符串得大写字符转换为小写;?str upr(字符串);将字符串得小写字符转换为大写;例 :不使用 strlen ()函数 ,计算一个字符串得长度# in cl ude std i o、hmain()int i= 0 ;char str 30;pr i n tf( “输入一个字符串:”);g ets (str);whil e (s tr i != 0)i+;pr i nt f(字符串长度为:d n ”);例:将一字符串逆转#i n elude Vs t d io、h# i ne l udev s t ring、hmain()e h a r str20 , tem p;int i, j;pr i ntf (输入一个字符串:”;gets(str);for( i=0 ;i v strl e n (str)/2; i + +)j =st r le n( s t r) 1; temp = s tr i;str i=s t r j i;st r j i =tem p ;p r i nt f(倒置得字符串为:s n, st r);0 9指针字符数组就是用来存放字符得数组,字符数组中得一个元素存放一个字符.1、字符数组得定义:ch ar a 1 0;2、 字符串 :字符串就是借助于字符数组来存放得,并规定以字符0(占用存储空间,但不计入字符串得长度)为字符串得结束标记。3、字符串处理函数 :?sca nf( “S”,a);II以格式符 s输入字符串,输入得字符串自动以0结尾;输入得字符数组名前不加” &前缀;?printf ( %s , a);I/以格式符$输出字符串,输出得字符串以0 结尾;?get s(a) ; IIa为字符数组名,输入得字符可以包含0 字符;?pu ts (a ); / Ia为字符数组名,输入得字符可以包含0 字符;?str eat (字符串1,字符串2 ); I/把字符串2连接到字符串1后;?s trepy (字符数组1 ,字符串2);I/把字符串2拷贝到字符数组1中;如:s t r为字符数组,将字符常量赋予st r: stre p y (s t r , abc d e f);?st remp(字符串1,字符串2);II比较两个字符串,若相等,则返回0,若字符串1字符串2,则返回1,否则返回1;女口:比较两个字符串str1、s t r2: if (s t r c mp (strl, st r 2) = =1) pri n tf( s tr1 str2);?strlen (字符数组);/返回字符数组中包含得字符串得长度;?str l wr(字符串);将字符串得大写字符转换为小写;?s t r upr (字符串);I/将字符串得小写字符转换为大写;例:不使用s trl en()函数,计算一个字符串得长度#ineludemain()i n t i=0 char st r 30;prin t f(输入一个字符串:);get s(st r);w hile ( s tri :! =0)i + + ;printf( “字符串长度为:n”,i);例:将一字符串逆转# i n elude stdi o、h#i ne 1 udestrin g、hmain()char s tf 20 ,temp;int i,j;printf( 输“入一个字符串 : ”);gets (st r );for(i=0;istrlen(s tr)2;i+)j= st r 1e n (str) 1;temp = st r i ;stri=str ji;s tr j i=te m p; printf (倒置得字符串为:sn ” s t r);10函数C程序就是由函数组成得,有且只有一个主函数mai n (),由主函数调用其她函数,其她各函数也可以相互调用。1、函数得定义:一般格式:类型说明 函数名(形式参数表 )/函数头说明部分;/函数体执行部分;其中 :类型说明:就是指函数返回值得数据类型;默认为int;函数名 :为一标识符;代表了函数得入口地址;形式参数表:就是用逗号分隔得一组变量说明 ,指出每一个形式参数得类型与名称; 函数值得返回:有时,调用函数就是为了计算一个结果 ,这就是需要使用返回语句将就就是结果返回给主调 函数,此值即为函数得返回值 ;一般格式: return (表达式); 其中,圆括号可以省略 ; 当函数不需要返回值时,可以写成: return;例:编写一个函数p owe r (),用于计算x得n次方得值includestdio、hfl oat p o w e r (floa t x ,int n)int i;f1oat s;s= 1;f o r (i= 1; i =n; i+)s=sx;ret u r n (s)2、函数得调用 :C 语言中函数调用得一般格式: 函数名 (实参表 );女口: fl o a t f;f=powe r (3, 10);3、数组作为函数得参数?数据元素作为函数实参 在函数调用时 ,把数组元素作为实参传递给形参,实现单向得值传递;女口:判别各个元素得值,大于0,则输出该值,小于或等于0,则输出0#i n cl u d e v oi d f u nc ( i nt x)if (x0) printf (“%d4 ”,x);el seprin tf( “2d”, 0);ma in ( )int a 5,i;p rint f (请输入5个数:”;f or( i=0; if u n c (in t b)i n t sum=0,i;f o r( i =0;i 10;i+)sum+=bi; return sum;mai n( )int a=1, 2,3, 4,5,6, 7, 8, 9,10, s;s =f unc( a);/将数组 a 组为参数传递给函数 fu n cpri nt f( s=%d, s);4、内部函数与外部函数?内部函数:在定义函数时,在其类型名之前加“att i c”则所定义得函数为内部函数,只能被所在得源文件中得函数调用,其她源文件若有同名得内部函数,互不干扰 .?外部函数:在定义函数时,在其类型名之前加 e xter n”也可省略),则所定义得函数为外部函数(也称全局函数),可被其她源程序得函数调用 .如:stat i c int func_1 ()/内部函数ex tern f unc_2()外部函数综合测试给定程序为:猴子第一天摘下若干个桃子 ,当即吃了一半 ,还不过瘾,又多吃了一个.以后每天早上都吃了前一天剩下得一半零一个到第1 0天早上只剩一个桃子。求第一天共摘了多少桃子。由主函数输出第一天共摘桃子数。输出结果为15 3 4。#i nc 1 ude = 1; i-)/ /从第九天开始推算x=2 (x 1);r eturn x ;给定程序得功能就是:从键盘输入10个整数求其中得最大值#in clud ema in ()int fun( i nt b , i n t n);int max ;int i ,a10;fo r(i = 0;i 10; i +)scanf( %d, ai );m ax=fun(a, 10);print f( max= d , max);in t f un( i n t b 口,i nt n )解析:比较最大值得一般算法:设置一个变量max,第一步:将第一个数赋予 max;第二步:利用for循环,将剩下得9个数依次与ma x相比较,每次比较,m ax均等于大得数;int fu n( int b , int n)int ma x, i ;max=b 0 ;/将第一个数赋予 maxf o r (i=1 ; i= n 1 ;i + + )将剩下得9个数依次与max比较;if( ma x bi)max=bi;retu rn max;给定程序得功能就是:将给定字符串中所有得小写字母转换成大写字母(大写字母A得 AS C I I码为6 5,小写字 母a得ASCII码为9 7 )。# include# i nc lu d e hv oid hs(char c )main()char a: = ” AgRbhLfFGjI;hs(a) ;prin t f ( % s, a);解析:将给定字符串得每一个字符取出,判断就是否介于/a与纟之间,若就是,则将其转换为大写字符,即其ASC码值3 2。voi d hs(char c:)uns i gn e d i n t i;fo r (i=0 ; i Vs tr 1 e n( c); i + + )if (c :i = az & c: i V =)c :i =ci: - 3 2;r eturn;给定程序得功能就是:求1+2+3+ 4 +5+6 +、+n(n得值由键盘输入)。?in c lud e main()int fa c(int n);i n t n ,s u m;scanf( ”d%”, &n) ;sum =fac(n ) ;p rintf (” sm = % d” ,u m );int fa c(i ntn)解析:函数fac得功能就是计算1 n之间整数得累计与.int fac(i nt n)int i,s um;sum=O;/累计与得初始值为0for (i=1 ; i= n ;i+ +)? sum+=i;/将 1-n 之间得整数累加起来return su m;给定程序得功能就是:从键盘输入1 o个整数,求其中得最小值。?#in cl ude st d i o、hma i n()int fu n(i nt x,i nt n );i nt a1 0 , i ,min ;p r i ntf ( ” pi as e i n put 10 nu mbers:n);for (i= 0; ix i) m in = x i ;retu r n min ;
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!