C语言学习笔记精品资料.doc

上传人:封****n 文档编号:96698439 上传时间:2024-03-10 格式:DOC 页数:45 大小:248KB
返回 下载 相关 举报
C语言学习笔记精品资料.doc_第1页
第1页 / 共45页
C语言学习笔记精品资料.doc_第2页
第2页 / 共45页
点击查看更多>>
资源描述

《C语言学习笔记精品资料.doc》由会员分享,可在线阅读,更多相关《C语言学习笔记精品资料.doc(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 1.第一个c程序:# include stdio.h /*该行是文件包含命令*/main() printf(test); /*函数调用:printf将内容输出到显示器*/注:c语言区分大小写;程序中必须含有一个且只有一个名字为main的主函数;每行程序必须以;结尾;/* . */是注释内容。 2.引申例题:计算任意半径圆的面积和周长。#include stdio.hmain() float r,l,area; /*定义float类型变量*/ scanf(%f,&r); /*调用获取键盘输入函数*/ l = 2*3.14*r; area = 3.14*r*r; printf(n l=%f,ar

2、ea=%fn,l,area);注:r,l,area是float类型的变量,程序运行中可改变,float是c语言中的一种数据类型。 3求两个数的和。#include stdio.hmain() int i,j,sum; int Add(int m,int n); /*声明函数*/ scanf(%d %d,&i,&j); sum = Add(i,j); /*调用函数*/ printf(n sum=%d n,sum);int Add(int m,int n) /*函数*/ return m + n;注:scanf(%d %d,&i,&j);中的&是取地址运算符。通过以上三个例子的总结:1.一个c语言

3、源程序可以由一个或多个源文件组成,每个源文件可以由一个或多个函数组成,一个源程序无论有多少个源文件或函数,都只能有一个且只能有一个mian函数。由#引入的指令为预处理指令。4常见语法规范。标示符:程序中的变量名、函数名、标号等统称为标示符。C语言规定标示符只能由字母、数字和下划线_组成,并且第一个字符必须是字母或下划线。1常见数据类型Int、short、long、unsigned、float、double、char、enum、void、指针类型、数组类型、struct、union等。基本数据类型:Int、short、long、unsigned、float、double、char、enum都属于

4、基本类型。特点是其值不可再分。2常量。常量定义方式:#define 标示符 常量常量分为:直接常量和符号常量。例题:求任意圆的周长和面积,使用常量定义。#include stdio.h#define PI 3.1415926main()float r,l,area;scanf(%f,&r);l = 2*PI*r;area = PI*r*r;printf(n l=%f area=%f n,l,area);注:常量值不能被修改;习惯上常量名大写,变量名小写;整型常量(整型):1.十进制整常数:09数字,无前缀等,也就是整常数。例如:237、-783、65535;2.八进制正常数:以0为前缀,数值为

5、07,八进制通常是无符号数。例如:023;3.十六进制整常数:前缀为0X或0x,由09,af或AF组成(不区分大小写),例如:0X23A、0XAA、0xFFF0;4.长整型常量:使用L或小写l作为后缀,例如:123L(十进制123)、012l(八进制10)、0x15L(十六进制21)。5.无符号数的后缀表示:整常数的无符号型是用后缀U或u表示,例如:58u。前缀后缀可使用各种类型的数,如:0xA5Lu表示十六进制无符号长整数A5。实型常量(浮点型):1.十进制小数形式:由09和小数点组成,例如:0.0、0.34、4.23。2.指数形式:由十进制构成基数,加阶码标志e或E以及阶码组成,例如:1.

6、2E5(2.1*105)。字符常量:字符常量在内存中是以ASCII码形式存储的,字符常量可以表示所有字符,字符常量包括普通字符常量和转义字符。1.普通字符常量:使用单引号括起来的一个字符,例如:a、=、?等。注:字符常量只能用单引号不能用双引号;只能是单个字符,不能是多个字符;字符不能参与数值运算。2.转义字符:转义字符以开头,具有特定的含义,例如:n是回车换行、t是制表tab、转义反斜线。字符串常量:字符串常量是指用括起来的若干个字符组成的序列,例如:hello、sdk sd s等。字符串常量的每个字符都占一个字节,设计需要字符串常量最后要存储一个结束符0,如果没有结束符,程序输出时就不知道

