当前位置:首页 » 编程语言 » c语言怎么在线编辑
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言怎么在线编辑

发布时间: 2023-01-31 22:00:05

c语言中switch语句的N-S流程图怎么画啊

1、首先要进入到该绘制网站中,在新建文件夹中选择流程图进行新建使用,打开流程编辑工具。

❷ c语言ide推荐

最方便的是微软的Visual Studio了,不过体积太大,功能也复杂,主要是看你是用来做什么,如果只是代码编辑,可以考虑Visual Studio Code, 或者用最简单的notepad++

❸ 手机上怎么编程

这里介绍几个可以在手机上编程的软件,感兴趣的可以下载一下,试着操作一下:

1.Python:这里推荐一个软件—QPython3,集成了Python3解释器、Console控制台和QEdit编辑器,可以直接编辑运行python代码,也可以进行简单的安卓开发,下面我简单介绍一下这个软件的安装和使用:

安装的话,直接在手机应用中搜索就行,如下:

打开软件,终端测试效果如下,就行电脑版的python shell:

QEdit编辑器,编辑完python代码后,可以直接运行:

效果如下:

2.Java:这里推荐一个软件—AIDE,一个Java集成环境,可以直接新建Java项目,进行Java代码的编辑和运行,还可以进行游戏开发,功能强大,内置学习教程,很适合初学者学习掌握,下面我简单介绍一下这个软件的安装和使用:

安装的话,与上面一样,直接在手机应用中搜索就行:

打开软件如下,可以直接新建Java文件,编写Java代码并运行:

当然,也可以直接开发简单的安卓游戏,并直接在手机上安装运行:

游戏效果如下:

3.HTML:这里推荐一个软件—w3cschool编程学院,可以在线浏览查看前端开发的资料,包括html,css,javascript等,同时可以在线编辑代码并运行,是一个很不错的学习前端开发的软件,下面我简单介绍一下这个软件的安装和使用:

安装的话,直接在应用商店中搜索就行:

打开软件,就可以搜索前端编程的资料,如下:

在线编辑运行代码的效果如下:

4.C/C++:这里推荐一个软件—C++编译器(C4droid),一款很不错的C/C++编译器,安装完GCC插件后,可以直接编辑运行C/C++代码,是一款很不错的手机编程软件(这里也可以使用“C语言编译器”这个软件,效果也不错),下面我简单介绍一下这个软件的安装和使用:

安装的话,与上面类似,直接搜就行:

安装完成后,这里需要下载一个GCC插件(编译器),之后才能正常编译运行代码:

 

5.Termux:这是一个高级终端,类似手机版的XShell,可以直接在手机上登录Linux服务器,支持bash,zsh命令,可以编辑和运行C/C++,Python,Ruby等代码,只需要安装对应的插件就行,就像在Linux系统上使用一样,下面我简单介绍一下这个软件的安装和使用:

安装的话,直接在手机应用商店中搜索就行,首次安装,需要耐心等待一会儿:

打开这个软件,界面效果如下,类似xshell一样,可以运行shell命令:

安装完python后,就可以直接运行python代码,当然,其他语言也可以:

就介绍这5个在手机上编程的软件,使用起来都还不错,感兴趣的话,可以在手机上下载一下,尝试一下,当然,如果真想练习编程,建议还是在电脑上进行,调试起来更方便,希望以上分享的内容能对你有所帮助吧,也欢迎大家留言、评论。

❹ 如何用手机进行编程有哪些值得推荐的软件

手机上可以编程的软件其实有很多,有付费的也有免费的,这里简单介绍几个免费的手机编程软件,主要分为C/C++、Java、Python、Html和Linux5个方面,感兴趣的朋友可以自己下载尝试一下,主要内容如下:

这里介绍一个手机软件—C++编译器,可以直接编辑运行C/C++代码,代码高亮,自带有语法检查功能,使用起来非常不错,下面我简单介绍一下这个软件:

1.首先,安装C++编译器,这个直接在手机应用商店中搜索就行,如下,大概也就2.6兆左右,直接下载安装:

2.安装完成后,我们就可以直接编写C语言代码了,效果如下,关键字高显亮,还可以自动进行语法检查:

