GoC语言学习(C/C++程序设计语言入门)

GoC语言学习

GoC语言是江涛老师独创的,基于c++语言和go语言的一种编程语言, GoC的意思就是走向C/C++编程。通过简单有趣的编程绘图,学习C/C++的入门编程。

 

新版webGoC是在线版,不需要安装,地址是:http://www.51goc.com/rumentCourse/index

特别提醒,webGoC直接编译运行,没有使用devcpp,仅支持少量c++语言。

 

【以前的离线安装版https://pan.baidu.com/s/1hshZU76, 提示、最新版不再提供下载版,只有在线版。有关介绍 详见 https://blog.csdn.net/ahwhjt/article/details/48288091

下载后

双击安装包运行即可,安装路径C:\GoC编程。

安装比较简单,就不图示了。

安装完,将在桌面创建快捷方式图标:

先了解一些基本概念

程序是什么?

简单讲程序就是一些命令按次序写在一起。

 

一个goC语言程序样例如下:

int main()

{

   pen.speed(5); //中等速度画

   pen.show();  //显示笔

   pen.fd(100);  //笔前进100长度

   pen.rt(120);  //笔顺时针转120度

   pen.fd(100);   pen.rt(120);

   pen.fd(100);   pen.rt(120);

   return 0;

}

说明:

程序中“//”后面文字称为注释,只是注释说明这行程序的功能、方法等,不影响程序执行。

其中

int main()

{

    return 0;

}

是基本结构,了解c语言的读者不陌生,不了解的也不需担心。

int main()是主函数,程序从这里开始执行

{ }内是程序体。

return 0;终止 main() 函数,并返回值 0。

上面程序中最主要的两个命令是:

命令格式

样例

英语单词说明

pen.fd( 长度 ) ;

pen.fd( 50 );

命令“笔”前进50,画出长度50的一条线。比如:

pen---

fd---forward的简称,中文意思“前进”。

pen.rt( 角度 ) ;

pen.rt( 90 );

命令“笔”顺时针转90度。如果开始笔向上,则前后变化为:

  

rt---right的简称,中文意思“右转”;也称为顺时针转。

GoC中除了上面两个基本命令,还提供了诸如改颜色、大小、抬笔等命令,以及一些诸如显示坐标、改变绘图速度等控制类型的命令,可参见右键快捷菜单帮助。

 

下面以桌面版开发工具为例介绍。

启动桌面版后,右击打开快捷菜单,显示如下图:“

 

 

 

运行后会出现一个GoC窗口。窗口上有三个菜单和一个重新绘图按钮。

GoC窗口是程序运行展示结果的舞台。上面代码的运行结果如下:

【↑上图是结果显示窗口】

 

保存文件名的后缀(扩展名)是cpp,编译后的文件后缀(扩展名)是exe,例如:

 

 

特别提示:请充分利用下图所示的右键快捷菜单的两项学习。

【↑上图是程序(代码)编辑窗口】

 

快捷菜单的功能简介如下表:

 

变量是高级程序设计语言最基础的概念之一。GoC变量的使用格式:

<变量类型> <变量名>  = <表达式> ;

变量是可变的。

变量的定义和C++的一样。

变量的数据类型C++的一样。整数类型的变量定义,语法格式为:

int  <变量名> ;      注:int是integer的缩写。

变量名的命名规则

变量名只能是字母(a-z A-Z),数字(0-9),下划线(_)的组合,并且之间不能包含空格,数字不能放在变量名首位。

变量名不能使用编程语言的保留字。比如C++中不能使用int,for, if , true, false, while保留字等等。

算术表达式

C++语言中,算术表达式是由常量、变量、函数、圆括号、运算符等组成。运算符加、减、乘、除分别用字符“+”,“-”,“*”,“/”表示。

下面给出一个例子:

int main()

{

 int len=50;

 pen.fd(len ); pen.rt(90);

 len=len+20;

 pen.fd(len ); pen.rt(90);

 len=len+40;

 pen.fd(len ); pen.rt(90);

 return 0;

}

运行结果:

 

变量的键盘输入

GoC的键盘输入与C++的一样用一种称为“流”的简单方法,语法格式为:

      cin >>变量名;

当程序运行到这句时,就会出现一个输入窗口,等待用户从键盘敲入数据,当按键盘上的回车键(Enter)表示输入结束时,输入窗口的数据就会赋值给这个变量。

使用键盘输入的例子:

 

int main()

