C语言是不支持中文的(Python支持)
计算机语言
运算器和控制器是机算机的核心部件,这两部分合称中央处理单元,简称CPU。
编译:借助一个程序,(就像一个翻译),把你的程序翻译成计算机真正能懂得语言---机械语言---写的程序,然后,这个机器语言写的程序就可以执行----(此过程能够确保运算性能)
解释:借助一个程序,那个程序能试图理解你的程序,然后按照你的要求执行(解释型没有编译过程,而是通过解释器对程序作出解释,然后直接运行)
(程序语言在两者区分方便并非非白即黑,很多编程语言两者皆可)
(python解释器在执行任何一个Python程序文件时,首先进行的动作都是先对文件中的Python源代码进行编译,编译的主要结果是产生一组Python的字节码,然后将解释的结果交给Python虚拟机,由虚拟机按照顺序一条一条地执行字节码,从而实现对Python程序的执行动作)
C语言---指针是C语言的灵魂(不懂,慢慢补充)历史:C语言是从B语言发展过来的,B语言是从BCPL发展而来的,BCPL是从FORTRAN发展而来(可追溯到上世纪五十年代)
BCPL和B语言都支持指针间接方式,所以C语言也支持
C语言还受到PL/l的影响,还和PDP-11的机器语言有很大的关系
1973年3月,第三版Unix出现了C语言的编译器
1973年11月,第四版的Unix(system Four)发布的这个版本完全用C语言写的
面向对象的程序设计语言,
1983年贝尔实验室推出了C++,C的发展与版本-标准
1989年ANSI发布了一个标准-----ANSI C
1990年ISO接受了ANSI的标准----C89
C的标准在1995年和1999年两次更新----C95和C99
(最新的版本是2011年的C11)
目前大部分教材和资料仍然以C99为标准
第一个C程序:
为什么main前面没有int or void(无值类型)
因为:void和int标明不同的主函数返回值,如果没有的话则默认返回int整型
return 0是必须的,因为只有return 0才会终止有返回型程序
#include
注释:
有用的--让程序做事情的程序语句都要在句尾加上分号;分号必须使用英文符号所有C语言都需要包含main()函数,代码从main()函数开始执行(类似于定义函数def)/*...*/ 或者使用// 用于表示说明
printf() 内部字符串(用Python相同)用于格式化输出到屏幕,pritf()函数在“stdio.h”头文件中声明stdio.h是一个头文件(标准输入输出头文件)C语言扩展名为.h的头文件预处理命令:#include是一个预处理命令,用来引入头文件。将尖括号<>或yin
当编译器遇到printf()函数时,如果没有找到stdio.h头文件,会发生编译错误return 0; 语句用于表示退出程序
程序框架:(这几行必须写的(学函数之前)),
#include <stdio.h>
int main()
{
return 0;
}
做一个简单的计算:
# include <stdio.h>
int main()
{
printf("%d",12+34);
return 0;
}
输出:46
prinntf("%dn",23+43);
%d说明后面有一个整数要输出在这个位置上printf("23+43=%d",23+43);
输出:23+43=66
四则运算皆可:(和Python相同,类似上面)
注意:C语言报错很可能是在上一步末尾未加英文冒号,报错可能并不在具体的位置,注释英文(此处特别强调)
调用scanf函数,接受键盘上输入的数并存入变量x中。printf("sine of%If%If is %If is %Ifn",x,s);%If为格式化字符,表示按双精度浮点数处理,它是格式串中两次现,对应了x和s两个变量,其余字符为字符串字符则照原样输出在屏幕上
C源程序 的结构特点:
一个C语言源程序可以由一个或多个源文件组成
每个源文件可有一个或三个函数组成
一个源程序不论由多个文件组成,都有一个且只能有一个main函数,即主函数
分隔符:
有分隔符和空格两种,逗号主要用在类型说明和函数参数表中,分隔各个变量,空格多用于语句各单词之间,作间隔符。
# include <stdio.h>
int main()
{
int price = 0;
printf("请输入金额(元):");
scanf("%d", &price); //此处表示输入
int change = 100-price;
printf("找您%d元",change);
return 0;
}
程序 = 算法(灵魂)+数据结构
算法:对操作的描述,描述特定问题求解步骤(不能直接执行,必须依靠计算语言和数据结构)数据结构:计算机存储,组织数据的方式(骨架和肌肉)
一般,对程序而言:算法与数据结构时统一的关系
确定性:算法必须无歧义
有穷性:在合理的时间或有穷的步骤内结束
有效性:也叫可行性,算法的每一步骤切实可行
输入:有零个或多个输入
输出:有一个或多个输出
标识符规则:(和Python大致相同)标识符由字母,数字,下划线组成,并且字符串不能是数字
不能把C语言的关键字作为用户标识符
标识符对大小写敏感,如sum。Sum。SUM,含义不同
C语言的关键字:有特殊用途无需定义的特殊表示符。共32个
简单的计算运算:
#include<stdio.h>
int main() /*求两个数之和*/
{
int a,b,sum; /*定义3个整型变量*/
a=234;
b=432;
sum=a+b;
printf("sum is %dn",sum); /*类似于Python的.format()*/
return 0;
}
认识流程图:
流程图表示算法,
NS图:
实战练习:(切记Python语言和C语言的区别)
三角形
#include<stdio.h>
int main()
{
int i,j,n;
printf("输入三角形的层数:");
scanf("%d",&n); //&n取位符n(变量),将输入的值赋值给n,scanf输入函数类型与Python的input()函数
for(i=1;i<=n;i++) //for循环, i++自增,当大循环执行一次,小循环执行多次
{
for(j=1;j<=n-i;j++)
printf("+");
for(j=1;j<=2*i-3;j++)
printf("*");
printf("n"); //不隶属于上面一个循环
}
scanf("%d,&n");
return 0;
}
空心三角形
# include<stdio.h>
int main()
{
int i,j,n;
printf("输入三角形的层数:");
scanf("%d",&n);
for (i=1;i<=n;i++ )
{
if (i==1)
{
for(j=1;j<=n-i;j++)
printf(" ");
printf("*n");
}
else if(i==n)
{
for(j=1;j<=i-1;j++)
printf("* ");
printf("*n");
}
else
{
for(j=1;j<=n-i;j++)printf(" ");
printf("*");
for(j=1;j<=2*i-3;j++)printf(" ");
printf("*");
printf("n");
}
}
return 0;
微信关注foryouos
http://weixin.qq.com/r/-S3O1v3EaaAWrbm193jv (二维码自动识别)