字符串和数组
char name[128]={'a','b','c','0'}; //128是长度,字符串的表达方式 一般是00结尾,字符串
char name[128]="abcd";
char name[]="aaaa"; //这几种表达方式都可以[]里面可以不写, %s
scanf("%s",name); //字符串变量作为scanf参数时不需要加地址符
strlen 计算字符串的有效字符数,遇到NULL结束
sizeof 返回的是数据实际占用的内存数
字符串的输入和输出
//字符的输入和输出就比较简单,用getchar就可以实现,但是字符串就需要加一个循环了
#include <stdio.h> #include <ctype.h> //字符串的输入与输出 int main() { //getchar 输入一个字符 //putchar() 打印字符 char string; while ((string=getchar()) != '#')//遇到#就会结束,但是就不能打印#了 设为 =EOF ,这个是系统宏定义的不可见字符,例如ctrl+
{ putchar(string); } return 0; } //缓冲区 //输入123456789字符串的时候 这段字符串保存再缓冲区中 //getchar 获取缓冲区的一个字符1 //string =1 //putchar打印出来,然后循环
定义常量
#define PI 3.14 //宏定义 %f
优先级
a=1; b=a++; //b结果是1,a结果是2, 因为= 的优先级高于++
循环语句
循环while
do {} while (true);//无论如何都会进入代码块循环一次,然后再判断
**************************************
while (1) //先判断再循环
{ printf("你这个臭猪!!! "); }
**********************************
循环for
for (size_t i = 0; i < length; i++) { }
分支和跳转
if使用
if (true) { }
continue; //跳出单次循环
break; //跳出大循环
swich使用
int flag = 1; switch (flag) { case 1: printf("1"); break case 2: printf("2"); break default: break; }
goto 弊端有点大,破环程序解构,不怎么建议使用
?:使用
c=()?1:2; //如果括号里面是真 则c=1,否则位2