-
作业:
练习1:如何将一个数组在初始化的时候,把所有元素都初始化为 0?
#include <iostream>
int main(int argc,char **argv)
{
int a[3] = {};
std::cout<<"a[0]:"<<a[0]<<"\n"<<"a[1]:"<<a[1]<<"\n""a[2]:"<<a[2]<<"\n""a[3]:"<<a[3]<<"\n";
return 0;
}
练习2:如何将一个数组在初始化的时候,把所有元素都初始化为 1?
#include <stdio.h>
#include <iostream>
int main(int argc,char **argv)
{
int a[4] = {1, 1, 1, 1};
std::cout<<"a[0]:"<<a[0]<<"\n"<<"a[1]:"<<a[1]<<"\n"<<"a[2]:"<<a[2]<<"\n"<<"a[3]:"<<a[3]<<"\n"<<std::endl;
return 0;
}
查看全部 -
如何访问数组中的元素?首先要知道数组第一个元素的地址,因为数组中元素的地址都是等差的,所以只要在第一个元素的地址上加上相应元素的偏差,就可以拿到其他元素的地址。
第一个元素的地址可以通过数组名来获得。
数组名是一个指向数组首元素的指针。但是这个指针是常量,不能对其进行修改。
使用指针的加减法来访问对应的元素:
#include <stdio.h>
int main(int argc,char **argv)
{
int array[5];
*(array + 2) = 1;
return 0;
} //代码中的 *(array + 2) = 1; 就等价于 array[2] = 1;
查看全部 -
#include<iostream>
#include<stdio.h>
int main(int argc,char **argv)
{
int a = 1;
int b = 2;
int x = b;
b = a;
a = x;
printf("输出a的值是 %d\n输出b的值是 %d",a,b);
return 0;
}
查看全部 -
指针和数组:
查看全部 -
有固定作用域的变量,也称为自动变量,即内存空间的分配和销毁是自动的。大括号{ }结束就销毁释放,便无法再使用这个变量。
自动变量有的地方也叫栈内存,但还是有差别。c++中自动变量用栈的方式管理。栈是先进后出。
堆内存:与栈内存不同,堆内存上的空间不会随着作用域的结束而被释放回收。所以堆内存上的空间必须要手动释放。堆内存用到的函数在stdlib.h这个头文件中。其中malloc是如何分配一片内存,返回值是指针,是分配的内存空间的首地址。释放时使用:free(指针名)
查看全部 -
枚举类型:
enum Week { Mon, // 星期一 Tue, // 星期二 Wed, // 星期三 Thu, // 星期四 Fri, // 星期五 Sat, // 星期六 Sun, // 星期日}; #include <iostream> int main(int argc,char **argv) { Week week = Week::Mon; std::cout<<"week:"<<Mon<<std::endl; return 0; }
输出结果week:0
查看全部 -
结构体:几种相同或者不同的基本数据类型的组合。(类似于其他语言中的自定义类型)
输出第20个学生的数学和英语成绩:
struct Student { int math; int english; }; #include <iostream> int main(int argc,char **argv) { struct Student stu[50]; stu[20].math = 90; stu[20].english = 95; std::cout<<"第20个学生的数学和英语成绩分别是:"<<stu[20].math<<","<<stu[20].english <<std::endl; return 0; }
查看全部 -
数组是一个整体,它的内存是连续的
给数组中部分元素赋值:当 {} 中的元素数量少于 [] 中定义的长度的时候,只给前面部分元素赋值,后面的未指定的元素,将被赋值为 0。如下例:
#include <stdio.h>
int main(int argc,char **argv)
{
int a[4] = {1, 2}; // 1, 2, 0, 0
return 0;
}借用此特性,可以把数组的所有元素初始化为 0。
输出一个长度为4的数组的第一个和第三个元素:
#include <iostream>
int main(int argc,char **argv)
{
int a[4] = {1, 2};
std::cout<<"a[0]:"<<a[0]<<"\n"<<"a[3]:"<<a[3]<<std::endl;
return 0;
}
查看全部 -
与:&&
或:||
非:!
查看全部 -
布尔型的用法:
#include <iostream> int main(int argc,char **argv) { int a = 1; int b = 2; bool c1=a>b; bool c2=a<b; printf("bool c1: %d\n",c1); printf("bool c2: %d",c2); return 0; }
查看全部 -
输入多个数据:
#include <stdio.h> //(c) int main() { int a = 0; int b = 0; scanf("%d, %d", &a, &b); return 0; } #include <iostream> //(c++) int main(int argc,char **argv) { int a = 0; int b = 0; std::cin >> a >> b; return 0; }
使用 cin 可以连续从键盘读取想要的数据,以空格、tab键或换行符作为分隔符。cin 相对于 scanf 来说,不需要指明类型,用起来更方便一些。
查看全部 -
输出多个变量:
#include <stdio.h> //(c) int main() { int a = 99; int b = 98; printf("a: %d, b: %d", a, b); return 0; } #include <iostream> //(c++) int main(int argc,char **argv) { int a = 99; int b = 98; std::cout<<"a:"<<a<<",b:"<<b<<std::endl; return 0; }
查看全部 -
输出一个常量:
#include <iostream> //(c++) int main(int argc,char **argv) { const int c = 10; std::cout<<c<<std::endl; return 0; } #include <stdio.h> //(c) int main() { const int c = 10; printf("%d",c); return 0; }
查看全部 -
输出一个变量:
#include <iostream> //(c++) int main(int argc,char **argv) { int a=99; std::cout<<a<<std::endl; return 0; } #include <stdio.h> //(C) int main() { int a=99; printf("%d",a); return 0; }
查看全部 -
分别用C和C++输出hello Word:
#include<iostream> #include <stdio.h> int main(int argc,char **argv) { printf("Hello World!this is C++ style\n"); std::cout<<"hello word!this is C++ style"<<std::endl; return 0; }
查看全部
举报