-
argc和argv参数在用命令行编译程序时有用。main( int argc, char* argv[], char **env ) 中
第一个参数,int型的argc,为整型,用来统计程序运行时发送给main函数的命令行参数的个数,在VS中默认值为1。
第二个参数,char*型的argv[],为字符串数组,用来存放指向的字符串参数的指针数组,每一个元素指向一个参数。各成员含义如下:
argv[0]指向程序运行的全路径名
argv[1]指向在DOS命令行中执行程序名后的第一个字符串
argv[2]指向执行程序名后的第二个字符串
argv[3]指向执行程序名后的第三个字符串
argv[argc]为NULL
第三个参数,char**型的env,为字符串数组。env[]的每一个元素都包含ENVVAR=value形式的字符串,其中ENVVAR为环境变量,value为其对应的值。平时使用到的比较少。查看全部 -
用C++向世界问好
#include <stdio.h> //标准输入输出 int main(int argc,char **argv) //主函数,是程序的入口函数。一个程序里有且只有一个main函数 { printf("Hello World!\n"); //stdio.h中包含printf功能 return 0; }C++
#include <iostream> //iostream是C++里的io流的头文件 int main(int argc,char **argv) { std::cout << "Hello World!\n" << std::endl;//C++的输出风格 return 0; }查看全部 -
练习1:使用函数来交换两个数的值
#include <iostream> int exchange(int *a,int *b) { int c=*a; *a=*b; *b=c; } int main(int argc,char **argv) { int x=5; int y=10; std::cout<<"交换的前:"<<"x="<<x<<","<<"y="<<y<<std::endl; exchange(&x,&y); std::cout<<"交换后的:"<<"x="<<x<<","<<"y="<<y; return(0); }练习2:利用递归来求一个数的阶乘
int fact(int n) { if(n==1) { return 1; } else { return n * fact(n-1); } } int main(int argc,char **argv) { int x = 5; int res = fact(x); std::cout<<"5!="<<res; return 0; }查看全部 -
https://visualstudio.microsoft.com/zh-hans/
查看全部 -
第一章
1-3 如何学好C++
1.C++是一门工程语言,是一种实用工具。
2.写出高效和稳定的C++程序是衡量一个人会不会C++的评判标准。
3.实践很重要。独立思考,独立解决问题。
查看全部 -
//自动变量,在作用域结束的时候就销毁了
//栈数据结构,先进后出
//在C++中,自动变量是通过栈管理的
//栈内存:随着作用域结束,变量被销毁/回收
//堆内存:不会随着作用域结束回收内存。分配内存必须要手动释放
分配内存用的是malloc函数
//malloc返回值是一个指针,指向分配出来的内存的首地址
//在内存中分配了一个int指针,然后在堆内存中分配4个字节的空间,把堆内存空间分配的首地址赋值给栈内存中的int指针
int * p = (int *)malloc(4);
//堆内存的头文件
#include <stdlib.h>

//使用p指针操作这个内存,这个内存不会在程序执行到大括号后就销毁,它会一直被保留,我们可以在大括号之外访问这片内存
//使用完堆内存变量后需要释放变量
//用free函数释放变量,传入参数为指向这块堆内存的指针
查看全部 -
if和switch都用的话就这样
#include<iostream>
using namespace std;
int main()
{
float a;
int b;
cin >> a ;
if(a>=90)
{b=1;}
else if(90>a&a>=75)
{b=2;}
else if(75>a&a>=60)
{b=3;}
else {b=4;}
switch(b)
{
case 1:cout << "优" << endl;break;
case 2:cout << "良" << endl;break;
case 3:cout << "中" << endl;break;
case 4:cout << "差" << endl;break;
}
return 0;
}
查看全部 -

C++兼容C,不用担心出现问题

需要额外注意,资源回收,因为没有GC垃圾回收。
都是灵活的语言
查看全部 -
argc 参数个数
argv参数数组
查看全部 -
整形
有符号的数据类型 无符号的数据类型 浮点型
类型名称 数据长度 类型名称 数据长度 类型名称 数据
char 1 unsigned char 1 float 4
short 2 unsigned short 2 double 8
int 4 unsigned int 4
long 4 unsigned long 4
long long 8 unsigned long long 8
查看全部 -
#include <stdio.h>
int main()
{
int a;//声明变量
const int c = 10;//声明常量
return 0;
}
查看全部 -
#include<stdio.h>
int main(int argc,char**argv)
{
int array[100];
for(int i=0;i<100;i++){
printf("array[%d]: %d\n", i, array[i]);
}
}查看全部 -
if(a == 12){
b = a - b;
}
else{
b = a + b;
b = a - b;
}等价于:
do {
if(a == 12){
break;
}
b = a + b;
} while(false);
b = a - b;在这个语句中,while(false)永远不会运行这个循环,用于延时设计。
while(true)会让程序一直执行,死循环。
查看全部 -
int length = 100; int array[length]; int target = 10; for(int i=0;i<length;i++) { if(array[i] == target) { continue; } printf("array[%d]: %d\n", i, array[i]); } 代码块预览复制 在这段程序中,当 array[i] == target 的时候,会执行 continue 语句,跳出本次循环,而进入下一次循环,所以本次的 printf 不会被打印,而下一次会继续打印。查看全部
-
指针变量:存放变量在内存中的地址。定义一个指针后,它里面存放的是随机地址,此时它是野指针,操作野指针非常危险,所以要给指针赋值。
取地址符:&
例如:int a=10;
int *p; //这个写法就属于野指针,正确做法是将指针赋值为空int*p=nullptr,空指针意思是这个指针不指向任何地方。
p=&a; //此时指针变量p里存放的就是变量a的地址

指针运算符:*(用来取得某个地址上的数据)

查看全部
举报

