int型:绝对值在10^9范围内的整数都可以定义为int型

long long 型:如果long long型赋值大于2^23-1的初值,需要在初值后面加LL,否则会编译错误。

float,double输入输出格式:使用printf(“%f”,c)语句时,%f是float和double型的输出格式。而在使用scanf输入时,float输入格式是%f,double输入格式是%lf。

if条件句:if(n)表示if(n==1),if(!n)表示if(n==0)

for语句:在c中不允许for(A:B:C)语句的表达式A中定义变量(int a = 0是不允许的),C++中可以。

数组定义:如果数字大小较大(10^6)以上,则需要将其定义在主函数外面,否则会使程序异常退出。

数组赋初值:如果我们定义了有个数组arr[10]={12,1,6,4},可知只对数组的前四项赋值,那么后面没有赋值的元素都默认为0,但如果该数组没有赋赋值,数组中每一个元素都默认为一个随机数(不一定是0):

1)    int arr[10] = {};

2)    int arr[10] = {0};

3)    memset函数:memset(arr,0,sizeof(arr));//memset按字节赋值,头文件string.h

4)    fill函数:fill(array,array+5,8);//array[0]~arr[4]均被赋值为8,头文件algorithm

  1. 二维数组赋值:若二位数组array[4][5] = {{1,2,3,4,5},{2,2,3},{},{4,2,3,5}};//第三行用{}跳过了,如果不加大括号是无法通过编译的。
  2. 字符数组初始化:字符数组可以通过直接赋值字符串来初始化(仅限初始化,程序其他位置不允许这样直接赋值整个字符串)

10.字符串数组的输入和输出:定义char str[10],scanf(“%s”,str); printf(“%s”,str),字符数组在输入时不需要加&取地址运算符,且scanf输入时%s通过空格或换行来识别一个字符串的结束。

gets用来输入一行字符,gets识别换行符\n作为结束标识,因为scanf完一个整数如果用用到gets,需要先用getchar接受整数后面的空格或者换行符,puts输出一行字符后会紧跟着一个换行(\n)

11.字符数组长度的重要性:字符数组的长度一定要比实际存储字符串的长度至少多1,作为结束符’\0’,int型不需要,且如果不是使用scanf的函数%s格式或gets函数函数输入字符串,一定要手动输入的在每个字符串后加’\0’,否则printf和puts输出字符串将无法识别字符串末尾而输出一大堆乱码。

12.sscanf和sprintf:

1)        sscanf:int n;char str[10] = “123”;sscanf(str,”%d”,&n); //sscanf写法的作用是把字符串数组str的内容以”%d”的格式写到n中,从左到右,sscanf还支持正则表达式

2)        spintf:int n;char str[10] = “123”;sprintf(str,”%d”,n); //sprint的作用是把n以”%d”的格式写到str字符数组中,从右到左

13.引用&:引用不产生副本,而是给原变量起一个别名,由于引用是产生变量的别名,因此常量不可以使用引用。

#include<iostream>
using namespace std;
void swap(int* &p1,int* &p2){int *temp = p1;p1 = p2;p2 = temp;
}int main(){int a = 4,b = 5;int *p1 = &a,*p2 = &b;swap(p1,p2);cout << a << "," << b << endl;cout << *p2 << "," << *p1 <<endl;return 0;
}

其中不可以直接写成swap(&a,&b),必须使用指针变量p1和p2存放&a,&b,然后把指针变量作为参数传入。

14.访问结构体内的元素:

struct studentInfo{int id;char name[10];studentInfo* next;
}stu,*p;

于是访问stu中变量的写法:

stu.id;stu.name;stu.next;

访问指针变量p的元素写法:

(*p).id  <==> p->id

(*p).name < == > p->name;

(*p).next < ==> p->next

15.结构体的初始化:

struct studentInfo{int id;char gender;//默认构造函数
    studentInfo(){};//有参构造函数,注意变量名不要与已有变量名重复 studentInfo(int _id){id = _id;}//简化的有参构造函数 studentInfo(int _id,char _gender):id(_id),gender(_gender){}
}; 

