C语言介绍 C语言介绍,什么是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函数是一个由系统定义的标准函数,可在程序中直接调用。

给你介绍一本学C的人都知道(不夸张的说,对编程有点了解的人都知道的书,也都略知一二),谭浩强编写,清华大学出版社出版的《C语言程序设计》是C学习的经典之作。一句话,只要学C这本书必备,除非你是学什么都是三分钟热度的人。只要不是地摊,肯定有卖。(其实很多地摊也卖。)希望对你有所帮助。

一种计算机的编程语言、

我晕,自己去买本书看把。想学就要付诸行动,光说不练有个屁用。

下面对C语言的常用语法进行简要总结。
1.标识符
由字母、数字和下划线组成。标识符必须以字母或下划线开头。大、小写的字母分别认为是两个不同的字符。不同的系统对标识符的字符数有不同的规定,一般允许7个字符。
2.注释
“/*”和“*/”必须成对出现;注释不能嵌套;注释可出现在程序的任何位置。
3. 常量
整型常量十进制常数(八进制常数、十六进制常数、长整型常数);字符常量(用单引号括起来的字符);字符串常量(用双引号括起来的字符序列);浮点型常量(小数形式、指数形式)。
4. 表达式
算术表达式(整型表达式、实型表达式);逻辑表达式(用逻辑运算符连接的整型量,结果为一个整数0或1,逻辑表达式可以认为是整型表达式的一种特殊形式);字位表达式;强制类型转换表达式(用“类型”运算符使表达式的类型进行强制转换);逗号表达式;赋值表达式(将赋值号“=”右侧表达式的值赋给赋值号左边的变量);条件表达式;指针表达式(对指针类型的数据进行运算)。
5. 数据定义
对程序中用到的所有变量都需要进行定义。对数据定义其类型,需要时要指定其存储类别。类型标识符可用:int、short、long、unsigned、char、float、double、 struct 结构体名、union 共用体名等;存储类别可用:auto、static、register、extern(如不指定存储类别,作auto处理)。注意:外部数据定义只能用 extern或static,而不能用auto或register。
6. 函数定义
形式为:存储类别 数据类型 函数名(形参表列);形参说明;函数体。
函数的存储类别只能用extern或static。函数体是用花括弧括起来的,可包括数据定义和语句。
7. 变量的初始化
可以在定义时对变量或数组指定初始值;静态变量或外部变量如未初始化,系统自动使其初值为零(对数值型变量)或空(对字符型数据);对自动变量或寄存器变量,若未初始化,则其初值为一不可预测的数据;只有静态或外部数组才能初始化.

给你个初学的题库和答案
clude <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "math.h"

void project1()
{
printf("Hello C-world!\n");
printf(" ****\n");
printf(" *\n");
printf(" * \n");
printf(" ****\n");
}

/*题目:用*号输出字母C的图案。
程序分析:可先用'*'号在纸上写出字母C,再分行输出。
*/
/*求1+2+3+4…+100的和。*/
void project2()
{
int num;//一个数
int sum = 0;//总和

printf("\nproject2\n");
for(num=1;num<=100;num++)
{
sum += num;
}

printf("The sum is %d\n", sum);
}

