1、学习 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 叫做头文件 ,什么是头文件呢?打个
4、比方,在 C 语言里我们要用到很多的比如开根号、乘方、阶乘 n!等等数学公式函数,那么就可以把这些常用的同类型的函数放到一起形成一个函数库,然后给它取个名字比如叫 math.h,这样当要用到这些函数的时候就不用自己的写了,直接用#include把整个库包含进来,里面的函数就可以直接调用。同样的,stdio.h 也是这样一个库,里面有输入输出函数(就是支持键盘输入和屏幕输出)可以调用。类似的还有 graphic.h 图形函数库,string.h 字符串函数库等等,调用格式一样的。Main() 代码; 是 C 语言里必须有的一个格式,main 翻译是”主要“ ,main 函数就是主函数,相当于程序
5、从这里入口并开始运行。运行的内容就是花括号里头的代码。了解#include main() 的功能之后,就真正的开始代码实现的部分了。上面有一条简单的代码: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()函数实现的功能是输出(打印在屏幕上) 。而pri
6、ntf()函数是属于 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.2
7、3,由于 1.23 是小数占用 4 个字节装不下,那么这个赋值就出错。因此,int,float,char 等数据类型定义的意义就在于给变量分配一个多大的内存空间,存储对应类型大小的数据(任何没有定义数据类型的变量是不会分配内存空间所以是不能使用的!) 。 来看下运行结果(print 出结果 c 的值):所以这样就实现了计算 a+b 赋值给 c 并输出 c 的值。数据类型一览(当想要使用何种类型变量,直接用以下来定义即可):C 语言和数学语言也还是有所区别的,比如数学里判断 a 等于 b 用“a=b ?” ,但是 C 语言里 “a=b?”就变成了赋值,它的等号是两个数学等号组成“=”,所以 C
8、里正确的表达是“a=b?” (不要纠结为什么要用两个等号,这是大神们设定的) ,为了能让计算机理解自己的代码,下面来认识 C 语言有哪些运算符:+ 加- 减* 乘/ 除;不存在号,表达式里“/”就是除号。% 取余数;17%5 等于 2,余数是 2。 大于= 大于等于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); /
9、ps:输出结果 d。return 0;写一个能计算圆的周长和面积的 C 代码:定义三个浮点型 float(含有小数)变量 s、l、r。scanf()是输入函数,scan 是扫描的意思,从键盘扫描你的输入,这个函数也是 stdio.h 头文件里的一个函数。 Scanf()括号里的是参数,跟 printf()一样,格式有所不同。printf (“%d”,c)表示输出结果 c,c 的数据类型是整型(int ) ,用“%d” 格式。如果输出结果是浮点型(float )则用“%f” 格式,比如 printf(“%f”,1.23) 。如果是字符型(char) ,用 printf(“%c” , s)等。“%
10、_” 类型 Printf(“%_”,s);对应数据类型格式d int,short 以十进制形式输出带符号整数(正数不输出符号)o 以八进制形式输出无符号整数(不输出前缀 0)x,X 以十六进制形式输出无符号整数(不输出前缀 Ox)u 以十进制形式输出无符号整数f float,double以小数形式输出单、双精度实数e,E 以指数形式输出单、双精度实数g,G 以%f 或%e 中较短的输出宽度输出单、双精度实数c char 输出单个字符s 字符串 输出字符串Scanf(“%d“,是标准主函数格式,int main()表示返回 int 型,return 表示返回,返回值为 0。不必深究。float
11、s,l,r; /备注:面积 s,周长 l,半径 r。scanf(“%f“,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 的值。y=x*x+2*x-3;printf(
12、“输出结果 y:%d“,y); 对于这样的函数式:x*x+2*x-3 (0=10 )要用到条件语句。(1)if 语句if(表达式)语句 1;else语句 2;(2)if 语句的嵌套If(表达式 1)语句 1;/语句 1 也可以嵌套 if 语句。elseif(表达式 2)语句 2-1;else语句 2-2;/这样的嵌套可以多重.if()里的表达式如果正确则为真,执行紧接着的语句 1,否则执行 else 下面的语句 2。因此上面数学函数式的代码:#includeint main()int x,y;scanf(“%d“, /scanf 输入 x 的值。if(x0 printf(“输出结果 y:%d“
13、,y); /双引号里的文字原样输出,%d 输出为 y 的值。return 0;ps: if()里的表达式常用到逻辑表达式“与或非” 。(3)switch 语句switch(表达式)case 常量 1: 语句 1case 常量 2: 语句 2case 常量 3: 语句 3case 常量.: 语句.case 常量 n: 语句 ndefault :语句 n+1switch 是匹配的意思,就是用表达式的值从常量 1 开始比较是否相等,如果相等,从相等的那条语句开始执行,到 default 的语句结束。如果想执行完这一句就结束,可以在其后加上 break;语句来打断跳出 switch。下面是输入小明同学的分数判断他的成绩级别的代码:假如小明的成绩是 a=76,那么十位数 i=7,利用 switch 函数匹配,case 7 符合,执行之后的 printf(“C n”)语句,又因为 break;语句打断,所以不再