c语言基础知识汇总(c语言知识点汇总)

今天给各位分享c语言基础知识汇总的知识,其中也会对c语言知识点汇总进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、c语言基础知识必背有哪些?2、学c语言需要什么基础知识3、C语言知识总结4、学习C语言需要掌握哪些基本知识?5、c语言有哪些基础知识?6、C语言入门需要掌握的核心知识点有哪些

c语言基础知识必背有哪些?

c语言基础知识有:

1、c语言的命名。

2、变量及赋值。

3、基本数据类型。

4、格式化输出语句。

5、强制类型转换。

6、常量。

7、自动类型转换。

c语言的特点:

1、广泛性。C语言的运算范围的大小直接决定了其优劣性。C语言中包含了34种运算符,因此运算范围要超出许多其它语言,此外其运算结果的表达形式也十分丰富。

2、简洁性。9类控制语句和32个关键字是C语言所具有的基础特性,使得其在计算机应用程序编写中具有广泛的适用性,可以适用广大编程人员的操作。

3、结构完善。C语言是一种结构化语言,它可以通过组建模块单位的形式实现模块化的应用程序,在系统描述方面具有显著优势。

学c语言需要什么基础知识

c语言入门基础知识点有: 1、c语言的命名;2、变量及赋值;3、基本数据类型;4、格式化输出语句;5、强制类型转换;6、常量;7、自动类型转换。

C语言是一种通用的、面向过程式的计算机程序设计语言。

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点

它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序

因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发

c语言基础知识汇总(c语言知识点汇总)

C语言知识总结

c语言概要

第一章、 概述

1、 c语言的基本知识

1.1、 c语言的执行步骤

编辑-程序代码的录入,生成源程序*.c

编译-语法分析查错,翻译生成目标程序*.obj

(语法或逻辑错误,从第一个开始改,变量定义,语句格式,表达式格式等)

链接-与其他目标程序或库链接装配,生成可执行程序*.exe

执行

1.2、 main函数的基本知识

main()函数的位置

c程序总是从main( )函数开始执行

一个c程序可以包含一个主函数,即main()函数;也可以包含一个main()函数和若干其它函数

1.3、 c程序的结构

函数与主函数

程序由一个或多个函数组成

必须有一个且只能有一个主函数main()

程序执行从main开始,在main中结束,其他函数通过嵌套调用得以执行

程序语句

C程序由语句组成

用“;”作为语句终止符

注释

//

/* */ 为注释,不能嵌套

不产生编译代码

1.4、c 程序书写的规则

习惯用小写字母,大小写敏感

不使用行号,无程序行概念:通常一个语句占一行

可使用空行和空格

常用锯齿形的书写格式;同一层次结构的语句上下对齐。

第二章、基本数据类型与运算

2.1、c程序的数据类型

注意类型和变量含义的不同(类型是固定好的名字,变量是自己起的名字)

变量占用的存储空间

数据类型

基本类型:整型、字符型、浮点型(单精度型,双精度型)

构造类型:数组类型、结构体类型

指针类型

空类型

注意基本类型赋初值的方式

基本数据类型的表示形式

整形数据

十进制:以非0数字开头,如:123,-9,0

八进制;以0数字开头,如:0123,067

十六进制:以0x开头,如:0x123,0xff

实型数据

十进制:必须带小数点,如:123.0,-9.0

指数形式;如:1.23E3,0.9e-2,5e2

字符型数据

普通字符:如:’a’,’2’,’H’,’#’

转义字符:如:’\n’,’\167’,’\xlf,’\\’

(实现几列的对齐:指定宽度。如%100\ ‘\t’制表位)

(字符串长度。“abc\n\t\\” strlen 6; sizeof 7)

基本数据类型的存储长度

整型

Int 字节数 2 位数 16 数的表示范围 -32768—32767

Short 2 16 -32768—32767

Long 4 32 -2147483648—2147483647

实型

Float 4 32 3.4e-38—3.4e38

Double 8 64 1.7e-308—1.7e308

字符型

Char 1 8 -128—-127

2.2、标识符命名规则

C语言标志符命名规则

标识符有数字,字母,下划线组成

标识符的首字符必须为字母和下划线

标识符不能为c语言的保留字(关键字)

