【c语言跟练】笔记1-计算

课程 翁恺 c语言

程序设计入门——C语言_浙江大学_中国大学MOOC(慕课) (icourse163.org)

C语言程序设计进阶_浙江大学_中国大学MOOC(慕课) (icourse163.org)

引言

一、软件介绍——visual code 2022

1.软件下载

  1. 下载官网Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器 (microsoft.com)

  • 软件区别: Visual Studio(IDE集成开发环境) & Visual Studio Code(代码编辑器)

  • 类型区别:Community(社区版) & Professtional (专业版) & Enterpress (企业版)

  • 版本区别:下个最新的,2022

  1. 安装事项:没放c盘

  1. 环境配置:

【c语言跟练】笔记1-计算_第1张图片

2.软件使用

  1. 新建工程、编译、执行:

  • 勾选控制台应用或空白应用

  • 编译结果看到”成功“就行,其他先不用了解

  • 终端(窗口)任意键退出

  1. 常用快捷键:

  • ctrl+shift+n 新建项目

  • ctrl+s 保存

  • ctrl+shift+b 编译

  • ctrl+f5 执行(不调试)

  • f5 调试

  • f11 逐行调试

  • f8 单步调试【进入调用函数内部】

  • shift+tab 可以选上整体减少缩进

  1. 文件名解读:

  • .c表示c文件

  • .cpp表示c++文件

  1. 代码注释

  • // 单行注释 (c99)

  • /* */续行注释

二、代码思想

1.重要思想

  • 单步调试和设断点调试是程序员必须掌握的技能之一。

代码调试的常用操作:
1.利用断点调试程序,在最左侧点一下出现红色大圆点即设置了断点
2.鼠标放在变量上,显示变量存储的数据
3.逐句调试
代码调试的主要方法:
1.逐步调试;
2.循环中打印每步的赋值情况;
  • 程序是先后执行的动作,不是表达关系

  • 注意观察编译输出窗口反映的问题,定位到行,以及具体什么问题

2.重要技巧

  • 输入代码时输入法切换为英文

  • 数字键盘 num lk(0)&scr lk(insert)会影响光标是间隔还是跨越(受insert影响)

3.程序构建

  • 思考变量:输入变量、输出变量、中间变量

即会产生哪些数据,怎么保存

  • 思考算法:

设计计算方法,有简答,有复杂;

描述算法,即输入到输出的过程;

确定关键条件,比如循环的条件、判断的条件

  • 绘制流程图

  • 编辑程序

  • 调试执行

4.代码规范

int a = 1 + (b=c);  //× 错误示范!!
result = a = b = 5 + c;//× 错误示范!!

5.编程习惯

  • 及时注释,整段注释以及重点语句注释

  • 及时确认外界输入信息

int age = 0;

printf("请输入您的年龄:");
scanf("%d", &age);

printf("您的年龄是%d岁", age);
  • 单个出口

//单个出口
int f;
if (x < 0){
    f = -1;
}else if (x == 0) {
    f = 0;
}else {
    f = 2 * x;
}
printf("%d", f);

//多个出口
int f;
if (x < 0){
    printf("%d", -1);
}else if (x == 0) {
    printf("%d", 0);
}else {
    printf("%d", 2*x);
}
  • 易读

// 易读
int max = 0;
if (a > b) {
    max = a;
}
else {
    max = b;
}

//不易读
int max = b;
if (a > b) {
    max = a;
}
  • 不要把赋值,包括复合赋值写进表达式;不要嵌套条件运算符

// NO!!!!
if ( a>0 && a++<3){
    ……
}

// NO!!!!
count = (count>20)? (count < 5)? count-10:count -5:(count<10)?count+10:count+5;

三、程序框架(直到函数前)

#include 
int main()
{
    ……    

    return 0;
}

四、PAT系统

  1. 样例数据和题干一样重要

  1. 不用检查系统批卷的输入

  1. 不要交互,不用说你好啊啥的

  1. 只能按照题目要求输出,一个字都不要多

五、巧妙的算法

  1. 两数取大:假定大数

int max = b;
if (a > b) {
    max = a;
}
  1. 求公约数:辗转相除法

【c语言跟练】笔记1-计算_第2张图片
while (b > 0) {
    t = a % b;
    a = b;
    b = t;
}
  1. 整数求逆:ret*10

while (x > 0) {
    digit = x % 10;
    ret = ret * 10 + digit;
    x /= 10;
}

第一变量常量

1.一些Q&A:

  • 什么是变量常量?用于存储数据(翁恺老师思想)

  • 为什么定义常量?①避免程序中莫名其妙的数字,不易读;②方便统一修改。

2.重要内容:

  • 变量需要先定义再使用,定义时还要指明类型

  • c99可以在代码任何位置定义

  • 只可定义一次,不然报错重复定义

  • 定义后类型不可再更改???

3.定义格式:

// <变量类型> <变量名称> ;
int Price = 0; // 0代表初始化值是0
int Price,amount;

//const <常量类型> <常量名称> ;
const int amount = 100;
/*标识符:const是一个标识符,表明定义的是常量
const的属性是初始化后,不可再修改。*/

4.命名规则:

  1. 由数字、字母、下划线组成,数字不能开头;

  1. 避开c语言的关键字:如下

【c语言跟练】笔记1-计算_第3张图片

5.变量的赋值和初始化

//初始化
int a = 0;

//赋值
int a;
a = 0;

第二章 常用函数

1.printf 格式化输出

  1. 函数名解读:print代表打印,f代表format格式化

  1. 一般格式:

printf("Hello World!\n");
printf("%d",a);
printf("%d",'a');//输出对应的ASCII码??
  • ""是字符串,比如用双引号,不能用单引号

  • \n表示换行

  • format格式化

  1. 注意事项:

  • 占位符输出变量,不同数据类型用不同占位符

  • 输出结果与ASCII码

2.scanf 格式化输入

  1. 函数名解读:scan代表扫描进电脑,f代表format格式化

  1. 一般格式:

scanf("%d",&a);
scanf("%d %d", &a, &b);
scanf("%d,%d", &a, &b);
scanf("%d,%d\n", &a, &b);
scanf("price%d %d\n", &a, &b);
  1. 环境配置:

环境变量添加——加入预定义字符串:

解决方案-工程-属性-c++-代码预处理-第一个选项-编辑:加入如下代码

_CRT_SECURE_NO_WARNINGS

  1. 注意事项:

  • 按照scanf""双引号内的格式输出,不能差

  • 先配置环境变量

  • 变量前要有&

3.sizeof 计算占据字节数

  1. 一般格式

sizeof(a);
  1. 注意事项

//sizeof是静态运算符,不能执行括号内动作
int a = 0;
printf("%d",sizeof(a+1));//int 4位
printf("%d",sizeof(a+1.0));//double 8位

4.rand 生成随机数

  1. 一般格式

#include  
#include  
int main()
{
    srand(time(0));
    int number = rand();
……
  1. 特殊应用

//产生100以内随机数
rand()%100;

5.pow 生成幂

  1. 一般格式

#include  
int main()
{
    int number = pow(10,3);//1000
……

6.fabs求绝对值

  1. 一般格式

fabs(f1 - f2)

你可能感兴趣的:(c语言,c语言)