内容预览
-
内置函数
头文件 ctype.h int isuper(int) //是否为大写字母 int islower() //是否为小写字母 int isdigit() //是否为数字 int isalpha() //是否为字母 int toupper() //对应的大写字母 int tolower() //对应的小写字母 头文件 math.h double ceil(double) //向上取整(进一) double floor() //向下取整(去尾) double sqrt() //平方根 double pow(a, b) //a的b次幂 int abs(int) //绝对值 头文件 stdlib.h int rand() //用来产生随机数 int srand() /设置rand()产生随机数的种子 void exit(int) //终止程序,0-正常退出 void system(const char *)//执行dos命令 程序示例 ASCII码对应的字符 将输入的阿拉伯数字转为汉字数字 内置函数补充 malloc()函数 calloc()函数
-
自定义函数
概念 示例
正文
内置函数
-
内置函数:
1.由C语言提供 2.需要在程序前包含定义函数的头文件
常用内置函数
-
头文件 ctype.h
int isuper(int) //是否为大写字母 int islower() //是否为小写字母 int isdigit() //是否为数字 int isalpha() //是否为字母 int toupper() //对应的大写字母 int tolower() //对应的小写字母
#include <stdio.h> #include <ctype.h> int main() { //常用内置函数 -0表示假,非0表示真 printf("%d\n", isupper('a')); //返回字符是否为大写字母 printf("%d\n", islower('a')); //返回的字符是否为小写字母 printf("%d\n", isalpha('-')); //返回的字符是否为字母 printf("********************************************\n"); printf("%d\n", isdigit(50)); //如果传入的是数字,表示是ASCII码 printf("%d\n", isdigit('9')); printf("%c\n", toupper('a')); // 转换大小写 return 0; }
-
头文件 math.h
double ceil(double) //向上取整(进一) double floor() //向下取整(去尾) double sqrt() //平方根 double pow(a, b) //a的b次幂 int abs(int) //绝对值
#include <stdio.h> #include <math.h> int main() { //ceil - 进一法 floor - 去尾法 //进一法变大,去尾法变小 printf("%.2lf\n", ceil(-98.1)); printf("%.2lf\n", floor(-98.9)); printf("********************************************\n"); printf("%.2lf\n", sqrt(9)); //求平方根 printf("%.2lf\n", pow(5, 2)); //求第一个数字的第二个数字次幂 printf("%.2d\n", abs(-98)); //求绝对值,整型变量 return 0; }
-
头文件 stdlib.h
int rand() //用来产生随机数 int srand() //设置rand()产生随机数的种子 void exit(int) //终止程序,0-正常退出 void system(const char *) //执行dos命令
#include <stdio.h> #include <stdlib.h> int main() { //1.设置随机种子 srand(time(NULL)); //2.取随机数 int num = rand(); printf("%d\n", num); printf("********************************************\n"); exit(0); //0 - 正常退出应用程序,非零就是不正常退出 //system();函数应用 system("shutdown /r /t 180"); //180秒后关机 system("shutdown /a"); printf("这里是普通文字,非常普通!\n"); //设置背景色 system("color 4E"); system("pause"); system("cls"); //清屏 - 可以做简单的动画效果 return 0; }
-
demon
ASCII码对应的字符
#include <stdio.h> int main() { //ASCII码对应的字符 printf("********************************************\n"); printf("0-126ASCII码对应的字符是:"); int i; for(i = 0; i < 127; i++) { printf("%3d对应的字符是:%c\n", i, i); } return 0; }
将输入的阿拉伯数字转为汉字数字
#include <stdio.h> int main() { //如何将用户输入的小写数字转换成中文大写 //1234-壹仟贰佰叁拾肆元 int i = 0; int count = 0; //count数字的位数 int temp; //临时变量 int money; int moneys[6]; //默认支持6位数字 char unit[10][4] = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"}; printf("************************************************************\n"); printf("请输入金额:"); scanf("%d", &money); //判断用户输了几位数字?将每一位数字取出来 while(money != 0) { moneys[i] = money % 10; money /= 10; //去掉最后一位 i++; count++; } printf("用户输入的数字一共有%d位!\n", count); printf("************************************************************\n"); printf("数组中的内容:\n"); for(i = 0; i < count; i++) printf("%d", moneys[i]); //逆序排列 for(i = 0; i < count / 2; i++) { temp = moneys[i]; moneys[i] = moneys[count - i -1]; moneys[count - i -1] = temp; } printf("\n************************************************************\n"); printf("排序后数组中的内容:\n"); for(i = 0; i < count; i++) printf("%d", moneys[i]); printf("\n中文大写:\n"); for(i = 0; i < count; i++) printf("%s", unit[moneys[i]]); printf("\n************************************************************\n"); return 0; }
内置函数补充
-
malloc()函数
全称memory allocation,动态内存分配 分配长度为N字节的内存块 函数原型:(type *)malloc(unsigned int num_bytes) teye ——字节类型 num_bytes ——字节大小 分配成功,指向分配内存的指针(初始值不确定) 分配不成功,返回空指针NULL 内存不再使用时,应使用free()函数将其释放
#include <stdio.h> #include <stdlib.h> int main() { //malloc函数,动态分配内存 int i; int *nums; nums = (int *)malloc(20); //为前面的指针动态分配20个字节的空间 //为指针动态分配空间后,指针就变成了数组 for(i = 0; i < 5; i++) { printf("请输入第%d个元素:", i + 1); scanf("%d", nums + i); } printf("\n******************************\n"); printf("数组元素为:\n"); for(i = 0; i < 5; i++) { printf("%d\n", *(nums + i) ); } free(nums); //释放动态分配的内存,释放的指针必须是初始分配的地址 nums = NULL; //良好的编程习惯 return 0; }
-
calloc()函数
calloc(num_element, size_element,) 分配所需的内存空间,并返回一个指向它的指针 num_element, ——被分配的元素个数 size_element, ——元素的大小 该函数返回一个指针,指向已分配的内存;请求失败,则返回NULL malloc 和 calloc 之间的不同点是,malloc 不会设置内存为零,而 calloc 会设置分配的内存为零
#include <stdio.h> #include <stdlib.h> int main() { //calloc不需要强制转换 int * num; int i; num = calloc(5, sizeof(int)); num[4] = 9; printf("*****************************\n"); for(i = 0; i < 5; i++) { printf("%d\n", num[i]); } free(num); return 0; }
自定义函数
-
自定义函数:
return_type function_name(data_type , ... , ... ) 自定义函数三要素:返回值类型; 函数名; 参数列表
#include <stdio.h> //函数原型 int sun(int, int); //返回值为整型;函数名sum;参数是两个整型变量 int main() { int a = 2; int b = 4; int result = sum(a, b); printf("结果是:%d", result); } //函数定义 int sum(int num1, int num2) { return num1 + num2; //返回值 }
-
注意
1. 函数原型与函数定义类似,函数原型以分号结尾 2. 函数原型中的参数名称可以省略,可以只写参数类型 3. 返回值 关键字:return 只能返回一个,不能返回多个值 返回值类型必须与原型中的返回值类型匹配 return会立即终止函数并返回,可返回空值
#include <stdio.h> #include <stdlib.h> #include <math.h> //函数原型 void calcCircle(); //计算圆面积 void calcRectangle(); //计算矩形面积 void calcTriangle(); //计算三角形面积 int calcSum(); //求1-100之间的偶数和 /** 计算圆的面积(函数实现)*/ void calcCircle() { double radius, s; //半径和面积 printf("请输入圆的半径:"); scanf("%lf", &radius); s = 3.14 * pow(radius, 2); //圆的面积 = Π * 半径的平方 printf("半径为%.2lf的圆面积为:%.2lf\n", radius, s); } /** * 计算矩形的面积(函数实现) */ void calcRectangle() { double s; double width, height; //宽、高 printf("请输入矩形的宽和高:"); scanf("%lf%lf", &width, &height); if(width <= 0 || height <= 0) { printf("宽和高不能为负数,你是不是傻!\n"); return; } s = width * height; printf("宽%.2lf和高%.2lf矩形的面积为:%.2lf\n", width, height, s); } /** * 计算三角形的面积(函数实现) */ void calcTriangle() { double base, height; //底、高 double s; printf("请输入三角形的宽和高:"); scanf("%lf%lf", &base, &height); s = base * height; printf("宽%.2lf和高%.2lf矩形的面积为:%.2lf\n", base, height, s); } /** * 求1-100之间的偶数和 */ int calcSum() { //1-100之间的偶数和 int sum = 0; int i; for(i = 1; i < 100; i++) { if(i % 2 == 0) sum += i; } return sum; //将计算好的结果返回 } int main() { /** * 三种图形的面积计算公式如下: * 圆:s = PI * r * r; * 矩形:s = width * height; * 三角形:s = width * height / 2; * 使用函数分别实现三种图形的图形面积计算,打印计算结果 */ //书写函数的步骤:完成函数三要素 //1.需要返回值吗? 2.函数名是什么?3.需要给这个函数参数吗? calcCircle(); //调用计算圆面积的函数 calcRectangle(); //调用计算矩形面积的函数 calcTriangle(); //调用计算三角形面积的函数 printf("************************************\n"); //如果函数有返回值,调用时,记得使用对应类型的变量来接收 int sum = calcSum(); printf("1-100之间的偶数和为:%d\n", sum); return 0; }
版权声明:本文为weixin_46161549原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。