【零基础认识C语言(二)】

常量

1.字面常量
2.const修饰的常量
3.#define定义的标识符常量
4.枚举常量

1.字面常量

#include <stdio.h>
int main()
{//字面常量演示,能用肉眼直接看到的值,
	3.14;//浮点型字面常量
	100;//整型字面常量
	"abcd";//字符串字面常量
	//键盘上敲出的abcdef并用""引用称字符串
	'a';//字符字面常量
	//什么是字符键盘上能敲出@abc*并用''保住
	//空格用单引号‘ ‘也是字符
	return 0;
}

2.const修饰的常量

#include <stdio.h>
int main()
{
	const int num = 10;
	//const修饰的整型num的值是不能直接改变,如果直接改变是要报错的
	num = 1;
	//报错
	return 0;
}

上面例子上的 num 被称为 const 修饰的常变量, const 修饰的常变量在C语言中只是在语法层面限制了
变量 num不能直接被改变,但是 num本质上还是一个变量的,所以叫常变量。

3.#define定义的标识符常量

#include <stdio.h>
#define mxa 100//是全局常量
//mxa在整个函数中都表示的是100
//而且不能被修改
int main()
{
	mxa = 5;
	//如果修改就会报错
	printf("mxa=%d\n", mxa);//100
	return 0;
}

4.枚举常量

#include <stdio.h>
enum sex//enum是枚举常量的关键字
{//枚举类型中列举的可能取值都是枚举常量
	EALE,
  FEMALE,
   SECRET
   //注;枚举常量的默认是从0开始,依次向下递增1的
};
int main()
{
		printf("%d\n", EALE);//0
		printf("%d\n", FEMALE);//1
		printf("%d\n", SECRET);//2
	return 0;
}

字符串

在存储字符和数值时一个一个的存储太麻烦了,C语言有一种专门为存储多种数据的储存方式,字符串。

"hello.\n";

这种由双引号引起来的一串字符称为字符串字面值,或者简称字符
串。

注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串
内容。

如何在计算机中查看数组在内存的存储
1.在调试页面点击逐语句或逐过程
在这里插入图片描述
2.增加监视
在这里插入图片描述

3.在监视页面增加要监视的数组名
在这里插入图片描述
4.点击逐语句的按F11或点击逐过程按F10,看着光标按一步走一下
在这里插入图片描述

注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串
内容。

在这里插入图片描述

注意;printf在打印数组时遇到\0打印停止。

arr1,arr2,arr3,arr4的存储的内容。
在这里插入图片描述
char arr1[]=“abcde”;
数组arr存放的是a,b,c,d,e,\o个元素共6个元素。监视中默认存放是char arr[6]。
char arr2[5]=“abcde”;
数组arr2存放的是a,b,c,d,e,没有’\0’的存在,存放了5个元素。

转义字符

假如我们要在屏幕上打印一个目录: c:\code\test.c
在这里插入图片描述
因为\t和\n是转义字符
这里就不得不提一下转义字符了。转义字符顾名思义就是转变意思。下面看一些转义字符。

转义字符解释
\?在书写连续多个问号时使用,防止他们被解析成三字母词
\’用于表示字符常量’
\"用于表示一个字符串内部的双引号
\\用于表示一个反斜杠,防止它被解释为一个转义序列符
\a警告字符,蜂鸣
\b退格符
\f进纸符
\n换行
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示1~3个八进制的数字。 如: \130
\xdddd表示2个十六进制数字。 如: \x30

如果我们想打印 单引号 ‘ 和双引号 “ 要在单引号和双引号前面加上\

在这里插入图片描述
;那\130打印出来的是什么呢?
在这里插入图片描述
‘\130’这个8进制转化成10进制,88转化为ASCII在所代表的那个值。

表示1~3个八进制的数字.转化成十进制时所对应的ASCII表的值。

;那\x30打印出来的是什么呢?
在这里插入图片描述
‘\x30’这个8进制转化成10进制,48转化为ASCII在所代表的那个值。
笔试题

//程序输出什么?
#include <stdio.h>
#include <stdio.h>
int main()
{
	printf("%d\n", strlen("abcdef"));
	//strlen是一个库函数,用来求字符串的长度的,统计的是字符串中\0之前出现多少个字符。
	// \62被解析成一个转义字符
	printf("%d\n", strlen("c:\test\628\test.c"));
	return 0;
}

运行结果和分析。
在这里插入图片描述

  1. “abcdef"是由6个字符组成的字符串,6个字符分别是a b c d e f .
    2."c:\test\628\test.c"也是个字符串,它是由字符和转义字符组成的字符串。字符是c ; e s t 8 e s t . c转义字符是\t \62 \t
    注意;\628中的8已经不是八进制数了,所以\62是转义字符

注释

  1. 代码中有不需要的代码可以直接删除,也可以注释掉
  2. 代码中有些代码比较难懂,可以加一下注释文字
    比如:
#include <stdio.h>
int Add(int x, int y) {
    return x+y; }
/*C语言风格注释
int Sub(int x, int y)
{
    return x-y;
}
*/
int main()
{
    //C++注释风格
    //int a = 10;
    //调用Add函数,完成加法
    printf("%d\n", 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 <stdio.h>
int main()
{
	int study = 0;
	printf("你好好学习吗?(选择1 or 0):>\n");
	scanf("%d", &study);
	if (study == 1)
		printf("好大学");
	else
		printf("不好大学");

	return 0;
}

循环语句

有些事必须一直做,比如日复一日的学习。

#include <stdio.h>
int main()
{
	int study = 1;
	while (study < 100)
	{
		printf("好好学习\n");
		study++;
	}
	if (study >= 100)
		printf("好大学\n");
	return 0;
}

C语言中如何实现循环呢?
while语句
for语句
do … while语句

函数

#include <stdio.h>
int main()
{
    int num1 = 0;
   int num2 = 0;
    int sum = 0;
    printf("输入两个操作数:>");
    scanf("%d %d", &num1, &num2);
    sum = num1 + num2;
    printf("sum = %d\n", sum);
    return 0; }

上述代码,写成函数如下:

#include <stdio.h>
int 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 = %d\n", 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

在这里插入图片描述

数组的使用

#include <stdio.h>
int 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;
 }
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
C 语言入门教程 一.概述 上........................................................ 1 一.概述 下........................................................ 2 .变量和常量..................................................... 8 三.运算符................................................. .......11 四.表达式和语句.................................................. 15 五.编写第一个C语言程序.......................................... 19 六.条件语句...................................................... 21 七.循环语句和循环控制............................................ 27 八.数组.......................................................... 34 九.多维数组...................................................... 38 十.函数的定义和调用.............................................. 41 十一.函数参数的传递和值返回 ..................................... 44 十.变量的作用域和存储类型...................................... 50 十三. 函数递归................................................... 55 十四. 预处理过程..................................... 58 十五. 指针概念.............................................. 63 十六. 数组和指针......................................... 66 十七. 指针函数和函数指针........................ 70 十八. 结构体............................................ 74 十九. 联合和枚举........................................ 78 十. 堆和链表 ............................................. 82 十一. 位操作............................................ 88 . 文件操作基本常识........................ 89 十三. 文件操作......................................... 91

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦乘着风去远航

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值