C 函数 技术教程文章

c语言中printf函数输出十进制、八进制和十六进制数【代码】【图】

c语言中printf函数输出十进制、八进制和十六进制数。1、#include <stdio.h>int main(void) {unsigned a = 45;printf("101010 %u\n", a);printf("888888 %o\n", a);printf("161616 %X\n", a);return0; } 原文:https://www.cnblogs.com/liujiaxin2018/p/14794174.html

c语言:用fgetc函数从键盘逐个输入字符,用fputc函数写到磁盘文件

用fgetc函数从键盘逐个输入字符,用fputc函数写到磁盘文件。解:程序: #include<stdio.h>#include<stdlib.h>//exit使程序终止int main(){FILE* fp;char ch, filename[10];printf("请输入所用的文件名:");scanf("%s", &filename);if ((fp = fopen(filename, "w")) == NULL){printf("无法打开此文件\n");exit(0);}ch = getchar();printf("请输入一个准备存储到磁盘的字符串(以#结束):");ch = getchar();while (ch!=‘#‘){fputc(c...

【三支火把】---常用C语言控制台函数总结(持续更新)【代码】

写了这么久的C程序,每次看到输出的结果都是从上往下排列的黑白框,有没有感觉很无聊啊?今天再次总结一个常用的控制台函数,能够帮助你做好一个好看的界面。1.设置光标位置代码如下: 1int main(void)2{3int a = 5; 4 COORD pos = {10,10}; //定义光标坐标位置 5 HANDLE hout;//定义一个句柄 6 hout = GetStdHandle(STD_OUTPUT_HANDLE); //获得输出设备的句柄 7 SetConsoleCursorPosition(hout,pos); //设定...

c语言题库---- 函数

---恢复内容开始---1.编写一个函数,功能为返回两个int类型参数的最大的值#include <stdio.h>int FindMax( int a, int b);int main (){   int a = 33;   int b = 55;   int max ;   max = FindMax(a, b);   printf("%d\n",max);   return 0;}int FindMax( int a, int b){   int max = -2147483648;   if(max<a)   {     max = a;   }   if(max< b )   {     max = b;   }   return max;}2.编...

黑马程序员--C语言--预处理指令、枚举、Typedef、递归函数、变量作用域【代码】

一、预处理指令1>所有的预处理指令都是以#号开头;2>预处理指令是在代码翻译成0,1之前执行;3>预处理指令最后没有分号;4>预处理指令的位置可以随便写;5>预处理指令有作用域,从编写指令的那一行开始,一直到文件结尾,可以用#undef取消宏定义的作用;预处理指令分3种 1> 宏定义 2> 条件编译 3> 文件包含二、宏定义1. 宏定义命名规则:1>大写字母 1#define COUNT 2>k开头首字母大写 #define kCount2. 宏定义开始和结束,注意结尾处没...

C语言----函数【代码】

一、定义:有特定功能的代码片段的集合体,我们成为 函数。二、返回值:1、函数的返回值称为 函数的值,只能通过 return 语句返回给主调函数; 2、一个函数只能有一个返回值; 3、函数即使没有返回值也可以使用 return 来结束函数的执行,回到 主调函数; 4、return 后面的语句 不再执行。三、形参、实参1、形参 出现在函数的定义中,以 假名字 来表示函数调用时需要提供的值。 2、 出现在函数调用中的表达式。注意:函数调用时...

C语言结构体和函数【代码】【图】

#include <stdio.h>struct Person{char *name;}; void change1(struct Person p); void change2(struct Person *p); int main() {/****************************************************结构体和函数* 1、当结构作为函数的参数时,只是将实参结构体所有成员的值对应地赋值给了* 形参结构体的所有成员* 2、当结构体形参是指针时,会影响外面结构体的值**注意结构体类型的定义要在函数前面**************************************...

C语言malloc、calloc函数【代码】

title: C语言malloc函数 tags: malloc grammar_cjkRuby: true ---malloc()动态分配内存存储空间头文件:#include<stdlib.h> 原型:void *malloc(size_t size) 参数说明:size为需要分配的内存空间大小,单位是Byte 函数说明:在堆区分配一块size Byte大小的内存空间,用于存放数据,这块内存空间被分配后不会被初始化,因此这些内存空间对应的值是未知的。如果需要对分配的内存初始化,可以使用 calloc() 函数 返回值:分配成功返回...

C语言itoa()函数和atoi()函数详解(整数转字符C实现)

1.int/float to string/array:C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串,下面列举了各函数的方法及其说明。 ● itoa():将整型值转换为字符串。 ● ltoa():将长整型值转换为字符串。 ● ultoa():将无符号长整型值转换为字符串。 ● gcvt():将浮点型数转换为字符串,取四舍五入。 ● ecvt():将双精度浮点型值转换为字符串,转换结果中不包含十进制小数点。 ● fcvt():指定位数为...

K&R C 传统C语言的函数定义【代码】

K&R C style:#include <stdio.h>int add(x, y) int x, y; {return x + y; }int main() {int a = 2;int b = 3;int c = add(a, b);printf("%d\n", c);return0; }上面的程序在VC6.0的.cpp文件中有错误,但在.c文件中可以正常.ANSI C style:#include <stdio.h>int add(int x, int y) {return x + y; }int main() {int a = 2;int b = 3;int c = add(a, b);printf("%d\n", c);return0; } 原文:http://www.cnblogs.com/faeriesoft/p/43...

C语言main函数的三种形式

在C语言中,main()函数有三种形式。1、无参数#include <stdio.h>int main(void) {printf("Hello World!\n");return 0; }2、有两个参数习惯上第一个参数是整型argc,保存了外部调用命令的参数个数,第二个参数是指针数组或二级指针argv,以字符串形式保存了与argc对应的参数,如下例子:#include <stdio.h>int main(int argc, char* argv[]) {int i = 0;for (; i < argc; i++) {printf("%s\n", argv[i]);}printf("Hello World!\n");...

C语言的scanf函数的返回值【代码】

最近遇到一道题,要求以ctrl+z作为键盘输入来结束条件,之前没有遇到过,然后就动手测试了一番。 int main() {int n;while(1) {int g = scanf("%d", &n);printf("%d\n", g);}return0; } 通过上面的这段代码,我只是简单的测试了一下:当正操输入时(以int型为例,其他没有试过),scanf返回的结果为1当按ctrl+z时,scanf返回值为-1当我尝试其他组合按键或者输入错误类型时,程序就不停的处于输出0的状态原文:https://www.cnblogs.co...

C语言函数的作用域规则

“语言的作用域规则”是一组确定一部分代码是否“可见”或可访问另一部分代码和数据的规则。“同一函数中,不同的结构体成员名能相同,当变量处于不同的作用域时,名称可以相同。注:作用域,其对象是变量,而非表达式。”C语言中的每一个函数都是一个独立的代码块。一个函数的代码块是隐藏于函数内部的,不能被任何其它函数中的任何语句(除调用它的语句之外)所访问(例如,用g o t o语句跳转到另一个函数内部是不可能的)。构成...

【C语言】请实现字符串循环右移函数。列如字符串“abcdefghi”向右移2位就是“hiabcdefg”【图】

// 请实现字符串循环右移函数。列如字符串“abcdefghi”向右移2位就是“hiabcdefg” // 函数原型为:void RightLoopMove(char *pstr,unsigned short steps) #include <stdio.h> #include <assert.h> #include <string.h> void severse(char *p,char *q) //字符串翻转 {char temp;assert(p);assert(q);while(p<q){temp=*p;*p=*q;*q=temp;p++;q--;} } void RightLoopMove(char *pstr,unsigned short steps) {int len=strlen(ps...

C语言基础之函数和流程控制【代码】

函数和流程控制也是每个编程语言的基本概念,函数是划分模块的最小单位,良好的函数规划能直接提升软件的质量,C语言的流程控制主要由以下几个语句组成,条件分支语句、选择语句、循环语句、goto语句、return语句等。 函数的定义 一个函数包含返回值、函数名和参数列表,如下定义了一个返回值为 int 函数名为show拥有一个int类型参数的函数int show(int param) { printf("这是一个名为show的函数"); return 0; }...

C语言标准数学函数库math.h

C语言标准数学函数库math.h1 三角函数double sin (double x); x的正弦值double cos (double x); x的余弦值double tan (double x); x的正切值2 反三角函数double asin (double x); 结果介于[-PI/2, PI/2],x值域为[-1,1]double acos (double x); 结果介于[0, PI],x值域为[-1,1]double atan (double x); 反正切(主值), 结果介于[-PI/2, PI/2]double atan2 (double y, double x); 反正切(整圆值), 结果介于[-PI, PI]3 双曲三角函数...

C语言之memcpy函数【代码】【图】

昨天自己动手实现memcpy这个函数,用一个例程试了一下,结果正确,满心欢心,可是有些地方想不明白,于是百度了一下,结果自己写的函数简直无法直视。觉得还是写个总结,以示教训。先贴上我自己的函数:char *mymemcpy(char *dest, const char * src, int n) {char *pdest;char *psrc;pdest = dest;psrc = src;for(n; n>0; n--){*pdest = *psrc;pdest++;psrc++;} } 我这个程序只能是在非常理想的条件下才能完成复制任务,一旦参数有...

程序猿之---C语言细节22(函数返回指针注意事项<悬空指针>、查看进程可以分配的内存大小)【图】

主要内容:函数返回指针注意事项<悬空指针>、查看进程可以分配的内存大小#include <stdio.h> char * favorite_fruit() {static char fruit[] = "apple"; // 不加static的话这个函数还回的指针以及悬空,因为在函数退出时fruit组数被销毁// 加了static后fruit数组分配在数据段里,而不是堆栈中,生命期和程序一样长,函数退出时变量// 依然有效 return fruit; } int main() {char *a = favorite_fruit();printf("%s\n",a);/** 查看...

C语言:实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置【代码】

#include<stdio.h>void init(int arr[],int len) { int i=0; printf("初始化数组->:\n"); for(i=0;i<len;i++) { scanf("%d",&arr[i]); } }void reverse(int arr[],int len) { int i=0; printf("逆置数组->:\n"); for(i=len-1;i>=0;i--) { printf("%d ",arr[i]); } }void empty(int arr[],int len) { int i=0; printf("清空数组->:\n"); for(i=0;i<len;i++) { arr[i]=0; printf("%d ",arr[i]); } }int main() { int arr[5]...

【C语言】使用结构体和malloc函数时的一些错误。【代码】

使用结构体错误:#include <stdio.h>struct STU {char *name;int score; }stu,*pstu; int main () {strcpy(stu.name,"bit-tech");strcpy(pstu->name,"bit-tech");return0; }错误一:strcpy(stu.name,”bit-tech”);结构体中的成员name是一个指针,声明结构体时并没有对结构体成员初始化,所以成员name没有指向指定的空间,当我们在主函数中想向通过strcpy函数对成员name指向的空间拷贝内容时,却发现程序挂掉了。错误二:strcpy(ps...