如:auto extern sizeof float static case for struct char goto switch continue in typedef const if union default long unsigned do register void double return else short while enum signed

算术运算符 + – * / %

关系运算符 == = = !=

逻辑运算符 ! ||

位运算符 ~ | ^

赋值运算符 = 及其扩展赋值运算符

条件运算符 ? :

逗号运算符 ,

指针运算符 *

求字节数运算符 sizeof

强制类型转换运算符 (类型)

分量运算符 . –

下标运算符 [ ]

其他 如函数调用运算符()

运算符的优先级

由高到低:单目运算符,算数运算符,关系运算符,赋值运算符

说明:单目运算符:自增运算符,自减运算符,类型装换运算符。结合方向:自右至左

如:++–I 先—i.。

算术运算 结合方向自左至右

2.3基本运算和表达式

关系表达式和逻辑表达式

(ab)(xy) (a==b)||(x==y) !=a||(ab)

Ab.a为0.不执行b

A||b a为1.不执行b

在 c 中逻辑运算结果:1代表“真”,0代表“假”;

判断一个表达式是否真:0代表“假”,非0代表“真”

条件表达式 逗号表达式

如:k=5,k++

逗号值为5;k为6.

表达式1?表达式2 :表达式3

K=56 ? 1 : 0

2.4、混合运算的数据类型转换

2/3+0.5 双精度浮点型

第三章、顺序结构程序设计

3.1、c语句的分类

简单语句

表达式语句 表达式+分号

空语句 只有分号的语句

复合语句 用花括号将若干语句括起来

流程控制语句

选择语句 if ,switch

循环语句 while, do while , for

转移语句 break ,continue ,return goto

3.2、格式输入函数scanf

一般形式:scanf(“格式控制字符串“,地址列表);

使用scanf函数时,需要注意:

格式字符的个数必须与输入项的个数相同,数据类型必须一一对应,非格式字符串(说明性的)要原封不动的输入。

输入实行数据时,可以不带小数点,即按整型数据输入

数值型数据与字符或字符串混合输入时,需要注意输入方式。

3.3、格式输出函数printf

Printf(“格式控制字符串“,输出列表);

指定输出格式,由格式字符串和非格式字符串两种组成,非格式字符串照原样输出。

%[标志][输出最小宽度][.精度][长度]类型

标志:- 左对齐;+ 右对齐;

%f, %d, %c, %s

3.4、其他输入输出函数

Putchar getchar puts gets

第四章、选择结构程序设计

If选择结构

单分支

If(表达式)

语句

双分支

If(表达式)

语句1

Else

语句2

多分支

If (表达式1)

语句1

Else if(表达式2)

语句2

。。。

Else if(表达式m)

语句m

Else

语句n

Switch(表达式)

{

Case 常量表达式1:语句1;break;

Case 常量表达式2:语句2;break;

。。。

Case 常量表达式m:语句m;break;

Default:语句n;break;

}

注意break的使用

第五章、循环结构程序设计

循环三要素

初始条件 ;终止条件 ;在初始条件和终止条件间反复做某件事情(循环体)

While(表达式)

语句

Do

语句

While(表达式);

For(循环体变量赋初值;循环条件;循环变量增量)

( for( ) ; // ; 进行时间延迟。在信息交换等时用。如for(i=0,i100) ; 互相通讯的时间延迟。 Delay )

Break语句 :不能用于循环语句和switch语句之外的任何其他语句;跳出循环。

Continue语句 :跳过循环体中剩余的语句而强行执行下一次循环;跳出本次循环。

第六章、函数与编译预处理

6.1、函数的定义和调用

类型标识符 函数名 (形式参数列表)

{ 声明部分

语句

}

例:

Int max (int x,int y)

{int z;brZ=xy?x:y;brReturn(z);}

6.2、局部变量和全局变量

注意函数中静态变量的定义和使用

6.3、变量的存储类型

局部变量的存储类型

自动变量(auto) 动态存储

局部静态变量(static) 静态存储

寄存器变量(register) 静态存储

全局变量的存储类型

自动变量(auto) 动态存储

外部变量 (extern) 静态存储

全局静态变量(static )静态存储

Extern 外部引用

Static 不能用extern 引用。

第七章、数组

7.1、一维数组的定义和使用

特别需要注意循环体的初值,终止条件

例:

Main()

{

Int I,a[10];

For(i=0;i=9;i++)

A=I;

For(i=9;i=0;i–)

Printf(“%d”,a);

}

注意下标问题

7.2、二维数组的定义和使用

二维数组的初始化

例如:

Int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

Int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

Int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12};

