导航:首页 > 编程语言 > kc语言编程到app

kc语言编程到app

发布时间:2022-07-06 23:23:02

1. 有没有做计算机c语言编程题的app

http://noi.openjudge.cn/
可以在这里做

2. 安卓app主要用什么编程语言的

安卓App用java和Kotlin作为开发语言。

Google IO 2017宣布了 Kotlin 会成为 android 官方开发语言。在Kotlin 语言出现之前,几乎所有的安卓应用程序都是使用Java语言编写的。

(2)kc语言编程到app扩展阅读

Google在今年I/O2017开发者大会中宣布,正式把Kotlin纳入Android程序的一级开发语言(First-classlanguage),并与开发团队JetBrains合组非牟利基金会推广Kotlin。据多间外国媒体报导,这是GoogleI/O开发者大会中引来最多欢呼声的消息。

Kotlin将于AndroidStudio3.0得到支持,JetBrians指开发者不用再安装额外元件或担心兼容问题。Kotlin能与Java互通,但拥有Java不支持的功能。Google相信利用Kotlin可使Android程序开发更快捷有趣,但他们补充,此举绝非取代Java和C++的官方支持。

3. 开发android app需要用到什么语言

主要有以下方式,基于a d k的java编程,基于ADK的C语言

4. 学C语言现在最好用的编程软件

GNU编译器套装
开发 The GNU Project
最新版本 4.4.2 / 2009-10-15(2个月前)
操作系统 跨平台
类型 编译器
许可协议 GPL
网站 gcc.gnu.org

GCC(GNU Compiler Collection,GNU编译器套装),是一套由GNU开发的编程语言编译器。它是一套以GPL及LGPL许可证所发行的自由软件,也是GNU计划的关键部分,亦是自由的类Unix及苹果计算机Mac OS X 操作系统的标准编译器。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。

GCC原名为GNU C语言编译器(GNU C Compiler),因为它原本只能处理C语言。GCC很快地扩展,变得可处理C++。之后也变得可处理Fortran、Pascal、Objective-C、Java,以及Ada与其他语言。
目录
[隐藏]

* 1 概观
* 2 目前支持的语言
o 2.1 内嵌OpenMP支持
* 3 支持的处理器架构
* 4 结构
o 4.1 前端接口
o 4.2 中介接口
o 4.3 后端接口
* 5 替GCC程序除错
* 6 参考书目及注释
* 7 参阅
* 8 更多阅读
* 9 外部链接

[编辑] 概观

GCC是由理乍得·马修·斯托曼在1985年开始的。他首先扩增一个旧有的编译器,使它能编译C,这个编译器一开始是以Pastel语言所写的。Pastel是一个不可移植的Pascal语言特殊版,这个编译器也只能编译Pastel语言。为了让自由软件有一个编译器,后来此编译器由斯托曼和Len Tower在1987年[1]以C语言重写[2]并成为GNU项目的编译器。GCC的建立者由自由软件基金会直接管理[3]。

在1997年,一群不满GCC缓慢且封闭的创作环境者,组织了一个名为EGCS《Experimental/Enhanced GNU Compiler System》的项目,此项目汇整了数项实验性的分支进入某个GCC项目的分支中。EGCS比起GCC的建构环境更有活力,且EGCS最终也在1999年四月成为GCC的官方版本。

GCC目前由世界各地不同的数个程序设计师小组维护。它是移植到中央处理器架构以及操作系统最多的编译器。

由于GCC已成为GNU系统的官方编译器(包括GNU/Linux家族),它也成为编译与建立其他操作系统的主要编译器,包括BSD家族、Mac OS X、NeXTSTEP与BeOS。

GCC通常是跨平台软件的编译器首选。有别于一般局限于特定系统与运行环境的编译器,GCC在所有平台上都使用同一个前端处理程序,产生一样的中介码,因此此中介码在各个其他平台上使用GCC编译,有很大的机会可得到正确无误的输出程序。
[编辑] 目前支持的语言

以2006年5月24日释出的4.1.1版为准,本编译器版本可处理下列语言:

* Ada 《GNAT》
* C 《GCC》
* C++(G++)
* Fortran 《Fortran 77: G77,Fortran 90: GFORTRAN》

* Java 《编译器:GCJ;解释器:GIJ》
* Objective-C 《GOBJC》
* Objective-C++

先前版本纳入的CHILL前端由于缺乏维护而被废弃。

Fortran前端在4.0版之前是G77,此前端仅支持Fortran 77。在本版本中,G77被废弃而采用更新的GFortran,因为此前端支持Fortran 95。

下列前端依然存在:

* Mola-2
* Mola-3
* Pascal
* PL/I

* D语言
* Mercury
* VHDL

[编辑] 内嵌OpenMP支持

OpenMP是一种跨语言的对称多处理器(SMP)多线程并行程序的编程工具,也非常适合当今越来越流行的单CPU多核硬件环境,因此从gcc4.2开始,OpenMP成为其内嵌支持的并行编程规范,可以直接编译内嵌 OpenMP语句的C/C++/Fortran95的源代码。gcc4.2之前如果想在C/C++/Fortran中嵌入OpenMP语句的话,需要额外安装库和预处理器才能识别和正确处理这些语句。

