C语言是一门通用的计算机编程语言,广泛运用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。与C++,Java等面向对象的编程语言有所不同,C语言是一门面向过程的计算机编程语言。
2.第一个C语言程序#include
int main()
{
printf("hello world");
return 0;
}
头文件
对#include
在工程中,库函数的使用需要我们包含对应的头文件,在第一个C语言程序中我们调用了printf()函数和main()函数,所以我们就在函数出现的前面定义了它们的头文件#include
main函数是程序的入口,并且在一个工程中main函数有且只有一个
main函数的定义//标准写法
int main()
{
return 0;
}
printf()函数
作用
将我们需要的数据打印在标准输出(屏幕)
3.数据类型数据符号 | 数据类型 | 类型大小(字节) | 输出格式 |
---|---|---|---|
char | 字符数据类型 | 1 | %c |
short | 短整型 | 2 | %d |
int | 整形 | 4 | %d |
long | 长整型 | 4 | %d |
longlong | 更长整形 | 8 | %d |
float | 单精度浮点型 | 4 | %f |
double | 双精度浮点型 | 8 | %f |
注:long 和 longlong 的数据类型大小并非绝对的,根据C语言标准长整形long大小只需要大于等于整形int即可,同理longlong也是大于等于long,具体情况需根据编译器改变
计算数据类型的大小 sizeof() *** 作符 作用以字节为单位计算数据类型所占的空间大小
使用方式#include
int main()
{
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
printf("%d\n", sizeof(long double));
return 0;
}
4.变量、常量
生命周期和作用域
作用域
作用域(scope),程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的而限定这个名字的可用性的代码范围就是这个名字的作用域
生命周期
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
#include
int a = 10;//全局变量
int main()
{
int a = 20;//局部变量
printf("%d", a);//输出结果是20
return 0;
}
1.局部变量的作用域是变量所在的局部范围
2.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
3.全局变量的作用域是整个工程
4.全局变量的生命周期是:整个程序的生命周期
注:在C语言中是允许局部变量和全局变量同名的,当两个变量名字相同时优先使用局部变量
#include
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个 *** 作数:>");
scanf("%d %d", &a, &b);//输入函数
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0; }
变量的定义
数据类型 + 变量名称 + 值
int num1 = 1;
int num2 = 2;
int sum = 3;
变量的命名
- 只能由字母、数字、下划线组成
- 不能以数字开头
- 长度不超过63个字符
- 两种主流命名方式驼峰法和下滑线法
int ClassNumber = 10; // 驼峰法(首字母大写)
int class_number = 10; // 下划线法 (单词之间加下划线)
scanf( )函数 称作输入函数,可以读取数据存储到变量当中。&为取地址的意思,在使用scanf函数的时候我们需要在变量前面加上这个符号。(目前阶段无法解释,以后会有所讲解)
常量 常量的分类#include
//举例
enum Sex
{
MALE,
FEMALE,
SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()
{
3.14;//字面常量
1000;//字面常量
const float pai = 3.14f; //const 修饰的常量
pai = 5.14;//ok?
#define MAX 100 //#define的标识符常量
return 0; }
1.字面常量
2.const关键字修饰常变量
const + 数据类型 + 变量名称,此时定义的变量无法直接修改成为常变量
3.#define 定义的标识符常量
宏定义 #define MAX 100 即为 MAX 这个名字所对应的值为100
4.枚举常量
枚举一定数量的名字,然后系统自动或者我们手动可以给每个名字赋上一个值
char string1[] = "hello”;//定义方式1
char string2[] = {"h",'e","l","l","o","\0"};//定义方式2
像这种用双引号引起来的一串字符就是字符串
#include
//下面代码,打印结果是什么?为什么?(突出'int'的重要性)
main ()char
{
[ arr1]= "bit" ;char
[ arr2]= 'b' {,'i' ,'t' };char
[ arr3]= 'b' {,'i' ,'t' '}', ;printf(
"%s\n",); arr1printf(
"%s\n",); arr2printf(
"%s\n",); arr3return0
; }转义字符 释义
注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。用定义方式1,系统会自动在后面加上”\0“, 而定义方式二则要自己添加。
转义字符\? | 在书写连续多个问号时使用,防止他们被解析成三字母词 |
\’ | 用于表示字符常量’ |
\“ | 用于表示一个字符串内部的双引号 |
\ | 用于表示一个反斜杠,防止它被解释为一个转义序列符。 |
\a | 警告字符,蜂鸣 |
\b | 退格符 |
\f | 进纸符 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | 表示1~3个八进制的数字 |
\xdd | 表示1~3个十六进制数字 |
假如我们想要在屏幕上输出:c:\code\text.c\n时
你会发现输出结果和我们想象的不一样,这里就不得不提一下转义字符了。转义字符顾名思义就是转变意思。\c, \t, \n这三个东西都有自己特定的意思。(具体参考上表)
所以想要输出字符串"c:\code\text.c\n"的正确方式是这样的
intmain
( )printf(
{
"c:\code\text.c\n");return0
; }代码中有不需要的代码可以直接删除,也可以注释掉
代码中有些代码比较难懂,可以加一下注释文字
注释
- 注释可以让我们更快的读懂代码的意思与作用 #include
比如
intAdd
( int,int x) return y+ {
; x}y/*C语言风格注释
int Sub(int x, int y)
{
return x-y;
}
*/ int
main
( )//C++注释风格//int a = 10;
{
//调用Add函数,完成加法
printf
(
"%d\n",Add( 1,2) );return0
; }
注释有两种风格:
C语言风格的注释 /*xxxxxx*/
缺陷:不能嵌套注释
C++风格的注释 //xxxxxxxx
可以注释一行也可以注释多行
以上即是初识C语言的全部内容了,各位学习编程的兄弟们加油,博主也会努力学习并且持续更新的。如果这篇文章对你有帮助的话,不妨点个赞和关注再走哦
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)