Int a[ ][4]={{1,2,3,4},{5},{9,10,11,12}};

例如:int a[3][3]={{1},{2},{3}};

是对每一行的第一列元素赋值,未赋值的元素取0

7.3、字符数组和 字符串

字符串用字符数组来处理,结束标志符 ‘\0’

如:char c[ ]={“I am happy”};

用字符串常量使字符数组初值化

Char c[ ]={‘I’,’ ‘,’a’,’m’,’ ‘,’h’,’a’,’p’,’p’,’y’,’\0’};

第八章、指针

8.1、地址和指针的概念

Int I;

Int *i_point;

8.2、指针变量和变量的地址

操作符:*

8.3、指针和一维数组

若有定义

Int a[10];

Int *p=a;

分析下面表达式的含义:

A, a,

*(a+i), a+I,

*(p+i), p+i

A=*(a+i)=*(P+i)

a=a+i=p+i

8.4、指针与字符串

Main()

{

Char string[ ]=”I love china!”;

Printf(“%s\n”,string);

}

Main()

{ char *string=”I love china!”;

Printf(“%s\n”,string);

}

8.5、指针变量作为函数参数

形参的定义方式;实参的形式;参数的传递方式。

第九章、结构体

9.1、结构体类型和变量的定义

Struct 结构体名

{成员列表};

Struct student

{char stuNO[8];brChar name[20];brChar sex;brInt age;brFloat score;brChar addr[30];br};

Stuct student

{char stuNO[8];brChar name[20];brChar sex;brInt age;brFloat score;brChar addr[30];br};

Struct student stu1, stu2;

9.2、结构体变量的引用

一般形式为:

结构体变量名.成员名

9.3、结构体数组

结构体数组 结构体数组元素.成员名

指向结构体的指针变量

(*p).成员名

p-成员名

其他

Strcpy(字符数组1,字符串2)

Strcat(字符数组1,字符数组2)

Strcmp(字符串1,字符串2)

Strlen(字符数组)

学习C语言需要掌握哪些基本知识?

1.入门程序

#include stdio.h

int main()

{

printf(“Hello World!”);

return 0;

}

2.数据类型

数据类型:

1.基本数据类型:

1.1. 整型:int 4个字节

1.2. 字符型:char 1个字节

1.3. 实型(浮点型)

1.3.1.单精度型:float 4个字节

1.3.2.双精度型:double 8个字节

2.构造类型:

2.1.枚举类型

2.2.数组类型

2.3.结构体类型

2.4.共用体类型

3.指针类型:

4.空类型:

3.格式化输出语句

%d:十进制整数;

%c:单个字符;

%s:字符串;

%f:6位小数;

#include stdio.h

int main()

{

int age = 18;

float height = 1.85;

char unit = ‘m’;

printf(“小明今年%d岁\n”, age);

printf(“小明身高%f%c\n”, height, unit);

printf(“小明现在在慕课网上学习IT技术\n”);

return 0;

}

学好C++才是入职大厂的敲门砖! 当年要是有这课,我的C++也不至于这样

已失效

4.常量

值不发生改变的量成为常量;

定义字符常量(注意后面没有;)

#include stdio.h

#define POCKETMONEY 10 //定义常量及常量值

int main()

{

printf(“小明今天又得到%d元零花钱\n”, POCKETMONEY);

return 0;

}

5.运算符

5.1.算数运算符:+,-,*,/,%,++,–;前++/–,先运算,再取值.后++/–,先取值,再运算;

5.2.赋值运算符:

5.3.关系运算符;

5.4.逻辑运算符;

5.5.三目运算符:

表达式1 ? 表达式2 : 表达式3;

6.水仙花数计算

输出所有三位数的水仙花数字

所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数,如:153就是一个水仙花数,153=111+555+333。

#include stdio.h

