C/C++学习手札(一)

出于需要,最近研究C/C++.简单熟悉一下这个让我遗忘多年的语言。作为学习,在这里记录。同时对比C与C++的差别。

C的代码:

#include <stdio.h>
#include <stdlib.h>

/**
 *  定义一个结构体
 */
struct Location {
    int x; // 横坐标
    int y; // 纵坐标
} location;

int main(void) {
    printf("输入X坐标:\t\n");

    int x;
    scanf("%d", &x);

    location.x = x;

    printf("输入Y坐标:\t\n");

    int y;
    scanf("%d", &y);
    location.y = y;

    printf("X坐标是:\t%d\n", location.x);
    printf("Y坐标是:\t%d\n", location.y);

    //  做倒三角打印
    int i;

    for (i = 0; i < y; i++) {
        printf("%d\t", i + 1);

        int j;
        for (j = i; j < x; j++) {
            printf("* ");
        }
        printf("\n");
    }

    return EXIT_SUCCESS;
}

这里使用了结构体Location,并生成了一个实例location.通过scanf向x、y输入数字。以location.x = x;方式将数值赋值给结构体location的变量x.由此可以看出结构体就是现在面向对象的基础,尤其是数据对象的前身。

时间: 2024-12-28 05:41:36

C/C++学习手札(一)的相关文章

【转】Spring 注解学习手札(超好的springmvc注解教程)

Spring 注解学习手札(一) 构建简单Web应用 Spring 注解学习手札(二) 控制层梳理 Spring 注解学习手札(三) 表单页面处理 Spring 注解学习手札(四) 持久层浅析 Spring 注解学习手札(五) 业务层事务处理 Spring 注解学习手札(六) 测试 Spring 注解学习手札(七) 补遗--@ResponseBody,@RequestBody,@PathVariable Spring 注解学习手札(八) 补遗--@ExceptionHandler 

C/C++学习手札(三)

接着说说友员friend和操作符重载operator,为了把这两个搞清楚,费了大半天劲儿搞了一个堆栈,被一堆指针问题搞得头都大了! 不过,最终还是OK了! 这次做这么一件事,搞体育活动.每个团队Team 有5个队员Comperitor ,可以对队员做入栈.出栈操作,每个队员有编号.名字.对输入队员信息.输出队员信息做操作符重载,使得输入的时候能够给出相应提示. 构建一个队员类Comperitor C++代码 /** * 队员 */ class Comperitor { private: char

C/C++学习手札(二)

我们研究一下继承和虚函数. 比如我们需要求正方形.长方形的周长.面积: 选择1计算长方形 选择2计算正方形 选择3退出 其他无效 我们做一个继承实现,父类矩形,子类有正方形.长方形继承矩形 C++的继承语法如下: 矩形 class Rectangle 正方形 class Square: public Rectangle 长方形 class Oblong: public Rectangle 对正方形.长方形求面积.周长.面积公式相同,在矩形父类完成,函数area():周长公式不同,在各个子类种实现

Spring MVC 专题

  Spring静态资源路径是指系统可以直接访问的路径,且路径下的所有文件均可被用户直接读取.在Springboot中默认的静态资源路径有:classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,从这里可以看出这里的静态资源路径都是在classpath中(也就是在项目路径下指定的这几个文件夹) 试想这样一种情况:一个网站有文件上传文件的功能,如果被上传的文件放在上述的那些

Netkiller Management 手札之前言

1.1. 系列文档 下面是我多年积累下来的经验总结,整理成文档供大家参考: Netkiller Architect 手札 Netkiller Developer 手札 Netkiller PHP 手札 Netkiller Python 手札 Netkiller Testing 手札 Netkiller Cryptography 手札 Netkiller Linux 手札 Netkiller FreeBSD 手札 Netkiller Shell 手札 Netkiller Security 手札 N

Netkiller Linux 手札之前言

1.1. 本文目的 为什么写这篇文章 有很多想法,不能实现.工作中也用不到,所以想写出来,和大家分享.有一点写一点,写得也不好,就当学习笔记了. 这篇文档是作者8年来对工作的总结,是作者一点一滴的积累起来的,有些笔记已经丢失,所以并不完整. 因为工作太忙整理比较缓慢. 目前的工作涉及面比较窄所以新文档比较少. 我现在花在技术上的时间越来越少,兴趣转向摄影.也想写写摄影方面的心得体会. 我想到哪写到哪,你会发现文章没一个中心,今天这里写点,明天跳过本章写其它的. 文中例子绝对多,对喜欢复制然后粘贴

Netkiller FreeBSD 手札之前言

1.2. 作者简介 陈景峯 (ㄔㄣ ㄐ丨ㄥ ㄈㄥ) Nickname:netkiller | English name: Neo chen | Nippon name: ちんけいほう (音訳) | Korean name: 천징봉 | Thailand name: ภูมิภาพภูเขา | Vietnam: Trần Cảnh Phong Callsign: BG7NYT | QTH: ZONE CQ24 ITU44 ShenZhen, China 程序猿,攻城狮,挨踢民工, Full St

Netkiller Java 手札之前言

1.2. 作者简介 陈景峯 (ㄔㄣ ㄐ丨ㄥ ㄈㄥ) Nickname:netkiller | English name: Neo chen | Nippon name: ちんけいほう (音訳) | Korean name: 천징봉 | Thailand name: ภูมิภาพภูเขา | Vietnam: Trần Cảnh Phong Callsign: BG7NYT | QTH: ZONE CQ24 ITU44 ShenZhen, China 程序猿,攻城狮,挨踢民工, Full St

Netkiller Developer 手札之前言

1.2. 作者简介 陈景峯 (ㄔㄣ ㄐ丨ㄥ ㄈㄥ) Nickname:netkiller | English name: Neo chen | Nippon name: ちんけいほう (音訳) | Korean name: 천징봉 | Thailand name: ภูมิภาพภูเขา | Vietnam: Trần Cảnh Phong Callsign: BG7NYT | QTH: ZONE CQ24 ITU44 ShenZhen, China 程序猿,攻城狮,挨踢民工, Full St