l一、初识c语言:
- 什么是c语言
- 第一个c语言程序
- 数据类型
- 常量 变量
- 字符串 转义字符 注释
- 选择语句
- 循环语句
- 函数
- 数组
- 操作符
- 常见关键字
- define定义常量和宏
- 指针
- 结构体
二.解释
1.什么是c语言
就像中文,英文等是人与人交流的语言。c语言是一种人与计算机交流的语言,人与计算机交流的语言经历了二进制,汇编语言,B语言,到现在的c语言。现在的c语言的标准为c99,利用这个标准进行统一。
2.第一个c语言程序
1
2
3
4
5#include <stdio.h> int main() { return 0; }
#include <stdio.h>:include称为文件包含命令,意思是把<>或""内指定的文件包含到本程序中。被包含的文件通常是由系统提供的,扩展名为.h,还有一部分是自己编写的.h文件。stdio:standard input output.意为C语言的头文件中包括了各个标准库函数的函数原型。
int为整型,main函数运行结束后,返回一个整型值;
0就是一个整数,在main函数结束的时候被返回。
3.数据类型
char //字符串数据类型 1个字节
short //短整型
int //整型 4个字节
long //长整型 4个字节
long long //更长的整型 8个字节
float //单精度浮点数 4个字节
double //双精度浮点数 8个字节
4.*常量
1)字面常量
100,3.14这样的
2)const修饰的常变量
const int num = 10;
printf(“num = %n”, num); //10
const 本质上还是一个变量
3)#define定义的标识符常量
1
2
3
4
5
6
7
8
9
10
11#define MAX 100 { int a = MAX; printf(“%dn”,a); return 0; } //100
4)枚举常量
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27//定义枚举类型 eume Sex { MALE, //枚举这种类型的可能取值就是枚举常量 FEMALE, SECRET }; int main() { printf("%dn", MALE); //0 printf("%dn", FEMALE); //1 printf("%dn", SECRET); //2 return 0; }
*变量
变量的作用域与生命周期
作用域:作用域是程序设计概念,通常来说、一段程序代码中所用到的名字并不总是有效/可用 的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
1、局部变量的作用域是变量所在的局部范围。
2、全局变量的作用域是整个工程。
1
2
3
4
5
6
7
8
9
10
11
12
13
14int p = 5; //p在main函数外部是全局变量 int main() { printf("%dn",p) //这里可以打印p的值 int a = 10; { int b = 20; //b在这里定义,这个括号内部就是b的作用域 printf("%dn",b); } printf("%dn",b); //这里报错,因为出了b的作用域 printf("%dn",a); //这里可以打印a的值,因为a在外部 return 0; }
生命周期:变量的生命周期指的是变量的创建和变量的销毁之间的一个时间段
1、局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
(只要是大括号内部的都是局部变量)
2、全局变量的生命周期是:整个程序的生命周期。
5.字符串+转义字符+注释
1)字符串
1
2
3
4
5
6#include <stdio.h> int main() { "abc"; //字符串:用双引号括起来 return 0; }
存储字符串
1
2
3
4
5
6
7
8
9
10
11#include <stdio.h> int main() { char ch = "abc";//想要把abc存起来,但是这种写法是错误的,因为没有字符串类型,char只能存放一个字 //符,但是可以使用字符数组来存储字符串。 char arr1[] = "abc"; char arr2[] = {'a','b','c',''};//这样需要加上'',是字符串的结束标志。 printf("%sn",arr1); //abc printf("%sn",arr2); //abc return 0; }
2)转义字符
n:换行
观察以上代码运行结果,发现加了n以后将会换行
1
2
3
4
5
6int main() { printf("(hehe??)"); //??)---->三字母词------> ] return 0; //结果为(hehe] printf("(hehe??)"); //想打印出(hehe??),于是在?前加上,转变意思 }
转义:转变原来的意思
常见的转义字符:
? 在书写连续多个问号时使用,防止他们被解析为三字母词
' 用于表示字符常量'
1
2
3printf("%c",'''); //这样打印不出' 因为会以为前两个''是一对 多出来' printf("%c","'"); //需要在'前加一个 使其变成一个普通的' 这样输出结果就是'
" 用于表示一个字符串内部的双引号 与上面的一样
\ 用于表示一个反斜杠,防止他被解释为一个转义序列符
1printf("c:\test\100\test.c"); //结果为c:test100test.c
a 警告字符,蜂鸣,打印它,电脑会响一下
1printf("aaaa");
b 退格符
f 进纸符
n 换行
r 回车
t 水平制表符 将当前位置移到下一个tab位置
v 垂直制表符
ddd ddd表示1-3个八进制数字。如:130
1printf("%cn",'130'); //结果为X
130表示8进制的 130 转化为 10进制为88,而88的ASCII值对应的是X
xdd dd表示2个十六进制数字。如:30 结果为0
拓展ASCII值
计算机中acgscds@#$%这种字符是用ASCII码存储
1printf("%dn",strlen("c:test628test.c")); //结果是14,t,62是一个字符
3)注释
// c99之后引入的注释方式,也是c++的注释风格,要一行一行输
/* */ c99之前引入的注释方式,也是c的注释风格,可以一次注释多行,缺陷是不支持嵌套注释
6.选择语句
if else语句,较为简单,如下,利用if else语句来判断一个数能否被5整除
1
2
3
4
5
6
7
8
9
10
11#include <stdio.h> #include <string.h> int main() { int M=0; scanf("%dn", &M); if (M % 5 == 0) printf("YES"); //如果M能被5整除,则输出YES else printf("NO"); //如果M不能被5整除,则输出NO }
7.循环语句
c语言中通过
while语句
for语句
do while语句来实现循环,作为初学者先介绍while语句
while (表达式) //若表达式为真,则进入括号内部
{
语句;
}
8.函数
数学中也有函数,如f(x)=2x+3
在c语言中,函数相当于一个工厂,将数据输入进去,调用函数即可得到结果,使得代码更加简洁
如下写一个加法函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16//定义函数 int Add(int x,int y) { int z = x+y; return z; } int main() { int num1 = 0; int num2 = 0; int sum = 0; scanf ("%d %d",&num1,&num2); sum = Add(num1,num2); //调用Add函数 printf("sum = %dn",sum); return 0; }
Add 为函数名,int是函数的返回类型为整型,,x和y是函数的形式参数
9.数组
数组是一组相同类型元素的集合
1
2
3
4
5
6
7
8
9
10
11
12int main() { int arr[10] = {1,2,3,4,5,6,7,8,9,10}; //arr就是10个元素的整型数组 printf("%d",arr[0]); //方括号括起来的是数组下标,0表示这个数组的第一个元素,即输出为1 int i = 0; //使用i产生下标 while(i<=9) { printf("%d",arr[i]); //利用while循环输出这个数组的所有元素 i = i+1; } return 0; }
10.操作符
1)算数操作符
+ - * %
2)移位操作符
>> <<
3)位操作符
& ^ |
4)赋值操作符
= += -= *= /= &= ^= |= >>= <<=
11.常见关键字
12.define定义常量和宏
13.指针
要想理解指针,需要先知道内存的含义
内存是电脑上特别重要的存储器。计算机中所有程序的运行都是在内存中进行的,
所以为了有效地使用内存,就把内存划分成一个个小的内存单元,每个单元的内存大小就是一个字节,如int类型的数据占4个字节,为了有效地访问到内存的每个单元,就给内存单元编了号。
就像家庭住址一样,当你知道变量在哪个地址,就可以访问到它。而指针就是找到它的方法。
变量都有地址,取出变量地址如下
1
2
3
4
5
6int main () { int num = 10; # //取出num的地址 printf("%pn",&num); //打印地址,%p表示以地址的形式打印,就是找到num在内存中的位置 }
那地址如何存储呢?这就需要定义指针变量,来存放地址
1
2
3
4
5
6
7int main() { int a = 10; int *p = &a; //*告诉我们 p就是一个指针量 int说明,p是指向一个整型变量的 //&a的意思是a的地址,我们把地址也称为指针 }
14.结构体
当我们描述一个复杂的对象时,如想要了解一个学生,可以从他的性别、年龄、学号等来描述他,这就比较复杂,需要用到结构体。
最后
以上就是优雅酸奶最近收集整理的关于初识c语言的全部内容,更多相关初识c语言内容请搜索靠谱客的其他文章。
发表评论 取消回复