零基础自学程序设计入门—C语言 第二周

    • 变量是做什么的?如何定义一个变量?

例:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
    //scanf是scanf_s的前身,
    int price = 0;
    int total = 0;
    printf("请输入您购买东西的价格:");
    scanf("%d", &price);
    printf("请输入您的票面:");
    scanf("%d", &total);
    if (total < price) {
        printf("不好意思,您的钱不够。");
    }
    else {
        printf("找回您%d元", total - price);
    }
    return 0;
}

至于为什么要加上第一行代码,参考:scanf和scanf_s的区别及如何解决scanf_s报错问题 - 知乎 (zhihu.com)

以下是从菜鸟教程获取的一些关键字

C 基本语法 | 菜鸟教程 (runoob.com)

auto

声明自动变量

break

跳出当前循环

case

开关语句分支

char

声明字符型变量或函数返回值类型

const

定义常量,如果一个变量被 const 修饰,那么它的值就不能再被改变

continue

结束当前循环,开始下一轮循环

default

开关语句中的"其它"分支

do

循环语句的循环体

double

声明双精度浮点型变量或函数返回值类型

else

条件语句否定分支(与 if 连用)

enum

声明枚举类型

extern

声明变量或函数是在其它文件或本文件的其他位置定义

float

声明浮点型变量或函数返回值类型

for

一种循环语句

goto

无条件跳转语句

if

条件语句

int

声明整型变量或函数

long

声明长整型变量或函数返回值类型

register

声明寄存器变量

return

子程序返回语句(可以带参数,也可不带参数)

short

声明短整型变量或函数

signed

声明有符号类型变量或函数

sizeof

计算数据类型或变量长度(即所占字节数)

static

声明静态变量

struct

声明结构体类型

switch

用于开关语句

typedef

用以给数据类型取别名

unsigned

声明无符号类型变量或函数

union

声明共用体类型

void

声明函数无返回值或无参数,声明无类型指针

volatile

说明变量在程序执行中可被隐含地改变

while

循环语句的循环条件

2.变量的初始化与赋值:以及如何读到输入的数字

如果没有进行初始化就开始使用

scanf("")引号中的字符串是你要输入的东西,并不是他会给你看的东西。

3.常量VS变量:不变的量是常量

#include <stdio.h>
int main()
{
    int a;
    int b;
    scanf_s("%d %d", &a, &b);
    printf("%d + %d =%d", a, b, a + b);
    return 0;
}

4.浮点数:整数运算的结果只有整数部分,不然就要用浮点数

例一:都是int类型,把12变成12.0,用%f获取。

#include <stdio.h>
int main()
{
    int foot = 0;
    int inch = 0;
    printf("请输入几尺几寸:");
    scanf_s("%d %d", &foot, &inch);
    printf("身高为%f", (foot + inch / 12.0) * 0.3048);
    return 0;
}

例二:用double类型,用%lf读入,%f获取。

#include <stdio.h>
int main()
{
    double foot = 0;
    double inch = 0;
    printf("请输入几尺几寸:");
    scanf_s("%lf %lf", &foot, &inch);
    printf("身高为%f", (foot + inch / 12) * 0.3048);
    return 0;
}

计算时间差:

#include <stdio.h>
int main()
{
    int hour1 = 0, minute1 = 0;
    int hour2 = 0, minute2 = 0;
    int a = 0, b = 0, c = 0;
    printf("请输入时间1:");
    scanf_s("%d:%d",&hour1,&minute1);
    printf("请输入时间2:");
    scanf_s("%d:%d",&hour2,&minute2);
    a = hour1 * 60 + minute1;
    b = hour2 * 60 + minute2;
    if (b < a) {
        c = a - b;
    }
    else {
        c = b - a;
    }
    printf("时间差为%d时%d分", c / 60, c % 60);
    return 0;
}

5.运算符的优先级

看看如何分析这个表达式:

a=5;

c = (b=a+2) - (a=2);

:a=2,b=7,c=5。

6.交换变量

7.复合赋值和递增递减

上课提到的那个复杂表达式该怎么理解?

a = b+=c++-d+--e/-f

答:可以化简为a=(b=b+c)-d+(e=e-1)/-f

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值