C语言的简单介绍与描述(个人见解)
2013-11-27 11:34
211 查看
c语言个人所学有限,接触较短,但是对此个人还是觉得有那么几点需要记
1.简单来说,c语言中常用的就是标示符,是用来命名字的,比如常量名、变量名、函数名、数组名、类型名等都需要c语言中标示符。而标示符只能用字母、数字、下划线三种组成,开头必须用字母或下划线,而不能用数字,切忌,对于长时间泡在这一it行业的人来说这是基础中的基础,原因是什么就不多做解释。
2.c语言中,整形 int 适用于整数运算,浮点型float double 则适合小数运算,double比float更精准,字符型 char 用于输入一组一串字符,但是要用双引号,也可以单个输出但是需要' '放入单引号
3.for循环语句,利用for循环可以输出一组图形,(记住该写分号;的地方要写,不该写的地方不要乱填)
例如:
/*
******
*****
****
***
**
*
*/
for (int i=1; i<=6; i++) //控制行数
{
for (int j=i; j<=6; j++)
{
printf("*");
//控制星号输出
}
for (int x=1; x<=i-1; x++)
{
printf(" ");
//控制间隔
}
printf("\n");
}
4.活用if…else语句,如果(if)那么(else),可以来这么想,如果你不接你女朋友电话,那么你以后就不会好过。这条语句和for语句很常用,以判定成功与不成功。
如果(if)努力了就会成功,不努力,那么(else)就会失败
一个简单的实例成绩输出录入
int cj;
//整型的cj(成绩)
printf("请输入成绩\n");//printf是输出语句
scanf("%d",&cj);
//scanf 输入语句
if (cj>100 || cj<0)
{
printf("输入错误");
}
else
if (80<=cj && cj<=100)
{
printf("优秀");
}
else
if (cj>=70)
{
printf("良好");
}
else
if (cj>=60)
{
printf("及格");
}
else
{
printf("不及格");
}
不仅可以用if..else语句来写 。switch也属于一种循环语句,不过稍微比较麻烦(个人写的没改过)
int cj2;
printf("请输入成绩:\n");
scanf("%d",&cj2);
switch (cj2/10) {
case 10:
printf("人才");
break;
case 9:
printf("sss");
break;
case 8:
printf("优秀");
break;
case 7:
printf("良好");
break;
case 6:
printf("及格");
break;
case 5:
printf("不及格");
break;
case 4:
printf("太差");
break;
case 3:
printf("准备补考");
break;
case 2:
printf("1+1=?");
break;
case 1:
printf("清华大学欢迎你");
break;
case 0:
printf("北大欢迎你");
break;
default:printf("输入错误");
break;
}
5.数组是一组存放相同类型得集合,合理得利用数组,输入输出,学生成绩,选出其最大值,最小值,从大到小排序,从小到大得排序以及平均值(包含总和)。
举例说明一个:
#define Num 10 //定义num为10 后面可以直接调用num
int main(int argc,
const char * argv[])
{
int a[Num];
for (int i=1; i<=Num; i++) {
//灵活运用for循环语句。
printf("请输入第%d学生成绩:",i);
scanf("%d",&a[i-1]);
}
for (int i=1; i<=Num; i++) {
printf("第%d学生成绩%d\n",i,a[i-1]);
}
int max=a[0];
//最大值
for (int i=1; i<Num; i++)
{
if (max<a[i])
{
max=a[i];
}
}
printf("最大值:%d",max);
int min=a[0];
//最小值
for (int i=1; i<Num; i++) {
if (min>a[i]) {
min=a[i];
}
}printf("最小值:%d",min);
float sum = 0;
//总分,并可直接求出平均值
for (int i=1; i<Num; i++)
{
sum+=a[i];
}printf("十个学生得总分%.1f
平均成绩%.2f\n",sum,sum/10);
for (int i=0; i<Num-1; i++) {
//顺序排序
for (int j=i+1; j<Num; j++) {
if (a[i]<a[j]) {
int t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for (int i=1; i<=Num; i++) {
printf("第%d学生成绩%d\n",i,a[i-1]);}
for (int i=0; i<Num-1; i++) {
for (int j=i+1; j<Num; j++) {
if (a[i]>a[j]) {
int t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for (int i=1; i<=Num; i++) {
printf("第%d学生成绩%d\n",i,a[i-1]);}
return
0;
}
注意:数组下标>=0 小于数组长度-1;定义数组得时候 类型(int)数组名(a)[长度]{11,1,22,3,4,5,6,7};
函数分为局部函数和全局函数,局部函数在main()里运用得属于局部函数,并且定义得变量是需要不断得从新定义,而全局函数,在main()上方include下面定义得属于自己得函数,定以后可直接调用。,而且全局函数可以共用,每次运行后,自动释放。
注意:定义函数为整形时,记得用return返回值。
6.指针,*p 就是指针p,学习了如何运用指针,可以指向变量得地址,取地址或是取地址中得值,利用指针学习如何指向数组中得最大值,最小值。
int a[Num];
int *p; //定义整型指针p
p=a;
for (int i=1; i<=Num; i++) {
printf("请输入第%d学生成绩:",i);
scanf("%d",p);
p++;
}
p=a;
for (int i=1; i<=Num; i++) {
printf("第%d学生成绩%d\n",i,*p);
//输出指针时%p是输出它的地质
p++;
}
p=a;
int max;
max=*p;
for (int i=1; i<Num; i++)
{
if (*p<a[i])
{
*p=a[i];
}
}
printf("最大值:%d",*p);
p=a;
int min;
min=*p;
for (int i=1; i<Num; i++) {
if (*p>a[i]) {
*p=a[i];
}
}printf("最小值:%d\n",*p);
float sum = 0;
for (int i=1; i<Num; i++)
{
sum+=a[i];
}printf("十个学生得总分%.1f
平均成绩%.2f\n",sum,sum/10);
自我总结:指针用的不是很灵活,函数也马马虎虎,有关数组,心中有一个小小想法,就是利用数组和指针来做一个卡牌小游戏(有待以后自己努力实践)。指针 函数 总结的不是很完善
7.文件的创建
printf("保存学生信息\n");
FILE *fp;
// 文件创建FILE
fp=fopen("/Users/mac/Desktop/tian.txt",
"w");
//
fopen文件的打开,而双引号里逗号前放是开辟的路径,逗号后“w”是写入固定不要随意改写
Node *p;
p=head;
while (p!=NULL) {
fprintf(fp," %d %s %d %d",p->stu.number,p->stu.name,p->stu.age,p->stu.cj);
//fprintf和printf一样一个能传送格式化输出到一个文件中用,一个是普通输出
p=p->next;}
fclose(fp);
// fclose文件既然有打开那一定也有关闭,建议当创建文件打开时,可直接文件关闭,以防忘记
printf("输入成功");
printf("读取学生信息\n");
FILE *fp;
fp=fopen("/Users/mac/Desktop/tian.txt",
"r"); //文件读取也需要从路径中打开,唯一改变的是“r”是读取
while (fp==0) {
printf("文件打开失败");
break;
}
Node *p;
while (p!=NULL) {
fscanf(fp,
"%d %s %d %d",&p->stu.number,p->stu.name,&p->stu.age,&p->stu.cj);//fscanf读取到一个文件中用的信息
p=p->next;}
fclose(fp);
//读取完也是需要关闭
对于只学到oc的我来说,就是弄明白if...else 、do...while 、while、和swich语句,开辟空间malloc,在c中每次没开辟一次空间都要用free来释放它。
第一次写,有很多不足之处,以后会慢慢改进,万事开头难,我现在还在努力学习中。有哪里不清楚或是不对的地方尽可提,我会尽量改善完善。
取长补短方能成功。
1.简单来说,c语言中常用的就是标示符,是用来命名字的,比如常量名、变量名、函数名、数组名、类型名等都需要c语言中标示符。而标示符只能用字母、数字、下划线三种组成,开头必须用字母或下划线,而不能用数字,切忌,对于长时间泡在这一it行业的人来说这是基础中的基础,原因是什么就不多做解释。
2.c语言中,整形 int 适用于整数运算,浮点型float double 则适合小数运算,double比float更精准,字符型 char 用于输入一组一串字符,但是要用双引号,也可以单个输出但是需要' '放入单引号
3.for循环语句,利用for循环可以输出一组图形,(记住该写分号;的地方要写,不该写的地方不要乱填)
例如:
/*
******
*****
****
***
**
*
*/
for (int i=1; i<=6; i++) //控制行数
{
for (int j=i; j<=6; j++)
{
printf("*");
//控制星号输出
}
for (int x=1; x<=i-1; x++)
{
printf(" ");
//控制间隔
}
printf("\n");
}
4.活用if…else语句,如果(if)那么(else),可以来这么想,如果你不接你女朋友电话,那么你以后就不会好过。这条语句和for语句很常用,以判定成功与不成功。
如果(if)努力了就会成功,不努力,那么(else)就会失败
一个简单的实例成绩输出录入
int cj;
//整型的cj(成绩)
printf("请输入成绩\n");//printf是输出语句
scanf("%d",&cj);
//scanf 输入语句
if (cj>100 || cj<0)
{
printf("输入错误");
}
else
if (80<=cj && cj<=100)
{
printf("优秀");
}
else
if (cj>=70)
{
printf("良好");
}
else
if (cj>=60)
{
printf("及格");
}
else
{
printf("不及格");
}
不仅可以用if..else语句来写 。switch也属于一种循环语句,不过稍微比较麻烦(个人写的没改过)
int cj2;
printf("请输入成绩:\n");
scanf("%d",&cj2);
switch (cj2/10) {
case 10:
printf("人才");
break;
case 9:
printf("sss");
break;
case 8:
printf("优秀");
break;
case 7:
printf("良好");
break;
case 6:
printf("及格");
break;
case 5:
printf("不及格");
break;
case 4:
printf("太差");
break;
case 3:
printf("准备补考");
break;
case 2:
printf("1+1=?");
break;
case 1:
printf("清华大学欢迎你");
break;
case 0:
printf("北大欢迎你");
break;
default:printf("输入错误");
break;
}
5.数组是一组存放相同类型得集合,合理得利用数组,输入输出,学生成绩,选出其最大值,最小值,从大到小排序,从小到大得排序以及平均值(包含总和)。
举例说明一个:
#define Num 10 //定义num为10 后面可以直接调用num
int main(int argc,
const char * argv[])
{
int a[Num];
for (int i=1; i<=Num; i++) {
//灵活运用for循环语句。
printf("请输入第%d学生成绩:",i);
scanf("%d",&a[i-1]);
}
for (int i=1; i<=Num; i++) {
printf("第%d学生成绩%d\n",i,a[i-1]);
}
int max=a[0];
//最大值
for (int i=1; i<Num; i++)
{
if (max<a[i])
{
max=a[i];
}
}
printf("最大值:%d",max);
int min=a[0];
//最小值
for (int i=1; i<Num; i++) {
if (min>a[i]) {
min=a[i];
}
}printf("最小值:%d",min);
float sum = 0;
//总分,并可直接求出平均值
for (int i=1; i<Num; i++)
{
sum+=a[i];
}printf("十个学生得总分%.1f
平均成绩%.2f\n",sum,sum/10);
for (int i=0; i<Num-1; i++) {
//顺序排序
for (int j=i+1; j<Num; j++) {
if (a[i]<a[j]) {
int t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for (int i=1; i<=Num; i++) {
printf("第%d学生成绩%d\n",i,a[i-1]);}
for (int i=0; i<Num-1; i++) {
for (int j=i+1; j<Num; j++) {
if (a[i]>a[j]) {
int t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for (int i=1; i<=Num; i++) {
printf("第%d学生成绩%d\n",i,a[i-1]);}
return
0;
}
注意:数组下标>=0 小于数组长度-1;定义数组得时候 类型(int)数组名(a)[长度]{11,1,22,3,4,5,6,7};
函数分为局部函数和全局函数,局部函数在main()里运用得属于局部函数,并且定义得变量是需要不断得从新定义,而全局函数,在main()上方include下面定义得属于自己得函数,定以后可直接调用。,而且全局函数可以共用,每次运行后,自动释放。
注意:定义函数为整形时,记得用return返回值。
6.指针,*p 就是指针p,学习了如何运用指针,可以指向变量得地址,取地址或是取地址中得值,利用指针学习如何指向数组中得最大值,最小值。
int a[Num];
int *p; //定义整型指针p
p=a;
for (int i=1; i<=Num; i++) {
printf("请输入第%d学生成绩:",i);
scanf("%d",p);
p++;
}
p=a;
for (int i=1; i<=Num; i++) {
printf("第%d学生成绩%d\n",i,*p);
//输出指针时%p是输出它的地质
p++;
}
p=a;
int max;
max=*p;
for (int i=1; i<Num; i++)
{
if (*p<a[i])
{
*p=a[i];
}
}
printf("最大值:%d",*p);
p=a;
int min;
min=*p;
for (int i=1; i<Num; i++) {
if (*p>a[i]) {
*p=a[i];
}
}printf("最小值:%d\n",*p);
float sum = 0;
for (int i=1; i<Num; i++)
{
sum+=a[i];
}printf("十个学生得总分%.1f
平均成绩%.2f\n",sum,sum/10);
自我总结:指针用的不是很灵活,函数也马马虎虎,有关数组,心中有一个小小想法,就是利用数组和指针来做一个卡牌小游戏(有待以后自己努力实践)。指针 函数 总结的不是很完善
7.文件的创建
printf("保存学生信息\n");
FILE *fp;
// 文件创建FILE
fp=fopen("/Users/mac/Desktop/tian.txt",
"w");
//
fopen文件的打开,而双引号里逗号前放是开辟的路径,逗号后“w”是写入固定不要随意改写
Node *p;
p=head;
while (p!=NULL) {
fprintf(fp," %d %s %d %d",p->stu.number,p->stu.name,p->stu.age,p->stu.cj);
//fprintf和printf一样一个能传送格式化输出到一个文件中用,一个是普通输出
p=p->next;}
fclose(fp);
// fclose文件既然有打开那一定也有关闭,建议当创建文件打开时,可直接文件关闭,以防忘记
printf("输入成功");
printf("读取学生信息\n");
FILE *fp;
fp=fopen("/Users/mac/Desktop/tian.txt",
"r"); //文件读取也需要从路径中打开,唯一改变的是“r”是读取
while (fp==0) {
printf("文件打开失败");
break;
}
Node *p;
while (p!=NULL) {
fscanf(fp,
"%d %s %d %d",&p->stu.number,p->stu.name,&p->stu.age,&p->stu.cj);//fscanf读取到一个文件中用的信息
p=p->next;}
fclose(fp);
//读取完也是需要关闭
对于只学到oc的我来说,就是弄明白if...else 、do...while 、while、和swich语句,开辟空间malloc,在c中每次没开辟一次空间都要用free来释放它。
第一次写,有很多不足之处,以后会慢慢改进,万事开头难,我现在还在努力学习中。有哪里不清楚或是不对的地方尽可提,我会尽量改善完善。
取长补短方能成功。
相关文章推荐
- 操作DataTable利用DataView 做成类似sql里的top方法简单介绍【个人原创】
- 作业一:创建个人技术博客、自我介绍、简单的C程序
- C语言的简单介绍
- c语言数组简单介绍
- 个人见解—简单工厂设计模式
- 百度编辑器UEEDITOR使用简单介绍 UEditor表单提交和后台交互详解 最后更新对应的版本:1.2.5.1 教程描述: 富文本编辑器的使用开发中,表单提交有多种场景,编辑器初始化有新增文章和编辑
- 简单介绍一下——用例描述
- 用简单的描述C语言 sprintf函数是什么意思。
- JSON的简单介绍以及C语言的JSON库使用
- c语言有关操作符(运算符)的简单介绍
- C语言操作符简单介绍
- 线程池技术个人理解以及c语言的简单实现
- 简单描述java-Groovy 2.0静态类型检查及编译功能介绍
- 简单介绍C语言中的umask()函数和truncate()函数
- 关于C语言中 rand()函数的一些个人积累和见解z
- 简单介绍C语言中auto,register,static,const,volatile,extern等几个关键字的作用
- 个人对安卓Studio一些简单实用的快捷键和一些插件的见解
- 个人网站开发(零):简单介绍
- 根据个人理解简单介绍接口和抽象类的区别
- C语言:递归的简单介绍