首页 > 代码库 > C/C++ 语法初步(1)
C/C++ 语法初步(1)
#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)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。