自带有简单的TCC编译器,可以直接编译运行C语言程序,如下:

3.这里你也编写C++程序,效果如下,只不过不能直接编译运行,需要先安装G++插件,才能正常运行:

这里介绍一个手机软件—AIDE,相当于手机上的Java开发环境,可以直接编辑运行Java程序,还可以进行简单的安卓开发,下面我简单介绍一下这个软件:

1.首先,安装AIDE集成开发环境,这个也直接在手机商店中搜索就行,如下:

2.安装完成后,我们直接新建Java项目,之后就可以直接编写Java程序了,效果如下,这里支持语法提示、检查和自动补全功能, 使用起来非常不错:

点击运行这个Java程序,效果如下:

3.这里也可以编写一些简单的安卓程序,效果如下,而且官方自带有教学入门实例,非常适合初学者学习和掌握:

程序运行效果如下:

这里介绍一个手机软件—QPython3,相当于手机上的Python3集成开发环境,自带有Python3解释器,支持命令行和文本编程两种方式,下面我简单介绍一下这个软件:

1.首先,安装QPython3,这个与上面的软件一样,直接在手机应用中搜索就行,如下:

2.安装成功后,打开这个软件,点击主界面中的终端,就可以直接进入到python命令行,一行命令一行输出,效果如下:

3.这里你也可以先使用QEdit编辑器编辑Python程序,然后直接点击运行,效果是一样的,如下:

这里介绍一个手机软件—w3cschool编程学院,可以直接在线编辑和运行Html代码,使用起来非常方便,下面我简单介绍一下这个软件:

1.首先,下载安装w3cschool编程学院,这个也直接搜索就行,如下:

2.安装成功后,打开这个软件,直接搜索Html,就可以找到所有的Html资料和教程,这里我们点击进去,就可以直接查看所有资料,如下:

每一章节都有详细介绍和示例,非常适合初学者学习;

3.这里你也可以在线编辑运行Html代码,非常方便,效果如下:

这里介绍两个手机软件—Termux和Termius,这两个软件都相当于手机上的Linux SSH客户端,可以直接远程连接Linux,执行相关操作,下面我简单介绍一下这2个软件:

1.首先,安装Termux,这个直接搜索就行,如下,不大,直接下载安装:

2.安装完成后,打开这个软件,我们就可以直接执行Bash命令,效果如下:

3.如果你需要远程连接Linux的话,可以先安装ssh命令,之后就可以远程登录Linux服务器了,效果如下:

1.首先,安装Termius,这个也直接搜索就行,如下:

2.打开这个软件,默认会有一个本地的终端连接,可以执行简单的shell操作,如下:

3.这里你也可以新建ssh连接,远程连接Linux系统,非常方便,使用起来也很不错:

至此,这里就介绍完了这5类手机编程软件,感兴趣的朋友可以在自己手机上下载尝试一下,偶尔作为编程学习来说,还是非常不错的,但是实际开发学习的话,建议还是在电脑上进行,调试运行程序更方便,希望以上分享的内容能对你有所帮助吧,也欢迎大家留言交流。

Android的底层是Linux,理论上Android是具有编程完备性的,只不过Android在Linux kennel上加了一层Android运行环境,这一层环境是虚拟机,再加上Android本质上是在移动平台,编程功能就削弱了。iOS的本质是Unix,最早的iPhone甚至是直接运行的Mac OS X,因此iOS同样也具有编程完备性。

不过在正式回答这个问题之前我不得不说一句,倘若你是想把编程作为一个兴趣,你当然可以在手机上写写代码,反过来你要把编程作为以后吃饭的事业,或者说想要在编程方面取得一个比较大的成就,你还是应该选择用电脑编程。

这一款工具你一定要熟悉,这是Android上的一款神器。

Termux可以帮助你在Android上搭建完备的Linux环境,你可以理解为类似Windows上的Cygwin,它并非是Linux上的虚拟机环境,并且安装包只有几百KB而已。

你可以安装python环境,甚至安装Linux上的很多包,这款工具还支持ssh、ftp等众多连接方式。

C4droid是Android平台伤的一款C/C++集成开发环境,默认支持tcc编译器,可以选择安装gcc插件,这款编程工具可以用SDL简单媒体层库,也支持qt开发,甚至还可以开发native Android app开发,功能还是比较全的。