int main()

{

//定义三位数num,个位数sd,十位数td,百位数hd

int num, sd, td, hd;

//循环所有三位数

for( num=100 ; num1000 ; num++ )

{

//获取三位数字num百位上的数字

hd = num/100 ;

//获取三位数字num十位上的数字

td = num/10%10 ;

//获取三位数字num个位上的数字

sd = num%10 ;

//水仙花数的条件是什么?

if(num ==hd*hd*hd+td*td*td+sd*sd*sd )

{

printf(“水仙花数字:%d\n”, num);

}

}

return 0;

}

7.打印正三角形的*

#include stdio.h

int main()

{

int i, j, k;

for(i=1; i5; i++)

{

/* 观察每行的空格数量,补全循环条件 */

for( j=i ; j5 ; j++ )

{

printf(” “); //输出空格

}

/* 观察每行*号的数量,补全循环条件 */

for( k=0 ; k2*i-1 ; k++ )

{

printf(“*”); //每行输出的*号

}

printf(“\n”); //每次循环换行

}

return 0;

}

8.臭名远扬的goto语句

很少使用

#include stdio.h

int main()

{

int sum = 0;

int i;

for(i=1; i=10; i++)

{

printf(“%d\n”, i);

if(i==3){

goto LOOP;//满足条件就执行goto语句

}

}

//执行goto

LOOP:printf(“结束for循环了….”); //请选择合适位置添加标识符

return 0;

}

9.形参与实参

形参:形参是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数;

实参:实参是在调用时传递该函数的参数。

函数的形参和实参具有以下特点:

形参只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。

实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值等办法使实参获得确定值。

在参数传递时,实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。

10.函数返回值注意

注意:void函数中可以有执行代码块,但是不能有返回值,另void函数中如果有return语句,该语句只能起到结束函数运行的功能。其格式为:return;

11.递归

#include stdio.h

int getPeachNumber(int n) //这里要定义n,要不编译器会报错!

{

int num;

if(n==10)

{

return 1;

}

else

{

num = (getPeachNumber(n+1)+1)*2;

printf(“第%d天所剩桃子%d个\n”, n, num);

}

return num;

}

int main()

{

int num = getPeachNumber(1);

printf(“猴子第一天摘了:%d个桃子。\n”, num);

return 0;

}

12.变量存储类别 !

12.1.生存周期划分存储方式

C语言根据变量的生存周期来划分,可以分为静态存储方式和动态存储方式。

静态存储方式:是指在程序运行期间分配固定的存储空间的方式。静态存储区中存放了在整个程序执行过程中都存在的变量,如全局变量。

动态存储方式:是指在程序运行期间根据需要进行动态的分配存储空间的方式。动态存储区中存放的变量是根据程序运行的需要而建立和释放的,通常包括:函数形式参数;自动变量;函数调用时的现场保护和返回地址等。

12.2.存储类型划分

C语言中存储类别又分为四类:自动(auto)、静态(static)、寄存器的(register)和外部的(extern) ;

用关键字auto定义的变量为自动变量,auto可以省略,auto不写则隐含定为“自动存储类别”,属于动态存储方式。

用static修饰的为静态变量,如果定义在函数内部的,称之为静态局部变量;如果定义在函数外部,称之为静态外部变量。

注意:静态局部变量属于静态存储类别,在静态存储区内分配存储单元,在程序整个运行期间都不释放;静态局部变量在编译时赋初值,即只赋初值一次;如果在定义局部变量时不赋初值的话,则对静态局部变量来说,编译时自动赋初值0(对数值型变量)或空字符(对字符变量)

为了提高效率,C语言允许将局部变量的值放在CPU中的寄存器中,这种变量叫“寄存器变量”,用关键字register作声明。

注意:只有局部自动变量和形式参数可以作为寄存器变量;一个计算机系统中的寄存器数目有限,不能定义任意多个寄存器变量;局部静态变量不能定义为寄存器变量。

用extern声明的的变量是外部变量,外部变量的意义是某函数可以调用在该函数之后定义的变量。

#includ stdio.h

//来源公众号:C语言与CPP编程

int main()

{

//定义外部局部变量

extern int x;

return 0;

}

int x=100;

13.内部函数外部函数 !

