精华内容
下载资源
问答
  • C语言代码大全

    2017-04-10 01:52:42
    C语言代码大全
  • c语言代码大全

    2018-09-17 10:47:00
    各种c语言例题,算法类型。可用于期末考试,考研复试题,作者自己整理希望能够帮助大家。
  • C语言_经典算法_C语言代码大全
  • c语言 代码 大全 c# 代码游戏 贪吃蛇
  • 使用GPU对C语言代码进行加速,其中以规则匹配为例,优化后的方法为:特征规则使用acbm算法编译成一个ptree、ptree匹配使用cuda编程在GPU运行、多个packet并发匹配,处理速度提升数倍。
  • C 语言是一种通用的、面向过程式的计算机程序设计语言。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言。 C 语言是一种广泛使用的计算机语言,它与 Java 编程语言一样普及...
  • ) 分析:函数定义不正确,函数首部的“( )”后多了分号或者采用了老式的C语言的形参表 error C2450: switch expression of type 'xxx' is illegal 中文对照:(编译错误)switch表达式为非法的xxx类型 分析:switch...

    对于刚学编程,刚接触C++的新手来说,编译运行报错是最头疼的一件事,爆出一堆英文,英语差一点的又不知道什么意思,所以也不知道如何去改,在此,我给大家传一份常见错误中英文对照表及简单解释,希望可以帮到大家:

    fatal error C1003: error count exceeds number; stopping compilation

    中文对照:(编译错误)错误太多,停止编译

    分析:修改之前的错误,再次编译

    fatal error C1004: unexpected end of file found

    中文对照:(编译错误)文件未结束

    分析:一个函数或者一个结构定义缺少“}”、或者在一个函数调用或表达式中括号没有配对出现、或者注释符“/*…*/”不完整等

    fatal error C1083: Cannot open include file: 'xxx': No such file or directory

    中文对照:(编译错误)无法打开头文件xxx:没有这个文件或路径

    分析:头文件不存在、或者头文件拼写错误、或者文件为只读

    fatal error C1903: unable to recover from previous error(s); stopping compilation

    中文对照:(编译错误)无法从之前的错误中恢复,停止编译

    分析:引起错误的原因很多,建议先修改之前的错误

    error C2001: newline in constant

    中文对照:(编译错误)常量中创建新行

    分析:字符串常量多行书写

    error C2006: #include expected a filename, found 'identifier'

    中文对照:(编译错误)#include命令中需要文件名

    分析:一般是头文件未用一对双引号或尖括号括起来,例如“#include stdio.h”

    error C2007: #define syntax

    中文对照:(编译错误)#define语法错误

    分析:例如“#define”后缺少宏名,例如“#define”

    error C2008: 'xxx' : unexpected in macro definition

    中文对照:(编译错误)宏定义时出现了意外的xxx

    分析:宏定义时宏名与替换串之间应有空格,例如“#define TRUE"1"”

    error C2009: reuse of macro formal 'identifier'

    中文对照:(编译错误)带参宏的形式参数重复使用

    分析:宏定义如有参数不能重名,例如“#define s(a,a) (a*a)”中参数a重复

    error C2010: 'character' : unexpected in macro formal parameter list

    中文对照:(编译错误)带参宏的形式参数表中出现未知字符

    分析:例如“#define s(r|) r*r”中参数多了一个字符‘|’

    error C2014: preprocessor command must start as first nonwhite space

    中文对照:(编译错误)预处理命令前面只允许空格

    分析:每一条预处理命令都应独占一行,不应出现其他非空格字符error C2015: too many characters in constant

    中文对照:(编译错误)常量中包含多个字符

    分析:字符型常量的单引号中只能有一个字符,或是以“”开始的一个转义字符,例如“char error = 'error';”

    error C2017: illegal escape sequence

    中文对照:(编译错误)转义字符非法

    分析:一般是转义字符位于 ' ' 或 " " 之外,例如“char error = ' 'n;”

    error C2018: unknown character '0xhh'

    中文对照:(编译错误)未知的字符0xhh

    分析:一般是输入了中文标点符号,例如“char error = 'E';”中“;”为中文标点符号

    error C2019: expected preprocessor directive, found 'character'

    中文对照:(编译错误)期待预处理命令,但有无效字符

    分析:一般是预处理命令的#号后误输入其他无效字符,例如“#!define TRUE 1”

    error C2021: expected exponent value, not 'character'

    中文对照:(编译错误)期待指数值,不能是字符

    分析:一般是浮点数的指数表示形式有误,例如123.456E

    error C2039: 'identifier1' : is not a member of 'identifier2'

    中文对照:(编译错误)标识符1不是标识符2的成员

    分析:程序错误地调用或引用结构体、共用体、类的成员

    error C2041: illegal digit 'x' for base 'n'

    中文对照:(编译错误)对于n进制来说数字x非法

    分析:一般是八进制或十六进制数表示错误,例如“int i = 081;”语句中数字‘8’不是八进制的基数

    error C2048: more than one default

    中文对照:(编译错误)default语句多于一个

    分析:switch语句中只能有一个default,删去多余的default

    error C2050: switch expression not integral

    中文对照:(编译错误)switch表达式不是整型的

    分析:switch表达式必须是整型(或字符型),例如“switch ("a")”中表达式为字符串,这是非法的

    error C2051: case expression not constant

    中文对照:(编译错误)case表达式不是常量

    分析:case表达式应为常量表达式,例如“case "a"”中“"a"”为字符串,这是非法的

    error C2052: 'type' : illegal type for case expression

    中文对照:(编译错误)case表达式类型非法

    分析:case表达式必须是一个整型常量(包括字符型)

    error C2057: expected constant expression

    中文对照:(编译错误)期待常量表达式

    分析:一般是定义数组时数组长度为变量,例如“int n=10; int a[n];”中n为变量,这是非法的

    error C2058: constant expression is not integral

    中文对照:(编译错误)常量表达式不是整数

    分析:一般是定义数组时数组长度不是整型常量

    error C2059: syntax error : 'xxx'

    中文对照:(编译错误)‘xxx’语法错误

    分析:引起错误的原因很多,可能多加或少加了符号xxx

    error C2064: term does not evaluate to a function

    中文对照:(编译错误)无法识别函数语言

    分析:1、函数参数有误,表达式可能不正确,例如“sqrt(s(s-a)(s-b)(s-c));”中表达式不正确

    2、变量与函数重名或该标识符不是函数,例如“int i,j; j=i();”中i不是函数

    error C2065: 'xxx' : undeclared identifier

    中文对照:(编译错误)未定义的标识符xxx

    分析:1、如果xxx为cout、cin、scanf、printf、sqrt等,则程序中包含头文件有误

    2、未定义变量、数组、函数原型等,注意拼写错误或区分大小写。

    error C2078: too many initializers

    中文对照:(编译错误)初始值过多

    分析:一般是数组初始化时初始值的个数大于数组长度,例如“int b[2]={1,2,3};”

    error C2082: redefinition of formal parameter 'xxx'

    中文对照:(编译错误)重复定义形式参数xxx

    分析:函数首部中的形式参数不能在函数体中再次被定义

    error C2084: function 'xxx' already has a body

    中文对照:(编译错误)已定义函数xxx

    分析:在VC++早期版本中函数不能重名,6.0版本中支持函数的重载,函数名可以相同但参数不一样

    error C2086: 'xxx' : redefinition

    中文对照:(编译错误)标识符xxx重定义

    分析:变量名、数组名重名

    error C2087: '<Unknown>' : missing subscript

    中文对照:(编译错误)下标未知

    分析:一般是定义二维数组时未指定第二维的长度,例如“int a[3][];”

    error C2100: illegal indirection

    中文对照:(编译错误)非法的间接访问运算符“*”

    分析:对非指针变量使用“*”运算

    error C2105: 'operator' needs l-value

    中文对照:(编译错误)操作符需要左值

    分析:例如“(a+b)++;”语句,“++”运算符无效

    error C2106: 'operator': left operand must be l-value

    中文对照:(编译错误)操作符的左操作数必须是左值

    分析:例如“a+b=1;”语句,“=”运算符左值必须为变量,不能是表达式

    error C2110: cannot add two pointers

    中文对照:(编译错误)两个指针量不能相加

    分析:例如“int *pa,*pb,*a; a = pa + pb;”中两个指针变量不能进行“+”运算

    error C2117: 'xxx' : array bounds overflow

    中文对照:(编译错误)数组xxx边界溢出

    分析:一般是字符数组初始化时字符串长度大于字符数组长度,例如“char str[4] = "abcd";”

    error C2118: negative subscript or subscript is too large

    中文对照:(编译错误)下标为负或下标太大

    分析:一般是定义数组或引用数组元素时下标不正确

    error C2124: divide or mod by zero

    中文对照:(编译错误)被零除或对0求余

    分析:例如“int i = 1 / 0;”除数为0

    error C2133: 'xxx' : unknown size

    中文对照:(编译错误)数组xxx长度未知

    分析:一般是定义数组时未初始化也未指定数组长度,例如“int a[];”

    error C2137: empty character constant。

    中文对照:(编译错误)字符型常量为空

    分析:一对单引号“''”中不能没有任何字符

    error C2143: syntax error : missing 'token1' before 'token2'

    error C2146: syntax error : missing 'token1' before identifier 'identifier'

    中文对照:(编译错误)在标识符或语言符号2前漏写语言符号1

    分析:可能缺少“{”、“)”或“;”等语言符号

    error C2144: syntax error : missing ')' before type 'xxx'

    中文对照:(编译错误)在xxx类型前缺少‘)’

    分析:一般是函数调用时定义了实参的类型

    error C2181: illegal else without matching if

    中文对照:(编译错误)非法的没有与if相匹配的else

    分析:可能多加了“;”或复合语句没有使用“{}”

    error C2196: case value '0' already used

    中文对照:(编译错误)case值0已使用

    分析:case后常量表达式的值不能重复出现

    error C2296: '%' : illegal, left operand has type 'float'

    error C2297: '%' : illegal, right operand has type 'float'

    中文对照:(编译错误)%运算的左(右)操作数类型为float,这是非法的

    分析:求余运算的对象必须均为int类型,应正确定义变量类型或使用强制类型转换

    error C2371: 'xxx' : redefinition; different basic types

    中文对照:(编译错误)标识符xxx重定义;基类型不同

    分析:定义变量、数组等时重名

    error C2440: '=' : cannot convert from 'char [2]' to 'char'

    中文对照:(编译错误)赋值运算,无法从字符数组转换为字符

    分析:不能用字符串或字符数组对字符型数据赋值,更一般的情况,类型无法转换

    error C2447: missing function header (old-style formal list?)

    error C2448: '<Unknown>' : function-style initializer appears to be a function definition

    中文对照:(编译错误)缺少函数标题(是否是老式的形式表?)

    分析:函数定义不正确,函数首部的“( )”后多了分号或者采用了老式的C语言的形参表

    error C2450: switch expression of type 'xxx' is illegal

    中文对照:(编译错误)switch表达式为非法的xxx类型

    分析:switch表达式类型应为int或char

    error C2466: cannot allocate an array of constant size 0

    中文对照:(编译错误)不能分配长度为0的数组

    分析:一般是定义数组时数组长度为0

    error C2601: 'xxx' : local function definitions are illegal

    中文对照:(编译错误)函数xxx定义非法

    分析:一般是在一个函数的函数体中定义另一个函数

    error C2632: 'type1' followed by 'type2' is illegal

    中文对照:(编译错误)类型1后紧接着类型2,这是非法的

    分析:例如“int float i;”语句

    error C2660: 'xxx' : function does not take n parameters

    中文对照:(编译错误)函数xxx不能带n个参数

    分析:调用函数时实参个数不对,例如“sin(x,y);”

    error C2664: 'xxx' : cannot convert parameter n from 'type1' to 'type2'

    中文对照:(编译错误)函数xxx不能将第n个参数从类型1转换为类型2

    分析:一般是函数调用时实参与形参类型不一致

    error C2676: binary '<<' : 'class istream_withassign' does not define this operator or a conversion to a type acceptable to the predefined operator

    error C2676: binary '>>' : 'class ostream_withassign' does not define this operator or a conversion to a type acceptable to the predefined operator

    分析:“>>”、“<<”运算符使用错误,例如“cin<<x; cout>>y;”

    error C4716: 'xxx' : must return a value

    中文对照:(编译错误)函数xxx必须返回一个值

    分析:仅当函数类型为void时,才能使用没有返回值的返回命令。

    fatal error LNK1104: cannot open file "Debug/Cpp1.exe"

    中文对照:(链接错误)无法打开文件Debug/Cpp1.exe

    分析:重新编译链接

    fatal error LNK1168: cannot open Debug/Cpp1.exe for writing

    中文对照:(链接错误)不能打开Debug/Cpp1.exe文件,以改写内容。

    分析:一般是Cpp1.exe还在运行,未关闭

    fatal error LNK1169: one or more multiply defined symbols found

    中文对照:(链接错误)出现一个或更多的多重定义符号。

    分析:一般与error LNK2005一同出现

    error LNK2001: unresolved external symbol _main

    中文对照:(链接错误)未处理的外部标识main

    分析:一般是main拼写错误,例如“void mian()”

    error LNK2005: _main already defined in Cpp1.obj

    中文对照:(链接错误)main函数已经在Cpp1.obj文件中定义

    分析:未关闭上一程序的工作空间,导致出现多个main函数

    warning C4003: not enough actual parameters for macro 'xxx'

    中文对照:(编译警告)宏xxx没有足够的实参

    分析:一般是带参宏展开时未传入参数

    warning C4067: unexpected tokens following preprocessor directive - expected a newline

    中文对照:(编译警告)预处理命令后出现意外的符号 - 期待新行

    分析:“#include<iostream.h>;”命令后的“;”为多余的字符

    warning C4091: '' : ignored on left of 'type' when no variable is declared

    中文对照:(编译警告)当没有声明变量时忽略类型说明

    分析:语句“int ;”未定义任何变量,不影响程序执行

    warning C4101: 'xxx' : unreferenced local variable

    中文对照:(编译警告)变量xxx定义了但未使用

    分析:可去掉该变量的定义,不影响程序执行

    warning C4244: '=' : conversion from 'type1' to 'type2', possible loss of data

    中文对照:(编译警告)赋值运算,从数据类型1转换为数据类型2,可能丢失数据

    分析:需正确定义变量类型,数据类型1为float或double、数据类型2为int时,结果有可能不正确,数据类型1为double、数据类型2为float时,不影响程序结果,可忽略该警告

    warning C4305: 'initializing' : truncation from 'const double' to 'float'

    中文对照:(编译警告)初始化,截取双精度常量为float类型

    分析:出现在对float类型变量赋值时,一般不影响最终结果

    warning C4390: ';' : empty controlled statement found; is this the intent?

    中文对照:(编译警告)‘;’控制语句为空语句,是程序的意图吗?

    分析:if语句的分支或循环控制语句的循环体为空语句,一般是多加了“;”

    warning C4508: 'xxx' : function should return a value; 'void' return type assumed

    中文对照:(编译警告)函数xxx应有返回值,假定返回类型为void

    分析:一般是未定义main函数的类型为void,不影响程序执行

    warning C4552: 'operator' : operator has no effect; expected operator with side-effect

    中文对照:(编译警告)运算符无效果;期待副作用的操作符

    分析:例如“i+j;”语句,“+”运算无意义

    warning C4553: '==' : operator has no effect; did you intend '='?

    中文对照:(编译警告)“==”运算符无效;是否为“=”?

    分析:例如 “i==j;” 语句,“==”运算无意义

    warning C4700: local variable 'xxx' used without having been initialized

    中文对照:(编译警告)变量xxx在使用前未初始化

    分析:变量未赋值,结果有可能不正确,如果变量通过scanf函数赋值,则有可能漏写“&”运算符,或变量通过cin赋值,语句有误

    warning C4715: 'xxx' : not all control paths return a value

    中文对照:(编译警告)函数xxx不是所有的控制路径都有返回值

    分析:一般是在函数的if语句中包含return语句,当if语句的条件不成立时没有返回值

    warning C4723: potential divide by 0

    中文对照:(编译警告)有可能被0除

    分析:表达式值为0时不能作为除数

    warning C4804: '<' : unsafe use of type 'bool' in operation

    中文对照:(编译警告)‘<’:不安全的布尔类型的使用

    分析:例如关系表达式“0<=x<10”有可能引起逻辑错误

    注:正在学习C/C++ linux的小伙伴可以扫描下方二维码,免费领取学习资料哦

    a2716a0b300894f7fcc8bcb53fec8489.png
    展开全文
  • 短路问题大全 当自增自减运算和逻辑运算组合时,编译器编译代码的时候,放弃优先级,去从左向右扫描,最后去判断自增自减要不要去执行 当逻辑&&和逻辑||组合运算时,仍然是放弃优先级,从左向右扫描,如果有短路,后面的就...

    e34efc374c87ed28295aafdfff74aec8.png

    1). 终端常用的命令:
    pwd 显示终端的工作路径.
    ls list 清单 显示当前工作路径下的所有的文件以及文件夹.
    ls -l 以详细信息显示当前工作路径下的所有的文件以及文件夹.
    cd 要切换的工作路径 ******************* Change Drictory
    mkdir 在当前工作路径下创建1个文件夹.
    clear 清除屏幕上的信息.
    touch 在当前工作路径下创建1个空文件.******************2).编译
    编译器在编译代码的时候,会先检查你的.c文件是不是符合C语言语法规则的,如果不符合会报错或警告,提示你具体哪里出错了
    warning--->警告 编译可以通过,能形成.o文件 是否能形成a.out是不确定的
    error ---->错误,你代码是错的,连编译形成.o 的资格都没有3).C语言中常见的数据类型
    int
    整数 -2147483648 ---- 2147483647
    "有效位: 从左边开始第一个不为0的数开始数,数相应的位数
    float
    单精度小数(单精度浮点数) 有效位数不超过7位的小数,超过7位 的部分不能精确的保存
    1234.5678f
    double
    双精度小数(双精度浮点数) 有效位数不超过16位的小数,超过16位的部分不能精确的保存
    12345678912345.127
    char
    字符 'A' 'B' 'C' 'D'4).变量
    1.关于变量的概念
    变量 == 坑 == 用来存储数据
    变量的值 == 坑中存储的数据
    变量名 == 坑的别名 == 可以找到坑
    变量类型 == 坑的类型 == 内存中存储的数据的类型
    变量的本质:在内存中存储数据的那块空间.
    2.数据要存在内存中的步骤
    1>在内存中开辟一块空间
    2>开辟空间的同时要指定这块空间的别名类型
    3>这个空间的类型决定了这个空间中可以存储的数据的类型5).类型转换
    当赋值符号两边的数据类型不同的时候,数据类型转换是自动的,不需要程序员插手
    隐式转换:自动转换 编译器自动帮你判断转换成什么类型
    int num = 3.3333;
    显示转换:强制转换 程序员自己写代码指定你的数据转换成什么类型
    int num = (int)3.3333;6). 短路问题大全

    1. 当自增自减运算和逻辑运算组合时,编译器编译代码的时候,放弃优先级,去从左向右扫描,最后去判断自增自减要不要去执行
    2. 当逻辑&&和逻辑||组合运算时,仍然是放弃优先级,从左向右扫描,如果有短路,后面的就不执行,如果没有短路,那么就按照正常的优先级来计算

    7). 变量的作用域
    1. 变量的作用域如何寻找,向外寻找包裹着这个变量的定义的语句的最近一层的大括号
    a.寻找作用域
    b.变量在自己的作用域内可以被访问,不受内层的大括号限制
    2.外层作用域可以和内层作用域的变量同名,使用遵循就近原则
    3.变量出了自己的作用域就会被操作系统从内存中回收,程序员就无权再使用8).switch-case
    1. switch后面可以写任何表达式,也可以直接写个数字,无论是什么形式,必须是整数类型
    2. 每一个case模块中的break可有可无,有就遇到break结束整个switch,没有就一直向下穿透,直到遇到break或者整个switch结束,不会进行判断. **********
    3. 整个default模块也是可有可无的,有就所有case都不满足的情况下执行default,没有就所有case都不满足结束switch结构.
    4. 如果多个case模块所要执行的处理是一样的,可以利用case穿透来实现
    结论:
    switch适合做等值判断,不适合做范围判断,对于需要做范围判断的功能最好使用if结构9).for注意事项
    1.如果第3个表达式已经自增,那么在循环体中就不要自增了
    2.第3个表达式后没有分号
    3.3个表达式都可以省略,但是分号不能省略
    4.如果第2个省略 那么循环条件默认就成立
    5.3个表达式其实任意的语句都是可以的. 但是只能是3句10).全局变量和局部变量的异同
    1.相同点
    都是一个变量,都是用来存储数据的
    2.不同点
    a.定义的位置不同
    局部变量:定义在函数内部的变量
    全局变量:定义在所有函数外部的变量变量叫做全局变量
    b.作用域不同
    局部变量"最多"只能在函数的内部访问
    全局变量:从定义的位置开始,从定义的这一行以下都能访问
    注意:全局变量一般都定义在程序最的最上面
    3.初始值
    局部变量:初始是垃圾值
    全局变量:0
    注意:'0'这个字符的ASCII码是0,'0'这个字符是不可见的,不占位置的.
    4.创建和回收的时间不同
    局部变量:程序运行到局部变量那一行代码的时候才会创建,在作用域结束回收
    全局变量:程序一启动就会创建,在程序运行结束回收
    注意:局部变量可以和全局变量同名,具体使用哪一个,遵循就近原则.另外开发的时候不要这样做,程序的可读性太差.11).函数的声明和定义
    1. 如果函数写了声明,那么这个函数的定义就可以放在调用函数的后面了.
    2. 函数的声明最晚应该放在调用函数的前面. 一般情况下,函数的声明都是统一放在最顶部的.
    3. 如果被调用的函数在主调函数之前.那么这个时候,被调用函数的声明可以省略,在前面直接写定义.
    如果被调用函数的定义在主调函数的后面,那么这个时候必须在调用之前声明这个被调函数.
    4. 声明函数的函数头,必须要和实现函数的函数头一致.
    5. 在声明函数的时候,如果函数还有参数 那么参数的名称可以省略.只写类型.
    虽然这样可以,但是我们还是建议你 声明和实现的函数头一模一样.
    6. 如果函数的返回值是int类型的,可以不写这个函数的声明.

    不忘初心,方得始终

    展开全文
  • C语言简介C 语言是一种通用的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的。C 语言最开始是于 1972 年在 DEC PDP-11 计算机上被首次实现。在 1978 年,布莱恩·柯林汉(Brian Kernighan)...

    C语言简介

    C 语言是一种通用的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的。C 语言最开始是于 1972 年在 DEC PDP-11 计算机上被首次实现。在 1978 年,布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)制作了 C 的第一个公开可用的描述,现在被称为 K&R 标准。UNIX 操作系统,C编译器,和几乎所有的 UNIX 应用程序都是用 C 语言编写的。由于各种原因,C 语言现在已经成为一种广泛使用的专业语言。

    C语言的特点

    43c5cc1a9bec74f7ca8153544746608e.png

    • 易于学习。

    • 结构化语言。

    • 它产生高效率的程序。

    • 它可以处理底层的活动。

    • 它可以在多种计算机平台上编译。

    金无足赤,人无完人。C语言也有一些缺点,指针是C语言的灵魂,然而涉及指针的错误往往难以察觉。要享受用C语言自由编程的乐趣,就必须承担更多的责任。缺点这块点到为止,不然又要吐槽了,printf("锄禾日当午,学C真TM苦");

    C语言的应用范围

    C 语言最初是用于系统开发工作,特别是组成操作系统的程序。由于 C 语言所产生的代码运行速度与汇编语言编写的代码运行速度几乎一样,所以采用 C 语言作为系统开发语言。下面列举几个使用 C 的实例:

    • 操作系统

    • 语言编译器

    • 汇编器

    • 文本编辑器

    • 打印机

    • 网络驱动器

    • 现代程序

    • 数据库

    • 语言解释器

    • 实体工具

    编写C语言程序的7个步骤

    为了让大家对编程有大概的了解,这里将编写C程序的过程分解成了7个步骤,当然这只是理想状态下的,实际开发中会根据情况循环或者改进一些步骤。这里就不详细的介绍每个步骤了,大家可以通过后续的文章慢慢理解这几个步骤。

    b87ef1d758a34d8a77c7920983230b14.png

    编程机制

    我们从两张图来分别理解一下windows和unix系统中从源代码到可执行文件的过程。

    d2caefcca917a6893c6e128e2fb41df6.png

    Windows

    06a3adf2d0a091d00f1a72ceda989e8c.png

    Unix

    C语言相关介绍就到这里,从下一篇开始我们正式讲解C代码

    如果您觉得本篇文章对您有帮助,请转发给更多的人,顺手点一下“再看”也是对小编最大的支持。

    7e97e44efa4527fbafb1e1be038220b5.png

    7379dbccda709b293b9e6cf7d07e5fd9.gif

    展开全文
  • ) 分析:函数定义不正确,函数首部的“( )”后多了分号或者采用了老式的C语言的形参表 50、error C2450: switch expression of type 'xxx' is illegal 中文对照:(编译错误)switch表达式为非法的xxx类型 分析:...
    前言:对于刚学编程,刚接触C++的新手来说,编译运行报错是最头疼的一件事,爆出一堆英文,英语差一点的又不知道什么意思,所以也不知道如何去改,在此,我给大家传一份常见错误中英文对照表及简单解释,希望可以帮到大家。

    1、fatal error C1003: error count exceeds number; stopping compilation

    中文对照:(编译错误)错误太多,停止编译
    分析:修改之前的错误,再次编译

    2、fatal error C1004: unexpected end of file found

    中文对照:(编译错误)文件未结束
    分析:一个函数或者一个结构定义缺少“}”、或者在一个函数调用或
                  表达式中括号没有配对出现、或者注释符“/*…*/”不完整等

    3、fatal error C1083: Cannot open include file: 'xxx': No such file or directory

    中文对照:(编译错误)无法打开头文件xxx:没有这个文件或路径
    分析:头文件不存在、或者头文件拼写错误、或者文件为只读

    4、fatal error C1903: unable to recover from previous error(s); stopping compilation

    中文对照:(编译错误)无法从之前的错误中恢复,停止编译
    分析:引起错误的原因很多,建议先修改之前的错误

    5、error C2001: newline in constant

    中文对照:(编译错误)常量中创建新行
    分析:字符串常量多行书写

    6、error C2006: #include expected a filename, found 'identifier'

    中文对照:(编译错误)#include命令中需要文件名
    分析:一般是头文件未用一对双引号或尖括号括起来,例如“#include stdio.h”

    7、error C2007: #define syntax

    中文对照:(编译错误)#define语法错误
    分析:例如“#define”后缺少宏名,例如“#define”

    8、error C2008: 'xxx' : unexpected in macro definition

    中文对照:(编译错误)宏定义时出现了意外的xxx
    分析:宏定义时宏名与替换串之间应有空格,例如“#define TRUE"1"”

    9、error C2009: reuse of macro formal 'identifier'

    中文对照:(编译错误)带参宏的形式参数重复使用
    分析:宏定义如有参数不能重名,例如“#define s(a,a) (a*a)”中参数a重复

    10、error C2010: 'character' : unexpected in macro formal parameter list

    中文对照:(编译错误)带参宏的形式参数表中出现未知字符
    分析:例如“#define s(r|) r*r”中参数多了一个字符‘|’

    11、error C2014: preprocessor command must start as first nonwhite space

    中文对照:(编译错误)预处理命令前面只允许空格
    分析:每一条预处理命令都应独占一行,不应出现其他非空格字符error C2015: too many 

    12、characters in constant

    中文对照:(编译错误)常量中包含多个字符
    分析:字符型常量的单引号中只能有一个字符,或是以“”开始的一个转义字符,
    例如“char error = 'error';”

    13、error C2017: illegal escape sequence

    中文对照:(编译错误)转义字符非法
    分析:一般是转义字符位于 ' ' 或 " " 之外,例如“char error = ' 'n;”

    14、error C2018: unknown character '0xhh'

    中文对照:(编译错误)未知的字符0xhh
    分析:一般是输入了中文标点符号,例如“char error = 'E';”中“;”为中文标点符号

    15、error C2019: expected preprocessor directive, found 'character'

    中文对照:(编译错误)期待预处理命令,但有无效字符
    分析:一般是预处理命令的#号后误输入其他无效字符,例如“#!define TRUE 1”

    16、error C2021: expected exponent value, not 'character'

    中文对照:(编译错误)期待指数值,不能是字符
    分析:一般是浮点数的指数表示形式有误,例如123.456E

    17、error C2039: 'identifier1' : is not a member of 'identifier2'

    中文对照:(编译错误)标识符1不是标识符2的成员
    分析:程序错误地调用或引用结构体、共用体、类的成员

    18、error C2041: illegal digit 'x' for base 'n'

    中文对照:(编译错误)对于n进制来说数字x非法
    分析:一般是八进制或十六进制数表示错误,例如“int i = 081;”语句中数字‘8’不是八进制的基数

    19、error C2048: more than one default

    中文对照:(编译错误)default语句多于一个
    分析:switch语句中只能有一个default,删去多余的default

    20、error C2050: switch expression not integral

    中文对照:(编译错误)switch表达式不是整型的
    分析:switch表达式必须是整型(或字符型),例如“switch ("a")”中表达式为字符串,这是非法的

    21、error C2051: case expression not constant

    中文对照:(编译错误)case表达式不是常量
    分析:case表达式应为常量表达式,例如“case "a"”中“"a"”为字符串,这是非法的

    22、error C2052: 'type' : illegal type for case expression

    中文对照:(编译错误)case表达式类型非法
    分析:case表达式必须是一个整型常量(包括字符型)

    23、error C2057: expected constant expression

    中文对照:(编译错误)期待常量表达式
    分析:一般是定义数组时数组长度为变量,例如“int n=10; int a[n];”中n为变量,这是非法的

    24、error C2058: constant expression is not integral

    中文对照:(编译错误)常量表达式不是整数
    分析:一般是定义数组时数组长度不是整型常量

    25、error C2059: syntax error : 'xxx'

    中文对照:(编译错误)‘xxx’语法错误
    分析:引起错误的原因很多,可能多加或少加了符号xxx

    26、error C2064: term does not evaluate to a function

    中文对照:(编译错误)无法识别函数语言
    分析:
    1、函数参数有误,表达式可能不正确,例如“sqrt(s(s-a)(s-b)(s-c));”中表达式不正确
    2、变量与函数重名或该标识符不是函数,例如“int i,j; j=i();”中i不是函数

    27、error C2065: 'xxx' : undeclared identifier

    中文对照:(编译错误)未定义的标识符xxx
    分析:1、如果xxx为cout、cin、scanf、printf、sqrt等,则程序中包含头文件有误
    2、未定义变量、数组、函数原型等,注意拼写错误或区分大小写。

    28、error C2078: too many initializers

    中文对照:(编译错误)初始值过多
    分析:一般是数组初始化时初始值的个数大于数组长度,例如“int b[2]={1,2,3};”

    29、error C2082: redefinition of formal parameter 'xxx'

    中文对照:(编译错误)重复定义形式参数xxx
    分析:函数首部中的形式参数不能在函数体中再次被定义

    30、error C2084: function 'xxx' already has a body

    中文对照:(编译错误)已定义函数xxx
    分析:在VC++早期版本中函数不能重名,6.0版本中支持函数的重载,函数名可以相同但参数不一样

    31、error C2086: 'xxx' : redefinition

    中文对照:(编译错误)标识符xxx重定义
    分析:变量名、数组名重名

    32、error C2087: '<Unknown>' : missing subscript

    中文对照:(编译错误)下标未知
    分析:一般是定义二维数组时未指定第二维的长度,例如“int a[3][];”

    33、error C2100: illegal indirection

    中文对照:(编译错误)非法的间接访问运算符“*”
    分析:对非指针变量使用“*”运算

    34、error C2105: 'operator' needs l-value

    中文对照:(编译错误)操作符需要左值
    分析:例如“(a+b)++;”语句,“++”运算符无效

    35、error C2106: 'operator': left operand must be l-value

    中文对照:(编译错误)操作符的左操作数必须是左值
    分析:例如“a+b=1;”语句,“=”运算符左值必须为变量,不能是表达式

    36、error C2110: cannot add two pointers

    中文对照:(编译错误)两个指针量不能相加
    分析:例如“int *pa,*pb,*a; a = pa + pb;”中两个指针变量不能进行“+”运算

    37、error C2117: 'xxx' : array bounds overflow

    中文对照:(编译错误)数组xxx边界溢出
    分析:一般是字符数组初始化时字符串长度大于字符数组长度,例如“char str[4] = "abcd";”

    38、error C2118: negative subscript or subscript is too large

    中文对照:(编译错误)下标为负或下标太大
    分析:一般是定义数组或引用数组元素时下标不正确

    39、error C2124: divide or mod by zero

    中文对照:(编译错误)被零除或对0求余
    分析:例如“int i = 1 / 0;”除数为0

    40、error C2133: 'xxx' : unknown size

    中文对照:(编译错误)数组xxx长度未知
    分析:一般是定义数组时未初始化也未指定数组长度,例如“int a[];”

    41、error C2137: empty character constant。

    中文对照:(编译错误)字符型常量为空

    分析:一对单引号“''”中不能没有任何字符

    42、error C2143: syntax error : missing 'token1' before 'token2'

    error C2146: syntax error : missing 'token1' before identifier 'identifier'

    中文对照:(编译错误)在标识符或语言符号2前漏写语言符号1

    分析:可能缺少“{”、“)”或“;”等语言符号

    43、error C2144: syntax error : missing ')' before type 'xxx'

    中文对照:(编译错误)在xxx类型前缺少‘)’

    分析:一般是函数调用时定义了实参的类型

    44、error C2181: illegal else without matching if

    中文对照:(编译错误)非法的没有与if相匹配的else

    分析:可能多加了“;”或复合语句没有使用“{}”

    45、error C2196: case value '0' already used

    中文对照:(编译错误)case值0已使用

    分析:case后常量表达式的值不能重复出现

    46、error C2296: '%' : illegal, left operand has type 'float'

    error C2297: '%' : illegal, right operand has type 'float'

    中文对照:(编译错误)%运算的左(右)操作数类型为float,这是非法的

    分析:求余运算的对象必须均为int类型,应正确定义变量类型或使用强制类型转换

    47、error C2371: 'xxx' : redefinition; different basic types

    中文对照:(编译错误)标识符xxx重定义;基类型不同

    分析:定义变量、数组等时重名

    48、error C2440: '=' : cannot convert from 'char [2]' to 'char'

    中文对照:(编译错误)赋值运算,无法从字符数组转换为字符

    分析:不能用字符串或字符数组对字符型数据赋值,更一般的情况,类型无法转换

    49、error C2447: missing function header (old-style formal list?)

    error C2448: '<Unknown>' : function-style initializer appears to be a function definition

    中文对照:(编译错误)缺少函数标题(是否是老式的形式表?)

    分析:函数定义不正确,函数首部的“( )”后多了分号或者采用了老式的C语言的形参表

    50、error C2450: switch expression of type 'xxx' is illegal

    中文对照:(编译错误)switch表达式为非法的xxx类型

    分析:switch表达式类型应为int或char

    51、error C2466: cannot allocate an array of constant size 0

    中文对照:(编译错误)不能分配长度为0的数组

    分析:一般是定义数组时数组长度为0

    52、error C2601: 'xxx' : local function definitions are illegal

    中文对照:(编译错误)函数xxx定义非法

    分析:一般是在一个函数的函数体中定义另一个函数

    53、error C2632: 'type1' followed by 'type2' is illegal

    中文对照:(编译错误)类型1后紧接着类型2,这是非法的

    分析:例如“int float i;”语句

    54、error C2660: 'xxx' : function does not take n parameters

    中文对照:(编译错误)函数xxx不能带n个参数

    分析:调用函数时实参个数不对,例如“sin(x,y);”

    55、error C2664: 'xxx' : cannot convert parameter n from 'type1' to 'type2'

    中文对照:(编译错误)函数xxx不能将第n个参数从类型1转换为类型2

    分析:一般是函数调用时实参与形参类型不一致

    56、error C2676: binary '<<' : 'class istream_withassign' does not define this operator or a conversion to a type acceptable to the predefined operator

    error C2676: binary '>>' : 'class ostream_withassign' does not define this operator or a conversion to a type acceptable to the predefined operator

    分析:“>>”、“<<”运算符使用错误,例如“cin<<x; cout>>y;”

    57、error C4716: 'xxx' : must return a value

    中文对照:(编译错误)函数xxx必须返回一个值

    分析:仅当函数类型为void时,才能使用没有返回值的返回命令。

    58、fatal error LNK1104: cannot open file "Debug/Cpp1.exe"

    中文对照:(链接错误)无法打开文件Debug/Cpp1.exe

    分析:重新编译链接

    59、fatal error LNK1168: cannot open Debug/Cpp1.exe for writing

    中文对照:(链接错误)不能打开Debug/Cpp1.exe文件,以改写内容。

    分析:一般是Cpp1.exe还在运行,未关闭

    60、fatal error LNK1169: one or more multiply defined symbols found

    中文对照:(链接错误)出现一个或更多的多重定义符号。

    分析:一般与error LNK2005一同出现

    61、error LNK2001: unresolved external symbol _main

    中文对照:(链接错误)未处理的外部标识main

    分析:一般是main拼写错误,例如“void mian()”

    62、error LNK2005: _main already defined in Cpp1.obj

    中文对照:(链接错误)main函数已经在Cpp1.obj文件中定义

    分析:未关闭上一程序的工作空间,导致出现多个main函数

    63、warning C4003: not enough actual parameters for macro 'xxx'

    中文对照:(编译警告)宏xxx没有足够的实参

    分析:一般是带参宏展开时未传入参数

    64、warning C4067: unexpected tokens following preprocessor directive - expected a newline

    中文对照:(编译警告)预处理命令后出现意外的符号 - 期待新行

    分析:“#include<iostream.h>;”命令后的“;”为多余的字符

    65、warning C4091: '' : ignored on left of 'type' when no variable is declared

    中文对照:(编译警告)当没有声明变量时忽略类型说明

    分析:语句“int ;”未定义任何变量,不影响程序执行

    66、warning C4101: 'xxx' : unreferenced local variable

    中文对照:(编译警告)变量xxx定义了但未使用

    分析:可去掉该变量的定义,不影响程序执行

    67、warning C4244: '=' : conversion from 'type1' to 'type2', possible loss of data

    中文对照:(编译警告)赋值运算,从数据类型1转换为数据类型2,可能丢失数据

    分析:需正确定义变量类型,数据类型1为float或double、数据类型2为int时,结果有可能不正确,数据类型1为double、数据类型2为float时,不影响程序结果,可忽略该警告

    68、warning C4305: 'initializing' : truncation from 'const double' to 'float'

    中文对照:(编译警告)初始化,截取双精度常量为float类型

    分析:出现在对float类型变量赋值时,一般不影响最终结果

    69、warning C4390: ';' : empty controlled statement found; is this the intent?

    中文对照:(编译警告)‘;’控制语句为空语句,是程序的意图吗?

    分析:if语句的分支或循环控制语句的循环体为空语句,一般是多加了“;”

    70、warning C4508: 'xxx' : function should return a value; 'void' return type assumed

    中文对照:(编译警告)函数xxx应有返回值,假定返回类型为void

    分析:一般是未定义main函数的类型为void,不影响程序执行

    71、warning C4552: 'operator' : operator has no effect; expected operator with side-effect

    中文对照:(编译警告)运算符无效果;期待副作用的操作符

    分析:例如“i+j;”语句,“+”运算无意义

    72、warning C4553: '==' : operator has no effect; did you intend '='?

    中文对照:(编译警告)“==”运算符无效;是否为“=”?

    分析:例如 “i==j;” 语句,“==”运算无意义

    73、warning C4700: local variable 'xxx' used without having been initialized

    中文对照:(编译警告)变量xxx在使用前未初始化

    分析:变量未赋值,结果有可能不正确,如果变量通过scanf函数赋值,则有可能漏写“&”运算符,或变量通过cin赋值,语句有误

    74、warning C4715: 'xxx' : not all control paths return a value

    中文对照:(编译警告)函数xxx不是所有的控制路径都有返回值

    分析:一般是在函数的if语句中包含return语句,当if语句的条件不成立时没有返回值

    75、warning C4723: potential divide by 0

    中文对照:(编译警告)有可能被0除

    分析:表达式值为0时不能作为除数

    76、warning C4804: '<' : unsafe use of type 'bool' in operation

    中文对照:(编译警告)‘<’:不安全的布尔类型的使用

    分析:例如关系表达式“0<=x<10”有可能引起逻辑错误

    注:正在学习C/C++ linux的小伙伴可以扫描下方二维码,免费领取学习资料哦

    aa56bdbbe4a406d71037f11e260c3a19.png

    展开全文
  • 1)资料下载:点击资料即可下载2)对正点原子Linux感兴趣的同学可以加群讨论:9354467413)关注正点原子公众号,...本章我们就来学习如何用汇编来完成C语言环境的初始化工作,然后从汇编跳转到C语言代码里面去。10.1...
  • c code(C语言代码大全)

    2013-03-23 07:52:13
    有很多经典、简易的代码,包括汉字库代码,和点阵字代码
  • 从今天开始,一起轻松学做C语言课程设计常见项目,建议先运行代码,再一步步理解其实现。PS:大家也可以直接留言提供一些课程设计选题,有可能根据大家的题目提供新的示例程序。一般课程设计考察的知识点:...
  • 中连续模型得离散化、自定义变量名称、代码生成,然后基于VS2010平台对生成的代码进行测试。第一步 打开模型首先我们要确保模型仿真是正确的,即能够正常仿真。第二步 将输入和需要的输出换成input和output模块。第...
  • 本文详细介绍了simulink连续模型离散化,代码生成以及最终运行到VS2010环境的详细过程,希望对大家有帮助。第一步 打开模型首先我们要确保模型仿真是正确的,即能够正常仿真。第二步 将输入和需要的输出换成input和...
  • 本号总结了在C语言实际开发中必读的8本书,当然这8本书并不能囊括开发的方方面面,但就作者亲身体验来看,这8本书确实每个C语言开发者都必须要读的书,并且是应该深入精读的书。C程序设计语言相信大家都学过谭浩强的...
  • 从今天开始,一起轻松学做C语言课程设计常见项目,建议先运行代码,再一步步理解其实现。备注:1.不同C编译器,对C语言程序编译有差别,建议大家选择相同的编译器。2.代码手机不方便看,可以收藏使用电...
  • 1)实验平台:正点原子Linux开发板2)摘自《正点原子I.MX6U嵌入式Linux驱动开发指南》关注官方微信号公众号,获取更...本章我们就来学习如何用汇编来完成C语言环境的初始化工作,然后从汇编跳转到C语言代码里面去。10...
  • 前言先为你写下一段常见代码:public class Person { private String name; private int age; private String sex; private String birthday; public String getName() { return name; } public ...
  • 算法(Algorithm):计算机解题的基本思想...通常使用自然语言、结构化流程图、伪代码等来描述算法。一、计数、求和、求阶乘等简单算法此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更...
  • 「今天是学习C语言第 145 天」纸上学来终觉浅,绝知此事要躬行。——陆游「冬夜读书示子聿」# 顺序表顺序表使用一组连续的物理内存存储地址按照次序存放线性表的元素。实现要点:1.顺序表的长度可变。2.利用C语言的...
  • 作者:阿涵酱https://www.zhihu.com/question/54513391/answer/945646205前言花费了整整3天时间整理出来的全网最实用Python面试题大全,一共30道题目+答案的纯干货,如此的辛勤整理,希望大家多多支持,建议点赞+...
  • 程序源码: 代码上好像仅仅有,列表排序 ''' if __name__ == '__main__': arr1 = (3,12,8,9,11) ptr = list(arr1) print ptr ptr.sort() print ptr ''' 【程序75】 题目:放松一下。算一道简单的题目。 1.程序分析:...
  • 「今天是学习C语言第 150 天」纸上学来终觉浅,绝知此事要躬行。——陆游「冬夜读书示子聿」# 队列队列同样是一种特殊的线性表,其特性是先进先出(First In First Out,FIFO数据结构),只允许在表尾插入数据,在表头...
  • 想写出精炼、优秀的代码,不通过不断的锤炼,是很难做到的。八大排序算法排序算法作为数据结构的重要部分,系统地学习一下是很有必要的。1、排序的概念排序是计算机内经常进行的一种操作,其目的是将一...
  • 相关资料获取文章:零基础新手自学Python编程教程入门精通学习资料网站大全零基础新手学习算法Leetcode刷题指南程序员码农IT工程师自学编程计算机入门进阶学习网站大全今天分享个我的老本好,C该怎么学习,分享一些...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 720
精华内容 288
关键字:

c语言代码大全

c语言 订阅