* gcc 4.2.0开始支持OpenMP v2.5
* gcc 4.4.0开始支持OpenMP v2.5及v3.0

参见GNU的GOMP计划
[编辑] 支持的处理器架构

GCC目前支持下列处理器架构(以4.1版为准):

* Alpha
* ARM
* Atmel AVR
* Blackfin
* H8/300
* IA-32(x86)与x86-64
* IA-64例如:Itanium

* MorphoSys家族
* Motorola 68000
* Motorola 88000
* MIPS
* PA-RISC
* PDP-11
* PowerPC

* System/370,System/390
* SuperH
* HC12
* SPARC
* VAX
* Renesas R8C/M16C/M32C家族

较不知名的处理器架构也在官方释出版本中支持:

* A29K
* ARC
* C4x
* CRIS
* D30V
* DSP16xx
* FR-30
* FR-V

* Intel i960
* IP2000
* M32R
* 68HC11
* MCORE
* MMIX

* MN10200
* MN10300
* NS32K
* ROMP
* Stormy16
* V850
* Xtensa

由FSF个别维护的GCC处理器架构:

* D10V
* MicroBlaze

* PDP-10
* MSP430

* Z8000

当GCC需要移植到一个新平台上,通常使用此平台固有的语言来撰写其初始阶段。
[编辑] 结构

GCC的外部接口长得像一个标准的Unix编译器。用户在命令行下键入gcc之程序名,以及一些命令参数,以便决定每个输入文件使用的个别语言编译器,并为输出代码使用适合此硬件平台的汇编语言编译器,并且选择性地运行连接器以制造可运行的程序。

每个语言编译器都是独立程序,此程序可处理输入的源代码,并输出汇编语言码。全部的语言编译器都拥有共通的中介架构:一个前端解析符合此语言的源代码,并产生一抽象语法树,以及一翻译此语法树成为GCC的寄存器转换语言《RTL》的后端。编译器优化与静态代码解析技术(例如FORTIFY_SOURCE[1],一个试图发现缓存溢出《buffer overflow》的编译器)在此阶段应用于代码上。最后,适用于此硬件架构的汇编语言代码以Jack Davidson与Chris Fraser发明的算法产出。

几乎全部的GCC都由C写成,除了Ada前端大部分以Ada写成。
[编辑] 前端接口

前端的功能在于产生一个可让后端处理之语法树。此语法解析器是手写之递回语法解析器。

直到最近,程序的语法树结构尚无法与欲产出的处理器架构脱钩。而语法树的规则有时在不同的语言前端也不一样,有些前端会提供它们特别的语法树规则。

在2005年,两种与语言脱钩的新型态语法树纳入GCC中。它们称为GENERIC与GIMPLE。语法解析变成产生与语言相关的暂时语法树,再将它们转成GENERIC。之后再使用"gimplifier"技术降低GENERIC的复杂结构,成为一较简单的静态唯一形式(Static Single Assignment form,SSA)基础的GIMPLE形式。此形式是一个与语言和处理器架构脱钩的全局优化通用语言,适用于大多数的现代编程语言。
[编辑] 中介接口

一般编译器作者会将语法树的优化放在前端,但其实此步骤并不看语言的种类而有不同,且不需要用到语法解析器。因此GCC作者们将此步骤归入通称为中介阶段的部分里。此类的优化包括消解死码、消解重复计算与全局数值重编码等。许多优化技巧也正在实现中。
[编辑] 后端接口

GCC后端的行为因不同的前处理器宏和特定架构的功能而不同,例如不同的字符尺寸、调用方式与大小尾序等。后端接口的前半部利用这些消息决定其RTL的生成形式,因此虽然GCC的RTL理论上不受处理器影响,但在此阶段其抽象指令已被转换成目标架构的格式。

GCC的优化技巧依其释出版本而有很大不同,但都包含了标准的优化算法,例如循环优化、线程跳跃、共通程序子句消减、指令调度等等。而RTL的优化由于可用的情形较少,且缺乏较高级的信息,因此比较起近来增加的GIMPLE语法树形式[2],便显得比较不重要。

后端经由一重读取步骤后,利用描述目标处理器的指令集时所取得的信息,将抽象寄存器替换成处理器的真实寄存器。此阶段非常复杂,因为它必须关照所有GCC可移植平台的处理器指令集的规格与技术细节。

后端的最后步骤相当公式化,仅仅将前一阶段得到的汇编语言码借由简单的副函数转换其寄存器与存储器位置成相对应的机器码。
[编辑] 替GCC程序除错

为GCC除错的首选工具当然是GNU除错器。其他特殊用途的除错工具是Valgrind,用以发现存储器泄漏 (Memory leak)。而GNU测量器(gprof)可以得知程序中某些函数花费多少时间,以及其调用频率;此功能需要用户在编译时选定测量《profiling》选项。
[编辑] 参考书目及注释