/*
题目:输出9*9口诀。
*/
void project3()
{
int i,j;//被乘数和乘数
int result;//积
printf("\nproject3\n");
for (i=1;i<10;i++)
{
for(j=1;j<=i;j++)
{
result=i*j;
printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/
}
printf("\n");/*每一行后换行*/
}
}
//题目:有1、2、3、4个数字,能组成多少个互不相同
// 且无重复数字的三位数?都是多少?
void project4()
{
int i,j,k;//百位,十位,个位数
int num = 0;//计数器

printf("\nproject4\n");
for(i=1;i<5;i++)
{
for(j=1;j<5;j++)
{
for (k=1;k<5;k++)
{
if(i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/
{
printf("%d,%d,%d\t",i,j,k);
num++;
}
}
}
printf("\n");
}

printf("The total num is %d\n", num);
}

/*
打印楼梯,同时在楼梯上方打印两个笑脸。
*/
void project5()
{
int i,j;//行数和列数

printf("\nproject5\n");
printf("\1\1\n");/*输出两个笑脸*/
for(i=1;i<11;i++)
{
for(j=1;j<=i;j++)
{
printf("%c%c", 219, 219);
}
printf("\n");
}
}

/*
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
*/
void project6()
{
long f1,f2;//前两个月的数值
int i;//个数

printf("\nproject6\n");
f1=f2=1;
for(i=1;i<=20;i++)
{
printf("%12ld %12ld",f1,f2);
if(i%3==0)
{
printf("\n");/*控制输出,每行四个*/
}
f1=f1+f2; /*前两个月加起来赋值给第三个月*/
f2=f1+f2; /*前两个月加起来赋值给第三个月*/
}
}
/*
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在
第10次落地时,共经过多少米?第10次反弹多高?
*/
void project7()
{
float sum=100.0;//行驶路程
float next=50;//下一次的反弹高度
int n;//反弹的次数

printf("\nproject7\n");
for(n=2;n<=10;n++)
{
sum=sum+2*next;/*第n次落地时共经过的米数*/
next=next/2; /*第n次反跳高度*/
}
printf("the total of road is %f\n",sum);
printf("the tenth is %f meter\n",next);
}
/*
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
*/
void project8()
{
int n,temp,number=20;
int a=2,b=1;
float s=0;

printf("\nproject8\n");
for(n=1;n<=number;n++)
{
s=s+a/b;
temp=a;a=a+b;b=temp;
}
printf("sum is %9.6f\n",s);
}
/*
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
*/
void project9()
{
char c;
int letters=0,space=0,digit=0,others=0;

printf("\nproject9\n");
printf("please input some characters\n");
while((c=getchar())!='\n')
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
{
letters++;
}
else if(c==' ')
{
space++;
}
else if(c>='0'&&c<='9')
{
digit++;
}
else
{
others++;
}
}
printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,space,digit,others);
}

/*题目5:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
情况,闰年且输入月份大于3时需考虑多加一天。
*/
void project10()
{
int day,month,year,sum,leap;

printf("\n\nproject10\n");
printf("please input year,month,day: ");
scanf("%d,%d,%d",&year,&month,&day);

switch(month)/*先计算某月以前月份的总天数*/
{
case 1:
{
sum=0;
break;
}
case 2:
{
sum=31;
break;
}
case 3:
{
sum=59;
break;
}
case 4:
{
sum=90;
break;
}
case 5:
{
sum=120;
break;
}
case 6:
{
sum=151;
break;
}
case 7:
{
sum=181;
break;
}
case 8:
{
sum=212;
break;
}
case 9:
{
sum=243;
break;
}
case 10:
{
sum=273;
break;
}
case 11:
{
sum=304;
break;
}
case 12:
{
sum=334;
break;
}
default:
{
printf("\ndata error");
break;
}
}

sum=sum+day; /*再加上某天的天数*/
if(year%4==0) /*判断是不是闰年*/
{
leap=1;
}
else
{
leap=0;
}

if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/
{
sum++;
}
printf("It is the %dth day.",sum);
}
/*
判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。
*/
void project11()
{
int m,i,k,h=0,leap=1;
printf("\n\nproject11\n");

for(m=101;m<=200;m++)
{
k=(int)sqrt(m+1);
for(i=2;i<=k;i++)
{
if(m%i==0)
{
leap=0;
break;
}
}
if(leap)
{
printf("%-4d",m);
h++;
}
leap=1;
}
printf("\nThe total is %d",h);
}

