C语言教程(三):基础知识(续)

参考:《标准C语言基础教程》(第四版)[美] Gary J.Bronson 著 张永健 等译

1. 前文回顾

首先我们先对上次留下的小问题进行解答,答案其实很简单,和我来看一下代码吧~

#include <stdio.h>

int main() {
    printf("This is my name: Lin\n");
    return 0;
}

很简单吧~好啦,下面我们开始今天的正文!

2. 本文概述

在本文接下来的内容中,我将为大家讲述标识符数据类型scanf()函数简单用法以及printf()函数的另外一个常见用法

3. 标识符

标识符是构成C语言代码的基础,主要分成以下三类:保留字、标准标识符、由程序员创建的标识符

3.1 保留字

所谓保留字,其实就是一些有特定用途的单词,例如return,break,goto等等。保留字在C语言中也称关键字
用书上的话说就是:保留字是编程语言为特定用途而预先定义的一个字,而且保留字只能用于特定的方式用于它的原本用途。
下面我将书中列出的C语言中的关键字列举在下方,当然,这不是最新的,想知道最新(C99)定义的保留字,就去在网上搜一下吧,多的是呢~
在这里插入图片描述

3.2 标准标识符

接下来呢,说一些预先定义的字。和保留字很像,但是与保留字不同,保留字的用途是程序员没办法去修改的,但是标准标识符,嘿嘿,程序员可以改它的用途。
用书上的话说就是:标准标识符是C语言中预先定义的字,它们具有预定义的用途,但是程序员能够重新定义这个用途。大多数标准标识符都是C语言标准库提供的函数名称。
下面我将书中列出的C语言中的一些标准标识符列举在下方,当然这不是全部~
在这里插入图片描述

3.3 由程序员创建的标识符

无规矩不成方圆,当然程序员创建的标识符也要遵循一定的规则,规则如下:

  1. 标识符的首字符必须是字母或者下划线;
  2. 只有字母、数字或者下划线可以跟在首字符之后(书中译为首字母,我认为不妥,如果大家认为我的理解有问题,希望大家可以在评论区指出);
  3. 程序员创建的标识符不能是保留字。

下面举几个程序员创建的无效标识符:

  • 9length(违反规则1,不应该数字开头);
  • my name(违反规则2,不应该有空格);
  • my*name(违反规则2,不应该有特殊字符);
  • for(违反规则3,不应该为保留字)。

大家在创建标识符的时候,要养成良好的命名习惯,举个例子哈~我想计算出我这个月的工资,那我便将工资这个变量命名为:salary,计算工资的函数我便命名为:calculateSalary()
还有一件事~C语言是一个大小写敏感的事情,什么意思呢,在举个例,在C语言中,CALCULATE,Calculate,calculate是三种不同的标识符哦!

4. 数据类型

下面我来讲讲常见的数据类型,当然不止这些,详细的大家可以参考书或者网络。

4.1 int数据类型

int数据类型其实说白了,就是整数,像523,-164,0 等等。
当然整数也得有个范围,不能太大,不能太小,范围如下。
-2 147 483 648 到 2 147 483 647。

4.2 char数据类型

char数据类型其实简单理解就是单个字符,单个字符的值是由一对单引号所包围的一个字母、数字或者特殊字符。例如‘A’,‘b’,‘8’,‘$’,‘!’,‘\n’ 等等。
等等!细心的小伙伴是不是发现了一个眼熟的家伙,没戳,就是他!‘\n’
上节课我们卖了个关子,下面我就给大家讲解一下这个是个啥。

4.2.1 转义符

所谓转义符呢,就是用一个反斜线(\)加上某些字符组成的组合体,来表示某个特定含义。举个例子哈,例如你想在printf()函数中输出回车也就是我们常用的enter键,应该怎么办呢,因为你发现你在printf()函数中敲个回车就会变成以下这个样子:

//假设我想要的输出结果是这个样子
I'm Lin.
I like cat

//那么我们在相应的位置敲一个回车就会变成这个样子
printf("I'm Lin.
I like cat");
//此时你会发现,报错了!

//此时转义字符就有作用啦!看我的!
printf("I'm Lin.\nI like cat");
//这时候你在运行一下试试!是不是很神奇!
//结果和上边的是不是一样的!!!

下面我列举几个比较常见的转义符:
在这里插入图片描述
好啦,有没有解决上节课的疑问啊~

4.3 浮点数据类型

我接下来只介绍两个较为常用的数据类型,其他的大家可以自己看书~
单精度浮点数(float)双精度浮点数(double)
其实这两个的区别在于编译器为每种类型所使用的存储空间量。大多数的编译器,双精度浮点数的存储空间是单精度浮点数的存储空间的两倍。但是其实说白了,都是用来表示小数的数据类型。

5. scanf()函数

scanf()函数是干什么的!哈哈,输入的。正经点哈,scanf()函数最常用来读取键盘输入的内容。看下面的代码,我们来做一个简单的加法计算器吧!

#include <stdio.h>

int main() {
    int firstNum,secondNum,sum;	//声明第一个加数,第二个加数以及加和的变量。
    printf("Please input the first number:");	//提示输入第一个加数
    scanf("%d",&firstNum);	//从键盘读取第一个加数,并存入变量firstNum。
    printf("Please input the second number:");	//提示输入第二个加数
    scanf("%d",&secondNum);	//从键盘读取第二个加数,并存入变量secondNum。
    sum = firstNum + secondNum;	//加和运算,将结果存入sum中
    printf("The sum of the first number and second number is: %d ",sum);	//输出结果
    //下面这种也可以
    //printf("The sum of the first number and second number is: %d ",firstNum+secondNum);
    return 0;
}

看完上述代码大家有没有明白一点scanf()的用法和作用哇,代码中%d格式控制符我再卖个关子,哈哈,下次再说~现在大家要记住,&这个符号是取地址符,简单说,用在变量前,表示找到这个变量的地址,并将值存入。(这表述并不准确,不过大家可先按此理解。)

6. printf()函数

大家参看上段代码中第10行以及第12行:

printf("The sum of the first number and second number is: %d ",sum);	//输出结果

printf("The sum of the first number and second number is: %d ",firstNum+secondNum);

在这里,两行代码表达的是一个意思,只是表述的方式不一样罢了,具体的区别,下次再说`%d`和上文说到的是一个哦,我还不说,下次,下次!大家暂且仅需记住`%d`可以代替你想要输出的变量的值,不然那可咋办呢,把变量的名字写在双引号里面,岂不是直接输出咯[/摊手手]

7. 结语

好啦,本次就先说这么多,大家可以尝试计算一下任意长方形的周长~

如果以上说法有错误,希望大家可以在评论区及时订正,有问题也欢迎大家在评论区里提问,我会尽我所能帮助大家解决问题~

发布了16 篇原创文章 · 获赞 11 · 访问量 1147

猜你喜欢

转载自blog.csdn.net/bjtu_linxinyu/article/details/103978760