* Richard M. Stallman:Using and Porting the GNU Compiler Collection, Free Software Foundation,ISBN 0-595-10035-X
* Richard M. Stallman: Using Gcc: The Gnu Compiler Collection Reference, Free Software Foundation, ISBN 1-882114-39-6
* Brian J. Gough:An Introction to GCC, Network Theory Ltd., ISBN 0-9541617-9-3

1. ^ Tower, Leonard (1987) "GNU C编译器beta测试版释出" comp.lang.misc USENET新闻组;参阅http://gcc.gnu.org/releases.html#timeline
2. ^ Stallman, Richard M.(1986年2月1日).GNU状态.GNU的公告版,1(1).自由软件基金会.
3. ^ Stallman, Richard M. (2001) "GCC贡献者名单"于使用及移植GCC 2.95版(Cambridge, Mass.: Free Software Foundation)

[编辑] 参阅
[[File:|36x32px|自由软件主题]] 自由软件主题首页

GCC目前包含了Boehm GC,一个为C/C++ 所设计的垃圾回收器。

* distcc - 为分布式编译所设计的软件,以GCC为协同软件。
* LLVM - 低层虚拟机编译器架构。
* MinGW - 将GNU开发工具移植到Win32平台下的计划
* Cygwin - 在Windows上运行GNU程序的模拟软件。
* GCC Summit
* OpenWatcom - 另一个开放原码的C++/Fortran编译器。
* Code Sourcery - 一个GCC顾问公司。
* ggcc - 全球化GCC项目。

[编辑] 更多阅读

* Arthur Griffith, GCC: The Complete Reference. McGrawHill/Osborne. ISBN 0-07-222405-3.
* Kerner, Sean Michael.Open Source GCC 4.0: Older, Faster,internetnews.com,2005年4月22日.
* Kerner, Sean Michael.New GCC Heavy on Optimization,internetnews.com,2006年3月2日.

[编辑] 外部链接

* GCC官方网站
* GCC Forum - 由Nabble维持,整理所有gcc通信讨论串,并集成入一个可搜索接口中。

5. c语言设计k

10月25日 14:29 一种计算机基本编程语言。
第一章: C语言概论

C语言的发展过程

C语言是在70年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合着了着名的“THE C PROGRAMMING LANGUAGE”一书。通常简称为《K&R》,也有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准学会在此基础上制定了一个C 语言标准,于一九八三年发表。通常称之为ANSI C。

当代最优秀的程序设计语言

早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。成为当代最优秀的程序设计语言之一。

C语言的特点

C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。

C语言版本

目前最流行的C语言有以下几种:
·Microsoft C 或称 MS C
·Borland Turbo C 或称 Turbo C
·AT&T C
这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。

面向对象的程序设计语言

在C的基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。 C++进一步扩充和完善了C语言,成为一种面向 对象的程序设计语言。C++目前流行的最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++ 2.0。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。

C和C++

但是,C是C++的基础,C++语言和C语言在很多方面是兼容的。因此,掌握了C语言,再进一步学习C++就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目的。

C源程序的结构特点

为了说明C语言源程序结构的特点,先看以下几个程序。这几个程 序由简到难,表现了C语言源程序在组成结构上的特点。虽然有关内容还未介绍,但可从这些例子中了解到组成一个C源程序的基本部分和书写格式。main()
{
printf("c语言世界www.vcok.com,您好!\n");
}
main是主函数的函数名,表示这是一个主函数。每一个C源程序都必须有,且只能有一个主函数(main函数)。函数调用语句,printf函数的功能是把要输出的内容送到显示器去显示。printf函数是一个由系统定义的标准函数,可在程序中直接调用。
#include
#include
main()
{
double x,s;
printf("input number:\n");
scanf("%lf",&x);
s=sin(x);
printf("sine of %lf is %lf\n",x,s);
}

每行注释

include称为文件包含命令扩展名为.h的文件也称为头文件或首部文件
定义两个实数变量,以被后面程序使用
显示提示信息
从键盘获得一个实数x
求x的正弦,并把它赋给变量s
显示程序运算结果
main函数结束

程序的功能是从键盘输入一个数x,求x的正弦值,然后输出结果。在main()之前的两行称为预处理命令(详见后面)。预处理命令还有其它几种,这里的include 称为文件包含命令,其意义是把尖括号""或引号<>内指定的文件包含到本程序来,成为本程序的一部分。被包含的文件通常是由系统提供的,其扩展名为.h。因此也称为头文件或首部文件。C语言的头文件中包括了各个标准库函数的函数原型。因此,凡是在程序中调用一个库函数时,都必须包含该函数原型所在的头文件。在本例中,使用了三个库函数:输入函数scanf,正弦函数sin,输出函数printf。sin函数是数学函数,其头文件为math.h文件,因此在程序的主函数前用include命令包含了math.h。scanf和printf是标准输入输出函数,其头文件为stdio.h,在主函数前也用include命令包含了stdio.h文件。

需要说明的是,C语言规定对scanf和printf这两个函数可以省去对其头文件的包含命令。所以在本例中也可以删去第二行的包含命令#include。同样,在例1.1中使用了printf函数,也省略了包含命令。

