字符串:
%c - 打印字符
%s - 打印字符串,以 '\0' 为结束标志!
strlen - 是库函数,头文件为 string.h 专门求字符串的长度,以 '\0' 为结束标志,不算 '\0'
定义字符串:
1.char arr[] = "abc"; --- 后面有一个 '\0'
2.char arr[] = {'a', 'b', 'c'}; --- 后面没有 '\0'
ps:如果想打印 '\0' 就输入 \\0
转义字符:(转变了原来的意思)
- \t -- 跳转一个制表域(可用于打印对齐)
- \n -- 换行
- \' -- 打印单引号
- \" -- 打印双引号
- \\ -- 使第二个 \ 不再是转义字符的 \
- \a -- 警示字符,蜂鸣
- \? -- 防止解译为三字母词 ex:??) --> ] ??( --> [
-
\ddd -- 表示将1~3个8进制数字(ddd)转换成十进制 ps: 8进制数只有0~7
ex:\130 ---> X(以字符形式打印出来)
#include <stdio.h> #include <string.h> int main() { char arr[] = "c:\test\678\test1"; //转义字符算作一个字符 int ret = strlen(arr); printf("%d\n",ret); //13 return 0; }
转义字符算作一个字符!上图中\t、\67均算作一个字符!所以该字符串包含13个字符!
-
\xdd -- 表示将两个十六进制的数字转换成十进制
ex:\x40 ---> @ (以字符形式打印出来)
选择语句:
if...else if...else
循环语句:
- while
- for
- do...while
函数:
#include <stdio.h>
int Add(int a, int b)
{
return a+b;
}
int main()
{
int a = 0;
int b = 0;
int sum = 0;
scanf("%d\n",&a,&b);
//函数调用
sum = Add(a,b);
printf("%d\n",sum);
return 0;
}
数组:
创建数组时,既不确定数组大小,也不初始化数组的是错误的。ex: int arr[];//err
创建数组时,不完全初始化,剩余的默认为0.ex: int arr[10] = {1,2,3};//实际上为1,2,3,0,0,0...
数组的下标从0开始,如果想输出数组,要用循环来实现:
#include <stdio.h>
int main()
{
int ch[10] = {0,1,2,3,4,5,6,7,8,9};
int i = 0;
for(i = 0; i < 10; i++)
{
printf("%d\n",ch[i]);
}
return 0;
}