转载于:https://www.cnblogs.com/wanghao-boke/p/10548646.html

C/C++入门易错点及常用小技巧相关推荐

  1. 【转】推荐29个iphone/ipad 常用小技巧

    [size=large] 转自:[url]http://www.gbin1.com/internet/mobile/20120323iphone/index.html[/url] 随着市场上iphon ...

  2. [转]40种网页常用小技巧----Ajax中国

    1. οncοntextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border οncοntextmenu ...

  3. 55种网页常用小技巧(javascript) (转)

    55种网页常用小技巧(javascript) 1. οncοntextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <tab ...

  4. pythonencoding etf-8_etf iopv python 代码30个Python常用小技巧

    1.原地交换两个数字x, y =10, 20 print(x, y) y, x = x, y print(x, y) 10 20 20 10 2.链状比较操作符n = 10 print(1 print ...

  5. 55种网页常用小技巧(转载)

    55种网页常用小技巧 乖的无聊 发表于 2005-4-18 13:18:09  1. οncοntextmenu="window.event.returnValue=false" ...

  6. Python常用小技巧(五)——批量读取json文件

    Python常用小技巧(五)--批量读取json文件 前言:其实Python能够批量读取很多文件,这里,本人以json文件为例(json是标注图片时生成的文件,记录有标注的坐标和标签,友情推荐标注图片 ...

  7. python常用小技巧(四)——批量图片改名

    python常用小技巧(四)--批量图片改名 前言:在日常使用中我们需要批量修改图片名字,使用Python的话就可以很快地完成这个目标 一.材料准备 - os 二.程序编写 # -*- coding: ...

  8. Python常用小技巧(二)——打开图片

    Python常用小技巧(二)--打开图片 前言:对于大量图片的文件夹,你很难手工去检查每张图片是否损坏,这时候就要用程序去检查每张图片是否能打开了 一.材料准备 - os - PIL 二.程序编写 i ...

  9. html做网页 窗口最小化后,40种网页常用小技巧

    下面是javascript的40个网页常用小技巧,对网站开发人员相信会有帮助. 1. οncοntextmenu="window.event.returnValue=false" ...

最新文章

  1. java部署web service的方式
  2. 利用计算机进行自动控制 控制对象主要指,计算机试卷10
  3. fir.im Weekly - APP 性能监测优化 二三事
  4. 研究生一年级,非计算机专业,自学机器学习现实吗?
  5. 到底多大才算高并发?
  6. python中使用grpc方法示例_在Python中使用gRPC的方法示例
  7. 淘宝网的技术发展史(一)——个人网站时代
  8. linux 用户创建,权限,分组
  9. python第六篇文件处理类型
  10. WEB——点击下载excel表
  11. Zepto Api参考
  12. Selenium2 Python自动化测试实战(第二版)第一部分 自动化测试基础-总结笔记
  13. CRT设置LOG日志功能
  14. [精简]托福核心词汇60
  15. java游戏项目推箱子
  16. LWN:替换 congestion_wait()!
  17. R16之Access to Unlicensed Spectrum(3)
  18. 下列哪项不属于Html5中input,以下哪项不属于 Html5 中 input 标签新增的输入类型?...
  19. Unity 获取 两个点的中心点
  20. net小区物业管理系统源码

热门文章

  1. Delphi 一些函数解释
  2. 【摘录】C语言中利用 strtok函数进行字符串分割
  3. PowerSocket对象与HostName
  4. Resharper4.5:增强你的.net开发
  5. 从MySQL导入导出大量数据的程序实现方法
  6. vim ctags java源码_如何使用vim的插件Ctags查看Linux源码
  7. linux 无法找到函数定义,找到定义Linux函数的位置
  8. mysql中字典值怎么添加_插入Python字典中的值,包括MySQL的键
  9. android让一个控件跟上面控件对其,学个明白--Android控件架构
  10. go int 转切片_「快学 Go 语言」第 4 课——低调的数组