第1章 声明和初始化基本类型1.1 我该如何决定使用哪种整数类型?1.2 为什么不精确定义标准类型的大小?1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。
然后根据实际的机器环境把它们定义为int、short、long等类型。
这样看来,所有的问题都解决了,是吗?1.4 新的64位机上的64位类型是什么样的?指针声明1.5 这样的声明有什么问题?char*p1,p2;我在使用p2的时候报错了。
1.6 我想声明一个指针,并为它分配一些空间,但却不行。
这样的代码有什么问题?char*p;*p=malloc(10);声明风格1.7 怎样声明和定义全局变量和函数最好?1.8 如何在C中实现不透明(抽象)数据类型?1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量?存储类型1.10 同一个静态(static)函数或变量的所有声明都必需包含static存储类型吗?1.11 extern在函数声明中是什么意思?1.12 关键字auto到底有什么用途?类型定义(typedef)1.13 对于用户定义类型,typedef和#define有什么区别?1.14 我似乎不能成功定义一个链表。
我试过typedefstruct{char*item;NODEPTRnext;}*NODEPTR;但是编译器报了错误信息。
难道在C语言中结构不能包含指向自己的指针吗?1.15 如何定义一对相互引用的结构?1.16 Struct{ }x1;和typedefstruct{ }x2;这两个声明有什么区别?1.17 “typedefint(*funcptr)();”是什么意思?const限定词1.18 我有这样一组声明:typedefchar*charp;constcharpp;为什么是p而不是它指向的字符为const?1.19 为什么不能像下面这样在初始式和数组维度值中使用const值?constintn=5;inta[n];1.20 constchar*p、charconst*p和char*constp有什么区别?复杂的声明1.21 怎样建立和理解非常复杂的声明?例如定义一个包含N个指向返回指向字符的指针的函数的指针的数组?1.22 如何声明返回指向同类型函数的指针的函数?我在设计一个状态机,用函数表示每种状态,每个函数都会返回一个指向下一个状态的函数的指针。
可我找不到任何方法来声明这样的函数——感觉我需要一个返回指针的函数,返回的指针指向的又是返回指针的函数……,如此往复,以至无穷。
数组大小1.23 能否声明和传入数组大小一致的局部数组,或者由其他参数指定大小的参数数组?1.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小?声明问题1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。
*1.26 main的正确定义是什么?voidmain正确吗?1.27 我的编译器总在报函数原型不匹配的错误,可我觉得没什么问题。
这是为什么?1.28 文件中的第一个声明就报出奇怪的语法错误,可我看没什么问题。
这是为什么?1.29 为什么我的编译器不允许我定义大数组,如doublearray[256][256]?命名空间1.30如何判断哪些标识符可以使用,哪些被保留了?初始化1.31 对于没有显式初始化的变量的初始值可以作怎样的假定?如果一个全局变量初始值为“零”,它可否作为空指针或浮点零?1.32 下面的代码为什么不能编译?intf(){chara[]="Hello,world!";}*1.33 下面的初始化有什么问题?编译器提示“invalidinitializers”或其他信息。
char*p=malloc(10);1.34 chara[]="stringliteral";和char*p="stringliteral";初始化有什么区别?当我向p[i]赋值的时候,我的程序崩溃了。
1.35 chara{[3]}="abc";是否合法?1.36 我总算弄清楚函数指针的声明方法了,但怎样才能初始化呢?1.37 能够初始化联合吗?第2章 结构、联合和枚举结构声明2.1 structx1{ };和typedefstruct{ }x2;有什么不同?2.2 这样的代码为什么不对?structx{ };xthestruct;2.3 结构可以包含指向自己的指针吗?2.4 在C语言中用什么方法实现抽象数据类型最好?*2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法?2.6 为什么声明externf(structx*p);给我报了一个晦涩
2024/1/19 18:27:15 18.8MB c语言
1
ntmain(intargc,char*argv[]){inte;SqStackl1;Linkstl2;Queuel3;LinkQueuel4;coutle;couta;coute;Push(l1,e);}while(le--){Pop(l1,e);coute;push(l2,e);}while(le--){pop(l2,e);coute;Push1(l3,e);}while(le--){Pop1(l3,e);coute;push1(l4,e);}while(le--){pop1(l4,e);cout<<e<<"";}break;}system("PAUSE");return0;}
2024/1/12 17:07:23 826B 入栈、出栈
1
C语言教程(原书第4版)《c语言教程(原书第4版)》是一本优秀的c程序设计语言教材,完整描述了ansic语言及其语法特性,并对c语言的高级特性和应用作了深入阐述,介绍了从c到c++和java过渡的相关知识。
《c语言教程(原书第4版)》的一个鲜明特色就是结合大量示例描述c语言的重要特征,并对很多工作代码给出了逐步的分析,以这种独特的教学方法向读者解释新接触的编程元素及一些惯用法。
  《c语言教程(原书第4版)》系统、完整,可作为c语言的参考手册,也非常适合作为学习c语言的入门和高级课程教材。
