提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
刚刚高中毕业,第一次接触电脑开始学习编程,用时三天学习完了初识c语言的部分,想把学习的笔记和学习中的思路整理一下发到博客上(第一次写博客有点紧张,若有错误请各位大佬指出)
一、梦的开始
#include <stdio.h>
int main()
{
printf("Hollow Word\n");
return 0;
}
相信这个代码是每个学编程的人学习的第一个代码吧
include是预处理指令(具体是啥我还不太明白,但我现在觉得这就是个固定搭配,有了这个和<stdio.h>才可以用printf)
main是主要的意思,开始跑代码时从main函数开始。注意:在同一项目中只能存在一个main函数,即使是在不同源文件中也只能有一个
main
printf是打印函数,可将输入的数据打印到屏幕上。注意:编程中所有符号都要用英文输入法输入
c语言有七种数据类型,它们分别是
char(字符数据类型) 字母或者汉字
short(短整型)
int(整形) 就是整数
long(长整形)
long long(长整型)
float(单精度浮点数) 就是小数
double(双精度浮点数)
打印不同数据时方法也不太一样
以打印整形为例,按以下格式打印
#include <stdio.h>
int main()
{ //\n是在打印出的数据下面空一行的意思,可以不加
//"//"这两个斜杠是注释的意思,在这个后面无论写什么都不影响代码运行
printf("%d\n",1);
return 0;
}
char(字符数据类型) %c(打印字符),%s(打印字符串,就是一串字符)
short(短整型)
int(整形) %d
long(长整形)
long long(长整型)
float(单精度浮点数) %f
double(双精度浮点数) %lf
return是返回的意思,代码总要有进有出
数据都是存在内存中的,数据在内存中的大小是可求的,下面以整形举例
#include <stdio.h>
int main()
{
printf("%d\n",sizeof(int));//打印出来结果是4,单位是byte(字节)
//sizeof-关键字-操作符-计算类型或者所占变量的大小
return 0;
}
注意:%d不是与后面的int对应,而是值以整形的方式打印出来“sizeof(int)”这个结果
计算机中的单位:
bit-比特位(最小)一个二进制位大小
byte-字节=8bit
kb=1024byte
mb=1024kb
gb=1024mb
tb=1024gb
pb=1024tb
可见同一种数据大小是相同的
数据类型 大小(byte)
char(字符数据类型) 1
short(短整型) 2
int(整形) 4
long(长整形) 4
long long(长整型) 8
float(单精度浮点数) 4
double(双精度浮点数) 8
二、变量
定义变量:变量就是在定义后还可以随意改变的量
#include <stdio.h>
int main()
{
int a = 0;//数据类型 变量名称
printf("%d\n",a);
return 0;
}
变量分为局部变量:定义在大括号里的变量,只在括号内有效
全局变量:定义在大括号外的变量,在这个项目内都有效
如果在源文件1中定义了一个全局变量,在源文件2中也可使用,但不可以直接用
这里显示未定义a,要想这样引用就得用一个声明关键字:extern
#include <stdio.h>
int main()
{
extern int a;//记得写数据类型
printf("%d\n",a);
return 0;
}
当定义的局部变量和全局变量同名时,局部变量优先
#include <stdio.h>
int a = 0;
int main()
{
int a = 1;
printf("%d\n",a);
return 0;
}
会定义变量后我们牛可以进行一些基础的运算了,这里要用到scanf“输入函数”
#define _CRT_SECURE_NO_WARNINGS 1//有的编程软件使用scanf函数时会报错,在源文件第一行加上这个就可以了
#include <stdio.h>
int main()
{
int a = 0;//c语言里的等号不是相等的意思,是赋值的意思
int b = 0;
int sum = 0;
scanf("%d %d",&a, &b);//别忘了在变量前输入&
sum = a + b;
printf("%d\n",sum);
return 0;
}
写好程序后使用快捷键Ctrl+F5就可以快速开始执行
执行后输入一个数字在回车即可输入一个数据
常量
分为三种:常变量,标识符常量,枚举常量
常变量:const修饰的变量是常变量(常量和变量的性质都有,但即不是常量又不是变量,后面学到会具体补充)
标识符常量:#define定义的标识符常量
例:#define MAX 20000
int a = MAX; 打印出来a=20000,且MAX 后面无法更改
变量和常量不同
#include <stdio.h>
#define b 1000//注意不用写等号
int main()
{
int a = 0;
a = a + 1;
printf("%d %d\n",a, b);//打印出来a = 1,b = 1000
return 0;
}
可知a可以在下面改变,而b改动的话会报错
枚举常量:枚举关键字:enum
#include <stdio.h>
enum Sex
{//定义枚举常量,每个常量有个初始值,从上到下依次是0,1,2
male,//注意是逗号!!!
female,
secret
};
int main()
{
enum Sex 小明 = male;
enum Sex 小红 = female;
enum Sex 张三 = secret;
printf("%d %d %d\n",小明, 小红, 张三);//打印结果是0,1,2
return 0;
}
字符
字符串:"hellow"就是一个字符串,字符串后隐藏了一个\0 “hollow\0”,\0是字符串的结束标志
字符号:'a’是一个字符号后面没有\0
计算字符长度:strlen(全称string length); 使用前要引入头文件#include <string.h>; \0不算如长度
#include <stdio.h>
#include <string.h>
int main()
{
printf("%d\n",strlen("abc"));//长度为3
return 0;
}
转义字符:如果要打印:c:\code\test.c
直接打印会有一部分被解释为一个转义字符,打印结果为
#include <stdio.h>
int main()
{
printf("c:\\code\\test\\.c\n");//将转义字符前加\修饰就可以防止问题的出现
return 0;
}
后两个转义字符
#include <stdio.h>
int main()
{
printf("%c\n",'\101');
return 0;
}
八进制换算到十进制方法:第一位权重是8的0次方,第二位权重是8的1次方,第三位是8的2次方,那么八进制101就是十进制的64+0+1=65
第一次写博客的体会
目前还没写完(其实是刚写了个开头),不写不知道,写起来才发现挺难的,但我会坚持写完(有的地方有空缺是因为我还没了解到,等我学到了会把他补全)。
因为我是初学者,学习新的知识不能听,所以我决定每天学点写点,虽然写博客挺麻烦的,但是我在写的过程中把知识点都过了一遍,让我把这些杂乱的知识能够成体系的叙述出来,我觉得这是复习的最好方法,而且我在写博客时还发现了笔记的不足和错误之处,可以帮我好好的改正并加深记忆,我打算用三天完成这篇博客,好啦,接着去学新东西喽!