文章目录
C语言基础 汇总笔记
1、经典入门:hello world
1.1、概念:
- 源文件:源文件即源代码文件,C语言源文件后缀名是.c
- 头文件:头文件后缀名为.h(head,头),C语言代码由源文件和头文件组成。
- 关键字:关键字是c语言征用了的一些字,这些字在C语言中代表特殊含义,已经被C语言定义好了,轮不到我们用了。每个关键字都有自己特定的含义,我们必须搞懂每个关键字的所有含义和用法,否则就看不懂C语言程序。
- 注释:C语言中注释以//开头,或者/* */,注释是给程序员看的,不是给机器看的。也就是说,程序员写注释给其他人看,以让人明白自己为什么要这么写。但是编译器编译程序的时候是忽略注释内容的,所以机器根本看不见注释,也不理注释。
- 符号:C中包含很多符号,如; : , + () {} *等等,各种符号都有自己的含义,必须搞明白各种符号的含义,才能看懂C语言程序。
- 变量:会改变的量。C语言程序中用变量来进行计算。
- 函数:函数是C语言的一个基本组成单位,一个C语言程序其实就是由很多函数组成的,每个函数用来完成一定的功能,函数可以调用别的函数来完成功能。函数的标志是().C语言中有一个特殊的函数叫main,这个函数是整个程序的内定的入口,也就是说整个C语言程序是从main函数开始执行的,其他的函数都是直接或者间接被main函数调用。
x = sin(30’’)
1.2、C语言写代码步骤:
第一步:编辑源代码(使用vi或者其他编辑器)
第二步:编译。编译就是用编译器把源程序转化为可执行程序的过程,编译要用到编译器。我们在linux中使用编译器一般是gcc。
第三步:执行编译生成的可执行程序,执行方式是./hello
第四步:调试。当你执行后发现程序结果不对,不是自己想要的,这时候就是返回来看源代码哪里不对。然后修改,在编译执行,再看结果。如此循环至结果正确。
练习题目
1、打印下面图形
*
***
*****
***
*
解答:
1)空格占位打印
2)for循环控制占位,
第一个循环i=1~N,打印N-i+1个空格,2i-1个*
第二个循环i=1~N,打印i个空格,2(N-i+1)-1个*
- 注:markdown中空格的表示方法:
- 一个空格大小的表示: 或 ,此时只要在相应需要缩进的段落前加上 4个 如上的标记即可,注意要带上分号。
- 两个空格的大小表示: 或 ,同理,使用2个即可缩进2个汉字,推荐使用该方式。
- 不换行空格: 或 ,使用4个 即可。
- 技巧:使用全角空格。即:在全角输入状态下直接使用空格键就ok了。
2、打印下面的图形
\--------------------------------
** www.link-embed.com **
** Aston **
\--------------------------------
解答:用空格控制
总结:
1、使用到的技术主要是printf中\n换行和\接续符。
2、题目目的主要是为了熟悉C语言程序的编辑、编译、执行、调试过程。
3、C语言中的注释,短的用//,多行的用/* */。
1.3、C语言关键字:
icnlude(包含) 头文件包含
int(integer,整数) 定义了整型这个数据类型,用来表示一个整数的类型叫整型。
char(character,字符) 字符型数据类型
return(返回)
2、VMWare共享文件夹使用
当我们裸机安装了Windows,并且在Windows中安装了虚拟机软件VMWare,并且在虚拟机中安装Ubantun后,我们一般在Windows中编辑源代码,而在Linux中编译,执行源代码。这时候就需要在Windows和Linux之间进行交互。 怎么来进行交互呢?之前通过smb服务器,现在通过VMWare的共享文件夹就可轻松实现。
- 怎么建立Windows的共享文件夹?
第一步:先在Windows中创建一个文件夹,主要要使用英文名称。
第二步:VMare中,菜单栏VM->Settings->Options->Shared Folders选项卡,右边上侧选择Always Enabled,下面点击Add,next,在打开的选项卡中Host Path项目总浏览选择刚才第一步中创建的文件夹,下面Name中会自动弹出一个相同的名字,这个名字是将来Windows中的文件夹在linux虚拟机中的映射文件件,名字可以改也可以不改。然后一直Ok,完成即可。
第三步:在linux中,直接到 /mnt/hgfs目录下,即可找到刚才第二步中Names相同的名字的文件夹,这个目录即是第一步中Windowsz中目录在linux下的映射。
3、C语言数据类型
3.1、整形
- C语言中的整形对应数学中的整数,整形变量是用来描述一个整数值的,整型变量经过计算后也只能是整数(整型),不可能出现小数(浮点型).
- 要求:
要学会整形变量的定义,赋值,计算
要学会使用printf函数打印出一些整形变量的值,作为输出和调试。%d - C语言中整形有三种:
(1)int 整形 4B
(2)short int,又叫做short,短整形(<=整形) 2B
(3)long int,又叫做long,长整型(>=整形)8B
3.2、浮点型
- C语言中浮点型对应数学中的小数。浮点型有float和double两种。
- 使用方式相同,不同在于:
表示范围和精度。float表示的范围小,精度低(小数点后6位);而double表示范围大,精度高。(小数点后16位) 4B/8B
范围是说表示的数有多大,精度是指这个数的分辨率有多细
注:double类型是双精度浮点数,占用8字节(Byte)即64位(bit),其精度是由32个bit的二进制尾数来确定的,因此准确精度是二进制精度而不是十进制精度,通常可以保证十进制小数点后15位有效精度和第16位的部分精度。
注意:printf中打印float或double类型,要是用%f,不能用%d。
3.3、字符型
- 字符型对应ASCII字符。ASCII字符是一种编码,就是用数字编码来表示一个符号的一种方法
- 本质上说,字符型其实也是整形,只是这些整形数被用来表示一些字符的ASCII编码值,所以叫做字符型。字符型一般用8位二进制表示,无符号字符型范围是0~255. 1B
- 字符型其实是一种比short还短的整形,所以它可以和int相运算。
3.4、有符号数和无符号数
-
数学中数是有符号的,有正数和负数之分。所以计算机中的数据类型也有符号,分为有符号数和无符号数。
-
有符号数:
整形:
signed int(简写为 int)
signed long,也写作signed long int,(简写为long)
signed short,也写作signed short int(简写为short)
signed(表示signed int)
浮点型:
signed float(简写为float)
signed double(简写为double)
字符型:
signed char(简写为char) -
无符号数:
整形:
整形有无符号数,用来表示一些编码编号之类的东西。譬如身份证号,房间号
unsigned int(没有简写)
unsigned long int(简写unsigned long)
unsigned short int(简写为unsigned short) -
浮点数:
没有无符号浮点数。也就是说,小数一般只用在数学概念中,都是有符号的。 -
字符型:
字符型有无符号数
unsigned char(没有简写)
注意:对于整形和字符型来说,有符号数和无符号数表示的范围是不同的。譬如字符型,有符号数范围是-128127,无符号数的范围是0255
4、C语言常用运算符
4.1、数学运算符号
4.1.1、常见数学运算符号,跟数学中理解相同
+ 加号
- 减号
* 乘号
/ 除号,相除以后的商
% 取余符号,相除以后余数是几
() 括号括起来优先级最高,先计算
4.1.2、跟数学中意义不同的运算符
- = 赋值运算符,与数学中的等号完全不同。赋值运算符作用是经过运算后符号左边的部分(左值,一般是一个变量),的值就等于右边部分(右值,一般是常数或变量)了。
+= a = a + b; 等同于 a += b;
-= a = a - b; 等同于 a -= b;
*= a = a * b; 等同于 a *= b;
/= a = a / b; 等同于 a /= b;
%= a = a % b; 等同于 a %= b;
bianliang1 = bianliang1 + bianliang2;
bianliang1 += bianliang2;
4.1.3、判断运算符
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
4.1.4、逗号运算符
- , 逗号运算符的主要作用是用来分割
4.1.5、++与–
+ ++
a++; 等同于 ++a; 等同于 a = a + 1; 等同于 a += 1;
+ --
+ a--; 等同于 --a; 等同于 a = a - 1; 等同于 a -= 1;
作业:
1、自己查找资料或写代码测试,总结++放在前面和后面的区别(a++和++a区别)
a = 5;
b = a++; // b = 5,因为++后置,先运算后进行+1
a = 5;
b = ++a; // b = 6,因为++前置,先加1,再进行运算
- Con:++/–运算优先级对赋值运算的影响