• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

小白C语言-基础知识篇1

互联网 diligentman 4天前 8次浏览

课前回顾

上节学习内容:
如何使用Dev C++编写运行第一个程序
掌握了解C语言程序基本构成
熟知C语言基本数值类型,通过所学知识编写矩形周长面积


学习目标

学会使用C语言键盘格式输入
牢记 <字符集、标识符、关键字>
常量与变量,How to distinguish?


学习内容:

C语言标准输入格式以及用法
C语言字符集,标识符以及常用关键字
各种基本类型的常量变量认知
C语言注释格式介绍


内容详解:

一、格式输入函数

1. 格式输入函数一般调用格式
scanf("格式控制字符串",地址列表);

函数功能:按规定的格式从键盘获取若干数据赋值给地址列表所指的内存单元。函数返回读入的数据个数,出错则返回0。
例如:键盘输入各种类型

scanf("%d", &a);
//从键盘获取整数,赋值给a所在地址单元。

小白C语言-基础知识篇1

举例简单说明,我们的变量a所在存储地址为0x123,我们键盘输入的数字20,存放在存储地址为0x123的存储单元中,在之后使用变量的时候,变量a就可以拿来使用了。
当然我们可以用输出函数去查看我们的变量地址printf("%x",&a);找到变量a的地址,这里我们举例的0x123为a的地址,屏幕即输出0x123。

同样的,我们的字符型,实数型均是同样的道理,将所有键盘输入的数值存储在相应的存储单元中。

scanf("%f", &f);
//从键盘获取实数,赋值给f所在地址单元。
scanf("%c", &c);
//从键盘获取一个字符,赋值给c所在地址单元。

既然我们可以从键盘获取一个数值,那么能不能去获取多个呢?
答案当然是可以的!!!
如:

scanf("%d%d%d", &a,&b,&c);
//从键盘获取三个整数,分别赋值给a,b,c所在地址单元,格式字符直接相连

敲黑板啦!!!
仔细看,我们输入的格式控制字符是连接在一起,那么我们该怎样去输入三个数让他们正确识别呢?
ANS:第一个数 <空格/回车> 第二个数 <空格/回车> 第三个数

那,我这样输入呢?

scanf("%d,%d,%d", &a,&b,&c);
//从键盘获取三个整数,分别赋值给a,b,c所在地址单元,格式字符逗号隔开

ANS:第一个数 , 第二个数 , 第三个数

注意:

  • 如果代码是英文状态字符,输入时候也区别中英文的哦。
  • 同时,一定要记得写 & 取地址符,这里区别我们输出函数,输出函数是直接输出变量,不需要取地址符,除非是需要得到当前变量的地址值,我们才会需要取地址符。
2. 再来说说我们字符输入的一般形式:
字符变量 = getchar();

函数功能:从输入设备(键盘)上读入一个字符,函数的返回值是该字符的ASCII编码值。

#include<stdio.h>
int main()
{
	char c;
	c= getchar();//从键盘输入字符,将该字符的ASCII编码值赋值给c
	putchar(c);//输出c对应的字符
	return 0;
}

运行时输入如下:
a
输出结果:a

注意:

  • 执行getchar()输入字符时候,键盘输入字符后需要Enter键回车,程序才会响应输入,继续执行后续语句。

  • getchar() 函数也将Enter键作为一个回车字符进行字符读入,在使用getchar()函数的时候,在多个连续的字符读入时应当注意回车键。

二、字符集、标识符、关键字

1.字符集

C语言字符集包含英文字母,阿拉伯数字以及其他一些符号。具体归纳如下:

  • 英文字母:a-z, A-Z大小写各26个,共计52个,区分大小写。
  • 阿拉伯数字:0-9,共计10个。
  • 标点以及特殊字符:+ – * / = , : ; . ? " ’ ~ ! # % ^ & () [] {} <> _
2. 标识符

标识符是由字符组成的词汇,分系统标识符和自定义标识符两类,系统标识符叫做关键字,用户定义的自定义标识符通常为程序中的变量,常量,函数等命名。

C语言对于标识符有着以下规定:

  1. C语言标识符由字母,数字,下划线组成的字符序列,但开始的第一个字符必须是字母或者下划线,不能以数字开头。
  2. 系统标识符(关键字,函数名等)不允许用户自己再次定义
  3. 定义标识符尽量做到“见名知意”,让标识符便于阅读有意义。
3. 关键字

关键字是语言中特定含义的标识符,用户不能作为变量或者函数名使用。
小白C语言-基础知识篇1
图片来自编程鸟–C语言关键字解析

三、基本类型的常量变量

1. 常量

