新手学C语言之入门.docx

  • 格式:docx
  • 大小:302.02 KB
  • 文档页数:25

学习C语言(新手入门) 年轻的小荣子

阿尔法和李世石的围棋对弈让我们感受到了计算机的强大,事实上计算不仅要 靠硬件设备的支持,还需要在里面运行代码(很多种,包括 C),这些代码就是 它的灵魂(譬如我们的思想)。 介绍几部通过在计算机里头运行代码从而创造无限可能的电影, 个人觉得不错 的:黑客帝国,超验骇客,创战纪,人工智能等。 正题,能编辑C语言的软件非常多,比如 ViSual c++ 6.0/7.0, turbo C等。理论总 是离不开实践,在要学习C语言理论之前先要找到属于自己的能实现代码结果的 软件。 这样说,计算机语言和人的语言的区别在于, 人通过各种发音实现交流,但是计 算机主要是通过电流来传达信息,所以只能用 0/1来表示电流拥有的两种状态, 这样最底层的计算运作就是通过一段长长的 0/1代码,通过0和1的不同组合来 表示文字或者信息。C语言当然不是最底层的0/1代码,他是一个沟通的中介, 比如等于号在C语言里就是两个等号“==”,这样使得我们更容易和计算机交流 了,只要学会了 C语言,它就能把我们的语言翻译成计算机的语言。

以下内容从简单到困难,先来学会如何运行 C语言代码(用VC 6.0中文版): 1.按以下步骤打开界面(以后都可以这样打开):

2.—些常用的功能键: ⅛9 起三咅 Ml=TosoFt V SUal C- - cl5⅞.itιρ dJ 3哀唄目斜殆〕«(VI MAfH工SPi f⅝∣β)二H(D爱匚哂権刚HJ I=IL^Qd ⅛ ⅛(≡ 口八"□国 1⅛ ⅛ >

J H 券皆 ! =1 ⅛

Γ 1^1 l:|S S CIIa⅝St!!⅞ ItirIC Lude

maiπt〕 int a,bτc: | ∂-1 ∣b-2;

c-a*b; PJrintf C*⅛d,,,c); >

(1是compile编译的意思,就是把这些我们能看懂的符号转换成计算机代码, 同时按这个键可以检查错误和验证是否能运行。 2是build,建立一个可以运行的 EXE类文件,就是把这些代码弄成一个能运行的东西。 3就是run运行,只有经 过查错和建立才可以按运行。是不是很简单,自己动手一遍就会)

3.输入代码并运行(里面的代码如下: #i nclude mai n() { int a,b,c;

a=1,b=2; c=a+b; Prin tf("%d",c); }

Include的英文意思是包含、包括,顾名思义, #include就是把stdio.h 这个东西包含进去,其实#include<>是 C语言里的一种格式,就是把什么包含进 来的意思(这里是口语表达)。stdio.h叫做头文件,什么是头文件呢?打个比方, 在C语言里我们要用到很多的比如开根号、乘方、阶乘 n!等等数学公式函数, 那么就可以把这些常用的同类型的函数放到一起形成一个函数库, 然后给它取个 名字比如叫math.h ,这样当要用到这些函数的时候就不用自己的写了,直接用 #i nclude把整个库包含进来,里面的函数就可以直接调用。同样的, stdio.h也是这样一个库,里面有输入输出函数(就是支持键盘输入和屏幕输出) 可以调用。类似的还有graphic.h图形函数库,String.h字符串函数库等等,调用 格式一样的。

Main(){代码;}是C语言里必须有的一个格式,main翻译是”主要“ main函数 就是主函数,相当于程序从这里入口并开始运行。运行的内容就是花括号 {}里头 的 代码。 了解#i ncludemai n() {}的功能之后,就真正的开始代码实现的部分了。

上面有一条简单的代码: int a,b,c; a=1,b=2; c=a+b; Prin tf("%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三个变量,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等数据类型定义的意义就在于给变量分配一 个多大的内存空间,存储对应类型大小的数据(任何没有定义数据类型的变量是 不会分配内存空间所以是不能使用的!)。 来看下运行结果(Print出结果C的值):

所以这样就实现了计算a+b赋值给C并输出C的值。 数据类型一览(当想要使用何种类型变量,直接用以下来定义即可): C语言包含的数扼爻型如卜图所示:

浮点型

報型UIt

t l√ ⅛⅛ long r 单赫度宅float

数J 据S

类 型

结构体⅛rπιcr 共用体UiIiolL -f⅛ 举类 enum

J 空交型Void C语言和数学语言也还是有所区别的,比如数学里判断 a等于b用“ a=b?”, 但是C语言里“ a=b? ”就变成了赋值,它的等号是两个数学等号组成 “==,所 以C里正确的表达是“ a==b?”(不要纠结为什么要用两个等号,这是大神们设 定的),为了能让计算机理解自己的代码,下面来认识 C语言有哪些运算符: + 加 - 减 * 乘 / 除;不存在÷号,表达式里 /就是除号) % 取余数;17%5等于2,余数是2) > 大于 < 小于 >= 大于等于 <= 小于等于 != 不等于 == 等于 = 赋值,右边值赋予左边变量(a=a+1+2)°

&& 与;(仁=1)&&( 1! =2),判断两边都真结果为真)

Il 或;判断有一边为真结果为真) ! 非;! ( 1==1),判断条件的相反)

?: 条件运算;(2>1)?3:4判断为真,结果取3,否则取4. ++ 自增;a++,相当于a=a+1o -- 自减;a--,相当于a=a-1) 其他

经历一遍胜过深思千回,在软件上尝试几遍便能熟记于心) #i nclude int main() {int a,b,c,d; a=1; b=a+1; c=b*2; c++; d=c%3; Printf( return 0;} ps:输出结%d”

dd); // 写一个能计算圆的周长和面积的 C代码: QFpT⅛5国哥 ∣∣⅛ I-M ! ItincTu de

int π⅛ain() { Flzt 5tl,r;"备注J面积勺周长4半径6

ςcanF(*,XF*'ΛH>; 1 = 2 * 3 .1⅛159 * r; 5 ■ 3.1U159 * r * r; Printf(,l周长为;Zff 面积为;Xf ∖n,iil,s>; return O; }

定义三个浮点型float (含有小数)变量s、I、r。 SCanf ()是输入函数,SCan是扫描的意思,从键盘扫描你的输入,这个函数也 是stdio.h头文件里的一个函数。SCanf ()括号里的是参数,跟 Printf () —样, 格式有所不同。Printf( “%d” C)表示输出结果c,C的数据类型是整型(int), 用“%(格式。如果输出结果是浮点型(float)则用“%格式,比如Printf( “%f” 1.23)。如果是字符型(Char),用 Printf ( “%,')s等。

;%_” 类型 Printf( %_ ,S);应数据类型格式

d in t,short 以十进制形式输出带符号整数(正数不输出符号) o 以八进制形式输出无符号整数(不输出前缀0) x,X 以十六进制形式输出无符号整数(不输出前缀Ox) U 以十进制形式输出无符号整数 f float,double 以小数形式输出单、双精度实数 e,E 以指数形式输出单、双精度实数 g,G 以%f或%e中较短的输出宽度输出单、双精度实数 C Char 输出单个字符 S 字符串 输出字符串

SCanf(“%d “ &r)比Printf (“%d ;' r)多了个地址运算符&,因为SCanf是输入, 把数据存入到r变量的地址空间,所以SCanf()函数统一要加个地址运算符。

(在代码中添加备注用〃备注,本行此符号之后的都为备注,也可以用/*备注*/, 两个符号之内的是备注,可囊括多行。) 上面代码中: