C语言基础一

1、经典入门:hello world:

#include <stdio.h>

int main()
{
printf("hello world.\n");

return 0;
}

1.1、概念:
源文件:源文件即源代码文件,C语言源文件后缀名是.c
头文件:头文件后缀名为.h(head,头),C语言代码由源文件和头文件组成。
关键字:关键字是C语言征用了的一些字,这些字在C语言中代表特殊含义,已经被C语言定义好了。每个关键字都有自己特定的含义,我们必须搞懂每个关键字的所有含义和用法,否则就看不懂C语言程序。
注释:C语言中注释以//开头,或者/* */,注释是给程序员看的,不是给机器看的。也就是说,程序员写注释给其他人看,以让人明白自己为什么要这么写。但是编译器编译程序的时候是忽略注释内容的,所以机器根本看不见注释,也不理注释。
符号:C语言程序中包含很多符号,如; : , + () {} *等等,各种符号都有自己的含义,必须搞明白各种符号的含义,才能看懂C语言程序。
变量:会变化的量。C语言程序中用变量来进行计算。
函数:函数是C语言的一个基本组成单位,一个C语言程序其实就是由很多函数组成的,每个函数用来完成一定的功能,函数可以调用别的函数来完成功能。函数的标志是()。C语言中有一个特殊的函数叫main(主函数),这个函数是整个程序的内定的入口,也就是说整个C语言程序是从main函数开始执行的,其他的函数都是直接或者间接被main调用。 一个完整的程序有且只能有一个main函数!
1.2、C语言写代码步骤:
第一步:编辑源代码(使用vi编辑器或者其他编辑器)
第二步:编译。**编译就是用编译器把源程序转化成可执行程序的过程,编译要用到编译器。**我们在linux中使用编译器一般是gcc
譬如:gcc hello.c 把当前目录下hello.c文件编译,得到的可执行文件名字叫a.out也可以自己指定编译后生成的可执行程序的名字,使用gcc hello.c -o hello
第三步:执行编译生成的可执行程序,对一个名字为hello的可执行程序执行方式是./hello
第四步:调试。当你执行后发现程序结果不对,不是自己想要的,这时候就是返回来看源代码哪里不对。然后修改,再编译执行,再看结果。如此循环直接结果正确。

C语言中的关键字:
1数据类型关键字(12个)
(1)int:声明整型变量或函数
(2)char:声明字符型变量或函数
(3)float:声明浮点型变量或函数
(4)double:声明双精度型变量或函数
(5)short:声明短整型变量或函数
(6)long:声明长整型变量或函数
(7)signed:声明有符号型变量或函数
(8)unsigned:声明无符号变量或函数
(9)enum:声明枚举类型
(10)struct:声明结构体变量或函数
(11)union:声明共用体(联合)数据类型
(12)void:声明函数无返回值或无参数,声明无类型指针
2控制语句关键字(12个)
循环语句的关键字
(1)for:循环语句
(2)do:循环语句,后面跟循环语句的循环体
(3)while:循环语句,后面跟循环语句的循终止条件
(4)break:跳出当前循环
(5)continue:结束当前循环,开始下一轮循环
条件语句的关键字
(6)if:条件语句
(7)else:条件语句的否定分支(与if连用)
(8)goto:无条件跳转语句
(9)switch:用于开关语句
(10)case:开关语句的分支
(11)default:开关语句中的其他分支
(12)return:子程序返回语句(可以带参,也可以不带参)
存储类型关键字(4个)
(1)aotu:声明自动变量,一般不使用
(2)extern:可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。
(3)register:声明寄存器变量
(4)static:声明静态变量
其他关键字(4个)
(1)const:声明只读变量
(2)sizeof:计算数据类型长度
(3)typedef:用于给数据类型取别名
(4)volatile:说明变量在程序执行中可被隐含的改变

关于printf总结:
a、使用到的技术主要是printf中\n换行和\接续符。
b、题目目的主要是为了熟悉C语言程序的编辑、编译、执行、调试过程。
c、C语言中的注释,短的用//,多行的用/* */

2、VMWare共享文件夹使用

