c语言与c++语言的区别?和快速掌握基本语法

一、c语言和c++语言的区别

c语言是一种结构化程序设计语言,侧重于如何设计一个过程(输入运算到输出),强调算法和数据结构
c++语言是面向对象的语言,侧重于如何构造一个与描述问题相对应的对象模型,融入了抽象设计

二、快速掌握基本语法

(一)c语言

1.程序结构

2.基本语法、数据类型、变量和常量、运算符

#include <stdio.h>
//预处理器指令,告诉c编译器编译前需要stdio.h文件
//预处理器
#define WIDTH 5
//函数声明
int fun();

int main()
{
   //运算符(算术、逻辑、关系、位、赋值、杂项运算符(sizeof、&取地址、*取指向变量的值)、三元运算符))
    int i=1;
    int* asp;
    asp=&i;
   int a=60;
   int b=30;
   int c=0;
   c= a&b;//位运算符 & | >> << ~  ^
   //定义变量:数据类型,初始化值
   type variable_name = value;
   /* 打印语句*/
   printf("Hello, World! \n");
   //函数调用
   int i=fun();   
   return 0;
   //终止main()函数,返回值是0
}
int fun(){}

3.结构(判断、循环、函数)

#include <stdio.h>
 
int main ()
{
   if(boolean_expression 1)
    {
   /* 当布尔表达式 1 为真时执行 */
    }
   else if( boolean_expression 2)
    {
   /* 当布尔表达式 2 为真时执行 */
    }
   /* 局部变量定义 */
   char grade = 'B';

   switch(grade)
   {
   case 'A' :
      printf("很棒!\n" );
      break;
   case 'B' :
   case 'C' :
      printf("做得好\n" );
      break;
   default :
      printf("无效的成绩\n" );
   }
   //循环(while、for、do....while)
    /* while 循环执行 */
   while( a < 20 )
   {
      printf("a 的值: %d\n", a);
      a++;
   } 
   /* for 循环执行 */
   for( int a = 10; a < 20; a = a + 1 )
   {
      printf("a 的值: %d\n", a);
   }
  /* do 循环执行 */
   do
   {
       printf("a 的值: %d\n", a);
       a = a + 1;
   }while( a < 20 );
   
   return 0;
}

函数:值传递和引用传递
传值调用 该方法把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数不会影响实际参数。
引用调用 该方法把参数的地址复制给形式参数。在函数内,该地址用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。

#include <stdio.h>
 
/* 函数声明 */
void swap(int *x, int *y);
 
int main ()
{
   /* 局部变量定义 */
   int a = 100;
   int b = 200;
 
   printf("交换前,a 的值: %d\n", a );
   printf("交换前,b 的值: %d\n", b );
 
   /* 调用函数来交换值
    * &a 表示指向 a 的指针,即变量 a 的地址 
    * &b 表示指向 b 的指针,即变量 b 的地址 
   */
   swap(&a, &b);
 
   printf("交换后,a 的值: %d\n", a );
   printf("交换后,b 的值: %d\n", b );
 
   return 0;
}

4.数组、指针、字符串、结构体

数组:double balance[10];
指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。
int var = 20; /* 实际变量的声明 */
int ip; / 指针变量的声明 /
ip = &var; /
在指针变量中存储 var 的地址 */
字符串:char greeting[] = “Hello”;
结构体:

#include <stdio.h>
#include <string.h>
 
struct Books
{
   char  title[50];
   char  author[50];
   char  subject[100];
   int   book_id;
};
 
int main( )
{
   struct Books Book1;        /* 声明 Book1,类型为 Book */
   struct Books Book2;        /* 声明 Book2,类型为 Book */
 
   /* 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;
}

4.常用标准库

stdio .h 头文件定义了三个变量类型、一些宏和各种函数来执行输入和输出。

5.内存管理

基本概念

计算机中每个程序的内存都是分区管理的,程序和程序之间的内存是独立的,不能互相访问;
一个程序所占的内存可以分为四个区域:代码区、静态区、堆区、栈区;

分区介绍
代码区(都是二进制代码)

在这里插入图片描述
在这里插入图片描述

静态区

在这里插入图片描述

栈区

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

栈区引到堆区

C语言中可以使用堆解决栈不能解决的问题;
在这里插入图片描述
在这里插入图片描述

堆区

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

用堆还是栈?

1.数据占用内存较大时用堆,否则用栈
2.动态创建数组,使用堆
在这里插入图片描述

(二)c++语言

1.基本语法

#include <iostream>
//包含头文件,程序必须文件
using namespace std;
//告诉编译器使用的std命名空间

// main() 是程序开始执行的地方

int main()
{
   cout << "Hello World"; // 输出 Hello World    return 0; 
} 

2.基本的输入输出

标准的输出流(cout):

#include <iostream>
 
using namespace std;
 
int main( )
{
   char str[] = "Hello C++";
 
   cout << "Value of str is : " << str << endl; 
   //cout  C++ 编译器根据要输出变量的数据类型,选择合适的流插入运算符来显示值。
   //流插入运算符 << 在一个语句中可以多次使用,如上面实例中所示,endl 用于在行末添加一个换行符。
} 

标准的输入流(cin):

#include <iostream>
 
using namespace std;
 
int main( )
{
    char name[50];
 
    cout << "请输入您的名称: ";
    cin >> name;
    cout << "您的名称是: " << name << endl;   
} 

流提取运算符 >> 在一个语句中可以多次使用,如果要求输入多个数据,可以使用如下语句:

cin >> name >> age;

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风吹海洋浪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值