郝斌老师c语言笔记

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

int#includestdio.hintmain(){return0;}C语言关键字Auto自动的break终止case案件charconst常量continue继续default默认do做double双Else否则enum枚举extern额外的float浮点型for为了goto去if如果int整数long长整型Register寄存器return返回short短的signed有符号的sizeof运算符static静止的struct结构体switch开关typedef定义类型Unsigned无符号整数union联合void空的;无效的volatile不稳定的易失的易变的while当directive指示符fatal致命的precompiled预编译;先行编译C语言的特点:优点:代码量小,速度快,功能强大。缺点:危险性高,开发周期长,相对于java的可移植性不强。C语言的应用领域:主要用于系统软件,很少应用于应用软件。学习方法:多上机。C语言的函数和数学的函数没有太大的函数第十一节课一元二次方程求解:首先要把abc三个系数要保存到计算机了,再求出b的平方减去4倍ac的值。即先要确定解题思路。#includestdafx.h#includemath.hintmain(intargc,char*argv[]){inta;intb;intc;floatd;floatx1;floatx2;printf(请输入三个值:\n);scanf(%d%d%d,&a,&b,&c);d=(b*b-4*a*c);if(d0){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf(方程有两个根分别是:x1=%fx2=%f\n,x1,x2);}elseif(d==0){x1=(-b/(2*a));x2=x1;printf(方程有两个一样的跟:x1=x2=%f\n,x1);}else{printf(方程没有实根\n);}return0;}第十四次课计算机的一些基本知识:1:cpu内存条硬盘显卡主板显示器之间的关系Cpu不能直接处理硬盘上的文件,通过双击鼠标将硬盘上的数据调用到内存条上,cpu再去处理内存条中的电影数据,处理的结果是将某些数据变成图像,通过显示器。声音通过声卡显示出来。主板上插上硬盘,内存条,声卡,显卡,通过主板将这些东西联系在一起。2:helloworld程序如何运行起来的通过编译链接:出现后缀式.exe的文件感叹号的操作是由我们的软件会请求操作系统(cpu)来执行这个exe的文件3:什么是数据类型把数据保存到计算机里面,即是数据的存储。对数据进行分类,整数,实数,字符三类基本类型数据:整数:整型int(4字节),短整型shortint(2),长整型longint(8)。定义完之后这个容器只能放提前定义好的数据类型。实数(浮点数,含有小数点的数):单精度浮点数(空间比较小,float4个字节,),双精度浮点数(空间比较大,double8个字节,)。字符:单个字符(char一个字节),字符串(一系列字符的组合,c语言没有东西可以直接存放字符串。以后可以通过字符数组);复合数据类型:结构体枚举(把基本类型拼合在一起,最重要的)共用体4:什么是变量类似一个容器,可以存放不同类型数据。方便对数据的存储。本质是就是内存中的一段存储空间。例如:3最终存放在内存中,程序运行完后就把内存释放。5:cpu内存条vc++6.0操作系统之间的关系请求操作系统分配一段存储空间。来存放变量。6:变量为什么必须要初始化所谓初始化就是赋值的意思7:如何定义变量数据类型变量名=要付的值等价于数据类型变量名;变量名=要付的值;Inti,j;i=j=5;等价于inti=j=5;i=5;j=5;8:什么是进制9:常量在c语言中是如何表示的整数十进制十六进制:前面加0x或0X把进驻:前面加0,不是字母o浮点数Floatx=3.2e3;Floatx=123.45e-2字符单个字符用单引号,字符串用双引号。但是“a”代表了’a’和‘\0‘的组合10:常量是以什么样的二进制代码存储在我们的计算机中的用二进制代码把数存储起来的,整数是以补码的形式,实数是以IEEE754,字符和整数的存储的形式差不多。即字符改变成asc2码,再以补码表示成二进制。11:代码规范化的问题代码规范化,有利于以后写大程序。12:什么是字节就是存储数据的单位,是硬件所能访问的最小单位。cpu只能控制字节,控制不到位。一个字节等于八个位,1k等1024个字节1m等于1024k1g等于1024m13:不同类型数据类型之间赋值的问题暂不考虑14:什么是asc2只能定义字符变量Charch=‘A’;等价于charch;ch=‘A’;相当于制造出一个容器,再把’A’放进这个容器中。如果在后面在定义Charch=‘B’是不允许的,因为不可以同时制造出两个一样的容器。这个代码不是一个值,而是一种规定,规定不同的字符使用那个整数值去表示它规定了一个字母对应一个整数15:字符本质上于整数的存储方式相同基本的输入输出函数的用法Printf()功能强大,用法灵活。将变量的内容输出到显示中1:printf(“字符串\n”);2:printf(“输出控制符”,输出参数);3:printf(“输出控制符1输出控制符2\换行符”,i,j);输出控制符和输出参数的个数必须一一对应。4:printf(“输出控制符非输出控制符”,输出参数);输出控制符包含%d%ld%c%f的为什么需要输出控制符:1:01组成的代码可以表示数据也可以表示指令。2:如果01组成的代码表示的事数据的话那么同样的01代码以不同的格式输出就会有不同的输出结果。3#includestdio.hIntmain(void){Inti=10:;Printf(“%d”,i);//d是十进制,把二进制代码以十进制输出。X是十六进制。%d输出控制符。Return0:}标准输入输出#includestdafx.hintmain(intargc,char*argv[]){intx=47;printf(%x\n,x);printf(%X\n,x);printf(%#X\n,x);//推荐使用return0;}/*输出结果是——————————————————————2f2F0X2F——————————————————————*/return0;}2:Scanf(通过键盘将数据输入到变量中)有两种用法用法一:scnaf(”输入控制符“,输入参数);功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入以输入参数的值为地址的变量中。运算符Scanf(”%d“&i);&为取地址符号知识跳跃数组:1;为了方便定义大量同类型数据的存储和使用2:数组名是数组第一个元素的地址3:采用循环法赋值例如:inta[5]={12,11,12,321,123};intb[5];inti;for(i=0;i5;i++)b[i]=a[j];二维数组的的初始化Inta[3][4]={{,23,,2,2},{32吗,232332,23,,2,},{32,,2,,,,43,}};%-5d表示左对齐,每个字符隔五个字符。二维数组的输出:#includestdafx.hintmain(intargc,char*argv[]){#includestdio.hintmain(void){inta[2][3]={{12,34,45},{423,2342,24}};inti,j;for(i=0;i2;++i){for(j=0;j3;++j){printf(%-5d,a[i][j]);}printf(\n);}return0;}\\二维数组的输出,利用两个for循环就可以解决。数组其实并不真实存在内存空间中,而是线性分布的。函数:极其重要。(学习c语言的第二个重点。)什么是面向对象的语言。为什么需要函数:避免了重复性的操作。有利于程序的模块化。把大问题分解成小问题。通过函数来实现细小的问题,体现模块化的思想。修改某一部分对其他部分没有太大的影响。体现程序的健壮性。比较两个数的大小:#includestdafx.hvoidmax(inti,intj){if(ij)printf(%d\n,i);elseprintf(%d\n,j);}intmain(void)//表示该函数不接收任何值。Int表示返回值为int类型的数据。函数前面的void表示不返回值。不能与return连用。{inta,b,c,d,e,f;a=1,b=2,c=3,d=4,e=5,f=6;max(a,b);max(c,d);max(e,f);return0;}什么是函数:逻辑上:能够完成特定功能的独立的代码块物理上:能够接收数据,当然也可以不接收数据能够对接收的数据进行处理,能够将数据处理的结果返回。当然也可以不反悔。函数是个工具,是为了解决大量类似问题而设计的,函数可以当成一个黑匣子。只要会用,不需要知道系统如何调用。经典指针程序:互换两个数子:#includestdio.h#includestdlib.hvoidhuhuan(inta,intb){intt;t=a;b=t;return;}intmain(){inta=3;intb=5;huhuan(a,b);printf(a=%d,b=%d\n,a,b);return0;//这是个经典错误,函数只改变了形参的值,没有改变实参的值。跟主函数没有任何关系。因此不能完成互换功能。}#includestdio.h#includestdlib.hvoidhuhuan(inta,intb){}intmain(){inta=3;intb=5;huhuan(&a,&b);printf(a=%d,b=%d\n,a,b);return0;}voidhuhuan(int*a,int*b){int*t;//如果要互换,t必须定义成int*类型。t=p;p=q;q=t;}//这个程序依然不是正确的,因为只是改变了p和q的内容对实参依然没有实际的作用效果。第三个:可以完成#includestdio.h#includestdlib.hvoidhuhuan(int*p,int*q)intmain(){inta=3;intb=5;huhuan(&a,&b);printf(a=%d,b=%d\n,a,b);return0;}voidhuhuan(int*p,int*q)//p是int类型的变量,*p是int类型变量。{intt;//必须要定义成int类型,否则会出错。t=*p;*p=*q;*q=t;}如何修改主函数的值:*号的含义,附注:1、乘法2、定义指针变量Int*p定义了一个名字叫p的变量,int*表示p只能存放int类型数据的地址。3、指针运算符,该运算符放在已经定义好的指针变量的前面,如果p是一个已经定义好的指针变量,则*p表示以p的内容位为地址的变量。4、*p在定义好和未定义好的内容是不一样的。1:使用单个字符用单引号括起来,字符穿用双引号括起来。intmain(){int*p;//等价于int*p,等价于int*p。inti=5;charch='A';p=&i;//修改p和i的值互不影响。*p表示以p的内容为地址的变量。*p=99;printf(i=%d,i);return0;}#includestdio.h#includestdlib.hvoidswap_1(inti,intj){intt;t=i;i=j;j=t;}intmain(){inta=3;intb=5;swap_1(a,b);printf(a=%d,b=%d,a,b);return0;}互换两个数:#includestdio.h#includestdlib.hvoidf(int*p,int*q){intt;t=*p;*p=*q;*q=t;}intmain(){inti=6;intj=7;printf(i=%d,j=%d\n,i,j);f(&i,&

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功