前言第0章从零开始0.1为什么要用c0.2ansic标准0.3从c到c++0.4从c和c++到java第1章c语言概述1.1编程和预备知识1.2程序输出1.3变量、表达式和赋值1.4使用#define和#include1.5使用printf()和scanf()1.6控制流1.7函数1.8数组、字符串和指针1.8.1数组1.8.2字符串1.8.3指针1.9文件1.10与操作系统有关的内容1.10.1编写和运行c程序1.10.2中断程序1.10.3输入文件尾标志1.10.4输入和输出的重定向1.11总结1.12练习第2章词法元素、操作符和c系统2.1字符和词法元素2.2语法规则2.3注释2.4关键字2.5标识符2.6常量2.7字符串常量2.8操作符和标点符号2.9操作符的优先级和结合性2.10增值操作符和减值操作符2.11赋值操作符2.12例子:计算2的乘方2.13c系统2.13.1预处理器2.13.2标准函数库2.14总结2.15练习第3章基本数据类型3.1声明、表达式和赋值3.2基本数据类型3.3字符和char数据类型3.4int数据类型3.5整数类型short、long和unsigned3.6浮点类型3.7typedef的用法3.8sizeof操作符3.9使用getchar()和putchar()3.10数学函数3.10.1使用abs()和fabs()3.10.2unix和数学函数库3.11隐式类型转换和强制类型转换3.11.1整型提升3.11.2寻常算术转换3.11.3强制类型转换3.12十六进制和八进制常量3.13总结3.14练习第4章控制流4.1关系操作符、相等操作符和逻辑操作符4.2关系操作符和表达式4.3相等操作符和表达式4.4逻辑操作符和表达式4.5复合语句4.6表达式和空语句4.7if和if-else语句4.8while语句4.9for语句4.10例子:布尔变量4.11逗号操作符4.12do语句4.13例子:斐波那契数4.14goto语句4.15break和continue语句4.16switch语句4.17条件操作符4.18总结4.19练习第5章函数5.1函数定义5.2return语句5.3函数原型5.4例子:创建乘方表5.5从编译器的角度观察函数原型5.6函数定义顺序的另一种风格5.7函数调用和传值调用5.8开发大型程序5.9使用断言5.10作用域规则5.10.1平行和嵌套代码块5.10.2以调试为目的使用代码块5.11存储类型5.11.1auto存储类型5.11.2extern存储类型5.11.3register存储类型5.11.4static存储类型5.12静态外部变量5.13默认初始化5.14递归5.15例子:汉诺塔5.16总结5.17练习第6章数组、指针和字符串6.1一维数组6.1.1初始化6.1.2下标6.2指针6.3传引用调用6.4数组和指针之间的关系6.5指针运算和元素的大小6.6数组作为函数的实参6.7例子:冒泡排序6.8用calloc()和malloc()进行动态内存分配6.9例子:归并和归并排序6.10字符串6.11标准函数库中的字符串处理函数6.12多维数组6.12.1二维数组6.12.2存储映射函数6.12.3形式参数声明6.12.4三维数组6.12.5初始化6.12.6使用typedef6.13指针数组6.14main()函数的参数6.15不规则数组6.16函数作为参数6.17例子:使用二分法寻找函数的根6.18函数指针数组6.19类型限定符const和v
2024/1/4 10:17:32 16.68MB C语言 教程 pdf
1
医院病房管理系统需求分析报告一、系统需求描述本系统的业务描述如下:整个系统从总体上分为用户登录功能、病房床位管理功能、病人与医生信息管理功能、病房床位分配管理功能四大部分。
每个部分实现功能如下:(1)用户登录:可以添加用户、删除用户、修改密码和修改用户权限;
(2)病房床位管理:对床位信息查询功能:根据区号、楼号、病房人数、楼层管理员、主治医生进行多条件组合查询,显示相应的查询记录;
(3)病人与医生信息管理:对医生和病人的信息查询功能:根据主治医生、科室、病人信息进行基本查询;
(4)病房床位分配管理:对病人住宿床位的分配和对住院情况查询功能:根据区号、楼号、住院时间、主治医生、科室进行多条件组合查询;
(5)互联网访问及联机帮助功能。
二系统功能结构图三、系统ER图证件实体属性图如图1所示。
图1医院病房信息实体属性图图2用户信息实体属性图图3病房信息实体属性图图4医生、病人信息实体属性图图5床位信息实体属性图四、系统数据库表结构设计本系统数据库中包含的表结构设计如表1~7所示。
表7用户表字段名称 数据类型 长度 是否为空 备注用户帐号 varchar 50 否 主键用户名 文本 50 否 用户密码 文本 50 否 表2医生信息表字段名称 数据类型 长度 是否为空 备注医生编号 Int 20 否 主键病人编号 Int 20 否 外键医生姓名 Char 10 否 医生性别 Bool 1 否 科室 Varchar 20 否 表3病人信息表字段名称 数据类型 长度 是否为空 备注病人编号 int 10 否 主键病人姓名 varchar 15 否 病人性别 bool 1 否 病人电话 int 8 否 病人房号 int 10 否 表4床位信息表字段名称 数据类型 长度 是否为空 备注床号 int 10 否 主键医生编号 int 20 否 外键床位信息 varchar 20 否
2023/12/4 2:37:02 1.3MB C#医院病房管理系统
1
文件列表:LordPE.EXE.............增强版(英文版)LordPE_hh.EXE.............增强版(cao_cong汉化版)\原版\LordPE.EXE.............原版LordPlug.dll.............kanxue制作的功能插件LordPeFix.dll.............SnowFox修正(原来是freecat制作的功能插件,修正LordPE只显示60个进程的bug)更新历史:2008.5.31资源名溢出漏洞。
缓冲区长度检测是char,但是拷贝的时候是wchar,所以溢出了。
标题:测试你的LordPE作者:somuch时间:2008-05-16,16:28链接:http://bbs.pediy.com/showthread.php?t=649352007.9.9SnowFox主页提供的LordPE增加版中所带Lordpefix.dll发现并不能解除60进程限制,原来是其中的偏移地址与所带LordPE主程序不匹配修改了偏移地址后,可以用了2006.11.30freecat制作的功能插件LordPeFix.dll,修正LordPE只显示60个进程的bug2005.10.15(1)为LordPE查看输入表部分加上搜索功能(2)为LordPE查看输入表部分加右键菜单(仅复制ThunkRVA/FirstThunk列).(3)当点击LordPE查看输入表部分中"ViewalwaysFirstThunk",保持光条在原来位置.(LordPE默认会将光条置到0行)(4)修改FLC(FileLocationCalulator)窗口中各个文本框(VA,RVA,Offset)为只读属性,此时可以用鼠标复制里面的文本.(LordPE原来是将文本框禁止变灰,此时不可复制)
2023/9/12 10:39:37 356KB LordPE汉化增强版
1
前段时间自己业余抽空花了三个月编了一个c语言编译器,将c语言编译成masm32。
总共4个文件,2000多行的代码,其中sca.c是词法,p.c生成语法树,table.c是符号表,g.c是转化成具体masm32代码,只支持char,short,int,double四种类型数据,其他的有兴趣的可以自己修改增加,由于masm32限制,目前该编译器只支持局部变量在函数开头定义,全局变量不能和局部变量同名。
不支持变量强制转变,也不支持switch语句,个人感觉swich没用,#include不支持,只支持“”,现在打包给大家分享,包括源代码(感兴趣的可以自己修改或者转发学习,不允许商业用途),里面还有一些例子,想学习编译原理或者masm32的同志可以看看(特别是学习masm32的,可以把写好的c语言直接编译成masm32代码)!遇到问题可以跟我联系,尽量跟你们回复!
2023/9/9 7:57:32 55KB c yuyan masm32 assamble
1
一个简单的校园导游系统以下是部分代码#defineINFINITY10000/*无穷大*/#defineMAX_VERTEX_NUM40#defineMAX40#include#include#include#includetypedefstructArCell{intadj;//路径长度}ArCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];typedefstruct//,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,{charname[30];intnum;charintroduction[100];//简介}infotype;typedefstruct{infotypevexs[MAX_VERTEX_NUM];AdjMatrixarcs;intvexnum,arcnum;}MGraph;intLocateVex(MGraph*G,char*v){intc=-1,i;for(i=0;ivexnum;i++)if(strcmp(v,G->vexs[i].name)==0){c=i;break;}returnc;}
2023/9/6 16:58:06 58KB VC
1
c/c++与java互通AES加密解密;只使用基本char,数组运算实现加密算法;不依赖其它加密lib
2023/9/1 4:22:44 9KB c c++ java AES
1
1)代码注释很详细的,非常适合学习STL的2)string类经常用到findfind_first_offind_first_not_offind_last_offind_last_not_ofsubstrreplace等,以及联合使用来达到java中的split和trim3)有些函数返回的是MyString&、Char&等(引用),MyString、Char等(传值)这得看你返回的对象是函数的局部变量还是全局变量(或者类当前对象成员变量);
前者只能返回一个MyString、Char等;
后者强烈建议返回MyString&、Char&等(引用);
2023/8/26 16:12:54 416KB string类实现
1
我已经将Qrcode生成一个lib库,只需要调用导出函数intQRcodeRest(char*str),就会在根目录下生成一个bmp位图,工程目录2也是一个演示程序。
2023/8/14 15:24:27 10.77MB 二维码 QRCODE C++
1
共 73 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