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

上传人:z**** 文档编号:55785892 上传时间:2022-02-18 格式:DOC 页数:21 大小:195KB
收藏 版权申诉 举报 下载
C语言程序设计方案基础知识要点_第1页
第1页 / 共21页
C语言程序设计方案基础知识要点_第2页
第2页 / 共21页
C语言程序设计方案基础知识要点_第3页
第3页 / 共21页
资源描述:

《C语言程序设计方案基础知识要点》由会员分享,可在线阅读,更多相关《C语言程序设计方案基础知识要点(21页珍藏版)》请在装配图网上搜索。

1、01.C程序基本结构一、C语言的特点:1、 C语言源程序的基本组成单位是函数;一个C程序可由若干个函数组成,其中必须有且仅有一个以main命名的主函数,其余的函数名称可由编程者自行设定。,2、 C程序的执行总是由main()函数的第一个可执行语句开始,到main ()函数的最后一个可执行的语句结束;而其他函数都是在 main ()函数开始执行以后,通过其他函数的调用才得以运行。3、C语言系统提供了丰富的库函数,用户在程序中需要调用某个库函数时,必须用#inelude编译预处理命令将描述该库函数的头文件包含进去。二、C程序的书写格式:1、语句可从分开放在任意多行内;女口: printf( “ T

2、o C, ” );printf( “ or not to C:” );与 printf( “ To C , or not to C是等价的”);2、一行中可以有若干个语句;女口: a=123;b=345;3、每个语句和数据定义的最后必须有一个分号;三、C语言程序的运行:1、 编译(Compile):将C源程序文件翻译成能被计算机识别的二进制形式的目标”文件;编译时,编译器将检查源程 序每一条语句的语法错误。2、建造(Bulid):C语言程序示例:显示“ Hello ”#i ncludeint mai n( void)printf( “ Heno.);return 0;说明:#include是必

3、不可少的,它包含了C语言标准输入输出库的相关信息;printf函数来自”标准输入输出库”,可以产生格式化输出;n告诉printf函数执行完信息显示后要进行换行操作;return 0表明程序终止时会向操作系统返回值0; 来标出main ()函数的起始和结束。02.数据类型一、C语言的特点:1、 C语言源程序的基本组成单位是函数;一个C程序可由若干个函数组成,其中必须有且仅有一个以main命名的主函数,其余的函数名称可由编程者自行设定。2、 C程序的执行总是由main()函数的第一个可执行语句开始,到main ()函数的最后一个可执行的语句结束;而其他函数都是在 main ()函数开始执行以后,通

4、过其他函数的调用才得以运行。3、C语言系统提供了丰富的库函数,用户在程序中需要调用某个库函数时,必须用#include编译预处理命令将描述该库函数的头文件包含进去。二、C程序的书写格式:1、语句可从分开放在任意多行内;女口: printf( “ To C, ” );printf( “ or not to C:” );与 printf( “ To C , or not to C是等价的”);2、一行中可以有若干个语句;女口: a=123;b=345;3、每个语句和数据定义的最后必须有一个分号;三、C语言程序的运行:1、 编译(Compile):将C源程序文件翻译成能被计算机识别的二进制形式的目标

5、”文件;编译时,编译器将检查源程 序每一条语句的语法错误。2、建造(Bulid):C语言程序示例:显示 “ Hello ”#i ncludeint mai n( void)printf( “ Heno.);return 0;说明:#include是必不可少的,它包含了C语言标准输入输出库的相关信息;printf函数来自”标准输入输出库”,可以产生格式化输出;n告诉printf函数执行完信息显示后要进行换行操作;return 0表明程序终止时会向操作系统返回值0; 来标出main ()函数的起始和结束。03,运算符和表达式1、算术运算符和表达式+ :加法运算符,如3+ 5;-:减法运算符,如 5

