Day 5
编译器:VS2019;
学习资料
1、B站视频(P26、P27)见链接 【求知讲堂2021C语言/C++视频99天完整版(不断更新中)学完可就业-哔哩哔哩】https://b23.tv/4DzQDY;
预处理命令
练习
#include<stdio.h>
#define PI 3.415926
#define ARRAY_SIZE 1000
#define G 9.8
#define S(a,b) a*b
#define CIRCLE(r,L,S,V) L=2.0 * PI * r;S=PI * r * r;V=(4 / 3) * PI * r * r * r;
#define LETTER 1
int main(void)
{
//int MyArray[ARRAY_SIZE];
//float S, r, V, L;
//
//printf("请输入半径:\n");
//scanf_s("%f", &r);
//L = 2.0 * PI * r;
//S = S(r);
//V = 4.0 / 3 * PI * r * r * r;
//printf("L=%5.2f,S=%5.2f,V=%5.2f\n", L, S, V);
//==========小写转大写,大写转小写==============
char str[20] = "C Language";
char c;
int i = 0;
while ((c = str[i])!='\0')
{
i++;
#if LETTER
if (c >= 'a' && c <= 'z')
{
c = c - 32;
}
#else
if (c >= 'A' && c <= 'Z')
{
c = c + 32;
}
#endif//letter
printf("%c",c);
}
printf("\n");
return 0 ;
}
指针
指针:C语言中的一种数据类型
定义:*类型说明符 变量名 ;
指针 * ( p + i ) 与 p [ i ] 等价;
二维数组指针
二维数组指针变量的一般形式: 类型说明符 ( 指针变量名 )[ 长度] ;
int( * p)[4] 等价于 p[ ] [4] ;
若为int p [] 则表示指针数组
字符串指针
字符串指针指向一个字符串
函数指针
一般形式 *类型说明符 (指针变量)();
注:函数指针变量无法进行算术运算,而数组指针变量加减一个整数可以使指针移动指向前面或者后面的数组元素,而函数指针的移动毫无意义
指针函数
函数的返回值是一个指针的一类函数,被称为指针型函数;
定义指针型函数的一般形式为:
类型说明符 * 函数名(形参表)
{
……// 函数体
}
指向指针的指针
一个指针变量存放的是另一个指针变量的地址,则称这个指针变量为指向指针的指针变量;
通过指针访问变量成为”单级间指“,通过指向指针的指针变量来访问变量则构成”二级间指“;
main函数的参数
C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv,即main(argc,argv);
C语言还规定argc(第一个形参)必须是整形变量,argv(第二个形参)必须是指向字符串的指针数组。加上形参说明后,main函数的函数头应写为:main(int argc,char* argv [] )。
void指针
ANSI新标准增加了一种”void“指针类型,即可以定义一个指针变量,但不指定它是指向哪一种类型数据;