{    

   pen.speed(4).show();

   int  h, w, c;  //定义长、宽、颜色3个变量

   cin>> h>> w>> c; //输入3个变量

   pen.color( c );

   for(int i=0; i<2; i++)

     pen.fd(h).rt(90).fd(w).rt(90);

   return 0; 

}

 

说明:

int  h, w, c;”一句同时定义3个变量,等同于“int  h;int w;int c;”三句。

“cin>>h>>w>>c;”一句连续输入3个变量,等同于“cin>> h; cin >> w; cin >> c;”三句。

从键盘连续输入几个数据时,数据之间要用空格隔开。注:可以是多个空格。

 

键盘输入:100 200 3

三个数之间有空格,当用键盘输入这三个数的回车键(Enter),输出运行结果,参见下图:

 

 

提示:编译出来的程序可多次运行(可在GoC里,点击运行按钮),输入不同的值,得到不同的图形。

 

int main()

{

  pen.speed(9).color( _red );

  int  ang;

  cin>> ang; //输入角度

  for(int i=1;i<=500;i++)

   {    

       pen.fd(i*0.3);

       pen.rt(ang);

   }

 return 0;  

}

 

 

 

输出语句

语法格式为:

cout <<变量名(或表达式);

用cout输出数据,和我们写文字类似,一个字连接一个字的写。例如:“cout << 12; cout <<50+6;”这2句的输出结果是:1256。

特别提示:“cout<<50+6;”输出的是表达式的运算结果的值,不是输出表达式本身。

C++中换行符用”endl”表示(end line的意思)。例如:“cout <<12; cout <<endl; cout << 56;”这3句的输出结果是:

12

56

 

编程键盘输入外框的正方形边长,画出下面图形,并用cout输入阴影部分面积。

int main()

{

  int len;

  cin>> len;  //输入边长

  //画图

  pen.rr(len,len,_grey).oo(len/2.0,_white);

 

  //阴影面积

  cout<< len*len-len/2.0*len/2.0*3.14159;

  return 0; 

}

 

键盘输入:100  的运行结果:

 

GoC语言循环结构和选择结构

GoC语言循环结构和选择结构和C++的一样。

if语句

格式1

if (条件) 语句;/{复合语句}

 if (条件)

     语句;/{复合语句}

这个语句的功能为:如果条件成立,就执行后面的语句或复合语句。不成立就什么都不做。

例如:

if(N==1) pen.oo(20,_red);

其中“N==1”是条件,是一个“逻辑表达式”,功能是判断等式两边的值是否相等。这里“==”是2个“=”号连写,中间不能有空格。

又如、比较两个数的大小,若a>b,则a、b互换:

if (a>b)

{

a=b;

b=a;

}

复合语句(compound statement)也称为语句块,它使用大括号把许多语句和声明组合到一起,语句块不用分号当作结尾。当出现语法上某处需要一条语句,但程序却需要执行多条语句时,就可以用到语句块。

 

格式2

if (条件) 语句1;/{复合语句1}

else 语句2;/{复合语句2}

if (条件)

     语句1;/{复合语句1}

else

     语句2;/{复合语句2}

这个语句的功能为:如果条件成立,就执行后面的语句1或复合语句1。不成立就执行else后面的语句2或复合语句2。

例如:

if( i%2==0) pen.color( _blue );

     else pen.color( _red );

其中,算符“%”表示求余数运算,“i%2”就是求i除以2的余数。

“i%2==0”就是判断i除以2的余数是不是等于0。显然如果i是偶数表达式结果为“真”,i是奇数则表达式结果为“假”。

 

for语句

for 循环的格式为:

for(表达式1; 表达式2; 表达式3){

    语句1;/语句块

}

它的运行过程为:

1) 先执行“表达式1”。

2) 再执行“表达式2”,如果它的值为真(非0),则执行循环体,否则结束循环。

3) 执行完循环体后再执行“表达式3”。

4) 重复执行步骤 2) 和 3),直到“表达式2”的值为假,就结束循环。

上面的步骤中,2) 和 3) 是一次循环,会重复执行,for 语句的主要作用就是不断执行步骤 2) 和 3)。

“表达式1”仅在第一次循环时执行,以后都不会再执行,可以认为这是一个初始化语句。“表达式2”一般是一个关系表达式,决定了是否还要继续下次循环,称为“循环条件”。“表达式3”很多情况下是一个带有自增或自减操作的表达式,以使循环条件逐渐变得“不成立”。

 

  • 11
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值