程序 = 算法 + 数据结构
程序设计 = 编程范式(设计模式)
- C语言 : 面向过程
- C ++ (语言联邦) : 面向对象,面向过程,函数式编程(难),泛型编程
函数是压缩的数组 ,数组是展开的函数
总而言之 对于学习一门语言来说,最重要的是要学会组织这种语言的方式,也就是编程范式,就像是写作文一样,学会语法只能保证写的文章是没有错误的,但是想写出优美的文章就需要更多的积累,修辞,句式变换,引用等等。编程也是一样的,需要学会这门语言所支持的范式。
先从了解函数入门
输出函数说明
printf 函数:
头文件: stdio.h
原型 :int printf ( const char * format , … );
format : 格式控制字符串
… : 可变参数列表
返回值:输出字符的数量
int n = 65535;
int i = printf("%d",n);
// i = 5
来看一个有趣的例子,只用printf 一族 来判断一个数字n的位数
注释 : freopen 函数 一个用来 重定向输入输出流 的函数
/************************************************************************* > File Name: 1.try.c > Author:Gin.TaMa > Mail:1137554811@qq.com > Created Time: 2019年01月06日 星期日 14时37分13秒 ************************************************************************/
#include<stdio.h>
int main(){
int n = 0;
freopen("/dev/null","w",stderr);// 将 标准错误输出输出到 null(垃圾桶)里
while(~scanf("%d",&n)){
printf("%d\n",fprintf(stderr,"%d",n));
}
return 0;
}
神奇的小游戏
输出函数说明
scanf 函数:
头文件 : stdio.h
原型 : int scanf ( const char * format , … );
format : 格式控制字符串
… : 可变参数列表
返回值 : 成功读入的参数的个数 有 EOF 以及 0 到 … …
while(scanf(...) != EOF);
普通的用法,如果读入一个想读入一个包含’ '的字符串呢
/************************************************************************* > File Name: 2.c > Author:Gin.TaMa > Mail:1137554811@qq.com > Created Time: 2019年01月04日 星期五 20时47分02秒 ************************************************************************/
#include<stdio.h>
int main(){
char a;
char str[100] = {
0};
int i = 0;
while(scanf("%[^\n]s",str)!=EOF){
getchar();
printf("%s\n",str);
}
return 0;
}
注意需要一个getchar()来读入一个换行符,因为 %[ ^ \n ] s 会在\n 前面停下来,这样 就永远都不会读入EOF这个字符了。所以需要getchar来吃掉\n 保证循环没有问题