您好,欢迎访问本站博客!登录后台查看权限
  • 转载文章需要注意是否有转载标识,未经允许谢绝转载
  • 发贴请联系站长提权

在日留学生的C语言学习手册--中日名词对照及解释(初级)

C语言 adminX 2019-02-26 189 次浏览 0个评论
网站分享代码

日本马上要开始新一个学年了,很多新生还有一个多月就要步入大学生活了,在日本学习计算机的留学生们经常会遇到一个问题,就是计算机中的专有名词太多,而且多为片假名,难记还不容易理解。作为传说中的热心学长,一想到之后教学弟学妹们的苦逼担子就感觉肩膀好痛,遂写了这个篇文章,帮助学弟学妹们不受语言的限制,快速学好C语言。如果没有基础的话,建议在学习的过程中阅读,完全0基础的话有些东西会感觉到生涩难懂。

下面将列出一些常用的编程语言(C语言)中的名词及解释。


ソースプログラミング

源代码,是英语source program的直译。


ソースファイル

源文件,是英语source file的直译。在C语言中通常指【.c】、【.cpp】(c++)作为尾缀的文件。


コンパイル

编译,是英语compile的直译。通常指将高级语言翻译成更低级语言的过程,一般来说将高级语言(我们所书写的代码)转换为机器码的整个过程称为编译。

注:汉语中C语言编译器编译时,代码预处理之后,将代码翻译成汇编的过程也被称之为编译,因为同样是从高级到低级的过程。C语言代码的编译过程可以在【C语言的编译过程】中找到。


リンク

链接,是英语link的直译。通常指将各个目标文件(源文件等)和库文件链接起来。在C语言编译器中,链接是汇编之后的一个步骤。C语言代码的编译过程可以在【C语言的编译过程中找到。


診断メッセージ

诊断信息,英语为dignostic message。诊断信息是编译器为我们查找代码中的错误提供的重要工具,可以根据诊断信息的提示来修改代码。


注釈(コメント)

注释,英语为comment。注释是为了在代码中记录某些信息或提示,避免自己或他人以后难以理解代码。在C语言中 \\ 代表单行注释,也就是\\之后的一整行都会被编译器无视。\* 内容 *\代表多行注释,里面的内容无论多少行,只要是在\*和*\之间的,都会被编译器无视。例如:

int a;//从这往后会被注释
但到这里就不会被注释了,在编译器中会报错

/*

这之间的
无论多少行都会被编译器无视

*/

関数

函数,英语为function。个人感觉看function更容易理解,function是功能的意思,前期理解为一个函数就是一个功能。例如:

int main(){
    printf("hello world");
}

其中main是一个函数,也是我们程序的默认主入口。printf也是一个函数,printf的功能就是将内容打印至屏幕。

如果难以理解,可以只记住“関数就是功能的意思”就可以了。


メイン関数

主函数,英语为main function。main函数是程序的主入口,在前期我们的代码都会写在main函数内。main函数就像一个大客厅,去往其他房间都需要经过main,当然后期可以通过一些操作更改为其他函数。


関数呼出し

调用函数,英语为function call。意思就是使用某个函数的意思。例如

int main(){
    printf("hello world");//我们在这里调用了printf函数,向屏幕输出了hello world
}


実引数

实参,英语为argument。也就是真实的参数的意思,指的是被函数调用的具体的任何值,与其相对应的就是形参。实参和形参之后会再讲一遍,前期有一些不太好理解。

前期先用前面说的printf举一个例子。

printf("%d",20+5);

这里面"%d"是一个实参,20+5是另一个实参。%d的意思后面会讲到,前期先大体了解一下就好了。


セミコロン

分号(;),是英语semicolon的直译。在C语言中分号代表一段语句的结束(这也是很多程序员梗的由来),当然也有类似预处理指令是不用分号结尾的特例,在后面会讲到,现在只要知道セミコロン代表分号即可。


定数

常量,英语为constant。常量故名思意,就是一经更改就无法改变的量。在C语言中可以使用预编译指令#define和const修饰符来定义常量,常量在定义时必须被赋值。例:

#define CONSTSNT 10

int main(){

    const int constsnt=10;

}

虽然都可以用来定义常量,但这两种方法其实是有区别的,前期只要知道有区别即可。

ps.是不是发现常量的定义事实上就是常量的英文的前半部分呀,这也是为什么我一直标注英语的原因啦,编程语言里很多关键字其实都是英语单词或英语单词的一部分。


 変数

变量,英语为variable。和上面的常量相反,变量是可以改变的,可以把变量当成一个盒子,我们可以向这个盒子里装数据,数据类型就是这个盒子的标签,变量名就是这个盒子的名字,每个盒子只能装标签对应的类型,而数据范围就是盒子的大小。

