首页
学习
活动
专区
圈层
工具
发布

C语言笔记---(1)初识C语言

C语言简介 C语言的历史 1972年,贝尔实验室,1972年,丹尼斯·里奇和布莱恩·柯林汉(Brian Kernighan)在B语言的基础上重新设计了一种新语言,这种新语言取代了B语言,所以称为C语言...C语言的源代码可以在任意架构的处理器上使用。 C语言的特点 1.语言简洁灵活 C语言是现有程序设计语言中规模最小的语言之一,C语言的关键字仅仅只有32个,控制语句也只有9个。...C语言是完全模块化和结构化的语言。C语言对于输入和输出的处理也是通过函数调用来实现的。...这本书被C语言开发者们称为“K&R”,很多年来被当作C语言的非正式的标准说明。人们称这个版本的C语言为“K&R C”。...应用范围: 1.编译器,JVM,驱动 2.操作系统内核 3.各类软件开发 4.嵌入式设备开发,例:手机 5.等等等 C语言的编译 C语言是一种编译型语言,源码都是文本文件,本身无法执行。

26.9K12
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C语言基础(1)

    今天是我正式与c语言接触的第一天,心中忐忑之余我更多的是兴奋,想要用c语言这门专业的编程序语言来提高自己,在学习知识之后我会在csdn上记录自己的学习历程,通过其巩固所学知识和查漏补缺,希望对自己和大家都有所帮助...C语言是一门通用计算机编程语言,广泛用于底层开发,以简易的方式编译、处理低级存储器、产生少量机器码以及不需要任何运行环境支持便可运行的编程语言。...学习重点: ·认识到什么是c语言 ·第一个c语言程序 ·数据类型 ·变量,常量 ·字符串+转义字符+注释 ·选择语句 ·循环语句 ·函数 ·数组 ·操作符 ·常见关键字 ·define定义常量和宏 ·指针...·结构体 写代码步骤:1.创建一个项目; 2.创建一个源文件:单击鼠标右键添加一个新的c++文件,文件名改为text.c; 3.写代码; 4.编译代码   快捷键ctrl+F5 一次运行中有且仅有一个...一个工程中可以有多个.c文件,但是多个.c文件中只能有一个main函数。

    24810

    C语言—指针(1)

    计算机中的内存如同酒店中每个房间的编号,也是把内存划分为一个个的单元,每个单元的大小取1个字节. 1byte(字节) = 8bit(比特) 1kb = 1024byte 1mb = 1024kb 1gb...= 1024mb 1tb = 1024gb 1pb = 1024tb 每个内存单元相当于一个学生宿舍,每个内存单元为1字节,存放8个bit位。...就好比如同学们住的是8人间,每个同学表示1个比特位。1个bit位可以储存二进制的0或1....指针变量和地址 2.1 取地址操作符(&) C语言中创建变量就是向内存中申请空间 比如: &: 取地址操作符,是个单目操作符 &a:表示取出a的地址 比如: int 型的变量占4个字节...C语言中我们拿到了地址(指针),就可以找到地址(指针)指向的对象。 这里我们就要介绍一种操作符解引用操作符:* *p的意思是通过p中存放的地址找到指向的空间。

    44210

    c语言进阶(1)

    接着让我们思考两个问题:1.为什么程序运行之前都要被加载到内存当中?快 2.在程序被加载到内存之前,程序在哪里?在硬盘当中。 有关变量   什么是变量?...1.局部的(如果是全局,会导致cpu中长时间占存) 2.不会被写入的(写入就要写回内存,后续还要检测的话,register就体现不出它的意义) 写入是什么意思?...头文件可能会被重复包含,为了保证头文件不被重复包含,我们有两种写法: 1.在开头写上#pragma once 头文件里会包含哪些内容呢? 使用尖括号包含的是c语言的头文件,包含自定义用双引号。...但是在text.c的.o文件当中又找到了这个函数。函数的声明本质上也是在内存上开辟空间,只不过变量保存的是数据,而函数保存的是代码,这个代码保存好之后一般是不可被写入的。...1.全局变量可以跨文件访问吗?可以。 2.函数可以跨文件访问吗?可以。 为什么呢?大型项目一定是多文件的,多个文件之间一定要进行数据交互。如果不能跨文件,交互成本比较高。

    31910

    C语言——指针(1)

    内存的单位是字节,1个字节就是1个内存单元,每个内存单元对应着一个独一无二的编号,而这个编号就是地址。...在C语言中,指针其实就是内存的地址,我们使用指针变量来存放指针(一般来说,没有特别说明,大家都是默认“指针”就是“指针变量”)。我们可以通过指针(地址)找到对应的内存空间里存放的数据。...二.指针的使用 在C语言中,我们使用取地址操作符&来获取变量的地址。我们将其地址存放到指针当中。 值得注意得是,变量的类型不同,也就是字节数不同。...我们再看下面的代码及其结果 char* 类型的指针变量+1跳过1个字节, int* 类型的指针变量+1跳过了4个字节。 所以指针的类型决定了指针+-1时跳过多少个字节。...NULL是空指针,它是C语言定义的标识符常量,其值为0,地址0是无法使用的,强行使用编译器会报错。

    46210

    C语言指针(1)

    1.内存与地址 大家对地址都不陌生,就像在生活中住酒店如何找到房间?那不就通过房卡上的房间号先确定楼层在确定房间。而这些房间号我们也叫地址。...在C语言中给地址起了新名叫:指针 所以我们理解的:内存单元的编号 == 地址 == 指针 2.指针变量与地址 2.1 取地址操作符& 在C语言中创建变量其实就是在向内存申请空间。...char b = 'a'; char* p = &b; 2.4 解引用操作符 在C语言中,我们找到地址,就可以对地址所指向的对象,而此时所要用到的就是解引用操作符(*)。...2.5 指针变量的大小 32位机器假设有32根地址总线,每根地址线出来的电信号转换成数字信号后是1或者0,那我们把32根地址线产⽣的2进制序列当做⼀个地址,那么⼀个地址就是32个bit位,需要4个字节才能存储

    27510

    初识C语言(1)

    什么是C语言? C语言是一门通用计算机编程语言,广泛应用于底层开发。...二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制 定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。...[1] 目前2011年12月8 日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标 准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉...1.第一个C语言程序 接下来我们来写第一个C语言程序,printf 是库函数,功能是在屏幕上打印数据信息 - 输出, 库函数是标准库中提供的函数,这些函数是现成的,直接可以使用,但是使用库函数需要包含对应的头文件...不变的值,C语言中用常量的概念来表示,变得值C语言中用变量来表示。

    36510

    C语言--------指针(1)

    因为不同类型的指针,决定了对指针进行解引用操作的时候可以访问的字节数------指针的权限;同时也决定了指针向前向后走一步有多大-------步长; 1.野指针 局部变量不进行初始化时侯,是随机值; 野指针...---------------指针变量不进行初始化,默认随机值,但对其进行赋值;或者是越界访问; 1.类型 (1)未初始化 (2)越界访问 (3)指针指向的空间释放 2.如何避免野指针 (1)知道地址直接初始化...,不知道地址就初始化为NULL(空指针,没有有效的空间,不可直接用); (2)指针指向的空间释放,及时置为NULL; 2.指针运算 (1)指针+-整数 通过指针对数组的元素进行赋值并打印; (2)指针-

    11700

    C语言(指针)1

    1、内存和地址 1.1内存 理解内存和地址,我们可以把它们类比为宿舍楼和房间编号。...在C语言中还给地址起了一个新的名字,叫做指针。可以粗略的认为:地址就是指针,指针就是地址。...我们可以简单地理解,32位机器有32根地址总线,每根线有两个形态,0或1(电脉冲的有无),一根线能表示两种信息,那么32根线就能表示2的32次方种信息,这个数还是非常大的。...作为C语言的灵魂,指针是C语言中功能最强大的机制,在后续的学习中就会慢慢地理解其中的含义。...还有一点,前面说了 “&” 操作符取到的只是首地址(最小的地址),所以不管地址是1个字节还是4个字节还是8个字节,只要取出首地址就可以了。

    20410

    C语言编程题(1)

    1.写出一个递归函数,输入一个非负整数,返回组成它的数字之和,例如,输入123,应该返回1+2+3,输出6 //写出一个递归函数,输入一个非负整数,返回组成它的数字之和,例如,输入123,应该返回1+2...                        看来只有两位是不一样的,那么这里可以用到异或^  4.单身狗问题 //找不同 #include int main(void) { int arr[] = { 1,2,3,2,1...2^3^2^1 } printf("%d\n", sum);//3 return 0; }  解释代码:1和2都是成对出现的,如果要找出单个的3,就要用异或^ 1^1  2^2                                               ...for (int i = 31; i >= 1; i -= 2) { printf("%d", (n >> i) & 1); } printf("\n"); //2.打印奇数位 for...可以进行多次画图,6块钱可以喝到11瓶可乐,7块钱喝到13瓶可乐,找规律,total=2*money -1。

    21110

    【C语言进阶】指针1

    讲完之前的C语言的基础知识后,现在我们来讲讲C语言一个重要的部分--指针 一、内存与地址 1.内存       在讲述内存的相关内容之前,先从生活中的例子来引入。...原来,内存也是被划分成一个个存储单元的,内个单元的大小取一个字节,这里要补充一下一些单位的换算: 1byte = 8bit //1个字节等于8个比特位 1KB = 1024byte 1Mb = 1024KB...1Gb = 1024MB 1TB = 1024GB 1PB = 1024TB 生活中我们将门牌号称之为地址,在计算机中亦是如此,这些内存编号我们也将其称为地址 而在C语言中,这些地址又有了一个新的名字...在C语言中,我们用 “&”这个符号来帮助我们获取地址,并将其称之为“取地址符”。...= %p\n", pi+1); printf("pc = %p\n", pc); printf("pc+1 = %p\n", pc+1); return 0; } 运行结果为: 由此可见,int

    11210
    领券