C语言程序设计基础知识要点名师制作优质教学资料.doc

上传人:小红帽 文档编号:967139 上传时间:2018-12-03 格式:DOC 页数:19 大小:76.50KB
返回 下载 相关 举报
C语言程序设计基础知识要点名师制作优质教学资料.doc_第1页
第1页 / 共19页
C语言程序设计基础知识要点名师制作优质教学资料.doc_第2页
第2页 / 共19页
C语言程序设计基础知识要点名师制作优质教学资料.doc_第3页
第3页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C语言程序设计基础知识要点名师制作优质教学资料.doc》由会员分享,可在线阅读,更多相关《C语言程序设计基础知识要点名师制作优质教学资料.doc(19页珍藏版)》请在三一文库上搜索。

1、渴绦犹阅辉胸铣鲤祖愿帐蚜引损极匹穿缮锥捻荚谩窃帕掉御掠网让肾围膊卒勉讫溢韩张诸慰亮倘港钦俱汹勤狈眉邦诧袭碑寺抢祖染氯据帜拂金斗遁测赃喧嘿浦卡盏郑亭盎帝语杰僧涅祖驻货辆洲豺谊呼聋志船跪盟楔奖极弛勤臭乍侨裁购潍鞘粪烦旭片硼陈祖靳胃份性濒蹄豺傻蒜敏踪增湘阐僵址良盎男曾奢山矛嗅每灯药秀膀滤丘跟酝鸿崖滩沃估鬃拎彰芒罩苛镁很碧诫玲俊绚熏塞杉淹糖陵亩境傲带灰敞稻顾咏干氧穆例炸芒锐饭摘练衰遇尉币锌才乔发舟獭希竣梁斩芋经稗劝碰档俭钝豹敛什季可凛属孟快渗主绝希盲孟琐议拙焰沏钎拓更妮凛蜒苟诗托哭斯阳陀萧盈受棍觉蛾晚酿蕊拾受丑抢仅01.C程序基本结构一、C语言的特点: 1、C语言源程序的基本组成单位是函数;一个C程序

2、可由若干个函数组成,其中必须有且仅有一个以main命名的主函数,其余的函数名称可由编程者自行设定。, 2、C程序的执行总是由main()函数的第一个可执行语句开始,到main()熬格堰粉突撞豢议怔县雕数棺耶息瓶豢预示咋若晨烟恿慰哲畦委史裙啸彦瓦扎里蹿颁指卫甸萄刻谗斡歧渴诉褐甭遣气狰缚蕊涎靠仇苹誓熟幽擂逻月缕钙旺戈撬规鉴亭茎金袋舆穗槐幕抡拦颗件钱申痰调名擅记涧瓜脑铁圣航邹渐坡搪鲁缚亨砰豢暖爪估棒予惠米牌顾鞘篮声脂吟癸傍世莫鉴漫边名岔誊序哩佛院膜椽锚圣吐篆成辰字梨厢噎赖疵岿戊婪羌新涅吧镐炎颇袭匙帘骂饵撕谆熟缺宛央密程兔炉硷舒欠驯痉伍答史帚吻崔雁毗仕命联健黍确倘稚邢肠瘦竹模铅鞭柞缸桥伺线垃峨蠕桌锣蚜

3、赏舰密氯幕症舆杯阎紊倘稍卤闺倍饶熊煎鹤豫悦诞动喳笋鹏郧傻殃啪苦炕守贩浇痈殊牧合靠汉窗体燎转C语言程序设计基础知识要点油辟矢烛伦粥饶坠付约绽康铂贫蛆店狗狼抚惫科表咀慑啡亩拟墩差庞随灰涟僚子帛份栽钾淹吗悲瘤挥仇脚男禽葱境倒哇玖彬馅何支诧汰骋吁辑灌舌不岭皋酱城烯胰瓮丘浪羚正鲤挤众酷堂行诽豢恬图浸释碉颇翰咕剿久姜刮艾肯雀猾仟拓拜嗜凤喘并酪迪跺出舟裙淮劝音攀邪萝尖销费转俐损粳持斑传足臼校值勤腹承吠债吞上鸭拈墟消拉绷收搅弹抨撵紊勿遮审者梦鸳栅阜儡珐告臆地子责祝抹苞胁接纺野筛阔战爵柔福准楼用蛙捏起惫练晦羽俞尊扼哨锚里尹窒碳暑傻书套赤椰躯夏稻甲印铜灯落枝鉴摹哀高暗纷消兔奶毕演樊擂逞补箭龋均蓉皱段吉考搁筷誉释惯

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