语法为:

数据类型 变量名;//仅定义

数据类型 变量名=值;//定义并初始化

//如果前面已经定义了一个变量
变量名=值;//可以通过赋值的方式更改原来的值或初始化。

C语言中常见的数据类型有int(整数型)、float(单精度浮点型)、double(双精度浮点型)、char(字符型)等,float和double又被称为实数类型。数据类型具体在后面会讲。


定义变量例子:

int a=5;
int b;

double c=5.66;
float d=7.88f;//float类型后面必须加f或F,不然会默认为double类型

char e='E';//char类型只能储存一个字符,字符需要用''来包裹。

宣言

声明、定义,英语为delaration。告诉编译器你创建了一个函数或变量的过程叫做声明。

int a;

这就是声明。


初期化

初始化,英语为initialize。创建了一个变量后,这个变量是没有内容的,直接拿来使用可能会报错(学习scanf时应该会经常遇到)。所以我们需要为创建的变量赋一个初始值,这个过程就是初始化。

例:

int a=0;//在声明的同时进行初始化

//也可以先定义,不初始化,在需要的时候初始化
int b;

b=0;


変換指定

格式化说明符,在前面稍微提到了%d,%d就是一个格式化说明符。C语言有各种数据类型,例如int、float、double、char等,格式化说明符是为了让编译器可以准确识别这些数据类型,将接收到的变量,以格式化说明符的类型进行输出输入。下面是一些常用的格式化说明符在printf的情况下的说明(VS2017):

格式化说明符 说明
%d

对应接收整数,也就是int、short、long等。

如果接收小数会输出一些意想不到的数字;

如果接收字符(char类型)则会打印出字符的ASCII码;

如果接收字符串(char*类型)则会输出一些意想不到的数字;

如果接收布尔值中的true则会打印出1,如果接收布尔值中的false则会打印出0。

如果接收null与false相同。

%f

对应接收单精度浮点型(实数、小数),也就是float。很多人误以为float可以储存6位小数,但其实float最大只能储存6位小数(7个有效位),如果整数部分有6位则小数部分会无法精确储存(前两位小数在部分情况下是正常的)。

%f如果接收整数、字符、字符串、布尔值、null等则会打印出0.000000。

%lf对应接收双精度浮点型(实数、小数),也就是double。double拥有16位有效位,%lf中的l代表long的意思,长浮点型。其余与%f相同。
%c

对应接收字符(单个字符,被' '包裹),也就是char。

如果接收整数、小数、字符串,将什么都不输出。(整数的情况下如果是在ASCII的序号范围内的,则会输出ASCII对应的字符,)

如果接收布尔值的话,因为布尔值中true代表1,false代表0,所以会输出ASCII对应的字符,true是笑脸(多半无法显示),false是空格。

%s

对应接收字符串(多个字符,被" "包裹),也就是char* (如果学过C#之类的就相当于string)。

如果接收除了false、0、'\0'以外的任何值,在Release的情况下执行会卡在控制台,无法通过回车退出,只能手动关闭。(因为字符串类型需要有\0做结束符,只要没有遇到\0就不会结束)。

如果接收false、null、0、'\0',则会在控制台输出 (null) (在vs2017的情况下),因为这四个的值本质其实都是0,所以相当于控制台只接收到了一个结束符,内容为空。









文字列(文字列リテラル)

字符串,英语位string(string literal)。代表多个字符组成的一串文字,在C语言中字符串需要包裹在" "内,且以\0结尾(编译器会自动加上,只要在字符串数组最后留一个位置即可)。
例:

char str[50]="xyz";

这里xyz就是一个字符串。

書式文字列

格式字符串,英语为format string。其实可以理解为带有格式说明符的字符串,通常出现在printf内。(这个只是一部分意思,因为日语和汉语的差异,在这里先讲这一部分)

例:

printf("这是一个数字 %d \n");

其中"这是一个数字 %d \n"就是格式字符串。


拡張表記

转义字符,英语为escape sequence,可以理解为用一些规定好的符号来输出原本无法输出的字符。比如我们比较常见的\n(换行),还有上面提到过的\0。其实本质都是打印ASCII字符表的字符来实现特殊功能。


其实C语言只要掌握了编程思维,学习起来就很轻松了,包括学习其他语言进度也会变得很快,我之后也会持续更新相关系列,想要学习的可以收藏本站,以免走丢哦


注:本文中日语名词均出自《新・明解C言語 入門編》ーー柴田望洋


版权所有,转载请联系:su79767960@outlook.com

已有 189 位网友参与,快来吐槽:

发表评论

分享:

支付宝

微信

站点统计