当我们裸机安装了Windows,并且在Windows中安装了虚拟机软件VMWare,并且在虚拟机中安装了ubuntu后。我们一般在Windows中编辑源代码,而在linux中编译、执行源代码。这时候就需要在Windows和linux之间进行交互。
怎么来进行交互呢?之前通过smb服务器,现在通过VMWare的共享文件夹就可以轻松实现。
怎么建立Windows的共享文件夹?
第一步:先在Windows中创建一个文件夹,主要要使用英文名称。
第二步: VMWare中,菜单栏 VM -> Settings -> Options -> Shared Folders选项卡,右边上侧选择Always Enabled,下面点击Add,next,在打开的选项卡中Host Path项目中浏览选择刚才第一步中创建的文件夹,下面Name中会自动弹出一个相同的名字,这个名字是将来Windows中的文件夹在linux虚拟机中的映射文件夹,名字可以改也可以不改。然后一直OK,完成即可。
第三步:在linux中,直接到 /mnt/hgfs/目录下,即可找到刚才第二步中Name相同的名字的文件夹,这个目录即是第一步中Windows中目录在linux下的映射。

3、C语言数据类型

3.1、整形
C语言中的整形对应数学中的整数,整形变量是用来描述一个整数值的,整形变量经过计算后也只能是整数(整型),不可能出现小数(浮点型)。
要求:要学会整形变量的定义,赋值,计算
要学会使用printf函数打印出一些整形变量的值,作为输出和调试。
C语言中整形有三种:
(1)int 整形
(2)short int,又叫做short,短整形(<=整形)
(3)long int,又叫做long,长整型(>=整形)

3.2、浮点型
C语言中浮点型对应数学中的小数。浮点型有float和double两种。使用方式相同,不同在于表示范围和精度。float表示的范围小,精度低(小数点后6位);而double表示范围大,精度高。(小数点后16位)
范围是说表示的数有多大,精度是指这个数的分辨率有多细
注意:printf中打印float或double类型,要是用%f,不能用%d。

3.3、字符型
字符型对应ASCII字符。ASCII字符是一种编码,就是用数字编码来表示一个符号的一种方法。本质上说,字符型其实也是整形,只是这些整形数被用来表示一些字符的ASCII编码值,所以叫做字符型。字符型一般用8位二进制表示,无符号字符型范围是0到255,有符号的范围是-128到127。字符型其实是一种比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(没有简写)

注意:对于整形和字符型来说,有符号数和无符号数表示的范围是不同的。譬如字符型,有符号数范围是 -128到127,无符号数的范围是0到255

4、C语言常用运算符

4.1、数学运算符号
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;

3、判断运算符

==		等于
!=		不等于
>		 大于
<       小于
>=	大于等于
<=	小于等于

4、逗号运算符
, 逗号运算符的主要作用是用来分割,逗号运算符的优先级是最低的从左到右。例如 int(a,b);
逗号运算符确保操作数被顺序地处理:先计算左边的操作数,再计算右边的操作数。右操作数的类型和值作为整个表达式的结果。左操作数只是为了副作用需要而被计算,它其值会被丢弃。在计算完左操作数之后,存在一个序列点,例如:

x = 5, sqrt( 2*x )	//在上述表达式中,在 sqrt()函数被调用之前,赋值运算会首先发生。整个表达式的值是此函数的返回值。

逗号运算符的优先级是所有运算符中最低的。因此,前述例子中的表达式 x=5不需要括号。然而,如果希望逗号运算的结果用于另一个赋值运算中,就需要使用括号:

y = ( x = 5, sqrt( 2*x ));

5、++与–运算符
++ a++; 等同于 ++a; 等同于 a = a + 1; 等同于 a += 1;
– a–; 等同于 --a; 等同于 a = a - 1; 等同于 a -= 1;

++放在前面和后面的区别(a++和++a区别)
++a表示取a的地址,增加它的内容,然后把值放在寄存器中;
a++表示取a的地址,把它的值装入寄存器,然后增加内存中的a的值;

a = 5;
b = a++; // b = 5,因为++后置,先运算后进行+1

a = 5;
b = ++a; // b = 6,因为++前置,先加1,再进行运算

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值