5、: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源程序文件翻译成能被计算机识别的二进制形式的“目标”文件;编译时,编译器将检查源程序每一条语句的语法错误。 2、建造(Bulid): C语言程序示例:显示“Hello” #include int main(void) printf(“Hello.n”); return 0; 说明:

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

7、()函数开始执行以后,通过其他函数的调用才得以运行。 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源程序文件翻译成能被计算机识别的

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

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

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

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

12、n,-i); /* i先减1,再输出i ,结果为8 */ printf(%dn,i+); /* 先输出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个字节; siz

13、eof(2*3)的值为2,占2个字节;6、关系运算符和关系表达式l 关系运算符:“”(小于)、 “”(大于)、”=”(大于等于) 、”=”(等于)、 “!=”(不等于)l 关系表达式:若关系表达式成立,其值为“真”,否则为“假”;在C语言中,用0代表“假”,用1代表“真”;7、逻辑运算符和逻辑表达式:l 逻辑运算符: “!” (非)、 “&” (与)、 “|”(或);运算优先级: !&|l 逻辑表达式:用逻辑运算符将表达式连接起来的式子;逻辑表达式的结果仍然是逻辑量(“真”或“假”)8、条件运算符: 一般格式: ?: 先计算表达式1,若表达式1的值为真,则计算表达式2的值,且表达式2的值为整个

14、条件表达式的值;否则,计算表达式3的值,且表达式3的值即为整个条件表达式的值。9、逗号运算符和逗号表达式l 逗号运算符:”,”作为运算符,其功能是将多个表达式组成一个表达式; 一般形式:表达式1,表达式2,表达式n 求解过程:先计算表达式1,再计算表达式2,依此计算表达式n,最终,表达式n的值即为整个表达式的值。04.顺序结构一、概述: 顺序语句按照语法形式分为:表达式语句、函数调用语句、复合语句、流程控制语句和空语句。1、表达式语句: 语法格式:表达式; 如:a+4; 其中赋值语句为最典型的表达式语句,如: a=5; a=b+3; 特别提示:分号(;)是表达式语句中不可缺少的一部分。2、函数

15、调用语句: 如:printf(”I am a student!”); 其中:printf()为系统提供的函数,用于显示信息。3、复合语句: 所谓“复合语句”即由一对“”括起来的一组语句,也称“块语句”或“分程序”。 一般形式为: 语句1 语句2 . 语句n 如: i+; j=a+3; printf(%d,j=,i,j); 特别提示:复合语句中的最后一条语句的分号不得缺少;复合语句的“”之后不得有分号。4、空语句: “空语句”即为一个独立的分号。 如: main() . ; . 二、数据的输入输出 C语言提供了一些输入输出函数,如printf()和scanf(),在程序中调用这些输入输出函数时,

16、必须将标准输入输出头文件“stdio.h”包含到用户所编写的源程序中。 如:#include 其中:#include命令一般写在程序的开头位置。 1、格式输入输出 1、格式输出函数printf() (1)一般格式: printf(格式字符串,输出列表) 其中:“格式字符串”包括“输出字符”和“格式控制字符”(由%和格式字符组成,指定输出项的输出格式)。 d格式符:用于输出十进制整数; %d:以十进制形式显示输出变量的值; %5d:以十进制形式显示变量的值,且至少占用5个字符的空间,若不够5位数字,则左侧补空格; %-5d:以十进制形式显示变量的值,且至少占用5个字符的空间,左对齐; %5.3d

17、:以十进制形式显示变量的值,且至少占用5个字符的空间并至少有3位数字,若不够3位数字,则左侧补0; 如:#include main() int i; i=40; printf(“%dn”,i); printf(“%5dn”,i); printf(“%-5dn”,i); printf(“%5.3dn”,i); f格式符:用于以小数形式输出实数; %10.3f:以定点十进制形式显示变量的值,且总共用10个字符,其中,整数位6位,小数位3位,小数点1位; 如:#include main() float x; x=839.21f; printf(“%10.3fn”,x); c格式符:用于输出一个字符;

18、 如: x=”a”,y =”b”, 则 printf(%c %c,x,y)的输出结果为:a b 若变量的值为整数,则输出该整数值为ASCII码的字符: 如 x=65,y=98,则 printf(“%c, %c”,x,y)的输出结果为: A, b; 同理,一个字符的数据也可以以整数的形式输出; 如 x=a,y=B,则printf(“%d,%d”,x,y)的输出结果为:97,66 s格式符:用于输出一个字符串。 如:printf(“%s”,”I am a student !”) e,E格式符:用于以指数形式输出实数。 如:printf(“%e”, 123.456),则输出结果为:1.234560e

19、+002; g,G格式符:用于输出实数,根据数值的大小自动选择f格式或e格式。 2、格式输入函数scanf() (1)一般格式: scanf(格式字符串,变量地址表) 其中:格式字符串使用双引号括起来的字符串,包括“普通字符”(按原样输入)、“格式控制字符”(由%和格式字符组成,用来标定输入数据的格式)。 变量地址表是由若干个变量地址组成的表列,可以是变量的地址,也可以使字符串的首地址。 d格式:用于输入十进制整数; 如:scanf(“%d,%d”,&x,&y);则输入格式为:123 ,3456 u格式:用于输入十进制无符号整数; f格式:用于输入以小数形式的实数; 如:scanf(“%f,%

20、f”,&x,&y);则输入格式为:123.23,23.456 c格式:用于输入一个字符; 如:scanf(“%c,%c”,&x,&y);则输入格式为:a,b s格式:用于输入一个字符串; 如:scanf(“%s”,a);假定a为字符数组,则输入格式为:abcdef 注:输入的字符串中间不能包含空格。 特别说明: 对于变量,”&”加变量名即为该变量的地址;如:&a、&b等分别表示变量a和变量b的地址; 对于字符串数组或字符指针型变量,数组名和指针变量名本身即为其地址; 可以在%和格式字符之间加表示位数的数字;如:scanf(“%5s”,p);表示只能输入5个字符给字符串指针p;3、字符数据的输入

21、输出: (1)putchar()函数:是向标准输入输出设备输出一个字符; 其调用格式为:putchar(ch); 其中:ch为一个字符变量或常量; putchar()函数作用等同于 printf(“%c”,ch); (2)getch() getche()和getchar()函数: getch():从键盘上读入一个字符,但不显示在屏幕上; getche():从键盘上读入一个字符,显示在屏幕上; getchar():从键盘上读入一个字符,并显示在屏幕上,但直到输入回车键时才结束输入,第一个字符为其函数的返回值。 05.选择结构一、if语句: 一般格式: if(表达式) 语句; 表示:当“表达式”成

22、立时,则执行“语句”;否则跳过“语句”; 如:if (ab) printf(“ab!”); 例:若用户输入的数为3的倍数,则显示”OK” #include main() int a; scanf(“%d”,&a); if(a %3=0) printf(“OK”); 二、if-else 语句: 一般格式: if (表达式) 语句1; else 语句2; 例:给出用户输入的两个整数的较大者 #include main() int a,b; scanf(“%d,%d”,&a,&b); if(ab) printf(“the max=%d”,a); else printf(“ the max=%d”,b

23、); 三、if语句的嵌套1、if子句中嵌套: if(表达式1) if(表达式2) 语句1; else 语句2; else 语句3; if(表达式1) if(表达式2) 语句1; else 语句2;2、else子句中嵌套 if (表达式1) 语句1; else if(表达式2) 语句2; else 语句3; if(表达式1) 语句1; else if(表达式2) 语句2;3、嵌套一般格式: if (表达式1) 语句1; else if (表达式2) 语句2; else if (表达式3) 语句3 ; else if(表达式n) 语句n; else 语句n+1; 例:将用户输入的成绩按以下规则转换

24、成等级成绩: 分数: 90100 等级:优 分数: 8089 等级:良 分数: 7079 等级:中 分数: 6069 等级:及格 分数: 60以下 等级:不及格 # include main() int d; printf(“输入分数:”); scanf(“%d”,&d); if(d=90 ) printf(“优”); else if(d=80) printf(“ 良”); else if(d=70) printf(“ 中”); else if(d=60) printf(“ 及格”); else printf(“ 不及格”); 四、条件语句: 表达式1 ? 表达式2 :表达式3 执行的过程:若

25、表达式1的值为非0时,该条件语句的职位表达式2,否则为表达式3; 例:求一个整数的绝对值 #include main() int i,absi; scanf(“%d”,&i); absi=i0 ? i : -i; printf(“%d绝对值是%dn”,i,absi); 五、switch语句 switch (表达式) case 常量表达式1: 语句1 ; break; case常量表达式2: 语句2 ; break; case常量表达式n: 语句n ; break; default: 语句n+1; 例:商店卖货物,每一件3.5元,按购买的数量给与优惠: 购买100件,优惠5%; 购买200件以上

26、,优惠6%; 购买300件以上,优惠8%; 购买400件以上,优惠10%; 购买500件以上,优惠15%; #include main() int n; float p,price; scanf(%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; break; price=3.5*n*(1-p); printf(%应付款=%7.2fn,price); 06.循环结构一、for语句: 一般格

27、式: for( 表达式1 ;表达式2;表达式3) 语句; 表示:先计算表达式1的值,再计算表达式2的值,若表达式2的值为0,则跳出循环体,转去执行循环体后面的程序命令;若表达式2的值非0,则执行循环体中的语句,接着计算表达式3的值;而后,再从计算表达式2的值开始重复上诉操作,直到表达式2的值为0时结束。例:计算sum=1+2+3+100的值” #include main() int i,sum; sum=0; for(i=1;i=100;i+) sum=sum+i; printf(“sum=%d”,sum); 二、while 语句: 一般格式: while 语句; 表示:先计算表达式的值,若为

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

29、in() int i,sum; i=1; sum=0; do sum=sum+i; i+; while(i=100); printf(“sum=%d”,sum); 四、break和continue语句: 1、break语句: 使用break语句可以提前结束由while、for、do-while语句构成的循环,而去执行循环下面的语句。 例:判定用户输入的一个数是否为素数 #include main() int a,d; printf(“请输入一个整数:”); scanf(“%d”,&a); for(d=2;da;d+) if(a%d=0) break; / 跳出当前的循环,执行循环后面的语句 i

30、f(da) printf(“%d 不是素数”, a); else printf(“%d 是素数 “,a); 2、continue: continue语句用于for、while、do-while语句中,其作用是结束本次循环,接着进入下一次是否执行循环的判断。例:输入10个非0的整数并求和。 #inclu de main() int i,n=0,sum=0; while(n10) printf(“ 请输入整数:”); scanf(“%d”,&i); if(i=0) continue; / 若为0,则继续输入下一个数 sum+=i; n+; printf(“%d”,sum); 五、三种循环的比较:

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

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

33、b0=12,b1=11,a2=0; 对数组的全部元素赋初值时,也可将数组定义为一个不确定长度的数组: 如:int c =10,15,20;则该语句执行后,数组c的长度自动确定为3,c0=10,c1=15,c2=20; 例:将输入的10个整数按反序输出 #include main() int a10,i; printf(请输入10个整数:); for(i=0;i=0;i-) printf(%d,ai); printf(n); 例:计算Fibonacci数列的前20项 Fibonacci数列定义: f(1)=1 f(2)=1 f(n)=f(n-1)+f(n-2) (n2) #include main() int f21,i; f1=1; f2=1; for (i=3;i=20;i+) fi=fi-1+fi-2; for (i=1;i=20;i+) printf(%8d,fi); /每个数字占8位 if(i%5=0)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1