/*
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,
重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
*/
void project12()
{
int n,i;

printf("\nproject12\n");
printf("\nplease input a number:\n");
scanf("%d",&n);
printf("%d=",n);
for(i=2;i<=n;i++)
{
while(n!=i)
{
if(n%i==0)
{
printf("%d*",i);
n=n/i;
}
else
{
break;
}
}
}
printf("%d",n);
}
/*
输入两个正整数m和n,求其最大公约数和最小公倍数。
1.程序分析:利用辗除法。

*/
void project13()
{
int a,b,num1,num2,temp;

printf("\nproject13\n");
printf("please input two numbers:\n");
scanf("%d,%d",&num1,&num2);
if(num1<num2)/*交换两个数,使大数放在num1上*/
{
temp=num1;
num1=num2;
num2=temp;
}
a=num1;b=num2;
while(b!=0)/*利用辗除法,直到b为0为止*/
{
temp=a%b;
a=b;
b=temp;
}
printf("gongyueshu:%d\n",a);
printf("gongbeishu:%d\n",num1*num2/a);
}
/*题目: 企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,
高于10万元的部分,可可提成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时高于40万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%,
高于100万元时,超过100万元的部分按1%提成,
从键盘输入当月利润I,求应发放奖金总数?
*/
void project14()
{
long int num;
int level;
int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;

bonus1 = (int)(100000*0.1);
bonus2 = bonus1+(int)(100000*0.075);
bonus4 = bonus2+(int)(200000*0.05);
bonus6=bonus4+(int)(200000*0.03);
bonus10=bonus6+(int)(400000*0.015);

printf("\nproject14");
while(1)
{
printf("\nplease input a num: ");
scanf("%ld", &num);

if(0 < num)
{
level = num / 100000;
switch(level)
{
case 0:
{
bonus=(int)(num * 0.1);
break;
}
case 1:
{
bonus=bonus1 + (int)((num - 100000) * 0.075);
break;
}
case 2:
case 3:
{
bonus = bonus2 + (int)((num-200000) * 0.05);
break;
}
case 4:
case 5:
{
bonus = bonus4 + (int)((num - 400000) * 0.03);
break;
}
case 6:
case 7:
case 8:
case 9:
{
bonus = bonus6 + (int)((num - 600000) * 0.015);
break;
}
default:
{
bonus = bonus10 + (int)((num - 1000000) * 0.01);
break;
}
}

printf("bonus = %d",bonus);
}
else
{
printf("wrong num\n");
break;
}
}
}

/*题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
的结果满足如下条件,即是结果。请看具体分析:
*/

void project15()
{
long int i,x,y;

printf("\nproject15\n");

for (i=1;i<100000;i++)
{
x=(long)sqrt(i+100); /*x为加上100后开方后的结果*/
y=(long)sqrt(i+268); /*y为再加上168后开方后的结果*/

if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
{
printf("%ld\t",i);
}
}
}
void main()
{

project1();
project2();

project3();
project4();
project5();
project6();
project7();
#if 0
project8();
project9();
project10();

project11();
project12();
project13();
project14();
#endif

}

介绍c语言~

它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。具体应用比如单片机以及嵌入式系统开发。在学C语言的时候大部分时间是在用Turbo
c。

C语言是一门通用计算机编程语言,好多底层的操作哦系统都是通过C语言来编写的
以前学习C语言的时候,看的是如鹏网的视频教程《C语言也能干大事》,通过开发小游戏,开发网站的方式来讲解C语言,挺不错的,原来C语言还可以这么学,可以极大的激发对编程的兴趣,适合初学者

介绍下英语,这门语言
答:英语(English)世界通用语言,是联合国的工作语言之一,也是事实上的国际交流语言。英语属于印欧语系中耳曼语族下的西日耳曼语支,由古代从欧洲大陆移民大不列颠岛的盎格鲁、撒克逊和朱特部落的日耳曼人所说的语言演变而来,并通过英国的殖民活动传播到世界各地。由于在历史上曾和多种民族语言接触,它的词汇从...

