一、printf函數:
printf("Hello World!\n");
printf("My age is %d\n",26);
int age = 17;
printf("My age is %d\n",age);
%d 或 %i: 帶符號 十進制整數。
%o:不帶符號 八進制整數。
%x:不帶符號十六進制整數。
%u:不帶符號 十進制整數。
%c:輸出一個字符。
%s:輸出一個或多個字符串。
%f:輸出小數,默認輸出6位小數。
%e:以標準指數形式輸出單、雙精度數,數字部分小數位數為6位。
%p:輸出內存地址。
1.輸出寬度:printf("The price is %4d.",14); //%4d的意思是輸出寬度為4,而14的寬度只有2,因此前邊會有2個空格。
printf("The price is %-4d.",14); //14的后邊會有2個空格。
2.浮點數的小數位數:printf("My height is %f",179.95f);//輸出結果為:My height is 179.949997 //不設置
printf("My height is %.2f",179.95f);//輸出結果為:My height is 179.95 //設置小數位數
printf("My height is %8.1f",179.95f);//輸出結果為:My height is 179.9 //同時設置寬度和小數位數
二、puts函數:
char a[] = "tzk";
puts(a);
puts("tzktzk1");
//輸出結果為:?tzk
?tzktzk1
puts函數會從首地址開始輸出,一直到\0字符為止。
puts函數輸出一個字符串后會自動換行。
puts函數一次只能輸出一個字符串,printf函數則可以同時輸出多個字符串。
?
三、scanf函數:
printf("Please input your age:");
int age;
scanf("%d",&age); //獲取用戶輸入的數字并賦值給age(通過&地址運算符獲取age的地址,然后再對該地址賦值!)。
printf("Your age is %d.",age);
1.用scanf函數接收3個參數,每個參數用"-"隔開:(除了"-"以外其它符號也可!如:",","#","x",空格,tab,回車 等等。)
int a,b,c;
scanf("%d-%d-%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d",a,b,c);
四、gets函數:
char a[10];
gets(a);
gets跟scanf一樣,會從a的首地址開始存放用戶輸入的字符,存放完畢后,系統會自動在尾部加上一個結束標記"\0"。
gets一次只能讀取一個字符串,scanf則可以同時讀取多個字符串
gets可以讀入包含空格、tab的字符串,直到遇到回車為止;scanf不能用來讀取空格、tab。
?