快速业务通道

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

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-29

出于需要,最近研究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.由此可以看出结构体就是现在面向对象的基础,尤其是数据对象的前身。

我们希望打印操作能够独立出来,成为一个函数,可以这么写:

// 声明函数
void print(int x, int y);

c是面向过程的计算机语言,要在主函数内调用其他函数,必须要在主函数前声明函数,要么就直接把函数按照调用次序逆次由上到下排序。即便是面向对象的C++,也是如此。

/**
 * 倒三角打印
 */
void print(int x, int 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");
    }

/**
 * 倒三角打印
 */
void print(int x, int 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");
 }

整体代码如下:

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

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

// 声明函数
void print(int x, int y);

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);

    //  做倒三角打印
    print(x, y);

    return EXIT_SUCCESS;
}

/**
 * 倒三角打印
 */
void print(int x, int 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");
    }
}

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号