多大的服务器可以做视频网站,网站开发技术部经理素质模型,网站建设营销外包公司哪家好,网站开发人员是什么一、字符串相关函数 1.gets()(输入字符串) 格式#xff1a;gets(字符串)#xff1b; (1)区别#xff1a;gets(str)与scanf(“%s”,str) gets(str)允许输入的字符串含有空格 scanf(“%s”,str)不允许含有空格 注意#xff1a;由于以上无法知道字符串大小#xff0c;很容易导…一、字符串相关函数 1.gets()(输入字符串) 格式gets(字符串) (1)区别gets(str)与scanf(“%s”,str) gets(str)允许输入的字符串含有空格 scanf(“%s”,str)不允许含有空格 注意由于以上无法知道字符串大小很容易导致字符数组越界 2.fgets()输入字符串 格式fgets(char *s, int size, FILE *stream) s:字符串 size:指定最大读取字符的长度size-1) stream:文件指针如果读键盘输入的字符串固定写为stdin 结尾自带\n.不用担心越界问题 3.puts()(字符串输出) 格式:puts(字符串) 在输出后自动输出一个“\n” 4.fputs()(字符串输出) 格式:fputs(constchar * str, FILE * stream) s:字符串 stream:文件指针如果读键盘输入的字符串固定写为stdin 注意fputs()是puts()的文件操作版本但fputs()不会自动输出一个\n 5.srelen()(计算指定字符串大小) 格式strlen(const char *s); s:字符串首地址 6.strcpy()(把src所指向的字符串复制到dest所指向的空间中\0也会拷贝过去) 格式strcpy(dest, src) dest目的字符串首地址 src源字符首地址 连接后 注意如果参数dest所指的内存空间不够大可能会造成缓冲溢出的错误情况。 7.strncpy() 功能把src指向字符串的前n个字符复制到dest所指向的空间中是否拷贝结束符 看指定的长度是否包含\0。 格式strncpy(dest, src, size_t n) dest目的字符串首地址 src源字符首地址 n指定需要拷贝字符串个数 8.strcat() 功能将src字符串连接到dest的尾部‘\0’也会追加过去 格式strcat(dest, src) dest目的字符串首地址 src源字符首地址 9.strncat() 功能将src字符串前n个字符连接到dest的尾部‘\0’也会追加过去 格式strncat(dest, src, size_t n) dest目的字符串首地址 src源字符首地址 n指定需要追加字符串个数 10.strcmp() 功能比较 s1 和 s2 的大小比较的是字符ASCII码大小 格式strcmp(s1,s2) s1字符串1首地址 s2字符串2首地址 11.strncmp() 功能strcmp的追加比较前n个大小的字符大小比较的是字符ASCII码大小 格式strncmp(s1,s2,n) s1字符串1首地址 s2字符串2首地址 n指定比较字符串的数量 12.sprintf() 功能格式化数据然后将结果输出到str指定的空间中直到出现字符串结束符 \0 为止 格式sprintf(str, format, ...) str字符串首地址 format字符串格式用法和printf()一样 13.sscanf() 功能从str指定的字符串读取数据并根据参数format字符串来转换并格式化数据 格式sscnf(str, format, ...) str指定的字符串首地址 format字符串格式用法和scanf()一样 14.strchr() 功能在字符串s中查找字母c出现的位置 格式strchr(s, int c) s字符串首地址 c匹配字母(字符) 15.strstr() 功能查找在字符串riunv中找llunk出现的位置 格式strstr(riunv,link) 16.strtok() 功能来将字符串分割成一个个片段。当strtok()在参数s的字符串中发现 参数delim中包含的分割字符时, 则会将该字符改为\0 字符当连续 出现多个时只替换第一个为\0。 格式strtok(str, delim) str指向欲分割的字符串 delim为分割字符串中包含的所有字符 注意 在第一次调用时strtok()必需给予参数s字符串 往后的调用则将参数s设置成NULL每次调用成功则返回指向被分割出片段的指针 17.atoi() 功能atoi()会扫描nptr字符串跳过前面的空格字符 直到遇到数字或正负号才开始做转换而遇到 非数字或字符串结束符(\0)才结束转换并将结果返回返回值。 格式atoi(nptr); nptr待转换的字符串 拓展与atoi类似的 1.atof()把一个小数形式的字符串转化为一个浮点数。 2.atol()将一个字符串转化为long类型 一、函数 1.函数的定义 返回类型 函数名(形式参数列表) { 数据定义部分; 执行语句部分; } 2.函数名 可以随意取但最好见名知意 注意函数名的后面有个圆换号()代表这个为函数不是普通的变量名。 3.形参列表 在定义函数时指定的形参在未出现函数调用时它们并不占内存中的存储单元因此称它们是形式参数或虚拟参数简称形参表示它们并不是实际存在的数据所以形参里的变量不能赋值。 定义类型变量的形式 4.函数体 函数功能实现的过程 5.返回值 函数的返回值是通过函数中的return语句获得 注意如果函数返回的类型和return语句中表达式的值必须一致程序则会报错。 课后作业 思考任务课后练习 1、设计一个计算器可以进行加、减、乘、除运算类型全部都是int即可 要求从键盘输入指令及操作数如 add 15 25 //计算1525的值并返回结果 sub 25 15 //计算25-15的值并返回结果 mux 3 5 //计算 3*5的值 并返回结果 dive 25 5 //计算25/5的值并返回结果 提示1) 需要封装函数 2) scanf(%s %d %d, name, a, b); 2、不用使用库函数编写一个函数my_strcmp()功能和strcmp()一样实现字符串大小比较 int my_strcmp(char s1[], char s2[]); int main() { char s1[] hello world; char s2[] hello abc int flag my_strcmp(s1, s2); if(flag 0) { printf(%s 等于 %s\n, s1, s2); } else if(flag 0) { printf(%s 大于 %s\n, s1, s2); } else { printf(%s 小于 %s\n, s1, s2); } return 0; } 答案 1. #includestdio.h #includestring.h int main() { int a0,b0; char name[5]; char s2[5]add; char s3[5] sub; char s4[5] mux; char s5[5] dive; printf(请输入加add,减sub乘mux除dive\n); gets(name); printf(请输入两个数\n); scanf(%d %d, a, b); if (strcmp(name, s2) 0) { printf(%d, a b); } else if (strcmp(name, s3) 0) { printf(%d, a - b); } else if (strcmp(name, s4) 0) { printf(%d, a*b); } else if (strcmp(name, s5) 0) { printf(%d, a/b); } else { printf(输入出错); } return 0; } 2. #includestdio.h #includestring.h int my_strcmp(char s1[], char s2[]){ int i; i strcmp(s1, s2); return i;} int main() { int flag; char s1[] hello world; char s2[] hello abc; flag my_strcmp(s1, s2); if (flag 0) { printf(%s等于%s\n, s1, s2); } else if (flag 0) { printf(%s大于%s\n, s1, s2); } else { printf(%s小于%s\n, s1, s2); } return 0; } 转载于:https://www.cnblogs.com/Riunv/p/10693427.html