C语言系列 #001_C语言基础知识汇总

本文是C语言的基础教程,涵盖了C语言的关键知识点,包括:1) C语言入门,解释了源文件、头文件、关键字、变量、函数的概念及编写代码的步骤;2) VMWare共享文件夹的使用,讲解了如何在Linux和Windows之间共享文件;3) 数据类型,详细介绍了整形、浮点型、字符型和有符号数、无符号数;4) 运算符,重点讨论了数学运算符、判断运算符、逗号运算符以及++与--的用法;5) 程序结构,解析了选择结构(if/else和switch/case)和循环结构(for、while、do/while);6) 函数的定义、声明、参数传递和返回值;7) 数组的定义、使用、初始化及其与指针的关系;8) 结构体、共用体、枚举的初步介绍。总结了C语言学习过程中的重要概念和操作步骤,为初学者提供了全面的学习指南。
摘要由CSDN通过智能技术生成

文章目录

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:++/–运算优先级对赋值运算的影响

<

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值