C语言练习
Leslie X徐
頑張ろ
展开
-
C_练习printf控制
printf控制示例:/* * printf输出属性.c * */#include <stdio.h>int main(int argc, char **argv){ printf("helloworld\033[6D"); fflush(stdout); while(1); return 0;}原创 2021-05-13 10:22:40 · 104 阅读 · 0 评论 -
C语言彩票项目记
项目日记day1 main v1~3登陆程序思路:v1–使用父子进程exec函数来执行相应管理员程序,登陆后会自动判断身份进入相应程序v3–子程序可以登出,再进入父程序选择。子程序也可以退出,输出状态为3,父程序判断状态为3时退出循环。增加登陆,退出时的清屏功能。获取密码和用户名实现思路:获取密码:调用系统函数stty -icanon,stty -echo实现隐藏输入增加退格键删除,回车键确认获取用户名指针传入以定义的字符串指针,输入字符串若形参为void,则不原创 2021-05-12 23:58:45 · 1570 阅读 · 0 评论 -
C练习_链表结构
数据结构程序=数据结构+算法线性查找,遍历对有序数列,折半查找int binary_find(int arr[],int len,int data){ int start=0,end=len-1,mid=0; while(start<=end){ mid = (start+end)/2; if(arr[mid] > data)end=mid-1; else if(arr[mid] < data)start=mid+1; else return mid; //输原创 2021-04-22 23:59:01 · 191 阅读 · 0 评论 -
C语言_文件流练习
2021-04-20 文件io练习题1:fputc和fgetc练习,argv[1]为命令行里跟在执行文件名后面的第一个文件名/* * fputc和fgetc练习.c 要求: 1.将输入字母,遇到@结尾(包含@)退出,输入到指定文件 2.然后再读取出来打印到屏幕 */#include <stdio.h>int main(int argc, char **argv){ FILE* fp=fopen(argv[1],"w"); int ch; printf("请输原创 2021-04-21 11:05:46 · 239 阅读 · 0 评论 -
C语言_结构体练习
2021-04-15 结构体练习结构体及变量struct 结构体名{ 成员列表; } 结构体变量名;结构体作为函数参数和返回值struct student avg_fun(struct student s){ s.avg=(s.Chinese+s.English+s.Math)/3.0; return s;}结构体的嵌套,链式访问注意:结构体不能嵌套它自身(除非是结构体指针类型)struct score { int Chinese; int English;原创 2021-04-15 16:38:49 · 3475 阅读 · 0 评论 -
练习_C指针与排序算法
指针练习与排序算法题1.指针变量所占内存和数据类型无关,和系统的地址大小有关,32位机为4字节int main(){ short *p_short=NULL; printf("size short=%d short* = %d\n",sizeof(short),sizeof(p_short)); double *p_double=NULL; printf("size double=%d double* = %d\n",sizeof(double),sizeof(p_double)); char原创 2021-04-14 16:52:52 · 128 阅读 · 0 评论 -
C语言_指针及回调函数练习
2021-04-12函数高级题1.请分辨以下各指针int* pint** pint* p[10] //指针数组int (*p)[10] //二维数组指针int (*p[10])[10] //二维数组指针数组int const *p //常量指针int* const p //指针常量int const* const pint* p(void) //指针函数int (*p)(void) //函数指针int (*p[10])(void) /原创 2021-04-14 09:37:50 · 361 阅读 · 0 评论 -
C语言_动态内存分配练习
2021-04-13 动态内存分配练习tips:安装valgrind 可以检查内存分配记录sudo apt-get install valgrind题1.各动态内存分配函数使用:/* * 动态内存分配函数.c */#include <stdio.h>#include <stdlib.h>#include <string.h>void input(int *p, int len);void input_rand(int *p, int len);原创 2021-04-14 09:25:43 · 541 阅读 · 0 评论 -
2021-03-23 循环运用
2021-03-23 C语言题目记第一题 输入年月日,判断当年是否闰年,当日是当年的第几天思考:闰年的定义求得第几天:将当月前一个月到一月的天数累加起来,再加上输入的天数方法一:巧用switch语句知识:switch-case语句。 case语句在遇到break前会默认运行所有case语句。/*闰年:年份可整除4,不可整除100,可以整除400*//*求出当天是当年的第多少天*/#include <stdio.h>int MonthDay(int);static i原创 2021-03-23 16:19:18 · 138 阅读 · 0 评论 -
2010-03-25 函数题
2010-03-25 函数题打印所在文件名,函数和行数/*文件名function.c*/#include <stdio.h>int main(void){ printf("%s %s %d\n",__FILE__,__func__,__LINE__);//两个下划线}//输出: function.c main 4//__FILE__:文件名,__func__:当前所在函数名,__LINE__:当前所在行数题 函数实现素数打印#include<stdio.h>原创 2021-03-25 16:27:53 · 68 阅读 · 0 评论 -
2021-03-26函数应用
函数应用题1 实现一个函数,可统计任一整数中某个位数出现的次数。例如-21252中,2出现了3次,则该函数应返回3。int countDigit(int n,const int d); //n为某一整数,d为某个位数int main(){ int n=0,d=0,count=0; printf(); if(scanf("%d %d",&n,&d)!=2){printf("error\n");return 0;}; countDigit(n,d); printf("");原创 2021-03-26 17:31:39 · 86 阅读 · 0 评论 -
C函数递归练习2021-03-29
2021-03-29题:每路过一个村庄,卖掉一半又一只鸭,路过7个村庄还剩2只。问总共有几只鸭,每个村庄卖掉几只。要点:递归函数,反向#include<stdio.h>int duck(int);int main(){ int duck_sum=0,i=1; duck_sum=duck(0); printf("鸭子的总数为%d只\n",duck_sum); while(i<=7) { printf("经过第%d个村庄,卖出%d只鸭子,剩余%d只鸭子。\n",i,d原创 2021-03-29 17:17:00 · 141 阅读 · 0 评论 -
C数组练习
C数组初始化赋值:memset(array2,0,sizeof(array2));//初始化,元素为0值数组只能定义一次定义时越界,只定义界内内容,其他的会赋予随机值函数形参:void array(int array[]);#include<stdio.h>int main(){ int array5[3]={1,2,3,4,5}; printf("array5:%d,%d,sizeof:%d\n",array5[0],array5[5],\ sizeof(arr原创 2021-03-30 17:47:27 · 511 阅读 · 0 评论 -
C二维数组练习
二维数组初始化:int arr[2][2]={{0}};//注意需要两个花括号或者memset(arr,-1,sizeof(arr));memset 函数是内存赋值函数,用来给某一块内存空间进行赋值的;包含在<string.h>头文件中,可以用它对一片内存空间逐字节进行初始化;原型为 :_void *memset(void *s, int v, size_t n);_ 这里s可以是数组名,也可以是指向某一内在空间的指针; v为要填充的值; n为要填充的字节数; 注意,me原创 2021-04-01 22:21:49 · 495 阅读 · 0 评论