“常量”的广义概念是:‘不变化的量’(例如:在计算机程序运行时,不会被程序修改的量;数学函数中的某一个量,例如每一个具体的圆的半径、直径数值;物理学中的靠近地面的重力加速度;真空中的光速数值;不同的微粒的各自的质量)换言之,常量,在计算机技术方面虽然是为了硬件、软件、编程语言服务,但是它并不是专门为硬件、软件、编程语言而引入的概念。常量可区分为不同的类型,如:25、0为整型常量,6.8为实型常量,‘a’、‘b’为字符常量。常量一般从其字面形式即可判断。这种常量称为字面常量或直接常量。

来源 百度百科

  1. 整形常量
  1. 十进制整形常量: 日常所见十进制数,包含正整数、负整数以及整数0,数字表示范围0-9, 如 265, -11, 0 等。
  2. 八进制整形常量:用数字0作为前导,数字表示范围0-7, 如0237,016,075等。
  3. 十六进制整形常量:用数字0和X作为前导(字符X大小不限),数字表示范围0-9,A-F,如0x123,0X4A2,0XFF等。
  1. 实型常量

实型常量只能用十进制形式表示,不能用八进制和十六进制表示。
实型常量小数形式:28.16, 554.1。
实型常量指数形式:2.34E+3,12.46E-9。
这里,2.34E+3表示的是2.34X103,12.46E-9表示的是12.46X10-9。e或E前必须有数字,e后面数字必须是整数。

  1. 字符常量

字符常量是括在单引号中,例如:‘c’ 。
字符常量可以是一个普通的字符(例如 ‘c’)、一个转义字符(例如 ‘n’),或一个通用的字符(例如 ‘u02C0’)。
在C语言中,有一些特定的字符,当它们前面有反斜杠时,它们就具有特殊的含义,被用来表示如换行符(n)或制表符(t)等。

转义字符 含义
\ 输出
输出 ’
" 输出 "
n 换行
t 制表符(横向跳格)
v 竖向退格
b 退格
r 回车

4.字符串常量

字符串字面值或常量是括在双引号 “” 中的。一个字符串包含类似于字符常量的字符:普通的字符、转义序列和通用的字符。
如"Axsd",“21desajc”,"dsdnsds"等。

5.常量定义

C语言中定义常量方式有两种

  • 宏定义预处理 #define
#define 常量名 数值

例如:比如定义圆周率 π,后期计算圆相关问题就可以使用 PI 来进行代替。

#include<stdio.h>
#define PI 3.1415926     //定义常量,即 PI = 3.1415926

int main()
{
	int r = 3, c, s;
	c = 2*PI*r;//计算圆周长,周长公式:c=2πr
	s = PI*r*r;//计算圆面积,面积公式:s=πr^2
	printf("圆周长:%d n圆面积:%d",c,s);
}
  • const 关键字
const 类型 常量名 = 数值;

同上例题

#include<stdio.h>
int main()
{
	const float PI = 3.1415926;//定义常量,即 PI = 3.1415926
	int r = 3, c, s;
	c = 2*PI*r;//计算圆周长,周长公式:c=2πr
	s = PI*r*r;//计算圆面积,面积公式:s=πr^2
	printf("圆周长:%d n圆面积:%d",c,s);
}

此处查看C常量 | 菜鸟教程

2. 变量

变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储Script运行时可更改的程序信息。 C
中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。

变量的定义:

数据类型 变量名 = 数值;

例如:定义变量a, b, c分别为整形,浮点型和字符型

int a = 5;
float b = 33.24;
char c = 'm';

详请参考C变量 | 菜鸟教程

文章最后,简单介绍C语言注释及书写

程序的注释是书写程序过程中不可缺少的部分,适当的代码注释有助于提高代码可读性,更易于理解,编译器不会运行注释,简单来说,注释是用于面向编程人员的解释语句,编译器会直接跳过注释的所有字符。

代码注释有两种:

  • 行注释 //
    行注释采用两个斜杠进行表示,// 后的所在行所有字符编译器都会直接跳过,范围仅限当前行。

  • 块注释 /* */
    块注释采用斜杠加星号的表示方式,/* */星号之间为注释部分,编译器不会执行。块注释可以是多行文本。

代码示例:

#include<stdio.h>
int main()
{
	//------这里是行注释----------
	printf("helloworld 111n");
	/*这里是
	块注释
	我
	可以
	进行
	多行注释*/
	printf("helloworld 222n");
	return 0;
	/*
	输出显示:
		helloworld 111
		helloworld 222
	*/
}

C语言基础系列持续更新中!如文章内容有误,欢迎各位指正。
  • 上一篇小白C语言-HelloWorld篇

喜欢 (0)