1.
字符串
“Hello World!”
由双引号引起来的一串字符称为字符串字面值,简称字符串。
#define PI 3.14f
int
main
() {
return
0
;
}
enum
Gender
{
Male
,
Female
};
// Male
,
Female
就是枚举常量
int
main
() {
//
枚举常量的使用
printf
(
"%d\n"
,
Male
);
printf
(
"%d\n"
,
Female
);
return
0
;
}
int
main
() {
//
字符串
--
使用双引号引起的一串字符
char
arr1
[]
=
"Hello"
;
char
arr2
[]
=
{
'H'
,
'e'
,
'l'
,
'l'
,
'o'
};
printf
(
"%s\n"
,
arr1
);
printf
(
"%s\n"
,
arr2
);
}
打印如果:1.hello
2.hello烫烫烫烫.........
发现
arr1
中多了一个
‘\0’
的字符,如果在
arr2
中也添加
‘\0’
的字符,打印结果是否一样?
int
main
() {
//
字符串
--
使用双引号引起的一串字符
char
arr1
[]
=
"Hello"
;
char
arr2
[]
=
{
'H'
,
'e'
,
'l'
,
'l'
,
'o'
,
'\0'
};
printf
(
"%s\n"
,
arr1
);
printf
(
"%s\n"
,
arr2
);
}
打印结果都是和hello。
\0是字符串结尾的标志
2.转义符
转变原来字符的含义
转义字符对照表
\n
和
\t
是最常用的两个转义字符:
\n
用来换行,让文本从下一行的开头输出
.
\t
表示水平制表符,相当于
tab
键的功能。
int
main
() {
//
转义符
printf
(
"Hello\n"
);
// \n
就是改变原来字符
n
的含义,
\n
代表换行
}
转义字符对照表
\n
和
\t
是最常用的两个转义字符:
\n
用来换行,让文本从下一行的开头输出
.
\t
表示水平制表符,相当于
tab
键的功能。
3.
注释
1
、代码中不需要的代码可以直接删除,也可以注释掉
2
、代码中有些代码晦涩难懂
,
需要加一些注释文字
举个栗子:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//
两个数求和
注释有两种:
使用
//
注释内容
进行单行注释
使用
/*
注释内容
*/
进行多行注释
3.顺序结构
什么是语句?
语句就是指令。
C
语言中由一个分号隔开的就是一条语句。
C
语句建议一条语句只写一行。
顺序结构
顺序结构是按照代码的书写顺序从上到下执行的结构。
顺序结构是
C
语言最简单、最基本的结构。
举个栗子:打印个人信息
int
add
(
num1
,
num2
) {
return
num1
+
num2
;
}
/*
int sub(num1, num2) {
return num1 - num2;
}
*/
int
main
() {
//
调用
add
方法
printf
(
"%d\n"
,
add
(
10
,
20
));
return
0
;
}
printf
(
"Hello World!\n"
);
int
a
=
10
;
#include <stdio.h>
int
main
() {
printf
(
"----
个人信息
----\n"
);
char
name
[
20
];
//
保存姓名
printf
(
"
姓名
:"
);
scanf
(
"%s"
,
name
);
//
注意点
int
age
;
printf
(
"
年龄
:"
);
scanf
(
"%d"
,
&
age
);
char
gender
[
20
];
printf
(
"
性别
:"
);
scanf
(
"%s"
,
gender
);
float
height
;
printf
(
"
身高
:"
);
scanf
(
"%f"
,
&
height
);
//
打印个人信息(格式化输出)
printf
(
"\n
姓名
:%-20s,
年龄
:%4d,
性别
:%s,
身高
:%4.2f"
,
name
,
age
,
gender
,
height
);
return
0
;
}
1>C
语言在使用
scanf()
函数读取用户输入的字符串时,如果遇到第一个空白字符(空格,制表符、换行
符),就认为完成数据读取工作,后面的数据不再写入当前变量,而是保存在输入缓冲区中,等待下次
scanf
函数的输入。
2>%4d
表示以
4
位的宽度显示整型数据
3>%4.2f
表示以
4
位的宽度显示浮点型数据,且保留两位小数
4>%-20s
表示以
20
位的宽度显示字符串,并且左对齐
5>
在输入时,如果忽略字符串,可以通过
*
修饰字符串转换说明符。例如:
int age; scanf("%*s
%d",&age);
4.常见的关键字
auto double int struct break else long switch case enum register typedef char extern return union
const float short unsigned continue for signed void default goto sizeof volatile do if while static
关键字
typedef
关键字
static
在
C
语言中,
static
中是用来修改变量和函数的
修饰局部变量
------>
静态局部变量
修饰全局变量
------>
静态全局变量
修饰函数
------>
静态函数
#include <stdio.h>
int
main
() {
char
firstName
[
20
];
char
lastName
[
20
];
printf
(
"
请输入名
:"
);
scanf
(
"%s"
,
firstName
);
printf
(
"
请输入姓
:"
);
scanf
(
"%s"
,
lastName
);
int
fnLength
=
printf
(
"%s"
,
firstName
);
printf
(
" "
);
int
lnLength
=
printf
(
"%s"
,
lastName
);
//
使用
*
修饰符,通过参数指定
printf
(
"\n%*d %*d"
,
fnLength
,
fnLength
,
lnLength
,
lnLength
);
printf
(
"\n%-*d %-*d"
,
fnLength
,
fnLength
,
lnLength
,
lnLength
);
return
0
;
}
typedef
unsigned int
u_int
;
//
类型重定义,其实就是给类型起个别名
unsigned int
num1
=
20
;
u_int num2
=
30
;
// num1
和
num2
的类型是一样的
#include <stdio.h>
void
show
() {
int
a
=
1
;
a
++
;
printf
(
"%d\n"
,
a
);
}
int
main
() {
int
i
=
0
;
while
(
i
<
4
) {
show
();
i
++
;
}
return
0
;
}
static
修饰局部变量,使得局部变量的生命周期变长