码迷,mamicode.com
首页 > 编程语言 > 详细

C/C++ 语法初步(1)

时间:2016-10-06 00:16:24      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

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

//判断一个数是否质数
bool IsPrimeNumber(int number){
    int i = 2;
    for (i; i < number; i++)  if (number%i == 0)  break;
    if (i == number)  return true;
    else  return false;
}

//利用指针,互换两个整数
void replacement(int *p, int *q){
    int t = *q; *q = *p; *p = t;
}

//利用指针通过调用函数的方式遍历数组
void TraverseAttr(int * Attr, int AttrLength){
    for (int i = 0; i < AttrLength; i++){
        printf("数组第 %d 个元素a[%d] = %d\n", i + 1, i, Attr[i]);
    }
}

//动态变量的调用
void DynamicVariables(int * p, bool IsFree){
    *p = 1000;
    if(IsFree)  free(p);  //动态定义的变量可以由 free() 函数释放
}

//跨函数调用动态变量
void AcrossFunctionCall(int **p){
    *p = (int *)malloc(sizeof(int));
    **p = 100;
}

//定义结构体(一个学生信息管理实例)
struct Student{
    char name[9];  //一个汉字占两个字符,字符串默认在结尾处增加 ‘\0‘ 字符
    char sex;
    int age;
    float score;
};

int main(void){ 
//(*)输入输出控制符
    /*  
        %i-- - 输出一个整型数
        %d-- - 输出一个整型数
        %f-- - 输出一个浮点数
        %e-- - 输出一个浮点数,科学计数法
        %g-- - 输出一个浮点数,当指数小于 - 4或者大于5,则运用科学计数法,否则正常显示浮点数
        %c-- - 输出一个字符
        %o-- - 输出一个八进制的整型数,前面不带0
        %#o-- -输出一个八进制的整型数,前面带0
        %x-- - 输出一个十六进制的整型数,前面不带0x
        %#x-- -输出一个十六进制的整型数,前面带0x, 如果x大写,则显示的时候也是大写
        %u-- - 不带符号的十进制整数
        %%-- - 输出一个%.
    */

//(*)转义字符
    /*
        \a   : 蜂鸣,响铃 
        \b   : 回退:向后退一格 
        \f   : 换页 
        \n   : 换行,光标到下行行首 
        \r   : 回车,光标到本行行首 
        \t   : 水平制表 
        \v   : 垂直制表 
        \\   : 反斜杠 
        \‘   : 单引号 
        \"   : 双引号 
        \?   : 问号 
        \0   : 空字符
        \ddd : 三位八进制 
        \xhh : 二位十六进制 
    */

//(1)函数的调用 求一个数是否为质数
    /*int i;
    while (true){
        printf("请输入一个正整数 n=");
        scanf_s("%d", &i);
        if (IsPrimeNumber(i))
            printf("该整数 %d 是一个质数\n", i);
        else
            printf("该整数 %d 不是一个质数\n", i);
    }*/
    
//(2)for循环的使用 打印三角形
    /*while (true){
        int size;
        printf("请输入直角三角形的直角边边长 n=");
        scanf_s("%d", &size);
        for (int i = size; i >= 0; i--){
            for (int j = 0; j <= size; j++){
                if (j == size)
                    printf("0 \n");
                else if (j >= i)
                    printf("0 ");
                else
                    printf("  ");
            }
        }
    }*/

//(3)指针 普通
    /*int a = 3, b = 5;
    printf("替换前 a = %d, b = %d\n", a, b);
    replacement(&a, &b);
    printf("替换后 a = %d, b = %d\n", a, b);
    printf("%d", sizeof(int *));  //指针变量占四个字节,sizeof 获取变量所占内存*/

//(4)指针 静态数组
    /*int attr[5] = {0,1,2,4,5};
    printf("地址 %#X --- %#X\n", attr, &attr[0]); //attr是数组元素 attr[0] 的地址,相当于 &attr[0]
    TraverseAttr(attr, 5);*/

//(5)指针 动态内存分配
    /*int *p = (int *)malloc(sizeof(int));   //定义动态变量引用头文件 #include <malloc.h>
    *p = 10; 
    printf("动态变量定义时 *p = %d\n", *p);
    DynamicVariables(p, false);
    printf("调用函数处理后 *p = %d\n", *p);
    DynamicVariables(p, true);
    printf("动态变量释放后 *p = %d\n", *p);*/

//(6)指针 动态数组
    /*int *attr;
    int len = 1;  //定义数组长度
    attr = (int *)malloc(sizeof(int)* len);  //动态构造了一个一维数组
    printf("请输入数组的长度,一个正整数 length = ");
    scanf_s("%d", &len);
    realloc(attr, len);    //扩充或收缩数组 
    for (int i = 0; i < len; i++){
        printf("请输入数组的第 %d 元素a[%d] = ", i + 1, i);
        scanf_s("%d", &attr[i]);
    }
    for (int i = 0; i < len; i++){
        printf("您定义的数组的第 %d 元素a[%d] = %d\n", i + 1, i, attr[i]);
    }*/

//(7)指针 跨函数调用动态变量
    /*int *p;
    AcrossFunctionCall(&p);
    printf("%d\n",*p);*/

//(8)结构体  定义变量
    /*struct Student xiaoming = {"小明名啊",‘1‘,18,90};  
    struct Student *xm = &xiaoming;
    xm->age = 18;
    printf("%s\n", xm->name);
    printf("%d\n", xiaoming.age);*/

//程序结束等待语句
    system("pause");   //定以前引用 #include <stdlib.h>
    return 0;
}

 

C/C++ 语法初步(1)

标签:

原文地址:http://www.cnblogs.com/lovling/p/5933236.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!