网络贴吧有一些用户发布了比较新的版本,默认使用g++编译器。

这是Android上功能强大、但是使用简单的python集成开发环境,python这门编程语言的缺点是怎么写都行,不过优点也是怎么写也可以,随着人工智能的爆发,python已经成为了一门非常重要的编程语言。

全功能的终端模拟器,pip包管理器,内置了C/C++众多库,用起来非常方便,顺便提醒一下的是,这款软件的作者跟C4droid是同一个。

这个功能还是比较强大的,可以在Android系统上进行app和 游戏 开发,也是一个具有编写、编译、调试的全功能的集成开发环境。

这款集成开发环境支持错误检查、代码重构、智能代码导航、生成apk文件,并且可以直接将生成的apk文件进行安装调试。AIDE还完全兼容eclipse项目,你只需要把代码复制到你的AIDE中,就可以继续写代码。

AIDE有两个版本,一个是面向本地开发的AIDE常规版本,一个是面向网络开发的AIDE Web,主要支持的编程语言有C++/Java/JavaScript等。

当然在iOS平台上也有C/C++集成开发环境,Pico Compiler等编程工具,不过目前在编程工具方面Android平台更加开放,一些开发者也更愿意放一些这些工具上去。不过还是那句话,如果你想学好编程,建议还是到PC上安装相应的开发环境操作,屏幕更大、IDE功能也更多更全,电脑键盘敲代码也比手机上小键盘敲代码舒服得多。

这里介绍几个可以在手机上编程的软件,感兴趣的可以下载一下,试着操作一下:

1.Python:这里推荐一个软件—QPython3,集成了Python3解释器、Console控制台和QEdit编辑器,可以直接编辑运行python代码,也可以进行简单的安卓开发,下面我简单介绍一下这个软件的安装和使用:

安装的话,直接在手机应用中搜索就行,如下:

图1

❺ 如何在手机上玩编程

这里介绍3种可以在手机上编程的app,分别是c语言编译器(c语言)、AIDE集成开发环境(java)、QPython3(python),都不需要root,可以直接编写程序并运行,下面我简单介绍一下这3个app的安装和简单使用,主要内容如下:

C语言编译器:这是一个很小巧的c编译器,大概13兆左右,界面简洁、朴素,使用起来很简单,下面我介绍一下这个app的安装和简单使用:

1.下载安装,这里以我的vivo手机为例,直接打开“应用商店”,搜索“C语言编译器”,如下,直接点击下载安装:

测试代码如下,这里编写了2个函数,分别是2数之和和2数只差,很简单:

程序运行截图如下,需要先输入2个数,才能正常运行:

AIDE集成开发环境:这个主要是用来写java代码(创建工程、写小游戏等),当然也可以写c++代码,只不过需要安装对应的插件才行,自带自动补全的功能,界面干净、整洁,使用起来不错,下面我介绍一下这个app的安装和简单使用:

1.下载安装,这直接在应用商店里搜素“AIDE”就行,直接下载安装,如下:

这里测试一下,主要代码如下,官方自带的例子:

程序运行截图如下:

QPython3:这个见名思意,主要用来在手机上写python3代码,使用起来也不错,下面我介绍一下这个app的安装和简单使用:

1.下载安装,这里直接在应用商店里搜索“QPython3”就行,直接下载安装,如下:

主界面如下,主要分为“终端”、“编辑器”、“程序”、“QPYPI”、“课程”、“社区”这6个模块,终端类似IDLE,编辑器类似记事本,QPYPI是第三方包和工具,程序存储官方自带的示例,课程是一些教学案例:

这里测试一下官方自带的例子—speaky.py,在“程序”这个模块下,代码如下:

点击运行按钮,程序运行截图如下:

至此,这3个app都介绍完毕。总的来说,使用起来都不错,各有各的功能,当然,还有许多其他的app也可以在手机上进行编程,像c4droid(c/c++),termux(高级终端,类似linux)等,这里我就不详细介绍了,感兴趣的可以在网上搜索一下,有相关教程和示例可供参考,希望以上分享的内容能对你有所帮助吧。