7、何时停止。字符串中也要涉及到转义字符问题。C语言中没有响应的字符串变量,但是可以用一个字符数值存储一个字符串。典型题:A和A在内存中占的字节数?A只占一个字节,A占两个字节,因为字符串末尾含一个结束符,占一个字节。3变量。变量定义方式:数据类型 变量名1,变量名2,变量名3,.;变量也分为整型变量实型变量和字符型变量。变量的使用规范:1.使用之前必须先定义;2.变量赋值需要注意的:可同时定义几个变量int i,j,k;对多个变量同时赋值时int i=3,j=4,k=8;不可写成int i=j=k=5;C语言学习笔记(四)-运算符与表达式(下)1逗号运算符和逗号表达式1.1逗号表达式格式:表达式

8、1,表达式2,表达式3,.,表达式n;该表达式的功能是:先计算表达式1,再计算表达式2,最后计算表达式n,最后一个表达式的值为此逗号表达式的值。1.2逗号表达式的优先级:最低。1.3逗号表达式的值:例子代码:#include stdio.hmain() int a,b,c; a=1,b=2,c=a+b+3; printf(%d,%d,%dn,a,b,c); c=(a+,a+=b,a-b); /*变量c保存逗号表达式的值*/ printf(%d,%d,%dn,a,b,c); /*逗号表达式的作用为顺序求值*/输出结果如下:1,2,64,2,22关系运算符和关系表达式2.1C语言中的真值和假值:C

9、语言中没有逻辑型数据,所以C语言规定,用整型常量1来表示真值,所有非0的表达式和常量的逻辑值都为1,用整型常量0表示假值,只有表达式的值为0的常量和表达式的逻辑值为0。关系表达式例子代码:#include stdio.hmain() char x=m,y=n; int n; n=xy; /*取关系表达式xy的值*/ printf(%dn,n); n=x=y-1; /*取关系表达式x=y-1的值*/ printf(%dn,n); n=(y!=Y)+(52); printf(a=%d,b=%d,c=%dn,a,b,c); /*关系表达式的值可以参加运算c2成立,值为1和b相加值放到a中存放*/ a

10、=bc*100; printf(a=%d,b=%d,c=%dn,a,b,c); /*利用关系表达式计算要注意运算的优先级*/程序运行结果:a=1,b=10,c=10a=11,b=10,c=11a=0,b=10,c=113逻辑运算符和逻辑表达式3.1基本逻辑运算符包括:单目运算符!,双目运算符&、|。C规定了运算符的优先次序即优先级。 当一个表达式中有多个运算符参加运算时, 将按下表所规定的优先级进行运算。表中优先级从上往下逐渐降低, 同一行优先级相同。 例如: 表达式 104&!(10099)|34&!(10099)&3(指针型结构成员)( 最高) !(逻辑非) .(位取反) -(负号) +(

11、加1) -(减1) &(变量地址) *(指针所指内容) type(函数说明) sizeof(长度计算) *(乘) /(除) %(取模) +(加) -(减) (位右移) (小于) (大于) =(大于等于) =(等于) !=(不等于) &(位与) (位异或) |(位或) &(逻辑与) |(逻辑或) ?:(?表达式) = += -=(联合操作) ,(逗号运算符) ( 最低)逻辑与运算符例子代码:#include stdio.h#define PI 3.1415926main() int m,n; int k; k=(m=0)&(m=1); printf (%d,%dn,m,k); k=(m=1)&(

12、m=0); printf (%d,%dn,m,k); k=(m=2)&(m=1)&(m=0); /*多层逻辑与运算的规则测试*/ printf (%d,%dn,m,k); m=0,k=0; n=k+&m+; printf (%d,%d,%dn,k,m,n); m=0,k=0; n=m+&k+; /*测试表达式k+&m+与m+&k+*/ printf (%d,%d,%dn,k,m,n);程序运行结果:0,00,00,01,0,00,1,0逻辑或运算符例子代码:#include stdio.hmain() int m,n; int k; k=(m=0)|(m=1); /*逻辑或运算的计算规则*/

13、printf (%d,%dn,m,k); k=(m=1)|(m=0); printf (%d,%dn,m,k); k=(m=2)|(m=1)|(m=0); /*多层逻辑或运算的规则测试*/ printf (%d,%dn,m,k); m=0,k=0; n=+m|+k; printf (%d,%d,%dn,k,m,n); m=0,k=0; n=+k|+m; printf (%d,%d,%dn,k,m,n); /*测试表达式+k|+m与+m|+k+*/程序运行结果:1,11,12,10,1,11,0,1逻辑与和逻辑或混合运算例子代码:#include stdio.hmain() int m,k; k

