语言的初识"/>
C语言的初识
目录
1.什么是C语言?
2.第一个C语言程序
3.数据类型
4.变量,常量
4.1变量的创建方法
4.2变量的命名
4.3变量的分类
4.4变量的使用
4.5变量的作用域和生命周期
4.6常量
5.字符串+转义字符+注释
5.1字符串
5.2转义字符
5.3注释
6.选择语句
7.循环语句
8.函数
9.数组
9.1 数组的定义
9.2数组的下标
10.操作符
1.什么是C语言?
计算机语言:人和机器交流的语言,如Java,C,C++,python,上千种计算机语言C语言是其中的一种。
计算机语言的发展史:
二进制-汇编语言-B语言-C语言-C++-JAVA
低级语言 高级语言
2.第一个C语言程序
写一个C语言代码,打印hello Word。
#include <stdio.h>
int main
{printf("hello word!\n");return 0;
}
解析:
include 是包含的意思
stdio.h 全称 standard input output 标准输入输出头文件
int 整型 - 整数
main 主函数 主函数是程序的入口 C语言代码中必须有主函数 但是有且仅有一个main函数 printf 打印函数 专门用来在屏幕上打印数据的 是C语言标准库中提供的一个库函数
return: 0-返回
3.数据类型
- char 字符数据类型
- short 短整型
- int 整形
- long 长整形
- longlong 更长整形
- float 单精度浮点型
- double 双精度浮点型
存在这么多类型,其实是为了更加丰富的表达生活中的各种值
sizeof:计算他们大小
#include<stdio.h>
int main()
{printf("%d\n",sizeof(char)); //1printf("%d\n",sizeof(short)); //2printf("%d\n",sizeof(int)); //4printf("%d\n",sizeof(long)); //4printf("%d\n",sizeof(long long)); //8printf("%d\n",sizeof(float)); //4printf("%d\n",sizeof(double)); //8return 0;
}
他们的大小是1244848,单位是字节。
4.变量,常量
C语言中不变的值概念叫做常量,变的值用变量表示。
4.1变量的创建方法
类型+变量名=值
例:int age = 10;
解析:int为整形,age为年龄,10为值。
4.2变量的命名
- 只能由字母(包括大小写),数字和下划线(_)组成
- 不能以数字开头
- 长度不能超过63字符
- 变量中区分大小写
- 变量名不能使用关键字
4.3变量的分类
- 局部变量
- 全局变量
大括号内部叫局部变量,大括号外部叫全局变量
#include <stdio.h>
int a=10;//全局变量
int amin()
{int b=20;//局部变量return 0;
}
上图所示,a为全局变量,b为局部变量。
如果全局变量和局部变量名字冲突,局部变量优先使用
4.4变量的使用
例:写一个代码,计算两个数的和。
#include <stdio.h>
int main()
{int a=0; //定义一个变量aint b=0; //定义一个变量bint sum=0;printf("请输入两个数");//输入数据scanf("%d %d",&a &b);//计算求和sum=a+b;//输出结果printf("sum=%d\n",sum); //以数字的形式打印sumreturn 0;
}
scanf是一个库函数,可以从键盘上接收数据 输入函数
printf专门用来在屏幕上打印数据的 输出函数
4.5变量的作用域和生命周期
作用域:
作用域(scope)是程序设计概念,通常来说,一段程序代码中所用得到的名字补总是有效/可用
而限定这个名字的可用性的代码范围就是这个名字的作用域。
- 局部变量的作用域是变量所在的局部范围
- 全局变量的作用域是整个工程
生命周期
变量的生命周期是指变量的创建到变量的销毁之间的一个时间段
- 局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束
- 全局变量的生命周期:是整个工程的生命周期
4.6常量
1.字面常量
1; 整形字面常量
3.14; 浮点型字面常量
"ABCD"; 字符串字面常量
'A'; 字符字面常量
2.const修饰常变量
拥有常属性的变量
用法:当一个变量不想让它改变的时候,可以使用。
3.#define定义的标识符常量
用法:#difine+变量名+数值
4.枚举常量
enum 枚举关键字
一一列举
#include<stdio.h>
enum COLOR//定义的枚举关键字叫COLOR
{RED,//枚举常量GREE,BLUE
};
int main
{enum COLOR c=RED;return 0;
}
5.字符串+转义字符+注释
"hello word"
5.1字符串
由双引号引起来的叫字符串字面值,简称字符串。
字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候,\0是结束标志,不算做字符串的内容。
5.2转义字符
转义:转变原来的意思
转义字符 | 释义 |
---|---|
cc | 在书写连续多个问好时,防止他们被解析成三字母词 |
\' | 用于表示字符常量 ‘ |
\" | 用于表示一个字符内部的双引号 |
\\ | 用于表示一个反斜杠,防止他被解释成为一个转义字符 |
\a | 警告字符,蜂鸣 |
\b | 退格符 |
\f | 进纸符 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | 表示1~3个八进制数字。 |
\xdd | dd表示2个十六进制数字。 |
5.3注释
1.代码中有不需要的代码可以直接删除,也可以注释掉
2.代码中有些代码难懂,可以加一下注释文字
VS里面的快捷注释方法:
注释:Ctrl+k Ctrl+c
取消注释Ctrl+k Cu
6.选择语句
人生处处是选择,比如你有十元钱吃早饭,你是吃五元的热干面还是十元的牛肉面呢?
这就要用到我们的if else语句。
#include<stdio.h>
int main()
{int a=0;printf("你早饭是吃五元的热干面,还是十元的牛肉面呢?(5/10)");scanf("%d",&a);//输入if(a==5)printf("热干面");else if(a==10)printf("牛肉面\n");elseprintf("输入错误");return 0;
}
如果输入了5元,那就是选择了热干面,如果输入的10元,那就是选择了牛肉面。
7.循环语句
生活中有些事必须一直做,比如日复一日上班,日复一日学习。
- while循环(初识)
- for语句
- do while循环
#include<stdio.h>
int main()
{int a=0;while(a<=10000){ print("敲代码");a++;}if(a>1000)printf("好offer");return 0;
}
当你敲代码到10000行的时候,你就可以拿一个好offer,没到10000行,你就要不停的学习不停的敲代码。
8.函数
用函数计算两个数的和
#include <stdio.>
int add(int x ,int y)
{int z = x + y;return z;
}
int main()
{int a = 0;//定义两个变量int b = 0;int sum = 0;printf("请输入两个整数");scanf("%d %d",&a,&b);//输入sum =add (a , b);//定义函数add,调用函数addprintf("%d",sum);打印sumreturn 0;
}
函数的特点就是简化代码,代码复用。
9.数组
C语言中给数组的定义:一组相同类型元素集合
9.1 数组的定义
int arr[10]={1,2,3,4,5,6,7,8,9,10};
//整形 名字 初始化
//数组的创建和初始化
9.2数组的下标
数组的下标是从0开始的
数组的访问:
#include <stdio.h>
int main()
{
// 指定数组的元素个数
// |int arr[10]={1,2,3,4,5,6,7,8,9,10};//下标 0 1 2 3 4 5 6 7 8 9//想访问7的话,就要访问它的下标6printf("%d\n",arr[6]);return 0;
}
10.操作符
C语言提供了非常多的操作符,使得C语言非常灵活。
算数操作符
+ - * / %
加 减 乘 除 取模(取余)
加减乘除和日常生活中的一模一样,重点要认识 / 和 %
#include<stdio.h>
int main()
{int a=17/4//a=4//除号求的是商int b=17%4//b=1//取余求的是余数return 0;
}
%操作的两个操纵作书必须都是整数
移位操作符
>> <<
位操作符
& ^ |
这些操作符与二进制有关,初识C语言,可以先认识一下,以后的文章会详解。
赋值操作符
= += -= *= /= &= %= ^= |= >>= <<=
= 要分清楚初始化和赋值
#include <stdio.h>int main(){int a=0; //初始化:创建变量的同时给一个值,这叫做初始化a=10; //赋值a=a+10;//也可以写成:a+=10;return 0;}
+= -= *= /= &= 都被称为符合赋值符后面的&= %= ^= |= 以后再学习 >>= <<=
单目操作符
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置、后置--
++ 前置、后置++
* 间接访问操作符(解引用操作符)
(类型) 强制类型转换
! 它可以表示相反的逻辑
C语言中要表示真和假的时候,把0视为假,非0视为真
#include<stdio.h>
int main()
{int a=5;//a为真,就打印真if(a){printf("真\n");}//a为假,就打印假if(!a){printf("假\n");}return 0;
}
正值和负值
#include <stdio.h>
int main()
{int a = 10;int b = -a;printf("%d\n",b);//结果为-10,因为a是10,-a就是-10return 0;
}
sizeof是操作符,是计算变量所占空间的大小,单位是字节
++和--
后置++
#include<stdio.h>
int main()
{int a = 100;int b = a++;//后置++,先使用后++printf("%d %d",a,b);//a的值为101,b的值为100return 0;
}
前置++
#include<stdio.h>
int main()
{int a = 100;int b =++a;//前置++,先++,后使用printf("%d %d",a,b);//a的值为101,b的值为101return 0;
}
--的逻辑和++是一样的
后置--
#include<stdio.h>
int main()
{int a = 100;int b = a--;//后置--,先使用,后--printf("%d %d",a,b);//a的值为100,b的值为99return 0;
}
前置--
#include<stdio.h>
int main()
{int a = 100;int b =-- a;//前置--,先--,后使用printf("%d %d",a,b);//a的值为99,b的值为99return 0;
}
(类型) 强制类型转换
#include<stdio.h>
int main()
{int a = (int)3.1415;printf("%d",a);return 0;
}
如上代码所示,a为整形,但是赋值为浮点型,3.1415前面的(int)就是强制类型转换,把他转换成整形。
关系操作符
>
>=
<
<=
!=
==
>,>=,<,<=,这些关系操作符和数学中的一一模一样,这里着重了解一下==,!=。
C语言中,判断相等是用两个等号,一个等号会被编译器识别为赋值,两个等号是判断相等,!=是判断不相等。
例如:a=2; 这里是把a赋值成5
b==5; 这里是判断b等不等于5
逻辑操作符
&& 并且
|| 或者
&&和||只关注真假
&&两边同时为真,才为真
||两边同时为假,才为假
假设我们把年龄18~39的人称为青年,利用&&就可以写成以下代码。
#include<stdio.h>
int main()
{//定义年龄为18int age = 18;//如果年龄>=18,并且年龄<=36,我们就打印青年if (age >= 18 && age <= 36)printf("青年");
}
条件操作符
exp1 ? exp2 : exp3
这个会在后续写两个数比大小的时候,为大家展示。
逗号表达式
exp1,exp2,exp3.....expn
后续讲...
下标引用,函数调用和全文结构成员
[] () . ->
[] 下标引用操作符
在一串数组中,当我们要访问里面的元素,必须使用下标才能访问。
#include <stdio.h>
int main()
{
// 指定数组的元素个数
// |int arr[10]={1,2,3,4,5,6,7,8,9,10};//下标 0 1 2 3 4 5 6 7 8 9//想访问7的话,就要访问它的下标6printf("%d\n",arr[6]);//这里的[]就是下标引用操作符return 0;
}
() 函数调用操作符
#include <stdio.>
int add(int x ,int y)
{int z = x + y;return z;
}
int main()
{int a = 0;//定义两个变量int b = 0;int sum = 0;printf("请输入两个整数");scanf("%d %d",&a,&b);//输入sum =add (a , b);//定义函数add,调用函数add,这里就是函数调用操作符printf("%d",sum);打印sumreturn 0;
}
结构成员操作符会在以后的结构体部分讲...
因为内容太多了,另外一部分留着下一篇文章再讲,如果觉得有帮助的话可以关注我哦,我也会不断分享自己的所学。
更多推荐
C语言的初识
发布评论