What scares me is not my shortage, is my losing courage!!!
1.编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。
My solution:
#include <stdio.h>
int main()
{
int c, n1;
n = 0;
while ( (c = getchar()) != EOF){
if(c != ' '){
putchar(c);
n = 0;
}
else{
if(n == 0){
putchar(c);
n++;
}
}
}
2.在C语言中,所有变量都必须先声明后使用,声明通常放在函数的起始处,在任何可执行语句之前。
3.%代表替代的位置,数目与类型都要匹配。
4.常数中的小数点表明该常数是一个浮点数。
%3.0f :待打印的浮点数至少占3个字符宽,且不带小数点和小数部分
%6.1f:待打印的浮点数至少占6个字符宽,且小数点后有1位小数
%d:按十进制整数打印
%6d:按十进制整型打印,至少6个字符宽
%ld:按long整型打印
%f:按浮点数打印
%.2f:按浮点数打印,小数点后2位小数
%o:8进制数
%x:16进制数
%s:字符串
%%:百分号(%)本身
5.C语言中的一个通用规则: 在允许使用某种类型变量值的任何场合,都可以使用该类型的更复杂的表达式
6.#define 名字 替换文本
其中“名字”为符号常量,而非变量
7.C语言中,无论文本从何处输入,输出到何处,其输入/输出都是按照字符流的方式处理,文本行是由多行字符构成的字符序列,而每行字符则是由0个或多个字符组成,行末是一个换行符。
8.一次读写一个字符:getchar() / putchar(c);
9.C语言要求for循环必须有一个循环体,即使循环体为空也必须加上单独的分号。
10.在C语言中,所有的函数参数都是“通过值”传递的,也就是说,传递给被调用函数的参数值存放在临时变量中,而不是存放放在原来的变量中。
若要改变传递的参数,则使用pointer
若将数组作参数,则传递的是数组起始元素的位置或地址-------它并不复制数组元素的值。