[49C]Q9_UFWL2UR[69I5QG0.png !...cdn.acwing.com/media/article/image/2022/04/10/182747_f1657a03b8-]PH%KUTG5WNQ}5}LIMUOJ.png) 上面的一个题目是上课讲的模板题
C语言简介 C语言的历史 1972年,贝尔实验室,1972年,丹尼斯·里奇和布莱恩·柯林汉(Brian Kernighan)在B语言的基础上重新设计了一种新语言,这种新语言取代了B语言,所以称为C语言...C语言的源代码可以在任意架构的处理器上使用。 C语言的特点 1.语言简洁灵活 C语言是现有程序设计语言中规模最小的语言之一,C语言的关键字仅仅只有32个,控制语句也只有9个。...C语言是完全模块化和结构化的语言。C语言对于输入和输出的处理也是通过函数调用来实现的。...C语言的版本 在C语言的发展史上,有过许多不同的版本。...这本书被C语言开发者们称为“K&R”,很多年来被当作C语言的非正式的标准说明。人们称这个版本的C语言为“K&R C”。
C语言程序需要载入内存才可以运行,其不同的数据保存在不同的区域。所使用的内存可以分成两类:一类是静态存储区,另一类是动态存储区。 C语言程序的存储区如下图所示: ?...x \n", b, (unsigned int)&b); printf("c = %d, &c = %#x \n", c, (unsigned int)&c); } 程序运行结果: ?...int)&c); } void stack_test2(int a, int b, int c) { stack_test1(a, b, c); } 程序运行结果: ?...按照C语言内存分配规则,如果内存分配成功,返回的是内存的地址;如果内存分配不成功,将返回NULL(0x0),表示一个无效的地址。 (3)malloc在分配内存的时候,是从低地址至高地址方向。...以上是对于C语言内存的一些笔记。如有错误,欢迎指出!
下面以windows环境下的test.c为例,test.c里的代码为: #include int main(void) { printf("This is a test program...2、预处理(Preprpcessing) 使用预处理器把源文件test.c经过预处理生成test.i文件,预处理用于将所有的#include头文件以及宏定义替换成其真正的内容。...预处理的命令为: gcc -E test.c -o test.i 上述命令中-E是让编译器在预处理之后就退出,不进行后续编译过程;-o是指定输出文件名。 预处理之后得到的仍然是文本文件。...汇编过程的命令为: gcc -c test.s -o test.o 上述命令中-c、-o让汇编器把汇编文件test.s转换成目标文件test.o。
其可以与typedef来进行类比进行理解(可查看【C语言笔记】define与typedef的区别?)。除此之外,其还可以与枚举enum进行类比。 二、什么是枚举 从字面理解,就是一一列举的意思。...若其他成员赋了初值,也是遵循“枚举成员的值是根据前一个成员的值递增1”这一规则,如: enum DAY { A,B,C=100,D,F=200,G }; 此处 A=0 B=1 C=100 D=101...以上就是关于枚举类型enum的一些笔记,如有错误欢迎指出。 最后,分享两篇关于枚举的文章,都讲得很详细。...https://www.cnblogs.com/JCSU/articles/1299051.html http://c.biancheng.net/cpp/html/99.html
注:在最新的C标准中,main函数前的类型为int而不是void。 2、主函数 一个C程序有且只有一个主函数,即main函数。主函数就是C语言中的唯一入口。...C语言的标识符是不可以随便起名字的,必须遵守一定的规则。 C 语言规定,标识符可以是字母(A~Z,a~z)、数字(0~9)、下划线_组成的字符串,并且第一个字符必须是字母或下划线。...4.标识符不能是C语言的关键字。 6、基本数据类型 在我们玩游戏的时候,游戏中的角色是有类型的,有敏捷型、力量型、法术型等等。...同样C语言中的数据也是有类型的,C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类。如图所示: ?...另外 c语言int的取值范围在于他占用的字节数 ,不同的编译器,规定是不一样。ANSI标准定义int是占2个字节,TC是按ANSI标准的,它的int是占2个字节的。
C99标准下可以指定结构体的成员初始化。...typedef struct{ int a; int b; } Test; Test test = {.a = 10, .b = 15}; C99标准下可以指定数组下标初始化。
枚举类型的大小是4,和一个int整形大小一样 就是最后一个逗号后面的表达式的值,比如: int a=1,b; b=(a+1,a+2,a+3); 那么b的值就...
C语言的运算 1、运算符 我们上小学的时候都学过各种运算,如:加法运算、乘法运算、混合运算等,而运算就要用到运算符,如:+、-、×、÷等等。 在C语言中同样有运算符,只是写法可能有所不同。...先说一下C语言中的运算是什么?C语言中的运算就是对数据进行操作、处理的过程。那么运算符又干什么的呢?运算符就是指定该运算的处理方式。 那么C语言中又有哪些运算符呢?...那么C语言中的赋值运算符又是什么呢?...在C语言中程序中也存在这样的比较,这个时候就需要用到关系运算符了。 下面是C语言中的关系运算符: ? 关系表达式的值是“真”和“假”,在C程序用整数1和0表示。如: ? 其结果为: ?...那么上面所说的能不能在C语言中表示出来呢?当然是可以了,不过C语言中,需要用到一个符号,这个符号就是三目运算符。 C语言中的三目运算符:“?:”,其格式为: 表达式1 ?
一、同时定义多个变量 我们都知道C语言中变量的类型决定了变量存储占用的空间。...结构体是C语言中的一种构造类型。C语言的数据类型如下图: ?...:【C语言笔记】#define与typedef的区别?...C99和C11为结构提供了指定初始化器(designated initializer)。其初始化器使用点运算符和成员名。...关于结构体的内存对齐可查看往期笔记:【C语言笔记】C语言结构体内存对齐问题 以上就是关于结构体的一些笔记,如有错误欢迎指出。谢谢!
第一章 程序设计和C语言 1.1 基本知识 程序:一组计算机能识别和执行的指令。 计算机语言:计算机和人都能识别的语言。 C语言是在B语言的基础上发展而来。...计算机语言发展阶段: 机器语言:计算机能直接识别和接受的二进制代码的集合(即机器指令的集合)。 符号语言(或汇编语言):使用英语字母和数字表示指令,再通过汇编语言将其转换为机器语言。...C语言特点: 语言简洁,使用方便灵活 运算符丰富 数据类型丰富 程序可移植性好 允许直接访问物理地址,进行位操作 生成的目标代码质量高,程序执行效率高 函数包括:函数首部(第一行)+函数体(‘{’+内容...注意易错: 每个C程序有且仅有一个main函数,程序从main函数开始执行且结束 C语言注释方式://单行注释和/* 多行注释 */ 一个程序由一个或多个源程序文件组成 C程序编译运行步骤:源程序...char ch[5]; ch="hello"; //error,而是strcpy(ch,"hello"); 待续 1.2 练习 【例1.1】 最简单的C语言程序: #include /
来源:公众号(c语言与cpp编程) c语言入门 C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。...C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必修课。...标识符不能是C语言的关键字。想了解更多C语言关键字的知识。 变量及赋值 变量就是可以变化的量,而每个变量都会有一个名字(标识符)。变量占据内存中一定的存储单元。...运算符号 C语言中运算符: ※ 算术运算符 ※ 赋值运算符 ※ 关系运算符 ※ 逻辑运算符 ※ 三目运算符 算术运算符 c语言基本运算符: ?...C语言的数组长度一经声明,长度就是固定,无法改变,并且C语言并不提供计算数组长度的方法。
c语言入门 C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。...C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必修课。...标识符不能是C语言的关键字。想了解更多C语言关键字的知识。 变量及赋值 变量就是可以变化的量,而每个变量都会有一个名字(标识符)。变量占据内存中一定的存储单元。...运算符号 C语言中运算符: ※ 算术运算符 ※ 赋值运算符 ※ 关系运算符 ※ 逻辑运算符 ※ 三目运算符 算术运算符 c语言基本运算符: ?...C语言的数组长度一经声明,长度就是固定,无法改变,并且C语言并不提供计算数组长度的方法。
C99 C语言常用格式化字符 格式化输出语句,也可以说是占位输出,是将各种类型的数据按照格式化后的类型及指定的位置从计算机上显示。这样做的好处,是有利于计算机能够准确的将我们所要类型数据给我们。...格式符 说明 举例 %d 带符号的十进制整数 int a=10;printf("%d",a);输出结果为10 %c 单个字符 char x='a';printf("%c",a);输出结果为a %s 字符串...C语音的常量可以分为直接常量和符号常量。...字符常量:'a','R'; 字符串常量: "I Love You"; printf("%d\n",100); //整型常量 printf("%f\n",3.14); //实型常量 printf("%c\...n",'A'); //字符常量 printf("I Love you"); //字符串常量 在C语言中,可以用一个标识符来标识一个常亮,称之为符号常量。
函数 一个C语言源程序,是由一个或多个函数定义顺序组成的,其中必须有一个函数名为main的主函数。(一个project可以有多个.c文件,但只能有一个main函数。...常见错误就是把多个题目程序代码.c放到一个工程下面,每个里面都有main函数,编译不报错,组建会报错。) C语言源程序中的函数是指完成特定数据处理任务、功能上独立的一个程序段。...C语言的九种控制语句。可分为以下三类 1)条件判断语句:if语句、switch语句。 2)循环执行语句:do...while语句、while语句、for语句。...{ k=i+j; a=b+c; printf{"%d%d\n",k,a}; } 5. 空语句 空语句是由分号“;”组成,并且是什么也不执行的语句,在程序中空语句可用来作空循环体。
1 // 3 * 2 = 6 // 3 / 2 = 1 #include int main() { int a; int b; int A,B,C,...",&a,&b); A=a+b; printf("%d+%d=%d\n",a,b,A); B=a-b; printf("%d-%d=%d\n",a,b,B); C=...a*b; printf("%d*%d=%d\n",a,b,C); D=a/b; printf("%d/%d=%d\n",a,b,D); return 0; } 测试题 如上
正是基于这种考虑,C语言又提供了一种数据结构,叫做位域或位段。 位域是操控位的一种方法(操控位的另一种方法是使用按位运算符,按位运算符将在之后的笔记中做介绍)。...而结构体变量pk2的各成员超出了限定的位数,并发生了上溢(溢出中的一种),关于溢出的概念可查看往期笔记:【C语言笔记】整数溢出 C语言标准规定,只有有限的几种数据类型可以用于位域。...关于C语言的几套标准可查看往期笔记:【C语言笔记】什么是ANSI C标准?...位域的存储 位域的存储同样遵循结构体内存对齐的规则,关于结构体内存对齐的问题可查看往期笔记:【C语言笔记】C语言结构体内存对齐问题 看一个例子: #include struct pack...以上就是关于位域的一些笔记,如有错误,欢迎指出!
指针字符串的正确表达: char a[] = "hello"; //ok char *b="hello"; //ok char c[10];c[10]="hello"; //error...char c[10];c="hello"; //error char *d;d="hello"; //ok char e[]={"hello"}; //ok char
数组元素的(指针)实际上就是数组元素的地址,引用数组元素的值可以有下标法,或指针法。
1个C语言程序是由1个或多个程序模块组成,每个程序模块作为一个源文件(.c),一个源文件是由1个或多个函数组成的。函数都是平行的,相互独立的,一个函数并不属于另一个函数。...实际参数 实参 printf("sum=%d",sum);//调用函数 return 0; } int add(int a,int b){//形式参数 形参 定义函数 int c;...c=a+b; return c; } 函数调用时的数据传递 对应有参函数,在定义函数时函数名后面的参数称为形式参数(形参),在调用函数时,函数名后面的参数称为实际参数(实参)。
领取专属 10元无门槛券
手把手带您无忧上云