❻ C语言简单行编辑器

/*
c语言程序设计 简单的行编辑器
【要求】
(1) 设置一个简单的行编辑器,每行以回车结束
(2) 数据以文件形式存储
(3) 编辑器具有查找、替换、修改数据的功能

【备注】完全原创,编写时间:2010-7-13。请把所有的注释信息提取出来就可以写程序设计报告。
*/
#include /*标准文件流操作,这里使用了fopen/fclose/fprintf/printf/scanf/gets函数*/
#include /*标准系统库,这里使用了malloc/free/exit*/
#include /*标准字符串库,这里使用strlen/strcpy/memcpy/memset*/
#define szLINE 252 /*定义一行字符串最长为252字节*/
#define CMDS 12 /*定义12个标准行编辑命令*/

/*采用链表存储文本*/
typedef struct LINE {
char text[szLINE]; /*文本内容*/
struct LINE * next; /*链表指针*/
} L;

/*简写无类型整数*/
typedef unsigned int U;

/*定义12个行编辑命令的标准格式*/
typedef void (*FUNC)(L **, char*);

/*定义12个标准行编辑命令的关键字*/
char keywords[CMDS][8]={
"quit", "help", "load", "save",
"view", "count", "append", "insert",
"erase", "edit", "lookup", "replace"
};/*end keywords*/

/*清空链表操作*/
void clear(L ** lines)
{
L * a = 0, * b = 0;
if(!lines) return ;
a = *lines;
while(a) {
b = a->next ;
free(a);
a = b;
}/*end while*/
*lines = 0;
}/*end clear*/

/*在链表中根据行号index调出指定的行*/
L * locate(L * lines, U index)
{
L * t = lines; U i = 0;
if(!t) return 0;
if(index == 0) return t;
for(i = 0; i < index; i++) {
t = t->next;
if(!t) return 0;
}/*next*/
return t;
}/*end locate*/

/*浏览命令,如果f存在则以带行号格式保存文件(如果f==stdout则打印到屏幕上),
浏览范围为from到to(行号)。view(lines, 0, 0, 0)表示统计已加载到内存的文本行数量*/
int view(L * lines, FILE * f, U from, U to)
{
L * t = lines; U index = 0;
while(t) {
index ++;
if(f && index >= from && index text);
t = t->next;
}/*end while*/
return index;
}/*end view*/

/*在当前文档中根据关键字进行搜索,并将搜索结果打印出来*/
void lookup(L * lines, char * string)
{
L * t = 0; U index = 0;
if(!string) return ;
t = lines;
while(t) {
index ++;
if(strstr(t->text , string)) printf("%d: %s", index, t->text );
t=t->next;
}/*end while*/
}/*end lookup*/

/*在一行文本中执行替换命令,把所有关键字替换为新关键字*/
void rpc(char * string, char * key, char * replacement)
{
char fine[szLINE], * x = 0, * y = 0, * z = 0;
int la = 0, lb = 0, r = 0;
if(!string || !key || !replacement) return ;
memset(fine, 0, szLINE);
x = string; y = fine;
/*首先记录新旧关键字长度*/
la = strlen(key);
lb = strlen(replacement);
do {
/*用指针逐个比较*/
r = memcmp(x, key, la);
if(r) {/*如果关键字不匹配则复制字符串*/
*y = *x;
x++; y++;
}else{/*如果关键字匹配则替换字符串*/
memcpy(y, replacement, lb);
x += la; y += lb;
}/*end if*/
}while(*x);
/*将替换完成的结果返回*/
memcpy(string, fine, szLINE);
}/*end rpc*/

/*全文替换*/
void replace(L * lines, char * string, char * replacement)
{
L * t = 0; U index = 0;
if(!string || !lines || !replacement) return ;
t = lines;
while(t) {
index ++;
if(strstr(t->text , string)) {
printf("[BEFORE] %d: %s", index, t->text );
rpc(t->text, string, replacement);
printf("[AFTER ] %d: %s", index, t->text );
}/*end if*/
t=t->next;
}/*end while*/
}/*end replace*/

