ImageVerifierCode 换一换
格式:DOCX , 页数:98 ,大小:299.69KB ,
资源ID:881514      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-881514.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言教程Word格式文档下载.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

C语言教程Word格式文档下载.docx

1、 C程序的头文件以“.h”为后缀,C 程序的定义文件以“.c”为后缀。头文件的内容也可以直接写C程序中,但这是很不好的习惯。许多初学者用了头文件,却不明其理。在此略作说明。1. 通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功能,而不必关心接口怎么实现的。编译器会从库中提取相应的代码。2. 头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担。关于头文件的内容,初学者还必须注意。1. 头文件中可以

2、和C程序一样引用其它头文件,可以写预处理块,但不能写语句命令。2. 可以申明函数,但不可以定义函数。3. 可以申明常量,但不可以定义变量。4. 可以“定义”一个宏函数。宏函数很象函数,但却不是函数。其实还是一个申明。5. 结构的定义、自定义数据类型一般也放在头文件中。6. #include ,编译系统会到C语言固定目录去引用。#include filename.h,系统一般首先在当前目录查找,然后再去环境指定目录查找。四、好的风格是成功的关键版本申明、函数功能说明、注释等是C语言程序的一部分。不养成很好的习惯则不能成为C语言高手(专业人员)。02章 C语言的变量和数据类型掌握变量的有效范围、基

3、本数据类型是本章的内容。一、基本数据类型基本数据类型只有5种,另外加上布尔型、数组、结构类型、枚举类型等都是基本类型的一种变化。指针是一种地址操作, 必须和某一种数据类型相结合才有意义。自定义数据类型则是将以上类型进行组合变化后重新命名而已。1. char字符型 2. int 整型 3. float 浮点型 4. double双精度浮点型 5. void无类型 不同的C语言版本都扩充了许多自己的类型,这些全是基本类型的变化(主要是数据范围的变化),扩充的修饰符有2组(short和long,signed和unsigned)。下面列出VC的基本类型及部分扩充类型,以供参考:类型名称字节数 其它称呼

4、 值的范围int*signed, signed int根据操作系统而定unsigned intunsigned_int81char, signed char-128 to 127_int162short, short int, signed short int-32,768 to 32,767_int324-2,147,483,648 to 2,147,483,647_int648none-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807charunsigned char0 to 255shortunsigned shortunsig

5、ned short int0 to 65,535longlong int, signed long intunsigned longunsigned long int0 to 4,294,967,295enum与int相同float3.4E +/- 38 (7 digits)double1.7E +/- 308 (15 digits)long double101.2E +/- 4932 (19 digits)标准ANSI C中没有布尔型,只有布尔表达式,但不同的C语言版本有可能扩充。布尔型只有2个值“真”、“假”,数值0表示“假”,0以外数值全当作“真”处理。二、变量定义变量定义要注意以下几方

6、面:1. 变量定义必须有一数据类型。2. 变量定义时可以赋初值,也可以不赋初值。3. 几个变量可以同时定义。4. 不同类型的变量赋值时,小类型的变量可以直接赋给大的,大类型的变量赋给小类型的变量时必须强制转换。.NET的编译器做了许多防错处理,使得不强制转换也不出问题。大家仍不可忘记类型转换,否则将来程序移植时会带来许多麻烦。 unsigned char u_char = 109; /定义并初始化 char charC; /只定义不赋值 double doubleX=200, doubleY; /2变量同时定义 charC = u_char; /类型的范围相同,无须强制转换u_char=%cn

7、, u_char);charC=%cn, charC);u_char=%dncharC=%dn doubleY = charC; /小类型-大类型 charC = (char)doubleX; /大类型-小类型doubleY=%en, doubleY); 三、变量命名C语言的变量命名是很自由的,不同的系统有各自的规则,如UNIX主张用小写并用下划线分割意思(例:new_value)。Windows主张大小写混写(例:NewValue)。中国主张尽可能用英文,而日本更喜欢用汉字的读音。甚至不同企业的命名规则也不一样,但不管什么风格,都必须遵守C语言的几点规则。1. 不能用纯数字命名,如“123”

8、,“849”等。2. 不能有空格和运算符,如“new value”,“two+three”。3. 不能用C语言的关键字(参见下表)、扩充关键字。autostructbreakelseswitchcaseregistertypedefexternreturnunionconstcontinueforsignedvoiddefaultgotosizeofvolatiledoifstaticwhile四、易忽视的地方char型和unsigned int是同一类型,字符其实就是无符号整型,因此下面几种写法实际上是一样的。 char ch1 = 109; _int8 x1 = 109; char ch2

