一、常量及表示
c中常见的几种常量表示方式
1、字面常量:1,1.2,‘你好‘ ,...
2、枚举常量enum
enum Sex {
MALE,
FEMALE,
SECRET
};
enum Sex sex = MALE;
3、#define标识符常量
//#define N 30; 错误写法,注意:后面不能加分号(;)!!!
#define N 30
int arr[N] = { 0 };
int c = N;
printf("%dn", N);
#define结尾出不能加;号!当时这个错误一直没发现。
4、const 标识符常量
在c中,const int a=3;表示常变量,不能被修改的变量,占有存储空间。(编译器并不知道编译时的值具体为多少);
const int h=2;
int arr[h] = { 0 };
在C++中,const int a=3;const可以看成是编译期的常量,编译器先不给它分配空间,只是在编译的时候把它的值保存在名字表中,所以在定义数组时,已经可以知道它的值了,但是如果加上关键字extern或者取其地址,则会分配空间。
二、char arr1[] = "abc" ;和 char arr2[] = { 'a','b','c'};两者一系列差异。
1、关于两者打印的区别;
//int main() {
// char arr1[] = "abc";
// char arr2[] = { 'a','b','c' };
// //printf("%sn", arr1); //'a' 'b' 'c' ' '-字符串的结束标志;
// //printf("%sn", arr2); //'a','b','c';没有结束符' '
//没有 ,不知到何时能够结束,就会随便出现随机内容直到遇到 (一些杂七杂八的文字)。。
// 字符串中的' ',只作为结束的标识符,不做内容。
正确结束
char arr2[] = { 'a','b','c',0 }; //才会结束打印abc
或者
char arr2[4] = { 'a','b','c',' ' };
注意:char arr2[4] = { 'a','b','c',' ' };
与char arr2[ ] = { 'a','b','c',' ' };
两者打印的效果一样吗?思考一下。
2、比较长度;
// strlen 查找计算内容,遇到 时结束,不包括 。
// printf("%dn", strlen(arr1));//3
// printf("%dn", strlen(arr2));//随机值
注意strlen( )与sizeof( )的区别;
三、转义字符
转义字符' '值为0;数据以二进制的形式存储在计算机中;
//五、转义字符 :
// //转变原来字符的意思;
//int main() {
// printf("%cn", '32');//向右的箭头;
// printf("%sn","c:test32test.c");
// printf("%dn", strlen("c:test32test.c"));
// printf("%p", "c:test32test.c");
// return 0;
// //32是两个八进制数表示的一个十进制数:3*8^1+2*8^0=24;
// //十进制24对应ascii码值,代表向右箭头字符。
// // /ddd ddd表示1-3个八进制数
// // /xdd dd表示两个十六进制数
//}
区分: , '\0', '0',
四、数据类型:占位情况
//printf("%d,n", sizeof(int));//4字节 4x8bit(位)
// //printf("%d,n", sizeof(short));//2
// //printf("%d,n", sizeof(long));//4
// //printf("%d,n", sizeof(long long));//8
// //printf("%d,n", sizeof(float));//4
// //printf("%d,n", sizeof(double));//8
// //printf("%d,n", sizeof(char));//1
五、scanf("%d%d", &num1, &num2);
与scanf("%d,%d", &num1, &num2);(用scanf_s();不会提示)
scanf("%d%d", &num1, &num2);两个数字之间可以用空格或者回车键隔开。
scanf("%d,%d", &num1, &num2);两个数字之间必须要用逗号(,)隔开敲入。
六、函数
自带库函数(必须有相应的头文件)与自定义函数。
库函数:
如:strlen(),printf(),scanf_s()...;
自定义函数:
#include#include int main(void) { int a ; int b ; printf("请示输入两个数字,以比较大小:"); scanf_s("%d,%d", &a, &b); //scanf_s("%d%d", &a, &b);注意区分%d%d,之间是否有逗号。 int big = 0; big=compare(a,b); printf("the bigger is%d", big); return 0; } int compare(int x, int y) { int bigger; if (x > y) { bigger =x; } else { bigger = y; } return bigger; }
七、局部变量与全局变量。



