C和指针-- 1 & 2

1. c语言里所有以#开头的都是预编译指令,就是在正式编译之前,让编译器做一些预处理的工作。

#if和#endif是配对的,叫做条件编译指令,如果满足#if后面的条件,就编译#if和#endif之间的程序段,否则不编译。

从逻辑上删除一段C代码

#if 0
statements
#endif 

2. const:函数将不会修改函数调用者所传递的这两个参数。

void rearrange(char *output, char const *input, int n_columns, int const columns[]);
3. 数组参数以引用形式传递,也即是传址调用。

标量和常量是按值传递。

4. printf----格式指示符。

%d %o %x %g(打印一个浮点数)%c %s \n

5. scanf----格式码
%d %ld %f %lf %c %s

while(scanf(“%d”, &columns[i])==1) {}

scanf函数从标准输入读取。读取成功,返回true 1;反之,返回false 0。


6. gets:从标准输入读取一行文本,并将它存储于座位参数传递给她的数组中。
char input[100];
while(gets(input)!=null)   {}

gets函数丢弃换行符,并在该行的末尾存储一个NULL字符。

  • gets返回非NULL值,表示该行已被成功读取。
  • gets返回NULL,表示到达输入末尾。

7. puts:将指定的字符串写到标准输出并在末尾加上换行符\n。

puts(“输出一行字符串。”);


8. getchar函数:从标准输入读取一个字符并返回它的值。如果输入中不存在任何字符,函数返回EOF,提示文件末尾。

读取一个字符:

若等于EOF,到达文件末尾,退出循环;

若等于换行符,则退出循环。


int ch;
while( ( ch = getchar() ) != EOF && ch != ‘\n’ )   {}


int ch=getchar();
while( ch!=EOF && ch != ‘\n’)  {
            ch=getchar();
} 

9. putchar:接受一个整型参数,并在标准输出中打印。


10. 几个函数:
  1. char *strcpy (char * strDest,const char * strSrc);
  2. char *strncpy (char*dest,char*src,size_tn);
  3. char *strcat (char *dest,char *src);//将src字符串添加到dest末尾。
  4. char *strchr (const char *s,char c);//查找c字符第一次在s中出现的位置。
  5. char *strstr (char *str1, const char *str2);//判断str2字符串在str1字符串中首次出现的位置。也即是判断str2是不是str1的子串。没有,返回NULL。
11. 三字母词(trigrph):三字母词合起来表示另一个字符。
??(   [ ??<    { ??=    #
??)     ] ??>    } ??/    \

??!     | ??’    ^??-    ~ 

12. 转义序列   &     字符转义

你可能感兴趣的:(C/C++)