/*根据行号插入一行新文本,如果行号小于零则将文本追加至链表尾*/
void insert(L ** lines, char * line, int index)
{
L * t = 0, * s = 0; int i = 0;
if(!lines || !line) return ;
/*首先为新文本分配一个链表节点*/
t = (L*)malloc(sizeof(L));
memset(t, 0, sizeof(L));
strcpy(t->text , line);
if(index == 0 || !*lines) {/*如果链表为空则以新节点为起点定义链表*/
t->next = *lines;
*lines = t;
return ;
}/*end if*/
s = *lines;
if(index > 0)/*如果行号为正整数,则将链表指针指向行号之前*/
for(i = 0; i < index-2; i++) {
if(!s->next ) break;
s = s->next ;
}/*next*/
else/*否则链表指针指向表尾*/
while(s->next ) s = s->next ;
/*end if*/
/*完成链表插入操作*/
if(s->next ) t->next = s->next ;
s->next = t;
}/*end insert*/

/*根据行号删除一行文本*/
void erase(L ** lines, U index)
{
L * a = 0, * b = 0, * c = 0;
if(!lines) return ;
/*index -1 表示目标行,index -2表示目标行的前一行*/
a = locate(*lines, index-2);
b = locate(*lines, index-1);
if(!b) return ;
if(a) /*如果前一行存在则删除目标行*/
a->next = b->next;
else/*否则表示表头删除*/
*lines = b->next ;
/*end if*/
/*释放内存*/
free(b);
}/*end erase*/

/*根据行号和新录入文本替换原有行*/
void edit(L * lines, char * line, U index)
{
L * t = locate(lines, index-1);
if(!t) return ;
if(line) strcpy(t->text , line);
}/*end edit*/

/*将文件整个装入链表*/
int load(L ** lines, char * file)
{
FILE * f = 0; char line[szLINE]="";
int total = 0;
if(!lines || !file) return 0;
clear(lines);/*首先清空链表*/
/*打开文件*/
f = fopen(file, "r");
if(!f) {
fprintf(stderr, "%s is bad.\n", file);
return 0;
}/*end if*/
/*逐行读入内存并插入表尾*/
while(!feof(f)) {
memset(line, 0, szLINE);
fgets(line, szLINE - 1, f);
insert(lines, line, -1);
total ++;
}/*end while*/
fclose(f);
fprintf(stderr, "[%s] %d lines loaded.\n", file, total);
/*返回总行数*/
return total;
}/*end load*/

/*将链表保存到指定的文本文件*/
int save(L * lines, char * file)
{
FILE * f = 0; L * t = lines;
int total = 0;
if(!lines || !file) return 0;
/*打开文件*/
f = fopen(file, "w");
if(!f) {
fprintf(stderr, "%s is bad.\n", file);
return 0;
}/*end if*/
t = lines;
while(t) {/*逐个文件写入*/
fprintf(f, "%s", t->text );
t = t->next ;
total ++;
}/*end while*/
fclose(f);
fprintf(stderr, "[%s] %d lines saved.\n", file, total);
/*返回总行数*/
return total;
}/*save*/

/*执行加载文本文件命令*/
void exec_load(L ** lines, char * line)
{
char cmd[szLINE] = "", file[szLINE] = "";
/*分析命令行,提取文件名*/
sscanf(line, "%s %s", cmd, file);
/*执行加载命令*/
load(lines, file);
}/*end exec_load*/

/*执行文本保存命令*/
void exec_save(L ** lines, char * line)
{
char cmd[szLINE] = "", file[szLINE] = "";
/*分析命令行,提取文件名*/
sscanf(line, "%s %s", cmd, file);
/*执行保存命令*/
save(*lines, file);
}/*end exec_save*/

/*执行文本查看命令*/
void exec_view(L ** lines, char * line)
{
char cmd[szLINE] = ""; U from = 0, to = 0;
/*分析命令行,提取目标要查看的起始行号和终止行号*/
sscanf(line, "%s %u %u", cmd, &from, &to);
/*如果起始行号和终止行号大小相反,则根据起始行号显示一页*/
if(to < from) to = from + 24;
/*执行查看命令*/
view(*lines, stdout, from, to);
}/*end exec_view*/

