- 常量
- C语言中的常量分为以下几类;
- 1.字面常量
- 2.const修饰的常量
- 3.#define定义的标识符常量
- 4.枚举常量
- 字符串
- 转义字符
- 注释
- 选择语句
- 循环语句
- 函数
- 数组
- 数组的定义
- 数组的下标
- 数组的使用
#include2.const修饰的常量int main() {//字面常量演示,能用肉眼直接看到的值, 3.14;//浮点型字面常量 100;//整型字面常量 "abcd";//字符串字面常量 //键盘上敲出的abcdef并用""引用称字符串 'a';//字符字面常量 //什么是字符键盘上能敲出@abc*并用''保住 //空格用单引号‘ ‘也是字符 return 0; }
#includeint main() { const int num = 10; //const修饰的整型num的值是不能直接改变,如果直接改变是要报错的 num = 1; //报错 return 0; }
3.#define定义的标识符常量上面例子上的 num 被称为 const 修饰的常变量, const 修饰的常变量在C语言中只是在语法层面限制了
变量 num不能直接被改变,但是 num本质上还是一个变量的,所以叫常变量。
#include4.枚举常量#define mxa 100//是全局常量 //mxa在整个函数中都表示的是100 //而且不能被修改 int main() { mxa = 5; //如果修改就会报错 printf("mxa=%dn", mxa);//100 return 0; }
#include字符串enum sex//enum是枚举常量的关键字 {//枚举类型中列举的可能取值都是枚举常量 EALE, FEMALE, SECRET //注;枚举常量的默认是从0开始,依次向下递增1的 }; int main() { printf("%dn", EALE);//0 printf("%dn", FEMALE);//1 printf("%dn", SECRET);//2 return 0; }
在存储字符和数值时一个一个的存储太麻烦了,C语言有一种专门为存储多种数据的储存方式,字符串。
"hello.n";
这种由双引号引起来的一串字符称为字符串字面值,或者简称字符
串。
如何在计算机中查看数组在内存的存储
1.在调试页面点击逐语句或逐过程
2.增加监视
3.在监视页面增加要监视的数组名
4.点击逐语句的按F11或点击逐过程按F10,看着光标按一步走一下
在这里插入代码片
注:字符串的结束标志是一个 的转义字符。在计算字符串长度的时候 是结束标志,不算作字符串
内容。
arr1,arr2,arr3,arr4的存储的内容。
假如我们要在屏幕上打印一个目录: c:codetest.c
因为t和n是转义字符
这里就不得不提一下转义字符了。转义字符顾名思义就是转变意思。下面看一些转义字符。
| 转义字符 | 解释 |
|---|---|
| ? | 在书写连续多个问号时使用,防止他们被解析成三字母词 |
| ’ | 用于表示字符常量’ |
| " | 用于表示一个字符串内部的双引号 |
| \ | 用于表示一个反斜杠,防止它被解释为一个转义序列符 |
| a | 警告字符,蜂鸣 |
| b | 退格符 |
| f | 进纸符 |
| n | 换行 |
| r | 回车 |
| t | 水平制表符 |
| v | 垂直制表符 |
| ddd | ddd表示1~3个八进制的数字。 如: 130 |
| xdd | dd表示2个十六进制数字。 如: x30 |
如果我们想打印 单引号 ‘ 和双引号 “ 要在单引号和双引号前面加上
;那130打印出来的是什么呢?
表示1~3个八进制的数字.转化成十进制时所对应的ASCII表的值。
;那x30打印出来的是什么呢?
笔试题
//程序输出什么? #include#include int main() { printf("%dn", strlen("abcdef")); //strlen是一个库函数,用来求字符串的长度的,统计的是字符串中 之前出现多少个字符。 // 62被解析成一个转义字符 printf("%dn", strlen("c:test628test.c")); return 0; }
运行结果和分析。
注释
- “abcdef"是由6个字符组成的字符串,6个字符分别是a b c d e f .
2."c:test628test.c"也是个字符串,它是由字符和转义字符组成的字符串。字符是c ; e s t 8 e s t . c转义字符是t 62 t
注意;628中的8已经不是八进制数了,所以62是转义字符
- 代码中有不需要的代码可以直接删除,也可以注释掉
- 代码中有些代码比较难懂,可以加一下注释文字
比如:
#includeint Add(int x, int y) { return x+y; } int main() { //C++注释风格 //int a = 10; //调用Add函数,完成加法 printf("%dn", Add(1, 2)); return 0; }
注释有两种风格:
C语言风格的注释 /xxxxxx/
缺陷:不能嵌套注释
C++风格的注释 //xxxxxxxx
可以注释一行也可以注释多行
选择语句也称分支语句
解释;是有选择的语句
if(判断条件)
语句1;
else if(判断条件)
语句2;
else
语句3;
switch(判断条件)
{
case 1:
语句1
break;
case 2:
语句2
break;
case 3:
语句3
break;
default:
break;
}
如果你好好学习,高考时上好大学。
如果你不好好学习,高考时你上不了好大学。
这是选择
#define _CRT_SECURE_NO_WARNINGS 1 #include循环语句int main() { int study = 0; printf("你好好学习吗?(选择1 or 0):>n"); scanf("%d", &study); if (study == 1) printf("好大学"); else printf("不好大学"); return 0; }
有些事必须一直做,比如日复一日的学习。
#includeint main() { int study = 1; while (study < 100) { printf("好好学习n"); study++; } if (study >= 100) printf("好大学n"); return 0; }
C语言中如何实现循环呢?
while语句
for语句
do … while语句
#includeint main() { int num1 = 0; int num2 = 0; int sum = 0; printf("输入两个操作数:>"); scanf("%d %d", &num1, &num2); sum = num1 + num2; printf("sum = %dn", sum); return 0; }
上述代码,写成函数如下:
#includeint Add(int x, int y) { int z = x+y; return z; } int main() { int num1 = 0; int num2 = 0; int sum = 0; printf("输入两个操作数:>"); scanf("%d %d", &num1, &num2); sum = Add(num1, num2); printf("sum = %dn", sum); return 0; }
函数的特点就是简化代码,代码复用
数组要存储1-10的数字,怎么存储?
C语言中给了数组的定义:一组相同类型元素的集合
int arr[10] = {1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放10个元素
数组的下标
C语言规定:数组的每个元素都有一个下标,下标是从0开始的。
数组可以通过下标来访问的。
比如;
int arr[10] = {0};
//如果数组10个元素,下标的范围是0-9
数组的使用
#includeint main() { int i = 0; int arr[10] = {1,2,3,4,5,6,7,8,9,10}; for(i=0; i<10; i++) { printf("%d ", arr[i]); } printf("n"); return 0; }



