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”很多情况下是一个带有自增或自减操作的表达式,以使循环条件逐渐变得“不成立”。

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

  1. 编程语言python怎么读-Python入门学习的计算机程序设计语言是怎样的?

    原标题:Python入门学习的计算机程序设计语言是怎样的? 你可能已经听说过很多种流行编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的Java语言.那 ...

  2. Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)—命令提示符cmd的几种方法

    Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)-命令提示符cmd的几种方法 目录 利用python语言实现调用内部命令-命令提示符cmd的几种方法 T1. ...

  3. c语言程序优化设计,C程序设计语言的教学策略优化设计

    摘要:本文围绕提高C语言课堂教学的教学质量,依据教学内容的属性与特点,融合任课教师的教学经验与智慧,通过选择恰当的教学方法,采用合理的教学手段设计了一种教学优化策略,强化了教学方案设计的科学性,保证了 ...

  4. C语言学习宝典下载,C语言学习宝典

    C语音学习宝典手机版是一款很好用的C语音移动学习工具,为用户带来了C语音真题联系及学习课程,让用户可以充分利用碎片时间进行联系.C语音学习宝典手机版还提供了非常强大的手机编程工具,很多代码手机上就能完 ...

  5. c语言注释语句执行吗,C语言学习笔记之C语言概念解析(附资料分享)每一个语句都必须以分号结尾但预处理命令函数头和花括号“}”之后不能加分号...

    [[怪兽爱C语言]C语言学习笔记之C语言概念解析(附资料分享)]https://toutiao.com/group/6582429294901854728/?iid=15906422033&a ...

  6. C语言学习笔记知识点齐全——新手入门必看【建议收藏】

    终身受益的700个网站[史上最全]--建议收藏"卑微的小丑"总有一个可以帮助你!!! https://blog.csdn.net/liu17234050/article/detai ...

  7. C语言学习之路——程序设计概述

    一.程序设计语言 1.什么是程序设计语言? 程序设计语言是用来编写程序的计算机语言,它按照特定的规则组织计算机指令,使计算机能够自动进行各种操作处理. 2.程序设计语言的3种类型 机器语言.汇编语言. ...

  8. c语言成颖pdf,程序设计语言开篇导学.ppt-资源下载在线文库www.lddoc.cn

    <程序设计语言>开篇导学.ppt 程序设计语言开篇导学,成颖 教授 博士生导师 南京大学信息管理学院,1.引言,C语言程序设计是计算机相关学科中的一门基础课,也是培养结构化程序设计思想以及 ...

  9. c 程序设计语言 好难,C程序设计语言难点及分析

    <C程序设计语言难点及分析>由会员分享,可在线阅读,更多相关<C程序设计语言难点及分析(20页珍藏版)>请在人人文库网上搜索. 1.C语言难点分析整理!语言难点分析整理!转贴转 ...

  10. 二级c语言学习软件,二级C语言学习app下载-二级C语言学习 安卓版v3.1.1-PC6安卓网...

    二级C语言学习app是一款专为想要学习c语言的朋友开发的手机应用,通过二级C语言学习app,我们随时随地都可以学习c语言了哟,二级C语言学习app非常的方便,有需要的赶紧来下载吧. 软件介绍 二级C语 ...

最新文章

  1. avplayer VS2008编译
  2. 聊聊Oracle 11g的Snapshot Standby Database(上)
  3. ASP.NET -- 缓存技术(1)
  4. Python的time库的一些简单函数以及用法
  5. 移动端布局 - REM方式
  6. CentOS7.3下部署Rsyslog+LogAnalyzer+MySQL中央日志服务器
  7. 08年新年快乐 :-)
  8. Android ViewPager+TabHost实现首页导航
  9. vmware开机自动进入BIOS vmware 进入BIOS方法
  10. 星尘小组第六周学习笔记—如何在各类控件中输入/输出数据
  11. Java商店管理系统
  12. ISSCC 2017论文导读 Session 14: A 28nm SoC with a 1.2GHz Prediction Sparse Deep-Neural-Network Engine
  13. ppap文件过程流程图制作_PPAP提交范本---过程流程图
  14. 2021-12-06 自动化专业C语言上机作业参考答案12
  15. 网络运维中静态路由 三层交换技术 动态路由 OSPF协议的配置
  16. mysql 基础语法3
  17. springboot/maven-orika 映射
  18. 关于gvim的高级应用
  19. 华为云王红新_华为云新加坡峰会盛大举行,多家公司签署MoU
  20. 虚幻4FPS吃鸡类游戏开发学习笔记——人物移动及状态切换(Idle,Walk, Jog, Run)

热门文章

  1. File类的基本操作方法
  2. python语言程序设计 陈东_清华大学出版社-图书详情-《Python语言程序设计》
  3. 洛谷 P1017 进制转换
  4. [bzoj1855][Scoi2010]股票交易_动态规划_单调队列
  5. php pdf文件上传,显示
  6. ListView的item监听事件,并且把值传递给另一个activity
  7. PHP获取一个数组的深度
  8. 线程并发安全导致内存溢出
  9. [asp.net]自定义控件(数据绑定)
  10. Batch size对训练效果的影响