自学内容网 自学内容网

C语言与JAVA语言的语法区别

C90/C99 根基

C90 标准是 ISO 组织在 1990 年采纳的美国国家标准协会(ANSI)于 1989 年发布的 C 语言标准,全称为 ISO/IEC 9899:1990。
基础语法和数据类型:
定义了 C 语言的基本语法规则,包括变量的声明、赋值、表达式、控制语句(如 if、while、for 等),这些规则构成了 C 语言程序的基本结构。
确定了基本的数据类型,如 char(字符型)、int(整型)、float(单精度浮点型)、double(双精度浮点型)等,以及这些数据类型的存储方式和取值范围。
函数定义与调用:
规范了函数的定义、声明和调用方式。函数是 C 语言中实现模块化编程的重要手段,C90 标准规定了函数的参数传递、返回值类型等方面的规则,使得函数的使用具有一致性。
支持函数的递归调用,即函数可以直接或间接地调用自身,这为解决一些复杂问题提供了有效的方法。
指针操作:
指针是 C 语言的重要特色之一,C90 标准对指针的定义、使用和操作进行了规范。通过指针可以直接访问内存地址,实现对内存的高效操作,但也需要程序员谨慎使用,以避免出现内存访问错误。
允许指针进行算术运算,例如指针的加、减操作,可以方便地在数组等连续存储的数据结构中移动指针,访问不同的元素。
标准库函数:
引入了标准库函数,如 stdio.h 头文件中的输入输出函数(如 printf、scanf),stdlib.h 头文件中的内存分配和释放函数(如 malloc、free)等,这些标准库函数为程序员提供了常用的功能,提高了编程效率。
规定了标准库函数的使用方法和参数要求,保证了不同编译器对标准库函数的实现具有一致性。
预处理指令:
包含预处理指令,如 #include(用于包含头文件)、#define(用于定义宏)、#ifdef 等条件编译指令。预处理指令在编译之前对源代码进行预处理,实现代码的复用、条件编译等功能。
宏定义可以将一些常用的代码片段或常量定义为宏,在程序中使用宏可以提高代码的编写效率和可维护性,但需要注意宏展开可能带来的一些副作用。
注释:支持两种注释方式,一种是多行注释,使用 /* */ 进行注释;另一种是从 C99 标准开始新增的单行注释,使用 //,但在 C90 标准中不存在单行注释。
文件操作:提供了基本的文件操作功能,通过 FILE 结构体和相关的文件操作函数(如 fopen、fclose、fread、fwrite 等),可以对文件进行打开、关闭、读取和写入等操作。

MSVC 工具

是微软公司推出的以 C++ 语言为基础的开发 Windows 环境程序的集成开发系统。
从早期的版本如 Visual C++ 6.0 开始,就被广泛应用于各种项目开发。不过该版本对新的操作系统兼容性较差。
MSVC 在一定程度上支持 C90 标准。它能够正确编译符合 C90 标准的大部分代码,允许开发者使用 C90 标准中定义的基本语法、数据类型、控制结构、函数定义与调用等特性来编写程序。

在VS2019中,为何编写C程序可以放在C++文件中?

C++ 是在 C 语言的基础上发展而来的,并且几乎完全兼容 C 语言。这意味着 C 语言代码可以在 C++ 编译器中编译和运行,通常只需要进行少量的调整或无需调整。

C语言程序编写基本步骤

C语言 MSVC集成在VS2019中;
创建一个项目
创建一个源文件 test.c文件 int main(){printf(“比特”); return 0;}
写代码
编译代码

C语言基础类型

C语言的数据类型:char/short/int/long/float/double sizeof() 字符串 char arr[] char ar[] = “hello”;或者char *ar = “hello”;
&a取地址计算

C语言构造类型与指针类型

C语言中的构造类型 指针类型 与JAVA的引用数据类型的差异。C 语言中,程序员需要手动管理内存的分配和释放。使用指针时,如果不正确地进行内存管理,可能会导致内存泄漏或悬空指针等问题。Java 中,内存管理由垃圾回收器自动处理。当没有引用指向一个对象时,垃圾回收器会自动回收该对象所占用的内存空间。

C语言/JAVA定义数组对比

字符串 char arr[] char ar[] = “hello”;或者char *ar = “hello”;
在 Java 中,正确的写法应该是char[] ar = {‘h’,‘e’,‘l’,‘l’,‘o’};或者String str = “hello”; char[] ar = str.toCharArray();

指针的优势

指针即地址,硬盘4GB/s,RAM40GB/s,CPUL1L2L3缓存 4000GB/s 1000GB/s 定义的变量在缓存中 20MB 缓存通电就可以存储数据 而 RAM需要电容充放电所以慢。

头文件

在 C 语言中,头文件(header file)是一种包含函数声明、宏定义、结构体定义等内容的文件,它通常以 “.h” 为扩展名。头文件的作用是为了方便代码的复用和组织,使得多个源文件可以共享相同的定义和声明。
在 Java 中,包(package)是一种组织类和接口的方式,它可以将相关的类和接口放在同一个命名空间中,以避免命名冲突。包的作用类似于 C 语言中的命名空间,但它不仅仅包含类和接口的定义,还可以包含资源文件、配置文件等。
在 C 语言中,使用头文件通常是通过在源文件中使用#include指令来包含头文件。例如:#include <stdio.h>。
在 Java 中,使用包中的类和接口通常是通过使用import语句来导入。例如:import java.util.ArrayList;。
头文件中一般只包含内置函数的声明,而不是实际的实现逻辑。
内置函数的实际实现通常在编译器的运行库中。当编译程序时,编译器会根据头文件中的声明来确定函数的参数和返回值类型等信息,然后在链接阶段将程序与包含实际函数实现的运行库进行链接,从而使程序能够正确地调用这些内置函数。
C 语言的内置函数通常存放在不同的头文件中,具体如下:
数学函数:存放在<math.h>头文件中,如abs、fabs、sqrt、pow、sin、cos、tan等。
字符处理函数:存放在<ctype.h>头文件中,如isalpha、isdigit、isalnum、toupper、tolower等。
字符串处理函数:存放在<string.h>头文件中,如strcpy、strcat、strlen、strcmp等。
输入输出函数:存放在<stdio.h>头文件中,如printf、scanf、getchar、putchar等。
内存操作函数:存放在<string.h>(部分)和<stdlib.h>(部分)头文件中,如memcpy、memmove、memset等。

C语言就业

C++比JAVA语法细,掌握一切,封装性一般,都需要学习数据结构、操作系统、网络编程、数据库。
JAVA后期的难度也不低; JAVA需求量是C++的一倍,但是就业压力更大,
C语言可以直面操作系统的知识和机制,非常好,就业面更广;
必须有C语言:嵌入式、游戏【高性能】、互联网web服务;
容易转其他语言;

C语言学习建议

明确训练目的和合适的练习题;学习开源项目【代码可运行、整体能理解、关键语句】;


原文地址:https://blog.csdn.net/zhouxinxin111/article/details/142895988

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!