在C语言中不能被其他源文件调用的函数称为内部函数 ,内部函数由static关键字来定义,因此又被称为静态函数,形式为:

static [数据类型] 函数名([参数])

这里的static是对函数的作用范围的一个限定,限定该函数只能在其所处的源文件中使用,因此在不同文件中出现相同的函数名称的内部函数是没有问题的。

在C语言中能被其他源文件调用的函数称为外部函数 ,外部函数由extern关键字来定义,形式为:

extern [数据类型] 函数名([参数])

C语言规定,在没有指定函数的作用范围时,系统会默认认为是外部函数,因此当需要定义外部函数时extern也可以省略。 extern可以省略; 14.数组 数组:一块连续的,大小固定并且里面的数据类型一致的内存空间, 数组的声明:数据类型 数组名称[长度n]

数据类型 数组名称[长度n] = {元素1,元素2,元素3,……};

数据类型 数组名称[] = {元素1,元素2,元素3,……};

数类类型 数组名称[长度n]; 数组名称[0] = 元素1;数组名称[1] = 元素2;…… 注意: 1、数组的下标均以0开始; 2、数组在初始化的时候,数组内元素的个数不能大于声明的数组长度; 3、如果采用第一种初始化方式,元素个数小于数组的长度时,多余的数组元素初始化为0; 4、在声明数组后没有进行初始化的时候,静态(static)和外部(extern)类型的数组元素初始化元素为0,自动(auto)类型的数组的元素初始化值不确定。

15.数组遍历

#include stdio.h

int main()

{

int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

int i;

for(i=0;i10;i++)

{

printf(“%d\n”,arr[i]);

}

return 0;

}

数组的冒泡排序

冒泡排序的思想:相邻元素两两比较,将较大的数字放在后面,直到将所有数字全部排序。

字符串与数组

在C语言中,是没有办法直接定义子字符串数据类型的,需使用数组来定义所要的字符串,形式如下:

char 字符串名称[长度] = “字符串内容”;

char 字符串名称[长度] = {‘字符串1′,’字符串2′,….,’字符串n’,’\0′};

注:

[]中的长度可以省略不写;

采用第二种方式最后一个元素必须是’\0′,表示结束;

第二种方式不能写中文!; 输出字符串时,要使用:printf(“%s”,字符数组名);或puts(字符数组名);

16.字符串函数

strlen(s):获取字符串s的长度;

strcmp(s1,s2):比较字符串;比较的时候会把字符串转换成ASCII码再进行比较,返回结果为0表示s1和s2的ASCII码值相等,返回结果为1表示s1比s2的ASCII码大,返回结果为-1表示s1比s2的ACSII码小;

strcpy(s1,s2):字符串拷贝;s2会取代s1中的内容;

strcat(s1,s2)将s2拼接到s1后面;注意:s1的length要足够才可以!

atoi(s1)将字符串转为整数!

17.多维数组

数据类型 数组名称[常量表达式1]…[常量表达式n];

多维数组的初始化与一维数组的初始化类似也是分两种:

数据类型 数组名称[常量表达式1][常量表达式2]…[常量表达式n] = {{值1,..,值n},{值1,..,值n},…,{值1,..,值n}};

数据类型 数组名称[常量表达式1][常量表达式2]…[常量表达式n]; 数组名称[下标1][下标2]…[下标n] = 值;

多维数组初始化要注意以下事项:

采用第一种始化时数组声明必须指定列的维数。因为系统会根据数组中元素的总个数来分配空间,当知道元素总个数以及列的维数后,会直接计算出行的维数;

采用第二种初始化时数组声明必须同时指定行和列的维数。

18.多维度数组的遍历

使用嵌套循环

注意:多维数组的每一维下标均不能越界!

19.结构体

C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。

结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能需要跟踪每本书的下列属性:

Title

Author

Subject

Book ID

定义结构

为了定义结构,您必须使用 struct 语句。struct 语句定义了一个包含多个成员的新的数据类型,struct 语句的格式如下:

struct tag {

   member-list

   member-list

   member-list  

   …

} variable-list ;

tag 是结构体标签。

member-list 是标准的变量定义,比如 int i; 或者 float f,或者其他有效的变量定义。