14、=(m=0)|(m=1)&(m=2); /*表达式理解为(m=0)|(m=1 )&(m=2)*/ printf (%d,%dn,m,k); k=(m=2)|(m=1)&(m=0); /*表达式理解为(m=2)|(m=1)&(m=0)*/ printf (%d,%dn,m,k); k=(m=2)&(m=1)|(m=0); /*表达式理解为(m=2)&(m=1)|(m=0)*/ printf (%d,%dn,m,k); k=(m=0)&(m=1)|(m=2); /*表达式理解为(m=0)&(m=1)|(m=2)*/ printf (%d,%dn,m,k);程序运行结果:2,12,11,12,14条

15、件运算符和条件表达式4.1条件运算符?:是C语言中唯一的的三目运算符,优先级高于赋值运算表达式语法: 表达式1?表达式2:表达式3其执行顺序是:先求解表达式1,若为1则执行表达式2,否则执行表达式3。例子代码:#include stdio.hmain() char ch; scanf(%c , &ch); /* 输入一个字符,赋给变量ch */ ch=(ch=A&ch=9%5+6%5)?1:0; /*(96)%5=9%56%5)等价于(96)%5)=(9%56%5)其值为0*/ printf( x=%dn,x); y+=z=x+3; /* y+=z=x3等价z=x+3,y=y+z*/ prin

16、tf( y=%dt z=%dn,y,z); x=y=z=1; -x&+y|z+; /*混合的逻辑与和逻辑或运算*/ printf( x=%dt y=%dt z=%dn,x,y,z);程序运行结果: x=0 y=4 z=3 x=0 y=1 z=2摘自 letthinking的专栏C语言学习笔记(五)-顺序程序设计1语句概述1.1普通表达式语句:表达式后加分号就是一个表达式语句,语句与表达式不同,是无值的,而表达式是有值的。1.2流程控制语句:流程控制语句主要用来控制程序执行走向,以实现程序的各种结构方式,它有特定的关键字等,主要分为分支和循环两种。分支流程控制语句:if、switch。循环流程控

17、制语句:for、while、do while。1.3跳转语句:跳转语句的作用主要是让程序从正常执行的走向中跳转到其它部分,常见跳转语句如下间断语句:break、continue。转向语句:goto。Return语句:return。1.4复合语句:由一些语句组成,放在一个大括号中形成一个整体,句型如下:语句1;语句2;.语句n;C语言语法规定,复合语句作为一条语句来处理。例子代码:#include stdio.hmain() int a=11,b=21,c=31; printf(a=%dtb=%dtc=%dn,a,b,c); int b=22; /*复合语句开始*/ float c=3.3; p

18、rintf(a=%dtb=%dtc=%fn,a,b,c); a=b; /*复合语句结束*/ printf(a=%dtb=%dtc=%dn,a,b,c);输出结果如下:a=11 b=21 c=31a=11 b=22 c=3.300000a=22 b=21 c=31上面的代码可以和下面的代码对比运行:#include stdio.hmain() int a=11,b=21,c=31; printf(a=%dtb=%dtc=%dn,a,b,c); int a=1;int b=22; /*复合语句开始*/ float c=3.3; printf(a=%dtb=%dtc=%fn,a,b,c); a=b;

19、 /*复合语句结束*/ printf(a=%dtb=%dtc=%dn,a,b,c);程序运行结果:a=11 b=21 c=31a=1 b=22 c=3.300000a=11 b=21 c=31可以看到,在复合语句中声明的变量只在复合语句中起作用。1.5空语句:空语句一般指只有一个分号占位,一般用在程序设计初期,表示待编写的函数或代码。1.6各种语句整体介绍:#include stdio.hmain() int a=10,b=20,c; /* 声明语句*/ if(ba) /*控制语句 */ ; /* 复合语句 */ c=a+b; ; /* 表达式语句 */ printf(%d,c); /*函数调

20、用语句 */ else ; /* 空语句*/2库函数的调用与输入输出的关系2.1标准的库函数是存放在函数库中的,因此使用时必须要告知计算机,说明函数库属于哪个库,此过程为函数的声明,例如:#include math.h /*标准数学函数的声明*/Main().y=sin(x); /*库函数的调用*/.Include是C语言中的特定字,是包含的意思,包含的文件一般为.h,称头文件。2.2在C语言中提供了一些输入输出的标准库函数,例如printf和scanf,使用时必须将函数库的头文件stdio.h包含进程序中。3格式化输出3.1printf函数:它的作用是向终端输出数据。函数格式:printf(