9、 = m; unsigned int x2 = ch1=%cn, ch1); /字符方式输出ch1=%dn /整型方式输出x1=%cn, x1);x1=%dnch2=%cn, ch2);ch2=%dnx2=%cn, x2);x2=%dn字符用单引号,而以后学的字符串是用双引号的。03章 字符的输入输出前2章用到的printf()函数,是C语言中的带格式的标准输出函数。C语言的函数都封装在不同的函数库里面,编程时要用到某个函数时, 只要用include语句申明一下,被申明过的函数库中的所有函数就可以在程序的任何地方使用。这2章要讲述的基本输入输出函数,都 在stdio.h中被定义。一、字符的输入

10、输出getchar(),putchar()函数getch()是从终端输入一个字符。是一个字符,也就是说,该函数调用一次只能得到一个字符,想要得到若干字符,只能调用若干次。函数putchar()是向终端输出一个字符。这儿也是一个字符,也就是说,该函数调用一次只能输出一个字符,要输出若干字符,只能调用若干次。 char ich1; int ich2,ich3; char ch1 = qu char ch3 = a char ch4 = n ich1 = getchar(); /字符类型实际是整型,只是范围小点而已 ich2 = getchar(); /所以字符赋给整数变量没有关系 ich3 = g

11、etchar(); /这三句在屏幕上输入“xue”后回车 putchar(ch1); putchar(ch2); putchar(ch3); putchar(ch4); putchar(ich1); putchar(ich2); putchar(ich3); putchar(n /这是回车字符上例中调用了次getchar()函数,输入时请注意:1. 如果正好输入3个字符后回车,则3个字符分别赋给了相应的三个变量。2. 如果输入的字符数大干3个,则多余的被会扔掉。3. 如果输入2个字符后回车,则回车符被赋给了第3个变量。4. 如果输入1个字符后回车,则第1个变量得到了这个字符,而第 2个变量则得

12、到的是回车,第3个变量还没有得到,所以系统还在继续等待你输入第3个字符。5. 如果不输入而直接敲回车,则你必须敲3次回车,3个变量全等于回车。6. getchar()的返回值不是char,而是int。因此当得到超出char范围的数据时要注意。二、改进后的字符输入函数上面这些令人不满的地方,主要是由于getchar()函数使用了键盘缓冲区,一直等到有回车时,getchar()函数才接受字符。因此有人对此函数进行了扩充, 函数名为getche(),不再使用键盘缓冲,输入的字符立即就能被接受。这个函数不是存放在stdio.h中,而是存放在conio.h中。上面程序如下修改便好用多了。类似函数还有很多

13、,如getch(),这和getche()的区别是,getch()函数在输入后并不显示在屏幕上,其它功能和getche()相同,也是定义在conio.h中。conio.h ich1 = getche(); /改进后的字符输入函数 ich2 = getche(); ich3 = getche();三、转义字符前面的例子中,我们已经看很多“n”,它表示输出时显示一个回车。回车字符是控制字符,无法输入在字符串中间。因此,C语言用“转义字符” 来代替这一类的控制字符。%的输出并不是用“%”表示,而是用“%”表示,好象就这一个是特殊的。字符形式功能0空字符(NULL)n换行t横向跳格(Tab)v竖向跳格(

14、|)b退格r回车f换页字符反斜杠字符单引号(撇号)字符双引号字符a响铃字符?问号字符%百分号字符ddd13位8进制数所代表的字符xhh12位16进制数所代表的字符04章 附带格式的输入输出printf()函数和scanf()函数中的f是format的缩写,这里面用到的“格式”,在C语言其它地方也有很广的应用。一、格式输出printf()前面已经说过,一个字符用%d格式就可以输出其ASCII码即字符的整数值。用%c格式则输出这个字符。如果用%f格式,则小数的方式输出。 int days = 360; /“劝学网”三字的ASCII码是“C8B0”“D1A7”“CDF8”xC8xB0xD1xA7xC

15、DxF8t小雅n /显示:劝学网TAB小雅北京奥运还有: %d天n, days);aa /“嘟嘟” /以下三行写在同一行%s, 这是C语言教程t作者:%sn,小雅 /360分别以整数、小数、科学计数法显示整数:%dn小数:%fn科学:%en,days,(float)days,(double)days); /以下控制字节长度360用5个字节表示:%5dn,days); /.中共5字节3.6保留2位整数2位小数:%5.2fn,(float)days/100); /.中2位整数2位小数, /外加小数点共5字节格式符的个数必须和逗号后面的变量或常量相同,类型也必须一致或可以直接转换。二、常见格式符号格