variable-list 结构变量,定义在结构的末尾,最后一个分号之前,您可以指定一个或多个结构变量。下面是声明 Book 结构的方式:

struct Books

{

  char  title[50];

  char  author[50];

  char  subject[100];

  int   book_id;

} book;

在一般情况下,tag、member-list、variable-list 这 3 部分至少要出现 2 个。以下为实例:

//此声明声明了拥有3个成员的结构体,分别为整型的a,字符型的b和双精度的c

//同时又声明了结构体变量s1

//这个结构体并没有标明其标签

struct

{

   int a;

   char b;

   double c;

} s1;

//此声明声明了拥有3个成员的结构体,分别为整型的a,字符型的b和双精度的c

//结构体的标签被命名为SIMPLE,没有声明变量

struct SIMPLE

{

   int a;

   char b;

   double c;

};

//用SIMPLE标签的结构体,另外声明了变量t1、t2、t3

struct SIMPLE t1, t2[20], *t3;

//也可以用typedef创建新类型

typedef struct

{

   int a;

   char b;

   double c;

} Simple2;

//现在可以用Simple2作为类型声明新的结构体变量

Simple2 u1, u2[20], *u3;

访问结构成员

为了访问结构的成员,我们使用成员访问运算符(.)。成员访问运算符是结构变量名称和我们要访问的结构成员之间的一个句号。您可以使用 struct 关键字来定义结构类型的变量。下面的实例演示了结构的用法:

#include stdio.h

#include string.h

//来源公众号:C语言与CPP编程

struct Books

{

  char  title[50];

  char  author[50];

  char  subject[100];

  int   book_id;

};

int main( )

{

  struct Books Book1;        /* 声明 Book1,类型为 Books */

  struct Books Book2;        /* 声明 Book2,类型为 Books */

  /* Book1 详述 */

  strcpy( Book1.title, “C Programming”);

  strcpy( Book1.author, “Nuha Ali”);

  strcpy( Book1.subject, “C Programming Tutorial”);

  Book1.book_id = 6495407;

  /* Book2 详述 */

  strcpy( Book2.title, “Telecom Billing”);

  strcpy( Book2.author, “Zara Ali”);

  strcpy( Book2.subject, “Telecom Billing Tutorial”);

  Book2.book_id = 6495700;

  /* 输出 Book1 信息 */

  printf( “Book 1 title : %s\n”, Book1.title);

  printf( “Book 1 author : %s\n”, Book1.author);

  printf( “Book 1 subject : %s\n”, Book1.subject);

  printf( “Book 1 book_id : %d\n”, Book1.book_id);

  /* 输出 Book2 信息 */

  printf( “Book 2 title : %s\n”, Book2.title);

  printf( “Book 2 author : %s\n”, Book2.author);

  printf( “Book 2 subject : %s\n”, Book2.subject);

  printf( “Book 2 book_id : %d\n”, Book2.book_id);

  return 0;

}

学好C++才是入职大厂的敲门砖! 当年要是有这课,我的C++也不至于这样

已失效

20.共用体

共用体是一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型。您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。共用体提供了一种使用相同的内存位置的有效方式。

#include stdio.h

#include string.h

union Data

{

  int i;

  float f;

  char  str[20];

};

int main( )

{

  union Data data;        

  printf( “Memory size occupied by data : %d\n”, sizeof(data));

  return 0;

}

21.指针

#include stdio.h

int main ()

{

  int  var = 20;   /* 实际变量的声明 */

  int  *ip;        /* 指针变量的声明 */

  ip = var;  /* 在指针变量中存储 var 的地址 */

  printf(“Address of var variable: %p\n”, var  );

  /* 在指针变量中存储的地址 */

  printf(“Address stored in ip variable: %p\n”, ip );

  /* 使用指针访问值 */

  printf(“Value of *ip variable: %d\n”, *ip );

  return 0;

}

22.文件读写

写入文件

#include stdio.h

int main()

{

  FILE *fp = NULL;

  fp = fopen(“/tmp/test.txt”, “w+”);

  fprintf(fp, “This is testing for fprintf…\n”);

  fputs(“This is testing for fputs…\n”, fp);

  fclose(fp);

}

读取文件

#include stdio.h

