- 基本使用
- C语言字符串被储存在char类型的数组中。
- 数组末尾存储空字符’\0’,所以字符串都是以空字符结尾,即数组的容量要比字符串的字符数多一位。
- char型数组:
char name[num]
- 输入:
scanf("%s",string);
遇到空格,制表符换行符就不在输入 - 输出:
printf("%s",string);
- 定义全局字符串:
#define STRING "String"
- strlen()与sizeof()函数
- strlen()函数给出字符串长度,不包含空字符,而sizeof()包含空字符,sizeof返回值为无符号类型。
- sizeof()圆括号可有可无,当运算对象是类型时,圆括号必不可少,对于特定量可有可无。尽量都带括号。
char name[40];
sizeofname://40
- 常量
-
全局常量:
#define NAME value
命名约定:全大写,或则名称前面带有c_或k_来表示 -
只读不变的变量const,只能打印,不能改变值。
const type NANME = vlaue;
-
明示常量:包含了整型和浮点类型大小限制的相关详细信息
#include<limits.h> //整型限制
#include<float.h> //浮点型限制
整型:浮点型:
- printf() & scanf()
- printf();:输出
printf("Here is the one way to \
print long string.\n");//第二行要顶格
printf("Here is another way to "
"to print long srting.\m");//可以不用顶格。
-
scanf();输入
a. scanf()读取基本变量类型的值,在变量名前加上一个&
b. scanf()读入字符数组中,不使用&。
-
printf() 和scanf()的 * 修饰符
a. printf()
printf("The number is %*d:\n",width,number);
printf("Weight = %*.*f\n", width, precision, weight);
//*.*,前面是*字段宽度,后面*是小数位数
变量width提供字段宽度,number是待打印的数字。因为转换说明中* 在d的前面,所以在printf()的参数列表中,width在number的前面。
b.
scanf()中* 的用法与此不同。把* 放在%和转换字符之间时,会使得scanf()跳过相应的输出项。
scanf("%*d %*d %d",&num);