6、-3;* :乘法运算符,如5*8 ;/ :除法运算符,如3/6;参与运算量均为整型时,结果也为整型,舍去小数;若运算量中有一个是实型,则结果为双精度实型。% :模运算符,也称取余运算符”,用于计算两数相除后的余数,如5%3=2 ;2、赋值运算符和赋值表达式赋值运算符:”=”,其作用是将一个表达式的值赋给一个变量;其一般形式为:变量=表达式如:x=a+b;a=b=c=5 可理解为赋值表达式的功能是计算表达式的值再赋予左边的变量。赋值运算符具有右结合性。因此a=(b=(c=5);复合赋值运算符:+=、-=、*=、/=、%=、=、=、&=、A=、|=构成复合赋值表达式的一般形式为:变量双目运算符=表

7、达式它等价于:变量=变量运算符表达式如:a+=5等价于a=a+5x*=y+7等价于 x=x*(y+7)r%=p等价于r=r%p3、类型转换如果赋值运算符两边的数据类型不相同,系统将自动进行类型转换,即把赋值号右边的类型换成左边的类型。具体规定如下:1) 实型赋予整型,舍去小数部分。前面的例子已经说明了这种情况。2) 整型赋予实型,数值不变,但将以浮点形式存放,即增加小数部分(小数部分的值为0)。3) 字符型赋予整型,由于字符型为一个字节,而整型为二个字节,故将字符的ASCII码值放到整型量的低八位中,高八位为0。整型赋予字符型,只把低八位赋予字符量。4、自增、自减运算符:自增运算符:“ +;功

8、能是将变量的值加 1;自减运算符:-”,功能是将变量的值减1;可有以下几种形式:+ii自增1后再参与其它运算。-ii自减1后再参与其它运算。i+i参与运算后,i的值再自增1。i-i参与运算后,i的值再自减1。注:(1)” +、”-的操作对象只能是变量;(2)” +”-运算优先级相同,且结合方向自右向左;-i+应理解为-(i+),【例】自增、自减运算、#in cludemain ()int i=8;printf(%dn,+i);/* i先加1,再输出i ,输出结果为 9 */printf(%dn,-i);/* i 先减 1,再输出 i,结果为 8 */printf(%dn,i+); /* 先输出

9、i ,输出结果为 8,i再加1,*/printf(%dn,i-);/*先输出i ,输出结果为 9,i再减1,*/printf(%dn,-i+); /*先加输出-i,输出结果为-8,i再加1 */printf(%dn,-i-);/* 先输出-i,输出结果为-9,i 再减 1 */5、求字节运算符计算表达式的结果所占字节数或某种数据类型的定义字节数。一般格式:sizeof(数据类型标识符)或 sizeof (表达式)女口: sizeof( float)的值为4,占4个字节;sizeof (2*3)的值为2,占2个字节;6、关系运算符和关系表达式关系运算符:“小于卜 “大于)、” =大于等于)、”=

10、”(等于)、“!=(不等于) 关系表达式:若关系表达式成立,其值为 真”,否则为 假”;在C语言中,用0代表 假”,用1代表 真”;7、逻辑运算符和逻辑表达式:逻辑运算符:“!”(非)、“ &”(与八 “|(或);运算优先级:!&|逻辑表达式:用逻辑运算符将表达式连接起来的式子;逻辑表达式的结果仍然是逻辑量(真”或 假”)&条件运算符:一般格式:?:先计算表达式1,若表达式1的值为真,则计算表达式2的值,且表达式2的值为整个条件表达式的值;否则,计算表达式3的值,且表达式3的值即为整个条件表达式的值。9、逗号运算符和逗号表达式逗号运算符:”作为运算符,其功能是将多个表达式组成一个表达式;一般形

11、式:表达式 1,表达式2,表达式n求解过程:先计算表达式 1,再计算表达式2,依此计算表达式 n,最终,表达式 n的值即为整个表达式的值。04.顺序结构一、概述:顺序语句按照语法形式分为:表达式语句、函数调用语句、复合语句、流程控制语句和空语句。1、表达式语句:语法格式:表达式;女口: a+4;其中赋值语句为最典型的表达式语句,如:a=5;a=b+3;特别提示:分号(;)是表达式语句中不可缺少的一部分。2、函数调用语句:女口: printf (” I am a student );其中:printf()为系统提供的函数,用于显示信息。3、复合语句:所谓 复合语句”即由一对“括起来的一组语句,也

12、称块语句”或 分程序”。一般形式为:语句1语句2语句n如:i+;j=a+3;prin tf(%d,j=,i,j);特别提示:复合语句中的最后一条语句的分号不得缺少;复合语句的“之后不得有分号。4、空语句:空语句”即为一个独立的分号。如:main ()二、数据的输入输出C语言提供了一些输入输出函数,如printf()和scanf(),在程序中调用这些输入输出函数时,必须将标准输入输出头文件“stdio.h包含到用户所编写的源程序中。女口: #inelude 其中:#inelude命令一般写在程序的开头位置。1、格式输入输出1、格式输出函数printf()(1) 一般格式:printf(格式字符串

13、,输出列表)其中:格式字符串”包括 输出字符”和 格式控制字符” 由%和格式字符组成,指定输出项的输出格式)。? d格式符:用于输出十进制整数;%d:以十进制形式显示输出变量的值;%5d :以十进制形式显示变量的值,且至少占用5个字符的空间,若不够 5位数字,则左侧补空格;%-5d :以十进制形式显示变量的值,且至少占用5个字符的空间,左对齐;%5.3d:以十进制形式显示变量的值,且至少占用5个字符的空间并至少有3位数字,若不够3位数字,则左侧补0;女口: #ineludemai n()int i;i=40;printf(“r%d ,i);printf(“ 5d ,i);printf(“ n”