int main()

{

  FILE *fp = NULL;

  char buff[255];

  fp = fopen(“/tmp/test.txt”, “r”);

  fscanf(fp, “%s”, buff);

  printf(“1: %s\n”, buff );

  fgets(buff, 255, (FILE*)fp);

  printf(“2: %s\n”, buff );

 

  fgets(buff, 255, (FILE*)fp);

  printf(“3: %s\n”, buff );

  fclose(fp);

}

C语言与C++学习路线

23.排序算法

十大经典排序算法(动态演示+代码)

24.查找算法

九种查找算法

25.面试知识

C语言与C++面试知识总结

26.字符串操作

字符串操作的全面总结

27. C语言常用标准库解读

C语言常用标准库解读

28. C语言最常用的贪心算法

C语言最常用的贪心算法就这么被攻克了

29. 常见的C语言内存错误及对策

常见的C语言内存错误及对策

30. C语言实现面向对象的原理

C语言实现面向对象的原理

31. C语言/C++内存管理

看完这篇你还能不懂C语言/C++内存管理?

32. 再谈C语言指针

再谈指针:大佬给你拨开 C 指针的云雾

C语言函数指针之回调函数

C语言指针详解(文末有福利)

33. C语言预处理命令

长文详解:C语言预处理命令

34. C语言高效编程与代码优化

C语言高效编程与代码优化

35. C语言结构体

C语言之结构体就这样被攻克了!值得收藏!

36. 原码, 反码, 补码 详解

原码, 反码, 补码 详解

37. C语言宏定义

简述C语言宏定义的使用

38. c语言之共用体union、枚举、大小端模式

c语言之共用体union、枚举、大小端模式

c语言有哪些基础知识?

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。

C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

扩展资料:

C语言的字符串其实就是以’\0’字符结尾的char型数组,使用字符型并不需要引用库,但是使用字符串就需要C标准库里面的一些用于对字符串进行操作的函数。

它们不同于字符数组。使用这些函数需要引用头文件string.h。

在C语言中,输入和输出是经由标准库中的一组函数来实现的。在ANSI C中,这些函数被定义在头文件stdio.h;中。

C语言入门需要掌握的核心知识点有哪些

1、顺序、分支、循环等基本语句;

2、char、int、double、float等基本数据类型;

3、带参数宏定义和函数的区别;

4、指针和数组的区别,尤其注意下指针数组和数组指针;

5、函数指针和指针函数;

6、结构体和联合体以及自定义类型typedef的应用;

7、printf、scanf、getchar、putchar、fopen、fclose、fgetc、fputc等基本库函数的应用;

8、malloc、calloc、realloc、free等内存管理函数的应用;

9、函数的声明和定义;

10、注意C语言的基本单位是函数;

还有很多,因为篇幅限制不能一一例举,但上面提到的10点都是很多考试和面试中经常出现的。

有时间可以看看这三本书《C和指针》、《C陷阱和缺陷》、《C专家编程》,C语言的大部分问题都可以在这三本书中找到答案,熟练掌握着三本书的内容再加上一些实际项目将没有人可以轻易用C语言的问题为难你。

关于c语言基础知识汇总和c语言知识点汇总的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年4月5日 05:51:43
下一篇 2024年4月5日 05:56:49