东南亚国家主要讲哪些语言?
答:官方语言大部分为英语,但各国也拥有自已的一些语言,内容介绍如下:1、越南以越语为官方语言,越语又称京语 2、老挝的国语是老挝语 3、柬埔寨的国语是高棉语,属于南亚语系。4、缅甸的官方语言是缅语,属汉藏语系。5、泰国的国语是泰语,属汉藏语系壮侗语族 6、马来西亚的国语是马来语 7、新加坡的...

汉语言的介绍
答:汉语,即汉民族共同语,是世界主要语言之一,也是世界上使用人数最多的语言。汉语属汉藏语系,是这个语系里最主要的语言。除了中国大陆、香港特别行政区、澳门特别行政区和台湾省以外,汉语还分布在新加坡共和国、马来西亚等国。以汉语为母语的人大约有14亿(3000万人作为第二语言)。汉语是联合国的工作...

英语的介绍
答:英语(English),属于印欧语系中日耳曼语族下的西日耳曼语支,是由古代从丹麦等斯堪的纳维亚半岛以及德国、荷兰及周边移民至不列颠群岛的盎格鲁、撒克逊和朱特部落的日耳曼人所说的语言演变而来,并通过英国的殖民活动传播到了世界各地。由于在历史上曾和多种民族语言接触,它的词汇从一元变为多元,语法从“...

中国语言文字的介绍
答:中国是一个多民族、多语言、多文字的国家,有56个民族,共有80种以上语言,约30种文字。国家通用语言文字是汉语普通话和规范汉字,即中文。中文的使用人数在17亿以上,范围包括中国(大陆和港澳台)、日本、北朝鲜、韩国、新加坡、马来西亚、印度尼西亚、泰国、越南、柬埔寨、缅甸等广大的国家、地区以及...

中国话的介绍
答:广义的中国话是指中国境内的各种语言。相对于狭义的中国话来说,还包括各种少数民族语言。中国是一个多民族、多语言、多文种的国家,有56个民族。而狭义的中国话即为汉语,2000年10月31日颁布的《中华人民共和国国家通用语言文字法》确定普通话为国家通用语言。

语言特色包括哪些方面
答:3、传播性:语言的沟通需要采用一套具有统一编码解码标准的声音(图像)指令。而具有统一编码解码标准的声音(图像)指令并不为生物天生,因此,人类需要通过学习获得,而人类学习语言的过程就是语言传播的过程。主要介绍:语言的三要素是语音、语法和词汇,是由词汇按一定的语法所构成的语音表义系统。根据...

如何用最搞笑语言自我介绍
答:十大幽默自我介绍第十名 韦小宝 《鹿鼎记》趣味指数:8 实用指数:7.5 “我姓吾,在宫里做太监,大家叫我‘吾老公’。”这句话虽是占方怡的便宜时说的,却是韦小宝传奇而矛盾的一生的写照:既为太监,何来老公一说?即便有,也是个虚的。韦小宝的一生经历丰富,兼具太监、爵爷、禅师、香主、白龙...

如何简单介绍中国的语言
答:1:字体构成是很有型的方块儿字 2:有N多种发言,这是一大特色 3:普通话的发音大多是要饶舌 4:它的音节分了很多,如编音什么的。5:我们有多音字什么的 哎呀,反正就抓住中国语言的特点,来做个简单介绍即可!~o~

菲律宾讲什么语言?
答:菲律宾讲菲律宾语和英语。菲律宾还有许多地方语言(dialects),包括比科尔语(Bikolano)、宿务语(Cebuano)、伊洛卡诺语(Ilocano)、卡帕莱斯语(Kapampangan)、帕莫斯语(Pampango)等。这些地方语言在当地的一些地区是主要的交流语言。主岛:菲律宾的主岛是呈南北走向的吕宋岛(Luzon),面积为109,964...