新手学C语言之入门.doc
《新手学C语言之入门.doc》由会员分享,可在线阅读,更多相关《新手学C语言之入门.doc(35页珍藏版)》请在咨信网上搜索。
1、(完整word版)新手学C语言之入门学习C语言(新手入门)年轻的小荣子阿尔法和李世石的围棋对弈让我们感受到了计算机的强大,事实上计算不仅要靠硬件设备的支持,还需要在里面运行代码(很多种,包括c),这些代码就是它的灵魂(譬如我们的思想)。介绍几部通过在计算机里头运行代码从而创造无限可能的电影,个人觉得不错的:黑客帝国,超验骇客,创战纪,人工智能等。 正题,能编辑C语言的软件非常多,比如visual c+ 6.0/7.0 ,turbo c等。理论总是离不开实践,在要学习C语言理论之前先要找到属于自己的能实现代码结果的软件。 这样说,计算机语言和人的语言的区别在于,人通过各种发音实现交流,但是计算机
2、主要是通过电流来传达信息,所以只能用0/1来表示电流拥有的两种状态,这样最底层的计算运作就是通过一段长长的0/1代码,通过0和1的不同组合来表示文字或者信息。C语言当然不是最底层的0/1代码,他是一个沟通的中介,比如等于号在c语言里就是两个等号“=”,这样使得我们更容易和计算机交流了,只要学会了C语言,它就能把我们的语言翻译成计算机的语言。 以下内容从简单到困难,先来学会如何运行c语言代码(用vc 6.0中文版):1.按以下步骤打开界面(以后都可以这样打开):2.一些常用的功能键:(1是compile编译的意思,就是把这些我们能看懂的符号转换成计算机代码,同时按这个键可以检查错误和验证是否能运
3、行。2是build,建立一个可以运行的EXE类文件,就是把这些代码弄成一个能运行的东西。3就是run运行,只有经过查错和建立才可以按运行。是不是很简单,自己动手一遍就会)3.输入代码并运行(里面的代码如下:#includemain()int a,b,c;a=1,b=2;c=a+b;printf(%d,c);Include的英文意思是包含、包括,顾名思义,#include就是把stdio.h这个东西包含进去,其实#include是c语言里的一种格式,就是把什么包含进来的意思(这里是口语表达)。stdio.h叫做头文件,什么是头文件呢?打个比方,在C语言里我们要用到很多的比如开根号、乘方、阶乘n!
4、等等数学公式函数,那么就可以把这些常用的同类型的函数放到一起形成一个函数库,然后给它取个名字比如叫math.h,这样当要用到这些函数的时候就不用自己的写了,直接用#include把整个库包含进来,里面的函数就可以直接调用。同样的,stdio.h也是这样一个库,里面有输入输出函数(就是支持键盘输入和屏幕输出)可以调用。类似的还有graphic.h图形函数库,string.h字符串函数库等等,调用格式一样的。 Main() 代码; 是C语言里必须有的一个格式,main翻译是”主要“,main函数就是主函数,相当于程序从这里入口并开始运行。运行的内容就是花括号里头的代码。 了解#include ma
5、in() 的功能之后,就真正的开始代码实现的部分了。 上面有一条简单的代码:int a,b,c;a=1,b=2;c=a+b;printf(%d,c);我们每句话结束用句号“。”来结束,C语言里用的是分号“;”来结束一个语句,上面每个语句后面都有一个分号。a=1 表示赋值,把等号右边的数值赋予给左边,赋值之后a等于1,b等于2。同理可知c=a+b就是把a+b的结果数值赋予给c,这样c的值就是3.print的翻译是打印,printf()函数实现的功能是输出(打印在屏幕上)。而printf()函数是属于stdio.h的,这就是为什么上面要写#include原因。int a,b,c; 定义a,b,c三
6、个变量,int是数据类型里的一种,int是整型,就是说a,b,c都是整数而不能是其他类型。另外float浮点型,如果用float a,b,c,那么a,b,c就能赋予小数值。还有char字符型,比如char a,b,,那么a,b只能赋予字符的值。这是因为在定义a,b,c变量的同时,要在计算机内存中分配给它们空间,整数占用2个字节而小数占4个字节,所以int a后a分配到的空间就是能装下2个字节的东西,然后如果用a=1.23,由于1.23是小数占用4个字节装不下,那么这个赋值就出错。因此,int,float,char等数据类型定义的意义就在于给变量分配一个多大的内存空间,存储对应类型大小的数据(任
7、何没有定义数据类型的变量是不会分配内存空间所以是不能使用的!)。 来看下运行结果(print出结果c的值):所以这样就实现了计算a+b赋值给c并输出c的值。数据类型一览(当想要使用何种类型变量,直接用以下来定义即可):C语言和数学语言也还是有所区别的,比如数学里判断a等于b用“a=b?”,但是C语言里“a=b?”就变成了赋值,它的等号是两个数学等号组成“=”,所以C里正确的表达是“a=b?”(不要纠结为什么要用两个等号,这是大神们设定的),为了能让计算机理解自己的代码,下面来认识C语言有哪些运算符:+加-减*乘/除;不存在号,表达式里“/”就是除号。%取余数;17%5等于2,余数是2。大于=大
8、于等于1)?3:4,判断为真,结果取3,否则取4.+自增;a+,相当于a=a+1。-自减;a-,相当于a=a-1。其他经历一遍胜过深思千回,在软件上尝试几遍便能熟记于心。#includeint main() int a,b,c,d; a=1; b=a+1; c=b*2; c+; d=c%3; printf(“%d”,d); /ps:输出结果d。 return 0;写一个能计算圆的周长和面积的C代码:定义三个浮点型float(含有小数)变量s、l、r。scanf()是输入函数,scan是扫描的意思,从键盘扫描你的输入,这个函数也是stdio.h头文件里的一个函数。Scanf()括号里的是参数,跟
9、printf()一样,格式有所不同。printf(“%d”,c)表示输出结果c,c的数据类型是整型(int),用“%d”格式。如果输出结果是浮点型(float)则用“%f”格式,比如printf(“%f”,1.23)。如果是字符型(char),用printf(“%c”,s)等。“%_”类型Printf(“%_”,s);对应数据类型格式d int,short以十进制形式输出带符号整数(正数不输出符号)o 以八进制形式输出无符号整数(不输出前缀0)x,X 以十六进制形式输出无符号整数(不输出前缀Ox)u 以十进制形式输出无符号整数f float,double以小数形式输出单、双精度实数e,E 以指
10、数形式输出单、双精度实数g,G 以%f或%e中较短的输出宽度输出单、双精度实数c char输出单个字符s 字符串输出字符串Scanf(“%d“,&r)比printf(“%d“,r)多了个地址运算符&,因为scanf是输入,把数据存入到r变量的地址空间,所以scanf()函数统一要加个地址运算符。 (在代码中添加备注用/备注,本行此符号之后的都为备注,也可以用/*备注*/,两个符号之内的是备注,可囊括多行。)上面代码中:#includeint main()return 0;是标准主函数格式,int main()表示返回int型,return表示返回,返回值为0。不必深究。float s,l,r;
11、 /备注:面积s,周长l,半径r。scanf(%f,&r);l = 2 * 3.14159 * r; s = 3.14159 * r * r;printf(周长为:%f,面积为:%f n,l,s);相当于一个能计算圆的周长和面积的计算器,只要scanf()输入r的值,就能printf()输出l(周长)和s(面积)的值,结果图示:可以通过输入不同的半径来得到其周长和面积。 同理可以利用c语言来求得其他数学公式的结果:求y=x2+2x-3当x取某个数时的值。代码:int x,y;scanf(%d,&x); /这里输入x的值。y=x*x+2*x-3;printf(输出结果y:%d,y); 对于这样的
12、函数式: x*x+2*x-3 (0x=10)要用到条件语句。(1)if语句if(表达式) 语句1;else语句2;(2)if语句的嵌套If(表达式1)语句1;/语句1也可以嵌套if语句。else if(表达式2) 语句2-1;else语句2-2;/这样的嵌套可以多重.if()里的表达式如果正确则为真,执行紧接着的语句1,否则执行else下面的语句2。因此上面数学函数式的代码:#includeint main()int x,y;scanf(%d,&x); /scanf输入x的值。if(x0 & x0和x=10)y=x+2;printf(输出结果y:%d,y); /双引号里的文字原样输出,%d输出
13、为y的值。return 0;ps:if()里的表达式常用到逻辑表达式“与或非”。(3)switch语句switch(表达式)case 常量1: 语句1case 常量2: 语句2case 常量3: 语句3case 常量.: 语句.case 常量n: 语句ndefault :语句n+1 switch是匹配的意思,就是用表达式的值从常量1开始比较是否相等,如果相等,从相等的那条语句开始执行,到default的语句结束。如果想执行完这一句就结束,可以在其后加上break;语句来打断跳出switch。下面是输入小明同学的分数判断他的成绩级别的代码:假如小明的成绩是a=76,那么十位数i=7,利用swit
14、ch函数匹配,case 7符合,执行之后的printf(“C n”)语句,又因为break;语句打断,所以不再执行之后的case,直接跳出switch() 。如果是59到0,都只有一条语句可执行。(4)while循环语句写一个代码,让你输入一个数字,如果你输入的数字不大于100则重新输入,否则结束。这里就用到了循环,循环必须要有判断条件语句,循环不能是没有结束条件的。格式:while(表达式)语句1如果表达式为真(判断正确),则执行语句1,直到表达式为假。代码:#includeint main() int a; scanf(“%d”,&a); /输入数字a。 while(a=100) /判断是
15、否小于等于100,是则循环,否则结束。 scanf(“%d”,&a); /重新输入areturn 0;红色部分是循环体,花括号 里可以写多条语句,作为一个整体一并运行。执行的顺序是,判断while(表达式)真假,为真则执行循环体,执行完毕跳回到while(表达式)开始下一次的判断,直到判断为假结束循环。所以上面会不断循环要输入a,直到输入的值大于100,表达式为假结束。 另一种是do-while语句,区别只是先执行循环体,再判断,直到判断为假,while(表达式)后跟着一个分号!代码如下:#includeint main() int a; do scanf(“%d”,&a); /输入a whi
16、le(ab”后面虽然没有问号,但是它是一个判断语句,就像if语句或者while语句的判断表达式一样,在这里如果ab判断为真,则继续执行循环体语句,否则结束跳出for循环。 如果表达式2为真,接下来执行循环体语句,再接下来是表达式3,然后开始下一次的循环:表达式2(先判断是否为真) 循环体语句 表达式3 ,表达式1会且只会运行一次,之后的循环都不再执行,而且以上的表达式和循环体都可以是多个语句的组合,比如表达式1可以是“a=2,b+,”。(3,4,5为一个循环)让我们来输出一个星号*构成的正方形:表达1赋值使得i=1,j=4,判断i=j为真,执行循环体后输出五个星号和换行,然后i=i+1(即i变
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 新手 语言 入门
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。