21、格式控制语句,输出项1,输出项2,.);例如:printf(%f,j); 输出浮点类型的变量j,%f为控制符。常见的格式控制符:%d-十进制整型,%o-八进制无符号整型,%f输出实数,%s-字符串,%c-输出单个字符等。4字符输出4.1字符输出可以利用putchar函数,在stdio.h中已经定义。例子代码:#include stdio.hmain() char a,b,c; a=C; b=A; c=T; putchar(a); putchar(b); putchar(c); putchar(n); putchar(101); putchar(B); putchar(c);注:该函数不能输出两

22、个或两个以上的字符数据。5格式化输入5.1scanf函数:作用是从键盘获取数据,格式化后再赋值给变量。调用形式:scanf(格式控制语句,输入项);/*6字符输入6.1getch()和getche()函数:功能都是读入一个字符。两者的区别是:getch()函数不将读入的字符回显到屏幕上,getche()却显示。例子代码:#includemain() char c,ch; c=getch(); /*从键盘上读入一个字符不回显送给字符变量c*/ ch=getche(); /*从键盘上带回显的读入一个字符送给字符变量ch*/ putchar(c); /*输出该字符*/ putchar(ch);6.2

23、getchar()函数:作用是从终端输入一个字符。getchar函数将空格符、制表符、和换行符都作为有效字符录入。例子代码:#include stdio.hmain() char c1,c2; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2);*/7顺序程序设计例一:计算一元二次方程的根。代码:#include math.hmain() double a,b,c; /*声明系数*/ double x1,x2,p; printf(pleaseinputa,b,c:); scanf(%lf%lf%lf,&a,&b,&c); /*输入系数*/

24、printf(n); p=b*b-4*a*c; /*p存放判别式的值*/ x1=(-b+sqrt(p)/(2*a); /*计算方程的根*/ x2=(-b-sqrt(p)/(2*a); printf(x1=%f,x2=%fn,x1,x2); /*输出结果*/例二:两位整数倒序。代码:#include main() int m,n; printf(inputm(10-99):); scanf(%d,&m); printf(n); n=m%10; m=n*10+m/10; printf(m=%dn,m); C语言学习笔记(六)-分支程序设计1使用if语句设计选择程序:if语句一般分为两种方式:单条件

25、单分支、和单 条件双分支if语句。1.1单条件单分支的if语句一般语法:If(表达式A)语句B;语句执行流程:首先执行表达式A,如果表达式A的值非0,则执行语句序列B,然后流程继续往下执行。例子代码:#include stdio.hmain()double score;printf(input the score:);scanf(%lf,&score);if(score=60)/*成绩开始判断*/printf(npass!n);printf(programming is over!n);/*和判断语句并列的下一条语句*/1.2单条件双分支的语法格式:If(表达式A)语句B;else语句C;语句

26、执行流程:首先执行表达式A的运算,如果表达式A的值非0,则执行语句B,条件不成立则执行C。例子代码:#include stdio.hmain()double score;printf(input the score:);scanf(%lf,&score);if(score=60)/*成绩开始判断*/printf(npass!n);/*及格说明分支*/elseprintf(fail!n);printf(programming is over!n);/*和判断语句并列的下一条语句*/2嵌套的if语句2.1嵌套常用格式:第一种:If(表达式)语句else if(表达式)语句第二种:If(表达式)语句

27、else if(表达式)语句else语句例子代码:#include stdio.h#include math.hvoid main()int a;scanf(%d, &a);if(abs(a)10) printf(%dis one bit.n,a);else if(abs(a)100) printf(%dis two bit.n,a); else if(abs(a)1000) printf(%dis three bit.n,a); else if(abs(a)10000) printf(%dis four bit.n,a); else if(abs(a)2) /*如果是闰年且月份大于2,总天数应该加一天*/sum+;printf(It is the %dth day.,sum); 1循环语句1.1循环语句主要包括三种:while、do-while、for。2while语句处理循环2.1while语句基本形式:While(表达式)循环体语句2.2执行流程:首先计算while表达式的值,当非零时执行循环体内的语句,执行完之后继续判断while表达式的值,如果非零,继续执行循环体,直到表达式值为零时,跳出循环,执行后续的语句。例子代码:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 期刊短文 > 互联网

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