c/c++复习心得

遇到的问题
  • 格式化输入输出流,c能接受十进制、八进制、十六进制,c++能接受除十进制外的其他数据嘛?
    答:能,c++>>oct; 开启八进制输入
要点
  1. 定义不确定长度数组时,有的编译器可以实现这种代码
int n;
cin>>n;
int a[n];

这样有的编译器虽然能运行,但是是不符合正统语法规范的,因为定义数组时,数组长度必须是常量或者常量表达式,不能是变量;如果像定义一个边长数组,需要用new或者malloc语句动态分配内存才行。

  1. 数组指针和指针数组:

数组指针,他是一个指针,落脚点是指针,类比整形指针、字符型指针一样,数组指针就是数组型指针,它指向的是一整个数组,用它可以表示二维数组的行,前提该指针指向的一整个数组,这个数组的长度要和二维数组的列长度一样。
用法:

int (* arrPtr)[10] = NULL;               // 一个指针,它指向一个有10个int元素的数组
int matrix[3][10];          // 3行,10列的数组, 数组名称是一个指向第一个元素的指针,也就是第一行的指针
arrPtr = matrix;            // 使得arrPtr指向矩阵的第一行
(*arrPtr)[0] = 5;           // 将5赋值给第一行的第一个元素
arrPtr[2][9] = 6;           // 将6赋值给最后一行的最后一个元素,表示具体位置的
++arrPtr;                   // 将指针移动到下一行,这个指针,一加,加的是一行
(*arrPtr)[0] = 7;           // 由于上一步,指针移动到第二行,将7赋值给第二行的第一个元素!!!

指针数组,它是一个内部元素全是指针类型的数组。常用它来表示一个二维数组或者保存多个长字符串,它可以节省很多空间。
​ 用法:

char *myStrPtr[5] =        // char指针的数组
{ // 墨菲定律的几条推论:
“会出错的事,总会出错。”
“世上没有绝对正确的事情。”
“每个解决办法都会衍生出新的问题。”
};

  1. 函数指针和指针型函数,这两个和上文提到的数组指针、指针型数组有异曲同工之妙,甚至定义时的样子也相似。
int (*p) [10];  //这是函数指针,该指针指向的是一整个数组 
int *p[10];     //这是指针数组,它内部的十个元素全是指针型的

int (*p) (int,int)   //这是函数指针,它指向一个函数的首地址
int *p(int,int)      //这是一个指针型函数,重点:函数!它的返回值是一个指针
  1. 二维数组的定义,不论是变量的定义还是当作函数的形参,二维长度都要写,一维可写可不写
  2. 指针不能直接当变量用:cin>>输入,只有当他指向一个变量,它才可以当作一个变量(*p)用
	int *p;
	int a;
	p=&a; //这一步之后,才有下面两部,否则报错
	cin>>*p;
	cout<<*p;
  1. 两块内容相同的书写格式,指针和引用,他们都有各自的说明符,指针是*,引用时&,这个说明符不属于变量名也不属于类型名,他是独立的,也就是说,下面三者是等价的

    int * p;
    int* p;
    int *p;
    
  2. 函数参数,数组传参时,函数中对数组的修改会对实参产生影响(数组≈指针);指针传参,对指针的修改会在main函数中有影响

    void swap(int *p,int *q){
    	int temp;
    	temp=*p;
    	*p=*q;
    	*q=temp;
    }
    int main(){
    	int a=10,b=5;
    	swap(&a,&b);   //a和b的值会被调换
    }
    
苏州大学C复习题主要涵盖了计算机科学与技术、软件工程、物联网工程和信息安全等方面的知识点。这些知识点包括数据结构与算法、操作系统、数据库、网络原理、编程语言等。 复习时,可以从以下几个方面入手进行准备: 首先,要熟悉各门课程的基本概念和理论知识。例如,数据结构与算法的常见数据结构包括链表、栈、队列、树等,需要了解它们的定义、特点和基本操作。操作系统主要涉及进程管理、内存管理、文件系统等概念和原理,需要掌握它们的工作原理和常用的管理方法。数据库方面需要了解关系数据库的基本概念、SQL语言的使用和数据库设计等知识点。网络原理包括IP地址、路由、传输协议等内容,需要掌握网络的基本结构和工作原理。编程语言方面,C语言和Java语言是常见的学习对象,需要了解它们的基本语法和常用的编程技巧。 其次,要进行实践训练。可以通过做题、编程练习和实验等方式来巩固理论知识。做题可以选择一些练习题或往年考试题进行练习,掌握解题思路和方法。编程练习可以选择一些常见的算法题或实际问题,通过编写代码来加深对知识的理解和掌握。实验方面,可以选择一些自己感兴趣的项目或课程实验,通过动手实践来增加实际操作经验。 最后,要进行综合复习和总结。可以通过整理知识点的思维导图或笔记,加深对知识的整体把握和理解。在复习过程中,要及时总结和回顾之前学过的知识,加深印象。可以组织小组讨论或参加学习交流活动,与他人分享和交流学习心得和问题,相互帮助和提高。 综上所述,复习苏州大学C复习题需要全面准备各门课程的知识点,进行实践训练并进行综合复习和总结。通过系统学习和练习,相信能够顺利应对复习题和考试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值