16、式字符类 型输出格式cint 或win_t以字符方式输出。C用在printf()函数中时,以双字节字符显示;用在wprintf()函数中时,以单字节字符显示。d以整型输出。io以八进制无符号整型输出。u以无符号整型输出x以十六进制小写输出(abcdef)。X以十六进制小写输出(ABCDEF)。e以科学计数法表示float和double型数据。(其中e用小写)E(其中E用大写)f以小数表示float和double型数据。g自动地将能显示的很小或很大的数转换成%f,不能直接显示的数则转换成%e。G自动地将能显示的很小或很大的数转换成%f,不能直接显示的数则转换成%E。nPointer to int

17、egerNumber of characters successfully written so far to the stream or buffer; this value is stored in the integer whose address is given as the argument.pPointer to void内存地址,以十六进制表示。sString以字符串输出。S用在printf()函数中时,以双字节字符串显示;用在wprintf()函数中时,以单字节字符串显示。三、格式输入scanf()scanf()函数的功能与printf()函数正好相反,是输入数据的功能。但对

18、于初学者却有一难点,即所输入的数据存放到变量时,用到了地址操作。地址操作也就是指针,是C语言的难点、重点,许多人不会C语言的根本原因就是没学会指针。既然指针这么难,为什么C语言要使用指针呢?C语言产生之前,前辈们都是用机器语言或汇编语言来编程,整天都是与内存地址打交道,C语言使用了指针,使得程序运行速度接近汇编语言,编程效率、实现的功能大大提高。当今电脑硬件的飞速发展,使速度不成问题,于是Java、C#都基本废除了指针的使用。 int age; /年龄 char name20; /姓名请输入你的年龄: scanf(%d, &age); /&age表示变量age的地址请输入你的姓名:, name

19、); /name单独使用就表示变量name的地址n姓名=%st年龄=%dn,name,age);上例中,2个变量当作参数使用时,一个用了&符号,一个没用,为什么呢?原来当一个变量的类型是基本类型、或扩充基本类型时,变量的地址要用&符号再加变量名。其它尤其指数组,单独使用变量名,就表示该变量的地址。关于这一点,以后讲完数组和指针后还要详细讨论。05章 if语句和switch语句一、if语句在计算机如此普及的今天,if语句的功能介绍就不说了。其基本语法如下:/写法一if (条件表达式) 语句/写法二else /写法三else if (条件表达式) /else if (条件表达式)语句部分可重复n遍

20、else块只能出现在if语法的最后,且最多只能出现1次。else if块能出现若干次,但只能在if块的后面,不能在else块的前面。当各块里面的语句只有一句时,括号可以省略。不建议省略,因为省略后下面的语句让人容易糊涂。/易让人看错的写法 /表示的是下面的意思if (x = 1) if (x = 1) if (y = 1) if (y = 1)x和y都等于1else else我其实是y=1的else 二、switch语句switch语句完全可以用if语句代替,每一个case块的最后一句语句要有break语句,否则将运行到下一个case块中去。还需要注意的是,switch语句只适用于基本类型的变

21、量作条件(包括扩充基本类型)。default块可以省略,但小雅建议您不要省略,即使不用也加上。/基本类型的变量 /假定int i; /假定char str;以下是错误的switch (变量) switch (i) switch (str) case 表达式1: case 1: case Sunday: 语句 语句 语句 break; case 表达式2: case 2:Monday case 表达式n: case 10:Friday default: 三、( ? :)运算符(表达式 ? 值1 :值2)这是带运算符的表达式,意思是:如果“表达式”的值为“真”,则返回“值1”,否则返回“值2”。if是控制语句而不是运算符,也不是表达式。y = (x=2 ? 100 : 50) ;/写成如下相同功能的if语句if (x = 2) y = 100; y = 50;四、关于逻辑表达式逻辑表达式又叫布尔表达式,前面章节已经说过,布尔表达式只有2个值:TRUE和FALSE

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2