程序员入门应该从哪里开始,蝶泳如何入门从哪开始
终极管理员 知识笔记 99阅读
第一次使用Visual Studio时

1.2 创建文件 1.3 编写代码
编写第一个代码

#include<iostream>using namespace std;int main(){cout << hello word! << endl;system(pause);return 0;
作用在代码中加一些说明和解释方便自己或其他程序员程序员阅读代码
两种格式
单行注释// 描述信息
通常放在一行代码的上方或者一条语句的末尾对该行代码说明
多行注释 /* 描述信息 */
通常放在一段代码的上方对该段代码做整体说明
提示编译器在编译代码时会忽略注释的内容
2.基本要素 2.1 变量作用给一段指定的内存空间起名方便操作这段内存
语法数据类型 变量名 初始值;
示例
#include<iostream>using namespace std;int main() { //变量的定义 //语法数据类型 变量名 初始值 int a 10; int b 5, c b2; cout << a << a << endl; system(pause); return 0;}
注意C在创建变量时必须给变量一个初始值否则会报错
2.2 常量作用用于记录程序中不可更改的数据
C定义常量两种方式
#define 宏常量 #define 常量名 常量值
通常在文件上方定义表示一个常量
const修饰的变量 const 数据类型 常量名 常量值
通常在变量定义前加关键字const修饰该变量为常量不可修改
示例
//1、宏常量#define day 7int main() {cout << 一周里总共有 << day << 天 << endl;//day 8; //报错宏常量不可以修改//2、const修饰变量const int month 12;cout << 一年里总共有 << month << 个月份 << endl;//month 24; //报错常量是不可以修改的system(pause);return 0;}
2.3 关键字 作用关键字是C中预先保留的单词标识符
在定义变量或者常量时候不要用关键字
C关键字如下
提示在给变量或者常量起名称时候不要用C得关键字否则会产生歧义。
2.4 标识符命名规则
作用C规定给标识符变量、常量命名时有一套自己的规则
标识符不能是关键字
标识符只能由字母、数字、下划线组成
第一个字符必须为字母或下划线
标识符中字母区分大小写
建议给标识符命名时争取做到见名知意的效果方便自己和他人的阅读
3.数据类型
C规定在创建一个变量或者常量时必须要指定出相应的数据类型否则无法给变量分配内存
3.1 整型作用整型变量表示的是整数类型的数据
C中能够表示整型的类型有以下几种方式区别在于所占内存空间不同
作用利用sizeof关键字可以统计数据类型所占内存大小
语法 sizeof( 数据类型 / 变量)
示例
int main() { cout << short 类型所占内存空间为 << sizeof(short) << endl; cout << int 类型所占内存空间为 << sizeof(int) << endl; cout << long 类型所占内存空间为 << sizeof(long) << endl; cout << long long 类型所占内存空间为 << sizeof(long long) << endl; system(pause); return 0;}
整型结论short < int < long < long long
3.3 实型浮点型作用用于表示小数
浮点型变量分为两种
单精度float
双精度double
两者的区别在于表示的有效数字范围不同。
示例
int main() { float f1 3.14f; double d1 3.14; cout << f1 << endl; cout << d1<< endl; cout << float sizeof << sizeof(f1) << endl; cout << double sizeof << sizeof(d1) << endl; //科学计数法 float f2 3e2; // 3 * 10 ^ 2 cout << f2 << f2 << endl; float f3 3e-2; // 3 * 0.1 ^ 2 cout << f3 << f3 << endl; system(pause); return 0;}
3.4 字符型 作用字符型变量用于显示单个字符
语法char ch a;
注意1在显示字符型变量时用单引号将字符括起来不要用双引号
注意2单引号内只能有一个字符不可以是字符串
C和C中字符型变量只占用1个字节。
字符型变量并不是把字符本身放到内存中存储而是将对应的ASCII编码放入到存储单元
示例
int main() { char ch a; cout << ch << endl; cout << sizeof(char) << endl; //ch abcde; //错误不可以用双引号 //ch abcde; //错误单引号内只能引用一个字符 cout << (int)ch << endl; //查看字符a对应的ASCII码 ch 97; //可以直接用ASCII给字符型变量赋值 cout << ch << endl; system(pause); return 0;}
ASCII码表格
ASCII 码大致由以下两部分组成
ASCII 非打印控制字符 ASCII 表上的数字 0-31 分配给了控制字符用于控制像打印机等一些外围设备。
ASCII 打印字符数字 32-126 分配给了能在键盘上找到的字符当查看或打印文档时就会出现。
3.5 转义字符
作用用于表示一些不能显示出来的ASCII字符
现阶段我们常用的转义字符有\n \\ \t
示例
int main() { cout << \\ << endl; cout << \tHello << endl; cout << \n << endl; system(pause); return 0;}
3.6 字符串型 作用用于表示一串字符
两种风格
C风格字符串 char 变量名[] 字符串值
示例
int main() { char str1[] hello world; cout << str1 << endl; system(pause); return 0;}
注意C风格的字符串要用双引号括起来
C风格字符串 string 变量名 字符串值
示例
int main() { string str hello world; cout << str << endl; system(pause); return 0;}
注意C风格字符串需要加入头文件#include<string>
3.7 布尔类型 bool作用布尔数据类型代表真或假的值
bool类型只有两个值
true --- 真本质是1
false --- 假本质是0
bool类型占1个字节大小
示例
int main() { bool flag true; cout << flag << endl; // 1 flag false; cout << flag << endl; // 0 cout << size of bool << sizeof(bool) << endl; //1 system(pause); return 0;}
4.数据的输入与输出 4.1 格式输入函数scanf
scanf
函数是一个用于输入的标准 C 函数可以在 C 中使用但在 C 中通常不推荐使用它因为它不提供类型安全性和异常处理容易引发潜在的安全问题。C 提供了更安全、更灵活的输入方法通常使用 cin
对象来完成。
以下是一个使用 scanf
函数的示例
#include <cstdio>int main() { int num; printf(输入一个整数: ); scanf(%d, &num); printf(你输入的整数是: %d\n, num); double value; printf(输入一个浮点数: ); scanf(%lf, &value); printf(你输入的浮点数是: %.2f\n, value); return 0;}
在这个示例中scanf
函数使用格式控制符如 %d
和 %lf
) 来指定输入的数据类型并使用 &
符号来获取变量的地址。与 printf
类似scanf
也需要手动处理输入的格式这可能会导致输入错误或溢出。
4.2 格式输出函数printf
printf
函数通常是与 C 语言相关的而不是 C。虽然在 C 中也可以使用 printf
但推荐使用 C 的 iostream
库中的 cout
来进行输出因为它更符合 C 的面向对象编程风格。如果你非常需要使用 printf
你需要包含 <cstdio>
头文件。
#include <cstdio>int main() { int num 42; printf(整数: %d\n, num); double value 3.14159; printf(浮点数: %.2f\n, value); const char* text Hello, World!; printf(字符串: %s\n, text); char character A; printf(字符: %c\n, character); return 0;}
在 printf
中格式控制符如 %d
、%.2f
、%s
、%c
用于指定输出的数据类型和格式。与 cout
不同printf
不会自动添加换行符你需要在格式字符串中显式包含 \n
来实现换行。
请注意虽然 printf
在 C 中可用但它不提供类型安全性因此容易引发潜在的错误。C 的 iostream
库提供了更安全、更灵活和更符合现代 C 编程风格的方式来进行输入输出操作因此通常更适合 C 编程。
4.3 标准输出输入流
cin相当于键盘称为标准输入流cout相当于显示器称标准输出流
endl是向流的末尾部加入换行符
4.3.1 使用cin
对象 cin
是C标准库中的输入流对象通常用于从标准输入设备键盘读取用户输入。你可以使用 >>
运算符来从 cin
中读取不同的数据类型例如整数、浮点数、字符、字符串等。
作用用于从键盘获取数据
关键字cin
语法 cin >> 变量
示例
#include<iostream>using namespace std;int main() {//整型输入int a 0;cout << 请输入整型变量 << endl;cin >> a;cout << 刚才输入的整型变量是 << a << endl;//浮点型输入double d 0;cout << 请输入浮点型变量 << endl;cin >> d;cout << 刚才输入的浮点型变量 << d << endl;//字符型输入char ch 0;cout << 请输入字符型变量 << endl;cin >> ch;cout << ch << endl;//字符串型输入string str;cout << 请输入字符串型变量 << endl;cin >> str;cout << str << endl;//布尔类型输入bool flag true;cout << 请输入布尔型变量 << endl;cin >> flag;cout << flag << endl;system(pause);return EXIT_SUCCESS;}
4.3.2 使用 getline
函数 getline
函数用于从输入流中读取一行文本并存储在字符串中。它允许你读取包含空格的整行文本。下面是一个示例
#include <iostream>using namespace std;int main() { string sentence; cout << 请输入一句话: ; getline(cin, sentence); // 读取整行文本 cout << 你输入的句子是: << sentence << endl; return 0;}
getline
函数需要两个参数输入流对象和一个字符串它会读取一行文本包括换行符存储在给定的字符串中。
4.3.3 标准输出方式
cout
是C标准库中的输出流对象通常用于向标准输出设备屏幕输出数据。你可以使用 <<
运算符将不同的数据类型输出到 cout
中例如整数、浮点数、字符、字符串等。
cout的一般格式为
cout<<表达式1<<表达式2<< ....<<表达式n;
下面是一个示例
#include <iostream>using namespace std;int main() { int num 42; cout << 整数: << num << endl; double value 3.14159; cout << 浮点数: << fixed << value << endl; char character A; cout << 字符: << character << endl; string text Hello, World!; cout << 字符串: << text << endl; return 0;}
可以写成多个cout语句
#include <iostream>using namespace std;int main() { string text Hello, World!; cout << 字符串: ; cout << Hello ; cout << ; cout << World! ; cout << endl; return 0;}
4.3.4 解释#include <iostream> #include <iostream>
是C程序中的一个预处理指令preprocessor directive它用于包含标准输入输出流的头文件即 <iostream>
标准库。这个头文件中包含了用于输入和输出的各种类和函数其中最常见的是 cin
和 cout
。
具体作用如下
提供输入输出功能包含 <iostream>
头文件后你可以使用 cin
对象来接收用户输入以及使用 cout
对象来输出结果到标准输出设备通常是屏幕。
方便使用标准输入输出流这个头文件定义了用于输入和输出的类、函数和运算符重载使得你能够以一种更便捷的方式进行输入输出。
提供类型安全性<iostream>
头文件中的输入输出操作是类型安全的这意味着它们会自动适应不同的数据类型并在编译时检查类型匹配减少了类型相关的错误。
using namespace std;
是C中的一个命名空间指令它的作用是简化代码中的标准命名空间 std
的使用使得你可以直接访问 std
命名空间中定义的标识符而无需在每次使用它们时写明 std::
前缀。
标准C库中的大部分标识符包括 cin
、cout
、string
等都被定义在 std
命名空间中。如果不使用 using namespace std;
你需要在每次使用这些标识符时显式指定命名空间例如 std::cout
和 std::string
。
以下是示例展示了使用和不使用 using namespace std;
的区别
使用 using namespace std;
#include <iostream>using namespace std;int main() { int num; cout << 请输入一个整数: ; cin >> num; cout << 你输入的整数是: << num << endl; return 0;}
不使用 using namespace std;
#include <iostream>int main() { int num; std::cout << 请输入一个整数: ; std::cin >> num; std::cout << 你输入的整数是: << num << std::endl; return 0;}
使用 using namespace std;
使代码更简洁但也可能引发命名冲突尤其当你的代码与其他库或命名空间中的标识符发生冲突时。因此一些程序员更喜欢显式指定命名空间以避免潜在的冲突。
5.流操作的控制 5.1 头文件说明#include <iomanip>
#include <iomanip>
是C标准库中的头文件它提供了一组用于格式化输入输出的工具和控制符。这个头文件允许你对输出进行更精细的格式化控制包括字段宽度、小数位数、对齐、填充等特别适用于控制输出的外观。
以下是一些 #include <iomanip>
头文件中提供的常用控制符和函数
setw(int width)
设置字段宽度。这个控制符用于指定输出字段的最小宽度。如果输出的内容不够宽度将使用填充字符进行填充。例如cout << setw(5) << 42;
将输出 42其中字段宽度为5。
setprecision(int n)
设置浮点数的小数点后位数。这个控制符用于指定浮点数的小数部分要显示的位数。例如cout << fixed << setprecision(2) << 3.14159;
将输出 3.14。
left
和 right
这些控制符用于控制文本的对齐方式。left
使文本左对齐而 right
使文本右对齐。
例如
cout << left << setw(10) << 左对齐;cout << right << setw(10) << 右对齐;
setfill(char fillchar)
设置填充字符。这个控制符用于指定在字段宽度未达到时要使用的填充字符。默认情况下填充字符是空格。
例如
cout << setfill(*) << setw(10) << 42; // 输出 ********42
<iomanip>
头文件提供了更多控制符和函数用于满足不同的输出格式需求。它对于需要精确控制输出格式的情况非常有用如生成表格、报表、货币格式等。
常见的格式控制符包括
setw(int width)
设置字段宽度。setprecision(int n)
设置浮点数的小数点后位数。left
左对齐输出。right
右对齐输出。fixed
固定小数点表示浮点数。scientific
科学计数法表示浮点数。 例如;
#include <iostream>#include <iomanip>using namespace std;int main() { double value 3.14159; cout << 浮点数: << fixed << setprecision(2) << value << endl; return 0;}
5.3 控制符 C提供了一些控制符如 endl
用于输出换行符和 flush
用于刷新输出缓冲区用于控制输出的行为。
例如
#include <iostream>using namespace std;int main() { cout << 这是一行文本 << endl; cout << 这是另一行文本 << flush; return 0;}