黑马程序员——C语言基础篇---基础语法
------Java培训、Android培训、iOS培训、.Net培训,期待与您交流!-------
学习了1个多月的视频,终于将基础视频看完了,现在就开始复习和总结一下我所学习到的知识吧。
本篇将通过一个简单的小程序(开发工具:Xcode6.2)来开启我们的C语言学习之旅。
第一个C语言程序.c(代码):
#include <stdio.h>
/*
需求:通过屏幕输入2个数,计算其和,并将结果打印在屏幕上
*/
int main() // 主函数,程序的入口
{
int a = 0 , b = 0; // 定义2个局部变量
int sum = 0;
printf("请输入a和b的值\n");
scanf("%d%d", &a , &b); // 输入2个数
sum = a + b;
printf("%d + %d = %d\n", a, b, sum); // 打印求和结果
return 0; // 通常返回0,表示程序正常运行
}
通过上面的代码,我们来了解一些C语言的基本语法知识
一、include
程序开头#include<stdio.h>表示包含一个头文件,这里是因为用到了一个系统的库函数:printf(),所以需要引入其头文件。
这是一个预处理指令——文件包含,它可以将一个文件的全部内容拷贝到另一个文件中。举个例子:上面的求和,可以将它写成一个函数存放在另一个文件中,当我在本程序中需要使用的时候,可以使用include,将这个文件包含进来,这样可以实现多人开发,避免了一个文档中代码量过大。
Include的用法:
(1) #include <> :这种用法是包含系统的文件。
(2) #include “”:我们上面举得例子中就可以通过这种方式将文件包含进来。
二、main函数
main函数是程序的入口,{}之间是我们的函数体,所有的函数功能都是在这里完成,结尾return 0; 表示如果函数正常运行,结果会返回0
三、变量定义
接下来就是定义变量,接收程序中的数据进行运算和打印了。在了解变量之前,需要了解一些基本的知识。
(1) 关键字
什么是关键字?就是一些具有特殊意义的符号,在程序中通常会用一些特殊的颜色(Xcode中是紫色的,全是小写)表示,C语言中提供了32个关键字,在上面的程序中,int 就是一个关键字,可以用来定义整型的变量,其他还有float(单精度浮点型)、double(双精度浮点型)、char(字符)、if(条件分支)、while(循环语句)、for(循环语句)等等,这里不一一举例说明,具体使用的时候会再说明。
(2) 标识符
什么是标识符?就是程序中需要用到的符号和名称,这些是我们自定义的,需要与上面的关键字区别开,接下来要说的变量名就是标识符。
a.标识符的命名规则
只能由26个英文字母的大小写、阿拉伯数字(0~9)、下划线(_)组成。
严格区分大小写,不能以数字开头,不能以关键字作为标识符。
b.命名规范
一般起名都会起个有意义的名称,便于理解,而且会采用驼峰标识(从第 2个单词开始,每个单词首字母大写),比如:上面代码中的a应该定义为firstNumber。
那么什么是变量?就是储存程序运行中一些数据的标识符。
定义变量的格式是: 变量类型 变量名
上面的 int a = 0, b = 0;就是定义变量并进行初始化。同一类型的变量可以同时定义,以【,】分隔,这里有个需要注意的地方,局部变量在定义的时候最好进行初始化,也就是定义完一个变量后,马上对其进行初次赋值(如上述代码),因为如果不初始化就使用的话,结果很可能会是一些垃圾数据,而非你需要的值 (这一点我已经受到了血的教训ToT)。
四、scanf函数
上述代码中用到了scanf()函数,下面我们来看看scanf函数的用法吧。
这是在stdio.h中声明的函数,需要传入变量的地址作为参数,可以接收屏幕上从键盘传入的数据,用法就是scanf(“%d”,&a); %d是占位符,要求用户输入十进制的整型数据,&a表示取a的地址。
scanf函数在使用时有几个注意点:
(1) 不接收space、Tab、回车键
当输入这些键时表示,当前变量输入结束,比如上述代码,如果在输入a的值之后,输入这些键,接下来输入的就是b的值了。
(2) 输入的格式
先来看一句代码:scanf(“%d-%d”,&a,&b);这表示以【-】作为分隔符,程序运行时必须在输完一个数字后,输入【-】,否则程序无法继续进行,一直停留在输入上。
五、printf函数
关于基本运算这一章会在后面单独发一篇来说明(感觉这里知识点比较多),这里暂且跳过,有了输入,那必须得有输出啊,C语言中的输出就是用printf函数。
Printf的用法:
(1) 打印一句话
传说中的hello world来了
printf(“hello world\n”);
结尾的【\n】表示回车换行
(2) 打印变量值
printf(“%d + %d = %d\n”,a,b,sum);
%d是格式符,表示输出整型变量的值,与后面的变量是一一对应的。
先来说说格式符:
格式符 | 功能 | ||
%d,%i | 以带符号的十进制形式输出整数(正数不输出符号) | ||
%o | 以不带符号的八进制形式输出整数 | ||
%x | 以不带符号的十六进制形式输出整数 | ||
%u | 以不带符号的十进制形式输出整数 | ||
%c | 输出一个字符 | ||
%s | 输出一个或多个字符 | ||
%f | 以小数形式输出单、双精度数,默认输出6位小数 | ||
%e | 以标准指数形式输出单、双精度数,数字部分小数位6位 | ||
%p | 输出变量地址 |
上面这些都是格式符对应输出的内容,下面说一些的常用的变量类型的输入(出)格式符吧。
int (整型)-------------------------- %d,%i
long (长整型)--------------------- %ld
unsigned int(无符号整型)----- %u
float(单精度浮点型) ------------ %f
double(双精度浮点型)---------- %lf(double用%f输出也是可以的,只是如果要求精度的话就要注意了)
char(字符) ------------------------- %c
char *(字符串)--------------------- %s
关于printf,还有一点小知识点想说一下。
printf(“%5d”,d);//这样输出会占5位,输出的数字会右对齐 (适用于%d,%f好像不行)
printf(“%.2f”,f);//%f默认输出6位小数,而%.2f表示输出2位小数。
好了,已经到“明天”了,大家可以开始自己的第一个C语言小程序了!