在例题中的主函数体中又分为两部分,一部分为说明部分,另一部分执行部分。说明是指变量的类型说明。例题中未使用任何变量,因此无说明部分。C语言规定,源程序中所有用到的变量都必须先说明,后使用,否则将会出错。这一点是编译型高级程序设计语言的一个特点,与解释型的BASIC语言是不同的。说明部分是C源程序结构中很重要的组成部分。本例中使用了两个变量x,s,用来表示输入的自变量和sin函数值。由于sin函数要求这两个量必须是双精度浮点型,故用类型说明符double来说明这两个变量。说明部分后的四行为执行部分或称为执行语句部分,用以完成程序的功能。执行部分的第一行是输出语句,调用printf函数在显示器上输出提示字符串,请操作人员输入自变量x的值。第二行为输入语句,调用scanf函数,接受键盘上输入的数并存入变量x中。第三行是调用sin函数并把函数值送到变量s中。第四行是用printf 函数输出变量s的值,即x的正弦值。程序结束。

printf("input number:\n");
scanf("%lf",'C10F10&x);
s=sin(x);
printf("sine of %lf is %lf\n",'C10F10x,s);
运行本程序时,首先在显示器屏幕上给出提示串input number,这是由执行部分的第一行完成的。用户在提示下从键盘上键入某一数,如5,按下回车键,接着在屏幕上给出计算结果。

输入和输出函数

在前两个例子中用到了输入和输出函数scanf和 printf,在第三章中我们要详细介绍。这里我们先简单介绍一下它们的格式,以便下面使用。scanf和 printf这两个函数分别称为格式输入函数和格式输出函数。其意义是按指定的格式输入输出值。因此,这两个函数在括号中的参数表都由以下两部分组成: “格式控制串”,参数表 格式控制串是一个字符串,必须用双引号括起来,它表示了输入输出量的数据类型。各种类型的格式表示法可参阅第三章。在printf函数中还可以在格式控制串内出现非格式控制字符,这时在显示屏幕上将原文照印。参数表中给出了输入或输出的量。当有多个量时,用逗号间隔。例如:
printf("sine of %lf is %lf\n",x,s);
其中%lf为格式字符,表示按双精度浮点数处理。它在格式串中两次现,对应了x和s两个变量。其余字符为非格式字符则照原样输出在屏幕上
int max(int a,int b);
main(){
int x,y,z;
printf("input two numbers:\n");scanf("%d%d",&x,&y);
z=max(x,y);
printf("maxmum=%d",z);
}
int max(int a,int b){
if(a>b)return a;else return b;
}
此函数的功能是输入两个整数,输出其中的大数。
/*函数说明*/
/*主函数*/
/*变量说明*/
/*输入x,y值*/
/*调用max函数*/
/*输出*/
/*定义max函数*/
/*把结果返回主调函数*/
上面例中程序的功能是由用户输入两个整数,程序执行后输出其中较大的数。本程序由两个函数组成,主函数和max 函数。函数之间是并列关系。可从主函数中调用其它函数。max 函数的功能是比较两个数,然后把较大的数返回给主函数。max 函数是一个用户自定义函数。因此在主函数中要给出说明(程序第三行)。可见,在程序的说明部分中,不仅可以有变量说明,还可以有函数说明。关于函数的详细内容将在第五章介绍。在程序的每行后用/*和*/括起来的内容为注释部分,程序不执行注释部分。

上例中程序的执行过程是,首先在屏幕上显示提示串,请用户输入两个数,回车后由scanf函数语句接收这两个数送入变量x,y中,然后调用max函数,并把x,y 的值传送给max函数的参数a,b。在max函数中比较a,b的大小,把大者返回给主函数的变量z,最后在屏幕上输出z的值。

C源程序的结构特点

1.一个C语言源程序可以由一个或多个源文件组成。

2.每个源文件可由一个或多个函数组成。

3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。

4.源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。

5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。

6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

书写程序时应遵循的规则

从书写清晰,便于阅读,理解,维护的角度出发,在书写程序时 应遵循以下规则:

1.一个说明或一个语句占一行。

2.用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。

3.低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。

C语言的字符集

字符是组成语言的最基本的元素。C语言字符集由字母,数字,空格,标点和特殊字符组成。在字符常量,字符串常量和注释中还可以使用汉字或其它可表示的图形符号。
1.字母 小写字母a~z共26个,大写字母A~Z共26个

2.数字 0~9共10个

3.空白符 空格符、制表符、换行符等统称为空白符。空白符只在字符常量和字符串常量中起作用。在其它地方出现时,只起间隔作用, 编译程序对它们忽略。因此在程序中使用空白符与否,对程序的编译不发生影响,但在程序中适当的地方使用空白符将增加程序的清晰性和可读性。

4.标点和特殊字符

C语言词汇

在C语言中使用的词汇分为六类:标识符,关键字,运算符,分隔符,常量,注释符等。

1.标识符

在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。C 规定,标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线()组成的字符串,并且其第一个字符必须是字母或下划线。

以下标识符是合法的:

a,x, 3x,BOOK 1,sum5

以下标识符是非法的:
3s 以数字开头
s*T 出现非法字符*
-3x 以减号开头
bowy-1 出现非法字符-(减号)
在使用标识符时还必须注意以下几点:
(1)标准C不限制标识符的长度,但它受各种版本的C 语言编译系统限制,同时也受到具体机器的限制。例如在某版本C 中规定标识符前八位有效,当两个标识符前八位相同时,则被认为是同一个标识符。
(2)在标识符中,大小写是有区别的。例如BOOK和book 是两个不同的标识符。
(3)标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便阅读理解,作到“顾名思义”。

2.关键字

关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键字相同。C语言的关键字分为以下几类:
(1)类型说明符
用于定义、说明变量、函数或其它数据结构的类型。如前面例题中用到的int,double等
(2)语句定义符
用于表示一个语句的功能。如例1.3中用到的if else就是条件语句的语句定义符。
(3)预处理命令字
用于表示一个预处理命令。如前面各例中用到的include。

3.运算符

C语言中含有相当丰富的运算符。运算符与变量,函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。

4.分隔符

在C语言中采用的分隔符有逗号和空格两种。逗号主要用在类型说明和函数参数表中,分隔各个变量。空格多用于语句各单词之间,作间隔符。在关键字,标识符之间必须要有一个以上的空格符作间隔, 否则将会出现语法错误,例如把int a;写成 inta;C编译器会把inta当成一个标识符处理,其结果必然出错。

5.常量

C 语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种。在第二章中将专门给予介绍。

6.注释符

C 语言的注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。在调试程序中对暂不使用的语句也可用注释符括起来,使翻译跳过不作处理,待调试结束后再去掉注释符。

揪错 ┆

6. 怎么用C语言制作APP,过程是怎样的,做过的回答

没有编程基础的话,可以从编程的入门开始学,比如basic和pascal,再转C语言,慢慢看看c++,java之类的。
如果你觉得时间有点长,推荐在线应用开发平台——应用之星,这个网站无需编程和代码,小白用户也能在线开发app。具体操作:http://tieba..com/p/4447555710

7. 什么是c语言编程软件,用c语言怎么编程

C语言是国际上广泛流行的,很有发展前途的计算机高级语言.它适合作为系统描述语言,即可用来编写系统软件,也可用来编写应用软件.

早期的操作系统等系统软件主要是用汇编语言编写的(包括 UNIX操作系统在内).由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较差.为了提高可读性和可移植性,最好改用高级语言,但一般的高级语言难以实现汇编语言的某些功能(汇编语言可以直接对硬件进行操作),例如:对内存地址的操作,位操作等).人们设想能否找到一种既具有一般高级语言特性,又具有低级语言特性的语言,集它们的优点于一身.于是,C语言就在这种情况下应运而生了.

C语言是在B语言的基础上发展起来的,它的根源可以追溯到ALGOL 60. 1960年出现的ALGOL 60是一种面向问题的高级语言,它离硬件比较远,不宜用来编写系统程序.1963年英国的剑桥大学推出了CPL(CombinedProgram- ming Language)语言.CPL语言在ALGOL 60的基础上接近了硬件一些,但规模比较大,难以实现.1967年英国剑桥大学的Matin Richards对 CPL语言作了简化,推出了BCPL(Basic Combined Programming Language)语言.1970年美国贝尔实验室的 Ken Thompson以 BCPL语言为基础,又作了进一步简化,设计出了很简单的而且很接近硬件的 B语言( 取 BCPL的第一个字母),并用 B语言写第一个UNIX操作系统,在PDP-7上实现. 1971年在PDP-11/20上实现了B语言,并写了UNIX操作系统.但B语言过于简单,功能有限.1972年至 1973年间,贝尔实验室的 D.M.Ritchie在B语言的基础上设计出了C语言(取 BCPL的第二个字母).C语言既保持了BCPL和B语言的优点(精练,接近硬件),又克服了它们的缺点(过于简单,数据无类型等). 最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的.1973年,K.Thom- pson和D.M.ritchie两人合作把UNIX的90%以上用 C改写(UNIX第5版.原来的 UNIX操作系统是1969年由美国的贝尔实验室的 K.Thompson和D.M.Ritchie开发成功的,是用汇编语言写的).

后来,C语言多次作了改进,但主要还是在贝尔实验室内部使用.直到1- 975年UNIX第6版公布后 ,C语言的突出优点才引起人们普遍注意.1977年出现了不依赖于具体机器的C语言编译文本《可移植C语言编译程序》,使C移植到其它机器时所做的工作大大简化了,这也推动了UNIX操作系统迅速地在各种机器上实现.例如,VAX,AT&T等计算机系统都相继开发了UNIX.随着 UNIX的日益广泛使用,C语言也迅速得到推广.C语言和UNIX可以说是一对孪生兄弟,在发展过程中相辅相成.1978年以后,C语言已先后移植到大,中,小,微型机上,已独立于UNIX和PDP了.现在C语言已风靡全世界,成为世界上应用最广泛的几种计算机语言之一.

以1978年发表的UNIX第7版中的C编译程序为基础,Brian W.Kernighan和 Dennis M.Ritchie(合称K&R)合着了影响深远了名着《The C Programming Lan- guage》,这本书中介绍的C语言成为后来广泛使用的C语言版本的基础,它被称为标准C.1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对C的发展和扩充 ,制定了新的标准,称为ANSI C.ANSI C比原来的标准C有了很大的发展.K&R在1988年修改了他们的经典着作《The C Progra- mming Language》 ,按照ANSI C的标准重新写了该书.1987年,ANSI C又公布了新标准--87 ANSI C .目前流行的C编译系统都是以它为基础的.
=========
上面说的87ANSI C已经老了,
现在最新的标准是C98

8. 简单c语言编程

1.相邻两个奇数都为素数的这样一对数叫双胞胎素数,输出100到200之间的所有双胞胎素数。
#include<stdio.h>
main()
{
int n=101,i,p,s=0;
while(n!=201)
{
p=1;
for(i=2;i<n;++i)
{
if(n%i==0)
{
s=0;
p=0;
n+=2;
break;
}
}
if(p==1)
{
++s;
n+=2;
}
if(s==2)
printf("%d %d\n",n-4,n-2);
}
}

2.求1000以内所有的互满数,并显示输出。所谓互满数是指:有两个数,每一个数的所有约数(除它本身以外)的和正好等于对方,则称这两个数为互满数。
#include<stdio.h>
main()
{
int n,i,j,sum=0;
for(n=2;n<1000;++n)
{
sum=0;
for(i=1;i<=n/2;++i)
{
if(n%i==0)
sum=sum+i;
}
if(sum==n)
printf("%d\n",n);
}
}

3.编程输出下面的菱形图案,要求菱形的最大宽度由键盘输入。
#include<stdio.h>
main()
{
char a[1000][1000]={' '};
int w,m,i,k;
printf("请输入菱形的最大宽度:\n");
scanf("%d",&w);
m=(w-1)/2;
for(i=0;i!=m+1;++i)
{
a[i][m+i]=a[w-i-1][m+i]='x';
a[i][m-i]=a[w-i-1][m-i]='x';
for(k=m-i+1;k<m+i;++k)
a[i][k]=a[w-i-1][k]='+';
}
for(i=0;i!=w;++i)
{
for(k=0;k!=w;++k)
printf("%c",a[i][k]);
printf("\n");
}
}

9. C语言编程

程序没有任何问题!你这是计算机二级的题吧,这个考试把基础弄明白很容易。来看程序吧!
struct st
{
char c; <----这里定义了一个字符,至少当前我们不知道定义这个字符有什么用,先往后看
char *s; <----这个数据结构是这道题的核心考点!这是个字符型指针,不仅仅如此,更重要的是字符指针S指向了一个字符数组的头部地址!也就是有一个字符数组S[ ],且指针S指向S[0],那么很明显S[0]==*S,这个就是这道题最重要的地方!到这里你应该能明白吧,要是不明白赶紧翻翻书吧。。。
};
再看这个函数:
char *f(struct st t)
{
int k=0;
while(t.s[k]!='\0')
{
if(t.s[k]==t.c)
return t.s+k;
k++;
}
return t.s;
}
函数的类型是char *,也就是说它的返回值也就是char *------一个字符数组(在C++中叫做C类型的字符串)。它传进来的参数是一个刚才定义过的st类型,那么函数里面必然是对这个类型的某种操作,那我们来看看它有什么企图!
int k=0?WHY?这是干什么?你要是程序做的多,那就能反应过来,一个int型的k还赋了值0,一般有两种用途:一个是循环计数,一个就是真假条件(0类似于false),从后面的while循环中的k++可以看出这里的k用于循环计数了。
循环计数还有两种情况:
一个是循环条件的判断和终止
例如:for(int i=0;i<MAX;i++)
第二是单纯的个数的记录
这里是哪个呢?从while(t.s[k]!='\0')中的条件看来似乎是第二种,现在仅仅是似乎。。。这个过程对于一个老手一瞬间就能判断过来!下面看那个诡异的循环吧,所有变态的问题就在这了!
先看while中的条件:t.s[k]!='\0',刚刚说了:S指向的是一个字符数组的开头,这里明显用的是S的字符数组的形式,也就是字符串。S[0]是字符串中的第一个元素,S[1]是第二个元素,S[2]是第三个元素,这都跟别的数组是一样的。不一样的是:由于字符数组很难定义使用的长度,所以字符数组的结尾规定以\0为结束,这个特性广泛用于C类型字符串的遍历,用于遍历的结束条件!也就是这道题中的使用:t.s[k]!='\0',这回明白了吧,说白了就是:只要这个字符串不到尾while就会一直循环下去,直到结束为止!下面我们来偷窥一下while想干什么。
上来是个条件: if(t.s[k]==t.c),有了刚才的说明这个好理解了吧!就是:如果当前字符串(字符数组)中的第k个元素 ==(等于)预先定义的那个字符。哦,原来st结构中的字符c是用来比较的!如果相等了干什么呢?
他干了件大事:return t.s+k; 竟然是return!return意味着要返回值,就是说这个函数要到此为止了!返回的是什么呢,竟让他如此嚣张!原来是: t.s+k。。。哎呀,这个是?没错,这个是这道题最难理解的地方。
不知你知不知道两个字符串可以用”+“进行连接,”123“+”456“结果是”123456“。所以有人就会认为这里是这样的:先将K进行隐式的类型转换,将K转换为字符串类型,然后与前面的字符串S相连,这对吗?答案是明显的:完全错误!连接符”+“必须保证左右两边皆为字符串型,否则连接绝不成立!那这里干了什么?
最前面我说了,指针S指向的是字符数组的首部,请深刻理解这句话!
先阐明一个原理:
S[0]是第一个元素,S[1]是第二个,那么S[1]也可以这么表示:S[0+1]
由于S指向首元素,即*S是第一个值,那么第二个S[1]怎么用指针表示呢?很神奇:*(S+1)。也就是说S+1指向了第二个元素,也可以说成:从第二个元素开始,这个说法我觉得更容易理解后面。为了让你理解这里举个例子:
你应该会的:printf("%s\n",s),意思是:从S指向的元素开始到结束符的那串字符,如果S指向头部,那就是从头到尾的那串字符。那要是printf("%s\n",(s+1))呢?很明显了,就是从第二个字符开始到结尾的那串字符了!
回到题中: t.s+k,意思明了了:我让指针S移动K个位置,这就导致返回的字符串将是从第K-1个元素开始到结尾的字符串,K-1是因为要考虑数组是从0下标开始的。
小结一下:如果在遍历字符串的过程中,从K=0开始的位置到字符串结束,一旦遇到了字符串中有与给定字符相等的字符时,就将指针S移动位置,移动的距离是:与给定字符相等的那个字符的数组下标,注意下标从0开始!并且将移完位置的指针,也可以叫做新的字符串作为函数返回值返回。
若此次循环没有找到这个字符,那么K++,进行下次循环。
若当前字符串中没有找到给定的字符,那么就返回原有指针,即原来的字符串。
行了,难点都讲完了。看那四行吧:
第一行:输出f(a[0]),其中a[0]={'1',"123"},根据f()的功能,可以知道:给定字符时‘1’,在字符串中的位置是0号位置,指针S移动0个位置,其实就是没移动嘛,返回原串。选C
第二行:输出f(a[1]),其中a[1]={'2',"321"},给定字符是2,在1号位置,S移动1个位置,从而返回的是”21“,选A。
第二行:输出f(a[1]),其中a[1]={'2',"321"},给定字符是2,在1号位置,S移动1个位置,指向‘2’,从而返回的是”21“,选A。
第三行:输出f(a[2]),其中a[2]={'3',"123"},给定字符是3,在2号位置,S移动2个位置,指向‘3’,从而返回的是”3“,选A。
第四行:输出f(a[3]),其中a[3]={'4',"321"},给定字符是4,S中没有4,那么返回原串,选D。
我这也仅是参考答案,由于我是计算机专业,所以并没有考过二级,有什么错误还请原谅!
希望我的答案对你有帮助!若还有什么问题可以继续交流!

10. 请问哥,你有什么好一点的C语言编程软件,推荐一下,真心感谢😋😋

C语言是一门历史很长的编程语言,其编译器和开发工具也多种多样,其开发工具包括编译器,现举几个开发工具供大家选择,当然也要根据自己的操作系统来选择适合自己的开发工具。
好多刚开始接触c语言的朋友都想知道用上面软件开发c语言比较好,一般来说微软的东西肯定是最好的,更适合新手学习,等上手了就可以接触别的软件了。
Microsoft Visual C++ 、Microsoft Visual Studio、 DEV C++、Code::Blocks、Borland C++、WaTCom C++、Borland C++ Builder、GNU DJGPP C++、Lccwin32 C Compiler3.1、High C、Turb C、gcc、C-Free和Win-TC、My Tc等等,太多了,由于C语言比较成熟,所以编程环境很多。建议使用Microsoft Visual C++。
在Windows下做软件开发,编译器的首选当然是Visual Studio,目前微软也有免费的Microsoft Visual C++2008Express版本可供下载和使用。但是,如果考虑做跨平台的软件,选择gcc作为编译器无疑是明智的,无论Linux,MacOSX还是其他的Unix变体,大多选用gcc作为编译器,所以,选择gcc作为编译器能够让你的软件提前通过编译器的验证,能够更容易的在不同平台上通过编译。TDM GCC项目已经帮助大家测试并整合了Windows平台下的gcc安装工具TDM GCC On-Demand Installer,大家可以根据需要选择下载并安装那些工具包。安装完成后,需要修改环境变量,将安装目录加入PATH搜索路径中。
1、TC 2.0:Borland公司的产品,在dos界面下编译运行,小巧、灵活,但是不能使用鼠标。
菜单命令是alt+菜单项的第一个字母,可以调试,在第一次用的时候,可以需要配置一下目录,如下:
第一次使用可能感觉不舒服(鼠标不能用的缘故),慢慢熟悉一段时间,就没事了,当初在学校学习考试都是这个环境。
2、win-TC:在tc2.0的基础上加上了界面,能够使用鼠标,具有语法高亮,可以嵌入汇编等特点,对新手一些,拜托了不能用鼠标的困难。编写完源代码,进行编译运行即可,软件比较容易上手。
3、dev-C++:是windows下一款开发c/c++的开发环境,使用gcc为编译器,遵循标准,功能比较强大,语法高亮,可以进行单步调试(这对排除错误很重要),进行断点设置等功能,遵循C标准,是一款很强大的开发工具。
4、VC++,微软的产品,编译器,链接器,运行,调试等功能于一体的强大开发工具,特点是功能十分强大,对于新手来说需要一段时间去摸索
c语言编程软件(支持win7/win8)是一款支持多语言开发的开发系统。c语言编程软件(支持win7/win8)同时支持c语言,c++以及vb语言的开发,软件能很好的兼容win7以及win8,用户只需设置软件兼容性,把它设为win 98,win xp等等。
为大家提供的c语言编程软件为vc++6.0。VC++6.0是Microsoft公司推出的一个基于Windows系统平台、可视化的集成开发环境,它的源程序按C++语言的要求编写,并加入了微软提供的功能强大的MFC(Microsoft Foundation Class)类库。
c语言编程软件(支持win7/win8)的MFC类库中封装了大部分Windows API函数和Windows控件,它包含的功能涉及到整个Windows操作系统。MFC不仅给用户提供了Windows图形环境下应用程序的框架,而且还提供了创建应用程序的组件,这样,开发人员不必从头设计创建和管理一个标准Windows应用程序所需的程序,而是从一个比较高的起点编程,故节省了大量的时间。另外,它提供了大量的代码,指导用户编程时实现某些技术和功能。因此,使用VC++提供的高度可视化的应用程序开发工具和MFC类库,可使应用程序开发变得简单。
5、C-Free
C-Free是一款国产的C、C++开发工具,堪称神器,让你爱不释手。
如果你受够了Visual Studio的庞大臃肿,Visual C++ 6.0在Win7、Win8下的兼容性问题,那么C-Free将是一个让你惊喜的选择。C-Free整个软件才14M,非常轻巧,安装简单,可以自由切换编译器。
C-Free最新版本是5.0,注册需要80RMB,可以免费试用30天,过期不注册将无法使用。虽然本教程提供了注册码,但是如果你不缺银子,还是为国产软件做点贡献,购买正版吧。
主要包含如下特性:
支持多编译器,可以配置添加其他编译器;
目前支持的编译器类型:
(1) MinGW 2.95/3.x/4.x/5.0
(2) Cygwin
(3) Borland C++ Compiler
(4) Microsoft C++ Compiler
(5) Intel C++ Compiler
(6) Lcc-Win32
(7) Open Watcom C/C++
(8) Digital Mars C/C++
(9) Ch Interpreter
增强的C/C++语法加亮器,(可加亮函数名,类型名,常量名等);
增强的智能输入功能;
可添加语言加亮器,支持其他编程语言;
可添加工程类型,可定制其他的工程向导;
完善的代码定位功能(查找声明、实现和引用);
代码完成功能和函数参数提示功能;
能够列出代码文件中包含的所有符号(函数、类/结构、变量等);
大量可定制的功能:
可定制快捷键
可定制外部工具
可定制帮助(可支持Windows帮助、Html帮助和在线帮助);
彩色、带语法加亮打印功能;
在调试时显示控制台窗口;
工程转化功能,可将其他类型的工程转化为C-Free格式的工程,并在C-Free中打开。
7、CodeLite
CodeLite是一个功能强大的开源,C/C++编程语言的跨平台IDE(定期在Windows XP SP2 / 3下被测试 ,(K)Ubuntu 7.10/8.04 Gutsy Gibbon,和MacOSX 10.5.2 )。CodeLite的源代码使用是遵循的GPL v2许可证的。

阅读全文

与kc语言编程到app相关的资料

热点内容
自己购买云主服务器推荐 浏览:422
个人所得税java 浏览:761
多余的服务器滑道还有什么用 浏览:192
pdf劈开合并 浏览:28
不能修改的pdf 浏览:752
同城公众源码 浏览:489
一个服务器2个端口怎么映射 浏览:298
java字符串ascii码 浏览:79
台湾云服务器怎么租服务器 浏览:475
旅游手机网站源码 浏览:332
android关联表 浏览:946
安卓导航无声音怎么维修 浏览:333
app怎么装视频 浏览:431
安卓系统下的软件怎么移到桌面 浏览:96
windows拷贝到linux 浏览:772
mdr软件解压和别人不一样 浏览:904
单片机串行通信有什么好处 浏览:340
游戏开发程序员书籍 浏览:860
pdf中图片修改 浏览:288
汇编编译后 浏览:491