14、,i);printf(“ %5i3d ,i);? f格式符:用于以小数形式输出实数;%10.3f:以定点十进制形式显示变量的值,且总共用10个字符,其中,整数位6位,小数位3位,小数点1位;女口: #includemain ()float x;x=839.21f;printf(“ 10i.3f,x);? c格式符:用于输出一个字符;女口:x= ” a” ,y = ” b ”,贝U printf(%c %c,x,y)的输出结果为:a b若变量的值为整数,则输出该整数值为ASCII码的字符:女口 x=65,y=98,贝U printf( “ %c, %c 的,输出结果为:A, b;同理,一个字符的

15、数据也可以以整数的形式输出;女口 x= a ,y=,则Bprintf(“ d,%c” 的输出结果为:97,66? s格式符:用于输出一个字符串。女口: printf(“ s , ” I am a student !”)? e,E格式符:用于以指数形式输出实数。女口: printf(“ $ , 123,456输出结果为:1.234560e+002;? g,G格式符:用于输出实数,根据数值的大小自动选择f格式或e格式。2、格式输入函数 sca nf()(1) 一般格式:sca nf(格式字符串,变量地址表 )其中:格式字符串使用双引号括起来的字符串,包括普通字符”(按原样输入)、格式控制字符”(由

16、和格式字符组成,用来标定输入数据的格式)。变量地址表是由若干个变量地址组成的表列,可以是变量的地址,也可以使字符串的首地址。? d格式:用于输入十进制整数;女口: scanf( “ d,%c”,&x,&则输入格式为:123 , 3456?u格式:用于输入十进制无符号整数;?f格式:用于输入以小数形式的实数;女口: scanf( “ f,%f”,&x,&y输入格式为:123.23,23.456?c格式:用于输入一个字符;如:scanf(“ c,%c”,&x,&y输入格式为:a,b?s格式:用于输入一个字符串;女口: scanf( “ s假定a为字符数组,则输入格式为:abcdef注:输入的字符串

17、中间不能包含空格。特别说明:?对于变量,” &加变量名即为该变量的地址;如: &a、&b等分别表示变量 a和变量b的地址;?对于字符串数组或字符指针型变量,数组名和指针变量名本身即为其地址;?可以在%和格式字符之间加表示位数的数字;如: scanf( “ 5s”表示只能输入5个字符给字符串指针p;3、字符数据的输入输出:(1)putchar()函数:是向标准输入输出设备输出一个字符;其调用格式为:putchar(ch);其中:ch为一个字符变量或常量;putchar()函数作用等同于 printf(“ c”;,ch)(2)getch() getche()和 getchar()函数:?getch

18、():从键盘上读入一个字符,但不显示在屏幕上;?getche():从键盘上读入一个字符,显示在屏幕上;?getchar():从键盘上读入一个字符,并显示在屏幕上,但直到输入回车键时才结束输入,第一个字符为其函数的返 回值。05.选择结构一、if语句:一般格式:if(表达式)语句;表示:当 表达式”成立时,则执行语句”否则跳过 语句”;女口: if (ab) printf( “ ab! ” );例:若用户输入的数为 3的倍数,则显示” 0K#in cludemain ()int a;scanf(“ c”,&a);if(a %3=0) printf(“ OK);二、if-else 语句:一般格式:

19、if (表达式)语句1;else语句2;例:给出用户输入的两个整数的较大者#i ncludemain ()int a,b;scanf(“ d,%c” ,&a,&b);if(ab)printf( “ the max=%d ” ,a);elseprintf(“ the max=%d ” ,b);三、if语句的嵌套1、if子句中嵌套:? if(表达式1)if(表达式2)语句1;else语句2;else 语句3;? if(表达式1) if(表达式2) 语句1; else 语句2;2、else子句中嵌套? if (表达式1) 语句1;elseif(表达式2) 语句2; else 语句3;? if(表达式

20、1) 语句1;elseif(表达式2)语句2;3、嵌套一般格式:if(表达式1) 语句1;else if (表达式2)语句2; else if (表达式3) 语句3 ;else if(表达式n)语句n; else 语句 n+1;例:将用户输入的成绩按以下规则转换成等级成绩:分数:90100分数:8089分数:7079分数:6069分数:60以下等级:优等级:良等级:中 等级:及格等级:不及格# in cludemain ()int d;printf(输入分数:”); scanf(“ c”,&d);if(d=90 ) printf( 优”); else if(d=80) printf(良”);“

21、else if(d=70) printf(中”);“else if(d=60) printf( 及格” “; else printf(不及格”);四、条件语句:表达式1 ?表达式2 :表达式3执行的过程:若表达式 1的值为非0时,该条件语句的职位表达式 例:求一个整数的绝对值2,否则为表达式3;#in cludemai n()int i,absi;scanf( “ d ,&i);absi=i0 ? i : -i;printf( 绝对值是n” ,i,absi);五、switch语句switch (表达式)case常量表达式1: 语句1 ;break;case常量表达式 2: 语句2 ;break

22、;case常量表达式 n: 语句n ;break;default:语句n +1;例:商店卖货物,每一件 3.5元,按购买的数量给与优惠:购买100件,优惠5% ;购买200件以上,优惠6% ;购买300件以上,优惠8% ;购买400件以上,优惠10% ;购买500件以上,优惠15% ;#i ncludemain ()int n;float p,price;sca nf(%d,&n);switch( n/100)case 1:p=0.05;break;case 2:p=0.06;break;case 3:p=0.08;break;case 4:p=0.10;break;case 5:p=0.15

23、;break;price=3.5* n*(1-p);printf(% 应付款=%7.2fn,price);06.循环结构、for语句:般格式:for(表达式1 ;表达式2;表达式3)语句;表示:先计算表达式1的值,再计算表达式 2的值,若表达式2的值为0,则跳出循环体,转去执行循环体后面的程序 命令;若表达式2的值非0,则执行循环体中的语句,接着计算表达式3的值;而后,再从计算表达式2的值开始重复上诉操作,直到表达式2的值为0时结束。例:计算sum=1+2+3+100 的值”#in cludemai n()int i,sum;sum=0;for(i=1;i=100;i+)sum=sum+i;p

24、rintf( “ sum=%d ,sum)二、while 语句:一般格式:while语句;表示:先计算表达式的值,若为非0,则执行循环体语句,然后再计算表达式的值,重复上述过程,直到计算表达式的值为0时结束循环。例:计算sum=1+2+3+100 的值#i ncludemain ()int i,sum;i=1;sum=0;while(i=100)sum=sum+i;i+;printf( “ sum=%d ,sum);三、do-while语句1、一般格式:Do语句;While;表示:先执行一次循环语句,然后计算表达式的值,若表达式的值非0,则再执行循环语句,然后从计算表达式的值开始重复上述过程,

25、直到计算表达式的值为0,循环结束。例:计算sum=1+2+3+100的值#in cludemain ()int i,sum;i=1;sum=0;dosum=sum+i;i+;while(i=100);printf( “ sum=%d ,sum);四、break 禾口 continue 语句:1、break 语句:使用break语句可以提前结束由while、for、do-while语句构成的循环,而去执行循环下面的语句。例:判定用户输入的一个数是否为素数#in cludemain ()int a,d;printf(请输入一个整数:”);scanf(“ c”,&a);for(d=2;da;d+)i

26、f(a%d=0)break; /跳出当前的循环,执行循环后面的语句if(da)printf(“ 不是素数 ”,a);elseprintf(“ 是素数 “ ,a);2、continue :continue语句用于for、while、do-while语句中,其作用是结束本次循环,接着进入下一次是否执行循环的判断。例:输入10个非0的整数并求和。#i nclu demai n()int i,n=0,sum=0;while (n 10)printf(请输入整数:”);scanf(“ d ,&i);if(i=0)continue; /若为0,则继续输入下一个数sum+=i;n+;printf( “ c”

27、 ,sum);五、三种循环的比较:1、三种循环可以处理同一个问题,一般情况下可以相互代替;2、 while和do-while循环语句只在 while语句之后指定循环条件,在循环体内应包含使循环趋于结束的语句;for循 环语句可以在 中包含使循环趋于结束的语句;3、 对于while和do-while循环语句,循环变量的初始化应在while和do-while语句之前完成;for循环语句可以在中进行;4、 while和for语句是先判断表达式,后执行循环;do-while循环语句是先执行循环,后判断表达式;07数组数组是一组具有同一名字、不同下标的变量。数组中带下标的变量称为数组元素,每个数组元素由

28、数组名字和下标唯一地 来确定;同一数组中的元素数据类型相同。一、一维数组:1定义:只有一个下标的数组。2、定义格式:类型说明符数组名常量表达式女口:int a3;定义了一个一维数组,名称为a,数据类型为整型,含3个数组元素 a0、a1、a2;说明:?类型说明符:是指数组的数据类型;?常量表达式:是一个值为正整数的表达式,用来表示该数组的元素的个数,即数组的大小;3、 数组的引用:数组名下标;女口:a24、数组的初始化:?对数组的全部因素赋初值:女口:int a3=10,20,30;则该语句执行后,a0=10,a1=20,a2=30 ;?对数组的部分元素赋初值:如如: int b3=12,11;

29、则该语句执行后,b0=12,b1=11,a2=0 ;?对数组的全部元素赋初值时,也可将数组定义为一个不确定长度的数组:如口: int c =10,15,20;则该语句执行后,数组c的长度自动确定为3,c0=10,c1=15,c2=20 ;例:将输入的10个整数按反序输出#i ncludemain ()int a10,i;printf(请输入10个整数:”);for(i=0;i=0;i-)prin tf(%d,ai);prin tf(n);例:计算Fib on acci数列的前20项Fib on acci数列定义:f(1)=1f(2)=1f(n )=f( n-1)+f( n-2)(n2)#in

30、cludemain () int f21,i;f1=1;f2=1;for (i=3;i=20;i+)fi=fi-1+fi-2;for (i=1;i=20;i+)prin tf(%8d,fi);/每个数字占8位if(i%5=0)printf(n);按 5 个一行输出二、二维数组:具有两个下标的数组为二维数组。1、定义格式: 类型说明符 数组名常量表达式常量表达式女口:int a32; /定义了一个二维数组,名称数组名为a,含有6个元素:a00、a01、a10、a11a21;说明:?第一个常量表达式指出的是数组的行数;第二个常量表达式指出的是数组的列数;?二维数组元素的顺序是:按行存放;即先顺序存

31、放第一行的元素,再存放第二行的元素以此类推;其存储格式:a00a01a10a11a20a212、二维数组的初始化:同一维数组。?分行为二维数组赋初值:int a32=1,2,3,4,5,6;则该语句执行后,a00=1, a01=2, a10=3,a11=4, a20=5, a21=6?按数组在存储时的排列次序赋初值:int a32=1,2,3,4,5,6;?对数组的部分元素赋初值:int a32=1,2,3,4;?忽略第一维的长度,对二维数组赋初值:int a2=1,2,3,4,5,6;该语句执行后,C语言系统自动计算出第一维的长度为6/2=3,同样有:a01=2,a10=3,a11=4, a

32、20=5, a21=6;例:将两个2行3列的矩阵相加,并显示结果。#i ncludemain ()int a23=1,3,5,7,9,11;int b23=2,4,6,8,10,12;int c23,sum=0,i,j;for(i=0;i2;i+)/i表示第1行到第3行for(j=0;j3;j+)/j表示第1列到第3列cij=aij+bij;for(i=0;i2;i+)for (j=0;j字符串2,则返回1,否则返回-1 ;女口:比较两个字符串str1、str2: if(strcmp(str1,st=1) printf(str1str2);?strlen(字符数组);返回字符数组中包含的字符串

33、的长度;?strlwr(字符串);/将字符串的大写字符转换为小写;?strupr(字符串);/将字符串的小写字符转换为大写;例:不使用strlen()函数,计算一个字符串的长度#i ncludemain ()int i=0;char str30;printf(输入一个字符串:”);gets(str);while (stri!=0)i+; printf(字符串长度为:n” ,i);例:将一字符串逆转#i nclude#in cludemain ()char str20,temp;int i,j;printf(输入一个字符串:”);gets(str);for(i=0;i字符串2,则返回1,否则返回

34、-1 ;女口:比较两个字符串str1、str2: if(strcmp(str1,st=1) printf(str1str2);?strlen(字符数组);返回字符数组中包含的字符串的长度;?strlwr(字符串);/将字符串的大写字符转换为小写;?strupr(字符串);/将字符串的小写字符转换为大写;例:不使用strlen()函数,计算一个字符串的长度#i ncludemain ()int i=0;char str30;printf(输入一个字符串:”);gets(str);while (stri!=0)i+; printf(字符串长度为:n” ,i);例:将一字符串逆转#i nclude#

35、in cludemain ()char str20,temp;int i,j;printf(输入一个字符串:”);gets(str);for(i=0;istrle n(str)/2;i+)j=strle n(str)-1;temp=stri;stri=strj-i;strj-i=temp;printf(倒置的字符串为 n” ,str);10函数1、函数的定义: 一般格式:类型说明函数名(形式参数表)函数头说明部分;函数体执行部分;其中:类型说明:是指函数返回值的数据类型;默认为int ;函数名:为一标识符;代表了函数的入口地址;形式参数表:是用逗号分隔的一组变量说明,指出每一个形式参数的类型和

36、名称;函数值的返回:有时,调用函数是为了计算一个结果,这是需要使用返回语句将就是结果返回给主调函数, 此值即为函数的返回值;一般格式:return (表达式);其中,圆括号可以省略;当函数不需要返回值时,可以写成:return;例:编写一个函数 power (),用于计算x的n次方的值#in cludefloat power(float x,i nt n)int i;float s;s=1;for(i=1;i=n ;i+)s=s*x;return (s);2、函数的调用:C语言中函数调用的一般格式:函数名(实参表);女口: float f ;f=power(3,10);3、数组作为函数的参数黴

37、据元素作为函数实参在函数调用时,把数组元素作为实参传递给形参,实现单向的值传递;如:判别各个兀素的值,大于0,则输出该值,小于或等于0,则输出0#in clude void fun c(i nt x)if (x0) printf(“ 4d,x);elseprintf(main ()int a5,i;printf(请输入“ 2d,0);5个数:”);for(i=0;i5;i+)scanf( “ d ,&ai);for(i=0;i5;i+)fun c(ai);将数组元素作为实参传递?数组名作为函数参数(1) 使用数组名作为函数参数时,形参和实参是同类型的数组;(2) 在主调函数和被调函数中分别定义

38、数组;(3) 数组名代表了数组的起始地址,数组名作为函数参数传递的是该数组的起始地址,而不是该数组元素的值;例:将数组中的元素的和计算并显示出来。#in cludefunc(int b)int sum=O,i;for(i=0;i10;i+)sum+=bi;return sum;main ()int a=1,2,3,4,5,6,7,8,9,10,s;s=func(a);将数组a组为参数传递给函数funcprin tf(s=%d,s);4、内部函数和外部函数?内部函数:在定义函数时,在其类型名之前加“ static,则所定义的函数为内部函数,只能被所在的源文件中的函数调用,其他源文件若有同名的内部

39、函数,互不干扰。?外部函数:在定义函数时,在其类型名之前加“ extern (也可省略),则所定义的函数为外部函数(也称全局函数)可被其他源程序的函数调用。女口: static int func_1()/内部函数extern func_2 ()/ 外部函数综合测试给定程序为:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。以后每天早上都吃了前一天 剩下的一半零一个。到第10天早上只剩一个桃子。求第一天共摘了多少桃子。由主函数输出第一天共摘桃子数。输出结果为1534。#i ncludeint fun (i nt n)main ()int n=10,sum;sum=fun(n);p

40、rin tf(sum=%d,sum);解析:根据题意,第n+1天剩下的桃子数为 x(n+1),第n天剩下的桃子数为x(n),则满足:x(n)=2*(x(n+1)+1);第十天剩下1个桃子,可推算出第九天剩下的数量;可利用for循环,递推出其他天数剩下的桃子数:int fun (i nt n)int x,i;x=1;/第十天剩下的数量for(i=n-1;i=1;i-)II从第九天开始推算x=2*(x+1);return x;给定程序的功能是:从键盘输入10个整数求其中的最大值。#i ncludemain ()int fun (i nt b,i nt n);int ma x;int i,a10;f

41、or(i=0;i10;i+)sca nf(%d,&ai);max=fu n(a,10);prin tf(max=%d,max);int fun (i nt b,i nt n)解析:比较最大值的一般算法:设置一个变量max,第一步:将第一个数赋予max;第二步:利用for循环,将剩下的9个数依次与 max相比较,每次比较,max均等于大的数;int fun (i nt b,i nt n)int max,i;max=b0;II将第一个数赋予 maxfor(i=1;i=n-1;i+)将剩下的9个数依次与 max比较;if(maxbi) max=bi;return ma x;给定程序的功能是:将给定字

42、符串中所有的小写字母转换成大写字母(大写字母A的ASCII码为65,小写字母a 的ASCII码为97)。#i nclude#in cludevoid hs(char c)main ()char a=AgRbhLfFGjl;hs(a);prin tf(%s,a);解析:将给定字符串的每一个字符取出,判断是否介于a和z之间,若是,则将其转换为大写字符,即其ASC码值32。void hs(char c)un sig ned int i;for(i=0;i=a & ci= z)ci=ci-32;return;给定程序的功能是:求1+2+3+4+5+6+.+n (n的值由键盘输入)。in cludema

43、in ()int fac(i nt n);int n, sum;scan f(%d,&n);sum=fac( n);prin tf(sum=%d,sum);int fac(i nt n)解析:函数fac的功能是计算1-n之间整数的累计和。int fac(i nt n)int i,sum;sum=0;/累计和的初始值为0for(i=1;i=n ;i+)sum+=i;将1-n之间的整数累加起来return sum; 给定程序的功能是:从键盘输入10个整数,求其中的最小值。#i nclude stdio.hmain ()int fun (i nt x,i nt n);int a10,i,mi n;p

44、rin tf(please in put 10 nu mbers:n);for(i=0;i10;i+)sca nf(%d,&ai);mi n=fun (a,10);prin tf(mi n=%dn,mi n);int fun (i nt x,i nt n)解析:比较最小值的一般算法:设置一个变量min,第一步:将第一个数赋予 min ;第二步:利用for循环,将剩下的9个数依次与 min相比较,每次比较, min均等于小的数;int fun (i nt x,i nt n)int min,i;min=x0;将第一个数赋予 minfor(i=1;i xi) mi n=xi;return mi n;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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