淮北论坛中文网站的seo怎么做
淮北论坛,中文网站的seo怎么做,房产门户网站模板,如果做公司网站文章目录 C介绍环境配置第一个cpp程序案例练习 变量常量关系运算符逻辑运算符条件运算符位运算符类型转换分支循环程序调用综合案例 C介绍 基于C语言#xff0c;继承了C的所有语法#xff1b; 静态类型语言#xff0c;需要先编译#xff0c;再执行#xff1b; 贴近底层硬… 文章目录 C介绍环境配置第一个cpp程序案例练习 变量常量关系运算符逻辑运算符条件运算符位运算符类型转换分支循环程序调用综合案例 C介绍 基于C语言继承了C的所有语法 静态类型语言需要先编译再执行 贴近底层硬件运行速度快 支持面向对象、面向泛型增强版的C; 应用领域 编译Compile编译器 将整个源代码翻译成机器码二进制文件一次性交给计算机执行如C/C 解释Interpret由解释器将代码逐行解释为机器码交给计算机执行如 python/js c的运行 版本C 98、C 11、 C 14、 C 17、C 20
环境配置
集成开发环境Visual Studio 编辑、编译 下载地址 工具 - 选项 可调整字体等 项目上右键 - 设为启动项目做项目切换 Ctrl k, c 注释 Ctrl k, u 取消注释; 第一个cpp程序
#include iostream // 包含头文件
using namespace std; // 使用std 命名空间/*多行注释
int, 返回值类型
main主函数
arr, 形式参数
{}, 函数体
*/
int main(char* arr[]) { //一个项目中仅仅一个main函数// cout 输出 cin 变量 输入// 流输出运算符// endl 结束一行cout Hello jack endl; // 必须分号结束// 系统调用system(pause); // 暂停return 0;
} 选中源码-右键-编译可以生成.obj目标文件; 选中项目-右键-生成build可以生成exe文件 查看路径如下 案例练习
基于函数封装实现功能输入用户名输出欢迎信息
#include iostream // 包含头文件
using namespace std; // 使用std 命名空间// 函数封装 void 表示 函数没有返回值
void welcomeUser() {cout 请输入用户名: endl;// C 支持字符串类型 而C不支持string name;// 输入cin name;// 输出欢迎信息cout Welcome name endl;
}int main(char* arr[]) {// 调用函数welcomeUser();// 系统调用system(pause); // 暂停return 0;
}
也可以将该函数定义在另一个源文件中本源文件内仅仅声明即可使用。声明如void welcomeUser(); 是没有函数体的编译器会自动查找。 变量
声明变量即分配内存命名以字母、数字、下划线不以数字开头在代码块{ }内部的变量为局部变量在所有{}外的变量为全局变量局部变量必须先初始化赋值才可以使用而全局变量默认初始化代码块内部优先查找作用域最小的局部变量使用 :: 变量 访问全局变量
#include iostream // 包含头文件
using namespace std; // 使用std 命名空间// 定义枚举类型
enum Sex
{MALE, // 默认从0开始FEMALE
};int main(char* arr[]) {// 整型定义int age; // 变量的声明age 23; // 初始化赋值// double double score 79.534; // 声明并赋值 为变量定义float scoreF 60.8f;// 字符串定义string name jack;string fullName name li; // 字符串的拼接// 布尔bool isGood false;// 枚举enum Sex sex MALE; // 定义 并赋值// 输出cout 姓名 name endl;cout 全名 fullName endl;cout 性别 sex endl;cout 年龄 age endl;cout 分数 score endl;cout 是否好学生 isGood endl;// 系统调用system(pause); // 暂停return 0;
}变量基本类型本质占用多少内存空间 char 字符类型 单引号单字符1byte对应ASCII码整数值short短整型 2bytesint 整型 2-4bytes注意数据溢出超出范围循环到另一端一般使用intlong4byteslong long 8bytesunsigned short/int/long/long long 无符号非负unsigned char 无符号的字符float单精度浮点型 4bytesdouble 双精度8bytesstring字符串booltrue/false本质为整型void 空类型整数字面量默认为int; 可以后缀指定 LL 长整型/ ULL无符号长整型小数字面量默认为double; 指定后缀 f - floatL - long double;字符串的字面量是字符的数组 自定义类型 enum枚举struct结构体union共用体 sizeof 查看占用内存大小 sizeof age
常量
const 类型 常量名赋值值不可更改#define ABC 5 宏定义常量常量值不可更改
关系运算符
、、 、 优先、! 次之表达式返回bool类型
逻辑运算符 同true 则为true 第一个为false则不再计算第二个条件 || 有一个true 则返回true 第一个为true则不再计算第二个条件 取反 优先级
条件运算符
表达式 值1 值2表达式为true则取值1否则取值2优先级较低一般使用包裹
位运算符
~ 按位取反 按位左移、 按位右移 如 int a 5; a 2; 一般无符号的数左移、右移 按位与同1则为1| 按位或有1则为1^ 按位异或相同则为0不同则为1优先级从上到下依次降低
类型转换
隐式转换 短的数据类型向长的数据类型转换如int - long long; 4 5.5 这里4转为doubleshort/char/bool 一般会转为int;判断时0转为false非0转为true;赋值时右侧值类型转为左侧变量的类型 强制转换长的类型向短的类型中转换 int age 5;double aa doubleage; // C风格double bb double(age); // C风格static_castdouble(age)
分支
if …else
if (表达式) {}if (表达式) {}
else if (表达式) {}
else {}switch
int age 5;
switch(age){ // 必须传入数值case 1: 语句break;case 2: 语句brea;default: 语句
}案例1输入一个人的姓名分数输出他的平分等级 90 优秀 80 良好 70中等 60及格 否则不及格
#include iostreamusing namespace std;int main() {// declarestring name;double score;cout 输入姓名: endl; // endl换行//获取输入cin name;cout 输入分数: endl;cin score;// 判断if (score 90) {cout name :优秀 endl;}else if (score 80) {cout name :良好 endl;}else if (score 70) {cout name :中等 endl;}else if (score 60) {cout name :及格 endl;}else {cout name :不及格 endl;}// system(dir);system(pause);return 0;
} 案例2: 输入绩效等级输出奖金数额 使用switch
#include iostreamusing namespace std;int main() {// declarechar level;cout 输入等级: endl;cin level;switch (level) { // 传入数值case A: cout 1000 endl; break;case B: cout 500 endl; break;case C: cout 300 endl; break;default: cout 没有奖励 endl;}// system(dir);system(pause);return 0;
} 循环
whiledo…whilefor C是面向过程为扩展C的功能开发出了C扩展了面向对象、基于泛型的操作 C的所有语法在C中基本都可以使用 由于C的复杂性基于C 实现了java语言在保留好用的语法的同时进行了不好的语法的修改 while循环:
#include iostreamusing namespace std;int main() {// declarechar level;int i 3;// 用户循环输入while (1) {// 异常捕获try{cout 输入等级: endl;cin level;switch (level) {case A: cout 1000 endl; break;case B: cout 500 endl; break;case C: cout 300 endl; break;default: cout 没有奖励 endl;}--i;cout i: 5 / i endl; // 除0会退出进程continue; // 继续下次循环}catch (const std::exception) // 异常捕获 与java js类似{cout 捕获异常 endl;break; // 结束循环}}// system(dir);system(pause);return 0;
} do…while:
int i 10;
do {cout current i: i endl;--i;
}while(i 0);for循环:
// C 的用法
int i;
for(i0; i 10; i){ // 满足i10则执行代码块最后执行i再判断是否满足条件cout current i: i endl;
}// 遍历数组元素 同java
int arr[] {1, 2, 5, 9};
for (int e : arr) {if (e % 5 0) {continue; // 继续下次循环后面的代码不再执行}else if(e / 3 3){break; // 结束循环}elsecout e endl;
}
// 最终输出 1 2 nbsp goto 标签 跳转到语句块不推荐使用
#include iostream
using namespace std;int main() {goto laufing; // 语句块 跳转 windows批处理支持goto// 声明语句块
laufing: cout input your name: endl;string name;cin name; // 直接输入空格不会停止扫描输入字符串后遇到空格则停止// name.empty() 是否为空// name.length() 长度// name.at(idx) 获取对应索引处的字符// name.substr(start_idx, count) 从idx索引开始截取count个字符// name.find(sub_string) 返回找到的第一个位置的索引找不到则返回一个很大的数字// name.rfind(sub_string) 从右边开始查找返回第一个的起始索引// name.clear() 清空该地址的字符串if (name.empty()) { // 字符串为空cout empty name endl;goto laufing;}else if (name.length() 2) {cout to short endl;goto laufing;}else{cout idx 0: name.at(0) endl;cout substr: name.substr(1, 3) endl;cout find: name.find(ja) endl;cout find: name.rfind(ja) endl;name.clear();cout clear: name endl;}// system(dir);system(pause);return 0;
} 程序调用
源代码打断点直接在对应的行处点击再次点击取消断点 调试快捷键 F5 开始调试shiftF5 结束调试CtrlF5 直接执行不调试F11 逐行执行shiftF11 到下一个断点shiftF9 快速监视变量值选中一个变量-shiftF9点击‘添加监视’ 也可以点击菜单栏的‘调试’ 综合案例
输入一个自然数 n判断是否为质数 只能被1和自身整除则为质数1和自身 不用判断可以取 2 - n / 2 之间的值依次判断是否被n整除n特别大时为优化性能可以取 2 - sqrt(n)之间的值来判断
#include iostream
using namespace std;// bool是函数返回值类型
// n是函数的形式参数
bool isPrimer(int n){ //定义一个函数int i 2;int upperVal n / 2;// 标志位bool flag true;while (i upperVal) {if(n % i 0){flag false;break;}i;}if (flag) {cout n 是质数 endl;return 1;}else {cout n 不是质数 endl;return 0;}
}int main() {int n;cout input a value: endl;cin n;isPrimer(n);// system(dir);system(pause);return 0;
}
输入一个自然数n输出n以内的所有质数
int i;
for(i2; i n/2; i){if(isPrimer(i))cout i endl; // 单行语句可以省略 { }elsecontinue;
}猜数字游戏 程序运行时随机设定一个目标数值让用户输入一个数字与目标数值比较大于目标值则输出‘大了’小于目标值则输出‘小了’等于目标值则输出“恭喜猜对了” int main() {//当前时间戳 秒int curTimestamp time(0); // python中 time.time() 获取时间戳 秒 // js: new Date().getTime() 毫秒// 设置随机数种子// srand(10); 种子固定则每次运行程序时都产生同样的随机数为了产生不同的随机数// 需要设置随机数的种子即伪随机 --不是真正的随机srand(curTimestamp);//生成 100 内的随机数int target rand() % 100; // 1000以内就 %1000int guessTimes 5;int curTimes 1;int guessVal;while (curTimes guessTimes) {// 让用户输入cout input your guess: endl;cin guessVal;if (guessVal target) {cout 小了 endl;curTimes;}else if (guessVal target) {cout 大了 endl;curTimes;}else {cout 恭喜猜对了 endl;break;}}if (curTimes guessTimes) {cout game over endl;}// system(dir);system(pause);return 0;
}下一篇C 教程 - 02 复合数据结构
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/87233.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!