/*执行行数统计命令*/
void exec_count(L ** lines, char * line)
{
fprintf(stderr, "%d lines in mem.\n", view(*lines, 0, 0, 0));
}/*end count*/

/*执行文本追加命令*/
void exec_append(L ** lines, char * line)
{
char text[szLINE] = "";
/*在命令之后另起新行用于录入文本*/
gets(text); strcat(text, "\n");
/*执行文本追加命令*/
insert(lines, text, -1);
}/*end exec_append*/

/*执行文本插入命令*/
void exec_insert(L ** lines, char * line)
{
char cmd[szLINE] = "", text[szLINE] = ""; U index = 0;
/*从命令行提取目标插入点的行号*/
sscanf(line, "%s %d", cmd, &index);
/*在命令之后另起新行用于录入文本*/
gets(text); strcat(text, "\n");
/*执行文本插入命令*/
insert(lines, text, index);
}/*end insert*/

/*执行文本删除命令*/
void exec_erase(L ** lines, char * line)
{
char cmd[szLINE] = ""; U index = 0;
/*从命令行提取目标行号*/
sscanf(line, "%s %d", cmd, &index);
/*执行文本删除命令*/
erase(lines, index);
}/*end erase*/

/*执行文本编辑命令*/
void exec_edit(L ** lines, char * line)
{
char cmd[szLINE] = "", text[szLINE] = ""; U index = 0;
/*从命令行提取目标行号*/
sscanf(line, "%s %d", cmd, &index);
/*在命令之后另起新行用于录入文本*/
gets(text); strcat(text, "\n");
/*执行文本编辑命令*/
edit(*lines, text, index);
}/*end edit*/

/*执行文本检索命令*/
void exec_lookup(L ** lines, char * line)
{
char cmd[szLINE] = "", text[szLINE] = "";
/*从命令行提取关键字*/
sscanf(line, "%s %s", cmd, text);
/*执行文本检索命令*/
lookup(*lines, text);
}/*end lookup*/

/*执行在线帮助命令*/
void exec_help(L ** lines, char * line)
{printf("\tcommands:\n\thelp\n\tquit\n\
\tload [file.txt]\n\
\tsave [file.txt]\n\
\tview [from line] [to line]\n\
\tcount\n\
\tappend [return + text]\n\
\tinsert [line number] [return + text]\n\
\terase [line number]\n\
\tedit [line number] [return + text]\n\
\tlookup [text]\n\
\treplace [keyword] [replacement]\n");
}/*end help*/

/*执行文本替换命令*/
void exec_replace(L ** lines, char * line)
{
char cmd[szLINE] = "", text[szLINE] = "", key[szLINE]="";
/*从命令行提取新旧关键字*/
sscanf(line, "%s %s %s", cmd, key, text);
/*执行文本替换命令*/
replace(*lines, key, text);
}/*end replace*/

/*执行退出命令*/
void exec_quit(L ** lines, char * line){exit(0);}

/*行编辑命令执行函数,顺序与关键字表keywords一一对应*/
FUNC functions[CMDS]={
exec_quit, exec_help, exec_load, exec_save,
exec_view, exec_count, exec_append, exec_insert,
exec_erase, exec_edit, exec_lookup, exec_replace
};/*end functions*/

/*从行输入中识别关键字,相当于parse*/
int identified(char * command, char * key)
{
int ln = 0, r = 0;
if(!command || !key) return 0;
ln = strlen(key);
r = memcmp(command, key, ln);
return r==0;
}/*end identified*/

/*主函数*/
int main(int argc, char * argv[])
{
L * lines = 0; char line[szLINE]=""; int a = 0, b = 0, i = 0; FUNC fun = 0;
/*打印欢迎信息*/
printf("Welcome to LINE EDITOR V1.0\nCommand [help] is available.\n");
/*如果带主函数带参数,则可以用于打印帮助,或者根据该参数加载一个文本文件*/
if(argc > 1) {
a = strcmp(argv[1], "--help");
b = strcmp(argv[1], "/h");
if(a && b)
load(&lines, argv[1]);
else{
exec_help(0, 0);
return 0;
}/*end if*/
}/*end if*/
/*主命令循环*/
for(;;) {
/*命令提示符中间是表示当前载入的文档总共有多少行的意思*/
printf("\n