相关推荐

  • c语言改写模式,c语言实现修改功能

    c语言程序修改? 1、这个程序有4个错误,我都加粗了,第一个是m没有赋初值,第二个是while表达式中的ch=getchar()需要括号括起来,第三个是m=m*10+ch-0中的0也需要用单引号括起来,第四个是第2个while中为m!=0。 2、define容易造成误会,因为不符合一般的编程习惯,false 0, true 1;scanf放在你的那个地方是达…

    2024年5月23日
    4100
  • c语言控制代码的换码序列,c语言交换代码

    求C语言编程大神解答一下下面这个编程代码? k==5,用5去除125余0,所以r=125%5中r为0。由于!0为1,所以执行while循环体:先打印出5(k的值),再n=n/k==125/5=25;由于251则再打印出*号。这一循环结果输出是5*。 下面是我的代码,三个函数分别对应三个问题。 在实现基本要求的前提下,拓展了可以从键盘输入的功能,以下为各题代码…

    2024年5月23日
    5800
  • c语言扫描io脚状态,c语言端口扫描

    求51单片机的上升沿和下降沿C语言检测程序列子,端口就是普通IO口。 上升沿触发是当信号有上升沿时的开关动作,当电位由低变高而触发输出变化的就叫上升沿触发。也就是当测到的信号电位是从低到高也就是上升时就触发,叫做上升沿触发。 单片机怎么计算1s内下降沿的个数的C语言程序或者计算两个下降沿的时间(检测脉冲频率)计算1s内下降沿的个数方法是,一个定时器设置定时1…

    2024年5月23日
    4500
  • 电脑网络安全知识点,网络安全知识读本笔记

    网络安全宣传知识内容 网络安全知识内容是:网络攻击、信息安全、不可抵赖性、网络内部安全防范措施、网络杀毒、网络数据备份、网络灾难恢复、信息传播安全、网络安全。 网络安全内容是:网络攻击、信息安全、不可抵赖性、网络内部安全防范措施、网络杀毒、网络数据备份、网络灾难恢复、信息传播安全、网络安全。 网络安全宣传标语 网络安全为人民,网络安全靠人民。没有网络安全,就…

    2024年5月23日
    4500
  • c语言mallloc使用的简单介绍

    C语言中使用malloc必须加#includemallo.h? 1、在C语言中使用malloc函数进行动态内存分配。malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void malloc(unsigned int num_bytes);功能:分配长度为num_bytes字节的内存块。 2、你可以看一下C语言那本…

    2024年5月23日
    4500
  • 《网络安全基础知识手册》,网络安全基础知识手册电子版

    小学网络安全宣传周优秀的活动总结 为了加强学生树立网络安全的自我保护意识,提高网络安全防范技能,根据XX市教育局《关于开展20XX年国家网络安全宣传周活动的通知》文件精神,20XX年x月x日—x日,XX市xx小学积极开展20XX年国家网络安全宣传周活动。 小学网络安全教育活动总结 篇1 为进一步抓好学校的网络安全教育工作,增强同学们的网络安全意识,日前,xx…

    2024年5月23日
    5700
  • c语言三位小数,C语言三位小数

    怎样用C++语言输出精确到小数点后三位的数? 1、用C++语言输出精确到小数点后三位的数,可以参考下面给出的代码:coutsetiosflags(ios:fixed)setprecision(3)。其中 setiosflags中set是设置的意思。ios是iostream的缩写,即输入输出流。flags是标志的意思。 2、要精确到小数点后若干位,则数据类型为…

    2024年5月23日
    7500
  • c语言21点游戏,二十一点游戏代码c语言

    如何使用C语言编写简单小游戏? 1、数学知识:长方形的面积S=a*b 长方形周长L=2*(a+b)其中a b分别为长方形的宽和高。算法分析:长方形面积及周长均依赖于宽和高,所以先要输入宽高值,然后根据公式计算,输出结果即可。 2、/*也不知道你是什么级别的,我是一个新手,刚接触编程语言,以下是我自己变得一个小程序,在所有c语言的编译器(vc++0、turbo…

    2024年5月23日
    6500
  • c语言当中的null,C语言当中的符号

    C/C++中,NULL和null的区别是什么? nul 和 null要看编译器,不同的编译器有所区别。 所以C或者C++中都使用一个特殊定义NULL表示无效值,其本质就是未定义具体数据类型的0值。 null是是什么都没有的意思。在java中表示空对象。 本意是“空的;元素只有零的”意思。计算机中通常表示空值,无结果,或是空集合。\x0d\x0a在ASCII码…

    2024年5月23日
    4700
  • 包含c语言对txt文件命名的词条

    如何在C语言编程里面修改源文件名字 如果你是在WINDOWS的话,简单了,随便用个编辑器,比如记事本,然后写c源程序,保存到你想要保存的位置。如果你在DOS下,可以用edit,写好以后,按alt键,选择文件菜单,然后保存。 用open打开文件,注意操作模式使用“修改”或者“添加” 用write或者fprintf向文件中写入你的内容。 用close关闭文件。 …

    2024年5月23日
    5000

发表回复

登录后才能评论



关注微信