搜档网
当前位置:搜档网 › c语言运用技巧

c语言运用技巧

c语言运用技巧
c语言运用技巧

C++

连接两字符串:strcat(a,b); or strcat(a,” ”);

修改文件名:rename(oldname, newname) //两名称均为路径+文件名//当返回值为0时证明修改成功

返回错误原因:perror(“ ”); //返回(打印)括号中函数的错误原因

C语言隐藏窗体:int hwndDOS = GetForegroundWindow();

ShowWindow(hwndDOS, SW_HIDE);

获取鼠标位置:HWND h=GetForegroundWindow();

// 获取屏幕鼠标坐标

POINT pt;

GetCursorPos(&pt);

printf("%d %d\n",pt.x,pt.y);

// 获取窗口鼠标坐标

ScreenToClient(h,&pt);

printf("%d %d\n",pt.x,pt.y);

注意:获取窗口鼠标坐标之前需要现货区屏幕鼠标坐标!

弹出提示窗口:

{

MessageBox(NULL,”弹出窗口内容”,”弹出窗口名字”,MB_…………);

各个窗口样板:

返回值:

其他:

参数说明:

(1)Text:必选项,消息框的正文。

(2)Title:可选项,消息框的标题。

(3)MessageBoxButtons:可选项,消息框的按钮设置,默认只显示【确定】按钮。OK――确定OKCancel ――确定和取消AbortRetryIgnore ――终止、重试和忽略YesNoCancel ――是、否和取消YesNo ――是和否RetryCancel ――重试和取消(4)MessageBoxIcon :对话框中显示的图标样式,默认不显示任何图标。

Question――问号Information、Asterisk――i号Error、Stop、Hand――错误号Warning、Exclamation――!号None――不显示任何图标

(5)MessageBoxDefaultButtons :可选项,对话框中默认选中的按钮设置。

DefaultButton1――第1个button是默认按钮

DefaultButton2――第2个button是默认按钮

DefaultButton3――第3个button是默认按钮

备注:函数原型中蓝色字体部分的参数,可以通过点来获取其后面跟随的参数值。}

文件夹扩展名:

{ 回收站.{645ff040-5081-101b-9f08-00aa002f954e} 拨号网

络.{992CFFA0-F557-101A-88EC-00DD010CCC48} 打印

机.{2227a280-3aea-1069-a2de-08002b30309d} 控制面

板.{21ec2020-3aea-1069-a2dd-08002b30309d} 网上邻

居.{208D2C60-3AEA-1069-A2D7-08002B30309D} 图标clsid=windowsmedia 文件名.{00020c01-0000-0000-c000-000000000046} 无关联文件文件

名.{00021401-0000-0000-c000-000000000046} BMP文件文件

名.{d3e34b21-9d75-101a-8c3d-00aa001a1652} HTML文件文件

名.{25336920-03f9-11cf-8fd0-00aa00686f13} 媒体剪辑文件文件

名.{00022601-0000-0000-c000-000000000046} 打印机文件

名.{2227a280-3aea-1069-A2de-08002b30309d} 控制面板文件

名.{21ec2020-3aea-1069-A2dd-08002b30309d} 网上邻居文件

名.{208d2c60-3aea-1069-A2d7-08002b30309d} 拨号网络文件

名.{992cffa0-F557-101a-88ec-00dd010ccc48} 计划任务文件

名.{D6277990-4c6a-11cf-8d87-00aa0060f5bf} 回收站文件

名.{645ff040-5081-101b-9f08-00aa002f954e}

回收站(满).{5ef4af3a-f726-11d0-b8a2-00c04fc309a4}

Web文件夹文件名.{Bdeadf00-C265-11d0-Bced-00a0c90ab50f} 历史记录文件名.{Ff393560-C2a7-11cf-Bff4-444553540000} 收藏夹文件

名.{1a9ba3a0-143a-11cf-8350-444553540000} 预订文件夹文件

名.{F5175861-2688-11d0-9c5e-00aa00a45957} ActiveX高速缓存文件夹文件

名.{88c6c381-2e85-11d0-94de-444553540000}

excel.{00020810-0000-0000-C000-000000000046}

word.{00020900-0000-0000-C000-000000000046}

media.{00022603-0000-0000-C000-000000000046}

CAB.{0CD7A5C0-9F37-11CE-A E65-08002B2E1262} 搜索-计算

机.{1f4de370-d627-11d1-ba4f-00a0c91eedba}

mht.{3050F3D9-98B5-11CF-BB82-00AA00BDCE0B}

mshta.{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B} 我的文

档.{450D8FBA-AD25-11D0-98A8-0800361B1103}

XML.{48123bc4-99d9-11d1-a6b3-00c04fd91555}

ftp_folder.{63da6ec0-2e98-11cf-8d82-444553540000} 网络和拨号连

接.{7007ACC7-3202-11D1-AAD2-00805FC1270E} 写字板文

档.{73FDDC80-AEA9-101A-98A7-00AA00374959} Temporary Offline Files Cleaner.{750fdf0f-2a26-11d1-a3ea-080036587f03} 用户和密

码.{7A9D77BD-5403-11d2-8785-2E0420524153} Internet 临时文

件.{7BD29E00-76C1-11CF-9DD0-00A0C9034933} 已下载的程序文件的清除程

序.{8369AB20-56C9-11D0-94E8-00AA0059CE02} 公文

包.{85BBD920-42A0-1069-A2E4-08002B30309D} ActiveX高速缓存文件

夹.{88C6C381-2E85-11D0-94DE-444553540000}

mail.{9E56BE60-C50F-11CF-9A2C-00A0C90A90CE} 历史记

录.{FF393560-C2A7-11CF-BFF4-444553540000} 目

录.{fe1290f0-cfbd-11cf-a330-00aa00c16e65} Internet

Explorer.{FBF23B42-E3F0-101B-8488-00AA003E56F8} Snapshot

File.{FACB5ED2-7F99-11D0-ADE2-00A0C90DC8D9} 预订文件

夹.{F5175861-2688-11d0-9C5E-00AA00A45957} MyDocs Drop

Target.{ECF03A32-103D-11d2-854D-006008059367} Policy

Package.{ecabaebd-7f19-11d2-978E-0000f8757e2a} 搜索结

果.{e17d4fc0-5564-11d1-83f2-00a0c90dc849} 添加网上邻

居.{D4480A50-BA28-11d1-8E75-00C04FA31A86}

Paint.{D3E34B21-9D75-101A-8C3D-00AA001A1652} 管理工

具.{D20EA4E1-3957-11d2-A40B-0C5020524153} 字

体.{D20EA4E1-3957-11d2-A40B-0C5020524152} Web

Folders.{BDEADF00-C265-11d0-BCED-00A0C90AB50F} DocFind

Command.{B005E690-678D-11d1-B758-00A0C90564FE} 脱机文件夹.{AFDB1F70-2A4C-11d2-9039-00C04F8EEB3E}

普通文件扩展名:.{00021401-0000-0000-C000-000000000046} }

用c语言编写一个成绩管理系统

程序说明:有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:(1)主菜单学生成绩管理系统 1、成绩录入 2、成绩查询 3、成绩统计 4、退出(2)各菜单项功能① 成绩录入:输入学生的学号、姓名及三门课的成绩;② 成绩查询:(至少一种查询方式)。 v 按学号查询学生记录。 v 查询不及格学生的记录。③成绩统计: v 计算学生的平均分; v 根据学生的平均分高低,对学生的数据进行排序后输出; v 对学生单科成绩排序,输出学生姓名与该科成绩;④退出系统:退出整个系统(即主菜单)。(3)结构体数组: #define N 30 struct student {int num; /* 定义学号*/ char name[20]; /* 定义姓名*/ float score[3]; /* 定义存贮三门课成绩的数组*/ float average; /* 定义平均成绩*/ };struct student stu[N]; /* 定义结构体数组,存贮多个学生的记录*/ . #include #include #include struct student { int num; char name[20]; float score[4]; float average; } stu[10000]; long t,max; bool unpass[1000]; FILE *fstu=fopen("stud.dat","at+"); int init() { int no,i; float s[4],ave; char nam[20]; while (!feof(fstu)) { fscanf(fstu,"%d",&no); fscanf(fstu,"%s",nam); fscanf(fstu,"%f%f%f%f",&s[1],&s[2],&s[3],&ave);

C语言入门手册

●C语言入门手册 ●这里不是教你什么知识,而是给你澄清一些资料,只给对编程一窍不通的或 者刚入门的人看。如果你尚未学习或者才学习不够一天,一定要看这手册,这份手册已经讲述的知识,我们不会在版面给予回答,此手册我会尽量保持准确,但如有不正确,请指正,我也会不断更新此手册 ●Q:什么是C? ●A:一门面向过程的计算机语言,发明至今已经差不多有三十年历史,由于 它相对其他高级语言高效,运行效率又比较接近低级语言,所以至今仍得到广泛的引用,无论你用windows还是linux,你现在看到东西的底层都是用C 写的,而大部分的网络协议都是用C实现的,画面最漂亮的游戏用C实现的,工业控制程序也是用C实现的。C不是万能,也不是垃圾,只是一门某些方面适用,某些方面不适用的语言 ●Q:什么是C++? ●A:一门面向对象的计算机语言,发明至今已经有二十多年了。由于面向对 象编程对程序架构有较好的帮助,因为比较适合构建大型的系统(当然,学术界对此存在争论),但无论如何,C++由于和C一样接近底层,而且又面向对象,所以也得到广泛的使用。C++不是万能,也不是垃圾,只是一门某些方面适用,某些方面不适用的语言,不要向某一个笨蛋一样认为c + 类== c++ ●Q:TC,VC,BC,BCB是什么?有什么区别?谁好? ●A:它们都是开发C/C++的开发环境,是软件。它们是不同时期由不同公司 发行的软件Turbo C ,Borland公司在八十年代末期发行的C语言的开发环境Turbo C++,Borland公司在八十年代末九十年代初发行的C++语言的开发环境Visual C++,Microsoft公司在九十年代至今发行的C/C++开发环境Borland C++,Borland公司在九十年代中发行的C/C++开发环境Borlan C++ Builder,Borland公司在九十年代后期至今开发的C/C++开发环境,与其他开发环境不用的是它属于快速应用程序开发(RAD),可以让你不写代码就能建立程序,当然它的运行效率见仁见智没有什么是万能的,不同场合用不同的东西而且C/C++还有很多开发环境,譬如gcc,watcom C++,Dev C/C++ ●Q:什么语言/开发环境最好? ●A:没有最好,只有最适用某方面 ●Q:需要什么基础才能学C/C++ ●A:至少学过幼儿园语文,小学英语,小学数学才能学,所以先确定你拥有 小学学历,然后就能学了至于学习C++前是否需要学C,C++的发明者认为不用,但见仁见智 ●Q:如何更有效的学习C/C++? ●A:不断的看书+实践,先把书上的练习题做完再说,务必记住不要钻牛角尖, 很多初学者经常犯这样的错误,不要盲目的提出问题,现在看来是问题其实在以后的实践和学习中都会慢慢理解的,任何东西都需要一个过程。万万不可浮躁。 ●Q:TC能开发windows软件吗? ●A:不能,因为不同系统,生成的程序格式不同 ●Q:要多久才能成为高手? ●A:当你不再问这个问题的时候,总是会有比你技术高的人,也许你在你生 活的环境中没有,的确可以说你在这个小范围是高手,但是再在别的地方一定会有比你厉害的人只是你没有接触到而已 ●Q:学C/C++有什么用? ●A:先想想你为了什么而学,想不到就不要学 ●Q:学完C/C++又能怎样 ●A:没怎样,学是为了使用服务的,只证明你会一门语言,但不等于你会开 发软件。就像学外语,为的是跟外国人交际,但如果你不懂交际,即使精通英语,法语,日语,朝鲜语,阿拉伯语,西班牙语……还是不会跟人交际。 你应该继续学习软件开发的知识,包括数据结构,算法,软件工程等等,还有要提高数学水平,譬如微积分,离散数学,矩阵,概率,统计,数值分析。 ●Q:我有很多不懂,怎么办? ●A:查帮助,搜索引擎。最著名的帮助文档叫MSDN,我们主要使用其光盘发 行版,D版可以从电脑城买,正版可以去微软订购,如果没有光盘可以去https://www.sodocs.net/doc/c02163142.html,查询。 ●二、开始学习了 ●Q:我在TC看到缺少cos.obj的提示,为什么?

用c语言写乘法表

#include int main(void) { int i,j; for (i=1;i<=9;i++) { for(j=1;j<=i;j++) printf("%2dx%d=%2d",j,i,i*j); printf("\n"); } } 结果: 1x1= 1 1x2= 2 2x2= 4 1x3= 3 2x3= 6 3x3= 9 1x4= 4 2x4= 8 3x4=12 4x4=16 1x5= 5 2x5=10 3x5=15 4x5=20 5x5=25 1x6= 6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 1x7= 7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 1x8= 8 2x8=16 3x8=24 5x8=40 6x8=48 7x8=56 8x8=64 1x9= 9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81 3.19 #include int main(void) { int a=0; printf("%8s%10s%12s\n","a","b","c"); while(a<=33) { int b=0; while(b<=50) { int c; c=100-a-b; if(3*a+2*b+c/2.0==100) printf("%8d%10d%12d\n",a,b,c); b++; } a++;

} } a b c 2 30 68 5 25 70 8 20 72 11 15 74 14 10 76 17 5 78 20 0 80

c语言基础

C#.NET是微软公司推出的一种类型安全、现代、简单、由C和C++衍生出来的面向对象的编程语言。掌握C#.NET的特点、程序结构、集成开发环境、C#语言的基本知识等,是利用好C#的前提。 本章内容 ?C#概述 ?C#语言基础 ?控制结构 ?数组 ?异常处理 1.1 C# 概述 C#是微软公司在2000年7月发布的一种全新的简单、安全、面向对象的程序设计语言。它是专门为.NET的应用而开发的语言。 https://www.sodocs.net/doc/c02163142.html,简介 1..NET定义 .NET技术是微软公司推出的一个全新概念,它代表了一个集合、一个环境和一个可以作为平台支持下一代Internet的可编程结构。.NET的目的就是将互联网作为新一代操作系统的基础,对互联网的设计思想进行扩展,使用户在任何地方、任何时间、利用任何设备都能访问所需要的信息、文件和程序。.NET平台包括.NET框架和.NET开发工具等部分。.NET框架(Framework)是整个开发平台的基础,包括公共语言运行库和.NET类库。.NET开发工具包括Visual https://www.sodocs.net/doc/c02163142.html,集成开发环境和.NET编程语言。.NET编程语言包括Visual Basic、Visual C++和新的Visual C#等用来创建运行在公共语言运行库(Common Language Run,CLR)上的应用程序。.NET框架结构如图1-1所示。

C#程序设计与案例教程 2 图1-1 .NET框架结构 2.公共语言运行库 公共语言运行库是.NET Framework 的基础。可以将运行库看成一个在执行时管理代码的代理,它提供核心服务(如内存管理、线程管理和远程处理),而且还强制实施严格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。公共语言运行库管理内存、线程执行、代码执行、代码安全验证、编译以及其他系统服务。这些功能是在公共语言运行库上运行的托管代码所固有的。 3..NET框架类库 .NET Framework 类库是一个与公共语言运行库紧密集成的可重用的类型集合,是对Windows API封装的全新设计,它为开发人员提供了一个统一的、面向对象的、分层的和可扩展的庞大类库。该类库是面向对象的,使.NET Framework 类型易于使用,而且还减少了学习.NET Framework 的新功能所需要的时间。此外,第三方组件可与.NET Framework 中的类无缝集成。 例如,用.NET Framework 集合类实现一组可用于开发您自己的集合类的接口。您的集合类将与.NET Framework 中的类无缝地混合。 .NET Framework 类型使您能够完成一系列常见编程任务(包括字符串管理、数据收集、数据库连接以及文件访问等任务)。除这些常见任务之外,类库还包括支持多种专用开发方案的类型。例如,可使用.NET Framework 开发下列类型的应用程序和服务:?控制台应用程序。 ?Windows GUI应用程序(Windows 窗体)。 ?https://www.sodocs.net/doc/c02163142.html,应用程序。 ?XML Web services。 ?Windows 服务。 例如,Windows窗体类是一组综合性的可重用类型,它们大大简化了Windows GUI 的开发。如果要编写https://www.sodocs.net/doc/c02163142.html, Web窗体应用程序,可使用Web窗体类。 1.1.2什么是C# 1.C#及其特点 C#是微软公司在2000年7月发布的一种全新且简单、安全、面向对象的程序设计语

如何用C语言编写小游戏

如何用C语言编写小游戏

纯真童趣的《泡泡堂》,还有武林情仇,笑傲江湖的《剑侠情缘on line》.它是e时代常谈的话题,是交互式娱乐的主力军,是一种 高层次的综合艺术,更是一个民族的文化,世界观的全新传播方式 .作为游戏玩家的我们,是不是想设计一个属于自己的游戏呢? 爱玩是人的天性,而C语言是我们计算机专业都要学习的一门基础 学科.一般来说,是比较枯燥的.那么,我们能不能通过编一些小 游戏来提高它的趣味性呢?这样学习程序设计,就不会是一件艰苦 ,枯燥的事,它变得象电脑游戏一样充满

好奇,富有乐趣.这正是 我发贴的目的. 1, 总是从Hello,world开始 学习编程的第一个程序,一般就是打印一个亲切的词语——"Hell o,world!".让我们来看看这个最简单的C程序: #incolude /*把输入输出函数的头文件包含进来*/ int main() { printf("Hello, world!");/*在屏幕上输出字符串"Hell

o,world!"*/ return 0;/*退出main函数,并返回0*/ } 下面我们发现几个值得改进的地方,1,程序的运行结果一闪而过 .2,每执行这个程序一次都能看见上次运行留下的字符.3,我们 还希望屏幕输出一个笑脸来欢迎我们. (大家不要小看了这个笑脸 曾经有人发贴专门问呢)让我们来改进一下这个程序吧! 1,在return语句的前面加一句:getch ();,表示按任意键结

束.2,在printf语句前用clrscr函数清屏,要使用这个函数和get ch函数,需要在程序开头再包含头文件conio.h.3,ASCII码也有 许多非常好玩的字符,比如ASCII码值为2的就是一个笑脸,我们可 以用printf("%c", 2)来输出一个笑脸. 现在我们把Hello,world程序改成一个更好看的Hello,world了.下 面让我们开始做游戏吧! 2, 心动的开始,一个运动中的笑脸 大家小时侯喜欢看动画片吗?哈哈,我猜你们都喜欢吧!下面就让

C语言入门教程____免费下载

51单片机C语言 相信很多爱好电子的朋友,对单片机这个词应该都不会陌生了吧。不过有些朋友可能只听说他叫单片机,他的全称是什么也许并不太清楚, 更不用说他的英文全称和简称了。单片机是一块在集成电路芯片上集成了一台有一定规模的微型计算机。简称为:单片微型计算机或单片机 (Single Chip Computer)。单片机的应用到处可见,应用领域广泛,主要应用在智能仪表、实时控制、通信、家电等方面。不过这一切都没 什么关系,因为我(当然也包括任何人)都是从不知道转变成知道的,再转变成精通的。现在我只想把我学习单片机的经历,详细地讲叙给大 家听听,可能有些大虾会笑话我,想:那么简单的东西还在这里卖弄。但是你错了,我只是把我个人学习的经历讲述一遍而已,仅仅对那些想 学习单片机,但又找不到好方法或者途径的朋友,提供一个帮助,使他们在学习过程中,尽量少走些弯路而已! 首先,你必须有学习单片机的热情,不是说今天去图书馆看了一个下午关于单片机的书,而明天玩上半天,后天就不知道那个本书在讲什 么东西了。还是先说说我吧,我从大二的第一个学期期末的时候才开始接触单片机,但在这之前,正如上面所说的:我知道有种芯片叫单片机, 但是具体长成什么样子,却一点也不知道!看到这里很多朋友一定会忍不住发笑。嘿嘿,你可千万别笑,有些大四毕业的人也同样不知道单片 机长成什么样子呢!而我对单片机的痴迷更是常人所不能想象的地步,大二的期末考试,我全放弃了复习,每当室友拿着书在埋头复习的时候, 我却捧着自己从图书馆借的单片机书在那看,虽然有很多不懂,但是我还是坚持了下来,当时我就想过,为了单片机值不值得我这样去付出, 或许这也是在一些三流学校的好处吧,考试挂科后,明年开学交上几十元一门的补考费,应该大部分都能过了。于是,我横下一条心,坚持看 我的单片机书和资料。 当你明白了单片机是这么一回事的时候,显而易见的问题出来了:我要选择那种语言为单片机编写程序呢这个问题,困扰了我好久。具 体选择C51还是A51呢汇编在我们大二之前并没有开过课,虽然看着人家的讲解,很容易明白单片机的每一时刻的具体工作情况,但是一合上 书或者资料,自己却什么也不知道了,根本不用说自己写程序了。于是,我最终还是决定学C51,毕竟C51和我们课上讲的C语言,有些类似, 编程的思想可以说是相通的。而且C51还有更大的优点就是编写大程序时的优越性更不言而喻,当然在那时,我并没有想的那么深远,C51的特 点,还是在后来的实践过程中,渐渐体会到的!朋友如果你选择了C51,那么请继续往下看,如果你选择了A51,那么你可以不要看了!因为下面讲 的全是C方面的,完全在浪费你的时间! 呵呵 ^_^ 第二,既然你想学好单片机,你必须得舍得花钱,如果不买些芯片回来自己动手焊焊拆拆的(但是在后期会介绍给大家一个很好用的硬件 仿真软件,并不需要你用实验板和仿真器了,直接在你的PC上完成,但是软件毕竟是软件,从某个特定的意义上来说是并不能代替硬件的),即使 你每天捧着本书,把那本书翻烂,也永远学不会单片机的!刚接触单片机的朋友,看了资料,一定会对以下几个词见的比较多,但是具体的概

计算机应用专业c语言编程基础科试卷及答案

职业学校计算机应用专业C语言编程基础科试卷及答案 一、填空(共35分) 1、Unix系统诞生于年,是由实验室的K T和DMR用汇编语言开发成功的。 2、在C语言中,标识符主要为,,及的名字使用。 3、C语言中中的基本数据类型包括、和 三种。 4、数组是有序是的并且有的数据的集合。 5、C语言中,二维数组元素在内存中的存储顺序 是。 6、C语言函数的实参、形参二者类型,一般个数。 7、在C语言中,变量的存储类别有四种,它们是,,和。 8、根据函数能否被其他源文件调用,函数分为函数和函数两类。 9、文件是存储在外部存储设备上的。 10、定义文件指针变量的格式为。 11、feof( )函数是检测函数,当文件位置指针处于时,它返回一个值。 12、用逻辑运算符将或连接起来就是逻辑表达式。 13、结构化程序设计方法,采用的设计原则和的来构造程序。 14、程序结构一般采用、和结构。 15、第三代高级语言是,注重的是, 之间的关系是从属性的层层调用关系。 二、单项选择题(共15分) 1、C语言程序由组成。A. 子程序 B. 主程序和子程序 C. 函数 D. 过程 2、源程序要正确地运行,必须要有什么函数? A. printf函数 B. 自定义的函数 C. main函数 D. 不需要函数 3、若a为整型变量,且有以下语句 a=-017L; printf("%d\n",a); 则下面___说法是正确的? A. 赋值不合法 B. 输出值为-17 C. 输出为不确定值 D. 输出值为-15 4、下面表达式的值为4. A. 11/3 B. 11.0/3 C. (float)11/3 D. (int)(11.0/3+0.5) 5、在C语言的if语句中,用作判断的表达式为___。 A. 关系表达式 B. 逻辑表达式 C. 算术表达式 D. 任意表达式 6、下面哪一项是不正确的字符串赋值或赋初值的方式。 A. char *str; str="string"; B. char str[7]={'s','t','r','i','n','g'}; C. char str1[10];str1="string"; D. char str1[]="string",str2[]="12345678"; 7、若有以下说明和语句,则输出结果是哪一项? (strlen(s)为求字符串s的长度的函数) char s[12]="a book!"; printf("%d",strlen(s)); A. 12 B. 8 C. 7 D. 11 8、C语言可执行程序从什么地方开始执行? A. 程序中第一条可执行语句 B. 程序中第一个函数 C. 程序中的main函数 D. 包含文件中的第一个函数 9、有一个函数原型如下所示: abc(float x,float y); 则该函数的返回类型为___。 A. void B. double C. int D. float 10、在C语言程序中,下面哪一个是正确的? A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数的定义可以嵌套,函数的调用也可以嵌套 D. 函数的定义和函数的调用都不可以嵌套 11、对于类型相同的指针变量,不能进行哪种运算? A. + B. - C. = D. == 12、若有以下说明和语句,且0<=i<10, 则下面是 对数组元素的错误引用? int a[]={1,2,3,4,5,6,7,8,9,0}, *p, i; p=a; A. *(a+i) B. a[p-a] C. p+i D. *(&a[i]) 13、如果想把一些新的数据添加到文件xh.txt中,则 应该以下面方式打开文件? A. fp=fopen(xh.txt,"a"); B.fp=fopen("xh.txt",a); C. fp=fopen("xh.txt","a"); D.fp=fopen("xh.txt",'a'); 14、下面哪条语句是从文件中读取一个字符? A. ch=getc(); B. fputc(ch,fp); C. fscanf("%c",&ch); D. scanf("%c",&ch); 15、C语言中的文件类型如何划分? A. 索引文件和文本文件两种 B. ASCII文件和二进制文件两种 C. 只有文本文件一种 D. 只有二进制文件一种 三、多选题(共20分) 1、下面是定义局部变量储存类别的保留字。

C语言初学者的几个经典习题

1.求两个数的最小公倍数: #include void main() { int a,b, num1,num2,temp; printf("请输入两个数:\n"); scanf("%d%d",&num1,&num2); if (num1 int sum_day(int year,int month,int day); void main() { int year,month,day;int days; printf("请输入要查询的年月日\n"); scanf("%d%d%d",&year,&month,&day); days=sum_day(year,month,day); printf("该天是%d天\n",days); } int tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int sum_day(int year,int month,int day) { int i,days=0; if(year%4==0&&year%100!=0||year%400==0) tab[2]=29; for(i=1;i int isprime (int a); void main()

用C语言编写程序建立一个pipe

1、用C语言编写程序,建立一个pipe, 同时父进程生成一个子进程,子进程向pipe写入一 个字符串”Hello.”,父进程从pipe中读取该字符串。5' #include #include #include #include #include #include int main() { char buf[20]; int piledes[2]; pid_t pid; int ret; if(ret = pipe(piledes) == -1) { perror("error on pipe:"); exit(-1); } else { pid = fork(); if(pid < 0) { perror("error on fork:"); exit(-1); } else if(pid == 0) { close(piledes[0]); printf("to fu:"); fgets(buf,sizeof(buf)-1,stdin); if((ret = write(piledes[1],buf,strlen(buf))) < 0) { perror("error on writing:"); exit(-1); } close(piledes[1]);

} else { close(piledes[1]); if((ret = read(piledes[0],buf,sizeof(buf)-1)) < 0) { perror("error on reading:"); exit(-1); } buf[ret] = '\0'; printf("from zi:%s\n",buf); close(piledes[0]); } } return 0; } 2、编写一个 C语言程序lswc,使之功能能和ls | wc 等价。(也就是利用,fork,exec,以及ls,wc,以及重定向,或者是管道的系统调用) 13’ #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc,char *argv[]) { int pildes[2]; int ret; char *argument[3]; pid_t pid;

C语言学习心得体会 篇

c语言学习心得体会一:c语言学习心得体会 c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。 在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。 由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。包括了程序模块处理。简单界面程序。高级界面程序。程序的添加修改。用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。 上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。 c语言学习心得体会二:c语言学习心得体会(1116字) c语言是在国内外广泛使用的一种计算机语言。其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的 windows,unix,linux,mac,os/2,无一例外,哪一个不是c语言写的?很多新型的语言如,c++,java,c#,j#,perl... 都是衍生自c语言。掌握了c语言,可以说你就掌握了很多门语言。 学习c程序这门课一年了,这是我们学的第一门专业课,在大学里c语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,c语言是计算机的基础,大多数软件都需要用c语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。同时,我觉得c语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。

C语言基础知识1

C语言基础知识 第一章数据库基础知识 1.基本概念:数据库、数据管理经历的五个阶段、数据库管理系统、数据库应用系统、数据库管理员。 2.数据库系统的组成:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户。其中数据库管理系统是数据库系统的核心。 3.数据库系统的特点:(1)实现数据共享,减少数据冗余(2)采用特定的数据模型(3)具有较高的数据独立性(4)有统一的数据控制功能 4.数据模型:实体间联系的种类:一对一、一对多、多对多。 5.数据模型的三种类型:层次模型、网状模型和关系模型。 6.关系数据库基本术语:关系、元组、属性、域、关键字、外部关键字。 关系的特点 7.关系运算:传统的集合运算(并、差、交)另一类是专门的关系运算(选择、投影、连接、等值连接、自然连接) 8.VF两种运行方式:菜单方式和交互式方式(命令方式和程序方式) 9.所谓项目是指文件、数据、文档和对象的集合,其扩展名为.pjx。 10.项目管理器包含的选项卡:全部、数据、文档、类、代码、其他 11.项目管理器各选项卡所包含的文件有哪些? 12.项目管理器可以完成对文件的新建、添加、移去、删除,但不包含重命名。 第2章 1.常量的种类:数值型、字符型、日期型、日期时间型和逻辑型 在书写字符型、日期型、日期时间型和逻辑型需要加定界符 2.变量是值能够随时改变的量。变量名的命名规则:以字母、汉字和下划线开头,后接字母、数字、汉字和下划线构成,不包含有空格 3.当内存变量与字段变量同名时,要访问内存变量需加前缀M.(或M->),例如M.姓名4.数组定义的格式DIMENSION数组名()、 创建数组后,系统自动给每个数组元素赋以逻辑假.F. 5.表达式的类型:数值表达式、字符表达式、日期时间表达式和逻辑表达式。每个表达式的运算规则与结果。 6.运算符$称为子串包含测试,格式<字符表达式1>$<字符表达式2> 7.SET EXACT ON│OFF的区别与含义。 8.逻辑型运算符有三个:NOT、AND、OR,其优先级顺序为NOT、AND、OR 9.常用函数数值函数、字符处理函数、日期类函数、数据类型转换函数、测试函数10.常用函数:LEN()、SPACE()、LEFT()、RIGHT()SUBSTR()、AT()、DATE()、TIME()、YEAR()、STR()、 VAL()、CTOD()、宏替换函数:&字符型变量、EOF()、BOF()、IIF() 11.程序文件的建立和修改命令:MODIFY COMMAND程序名 12.程序的基本结构:顺序结构、选择结构、循环结构。 13.选择结构包括条件语句(IF—ELSE--ENDIF)和分支语句(DO CASE--ENDCASE)、14.IF----ENDIF必须成对出现,在do case结构中不管有几个CASE条件成立,只有最先成立的那个CASE条件的对应命令序列被执行 15.循环结构包括:DO WHILE---ENDDO FOR---ENDFOR SCAN---ENDSCAN(其

简单易懂的C语言源代码(供初学者使用)

#include main() {float pi=3.14159265,r; printf("enter radius:\n"); scanf("%f",&r); printf("r=%.2f,c=%.2f,area=%.2f\n",r,2*pi*r,pi*r*r); system("pause"); } #include main() {int m,n,x,y; printf("inputm,n:\n"); scanf("%d%d",&m,&n); if (n%2==1) {printf("error!! n bu shi ji shu!\n",n); return;} /*n在这里不能是奇数*/ x=(4*m-n)/2; y=(n-2*m)/2; if((x>=0)&&(y>=0)) printf("x=%d,y=%d\n",x,y); else printf("shu ru cuo wu!\n");

getch(); } #include #include #include main() {float a,b,C; printf("enter 3number(a,b,C):\n"); scanf("%.2f %.2f %.2f",&a,&b,&C); s=0.5*a*b*sinC; printf("s=%.2f\n",s); system("pause"); } #include main() {int ds,nl,yf; char c; printf("shu ru ds;\n"); scanf("%d",&ds); if (ds<14||ds>1184)

用C语言编写简单的接口程序

用C语言编写简单的接口程序 北京理工大学(100081) 张俊 在通信中,为了保证运行安全可靠,标准的串行口必须具有许多握手信号和状态信息。这是因为通信的各个计算机CPU速度不一样(这会导致?错帧敚?以及发送机发送数据速度比接收机接收速度快(这会导致?过冲敚?为解决这个问题,我们采用一个简单的握手信号,即发送机每次仅发送半个字节(低4位)的数据,而另外半个字节(高4位)则用来传送信息。我们可以对信息位(高4位)进行如下简单的编码: 0H:发送的是新的半个字节数据 1H:重新发送上次传送错误的数据 2H:文件名结束 3H:文件结束 这样,每当发送机发送一个字节以后,就等待接受机发回送信号,这回送信号就是发送机发送过来的那个字节。发送机接收到回送信号后,把它与刚发送的字节相比较,如果相同,就发送新的半个字节,否则就重新发送。新数据与旧数据通过信息位来区分。下面就是我用C语言编写控制串行口的程序。以一个发送文件的程序为例,介绍一下用C语言实现对接口的控制。 源程序为: #include “dos.h" #include “stdlib.h" #include “stdio.h" #define PORT 0 void SendFile(char fname); / *发送文件*/ void Send(int s); / *发送一个字节*/ void SendFileName(char fname); / *发送文件名*/ void ReceiveFile(); / *接收文件*/ void GetFileName(char f); / *接收文件名*/ void InitPort(int port,unsigned char para); / *初始化端口*/ void SendPort(int port,char c); / *端口发送*/ int ReadPort(int port); / *读端口字节*/ int CheckState(int port); / *检查端口状态*/ int Receive(int port,int G); / *接收一个字节*/

初学C语言常用简单程序代码

初学C语言常用简单程序代码素数的筛选 #include #include #define N 1000 int main(int argc, char* argv[]) { int i,j,num[N]; for(i=0;i

main() { int x,s,t,d; scanf("%d",&x); s=x%60; t=(x/60)%60; d=(x/60)/60; printf("%d时%d分%d秒",d,t,s); } 三个数的交换 #include void main() { int a,b,c,t; scanf("%d%d%d",&a,&b,&c); printf("The original number:a=%d,b=%d,c=%d\n",a,b,c); t=a,a=b,b=t; t=a,a=c,c=t; printf("after swap:a=%d,b=%d,c=%d",a,b,c); } switch语句的运用 #include main() { int a,m; printf("please input a number:"); scanf("%d",&a); switch(a/10) { case 10: case 9: m=5; break;

用c语言编写简单程序

实验二用C语言编写简单程序 实验目的 (1)认识C程序基本语法中的变量、常量、语句、控制结构和函数等概念 (2)理解结构化程序设计的三种基本结构;知道程序设计的过程,并运用到程序设计中 (3)理解C语言函数的作用,并运用主函数、输入/输出函数解决简单问题。 实验范例 1. 画一个矩形 要绘制一个如图2-1所示的矩形,可以使用printf语句输出5行星号。 图2-1 一个简单的矩形 【源程序sample02_01.cpp】 #include int main(void) { printf("********************\n"); printf("********************\n"); printf("********************\n"); printf("********************\n"); printf("********************\n"); return 0;} 程序中相同的printf语句重复出现了5次。试想,如果要输出20行甚至更多行的矩形,不断重复地书写printf语句是很不方便的。程序语言对重复操作提供了循环结构加以描述,引入一个计数的循环结构,程序可改写为: 【源程序sample02_02.cpp】 #include int main(void) { int i; for(i=1;i<=5;i++) printf("********************\n");

return 0;} for语句描述了一个计数的过程,计数器i从1开始计数(i=1),如果i小于等于5,执行printf语句输出一行,然后计数器i增1(i++)。这样计数器i从1数到5,printf语句执行5次,输出5行星号。算法可以描述为: 循环i从1到5,每次增1: 输出一行星号 for语句的基本格式为: for(e1;e2;e3) 循环语句 计数器i是一个记录整数的变量,变量对应一个内存的存储空间,可以存放程序中需要的数据。在C程序中使用变量,要先向系统申请内存空间,表示数据存放的数据是区分不同的数据类型的,在申请时要说明变量的数据类型,申请变量的语句称为变量定义,基本格式为: <数据类型> 变量名序列; 可以一次定义一个变量,也可以同时定义多个相同数据类型的变量。语句int i;定义了一个整型变量i作为循环结构的计数控制变量。 i=1;是变量的赋值语句,将整数1赋给变量i。赋值语句的功能是将右边的值赋值给左边的变量,赋值语句的基本格式为: <变量>=表达式; 整数1在程序中称为常量,常量是各种数据类型数据的字面形式。例如9.27是double 类型数据常量。 i<=5和i++是两个表达式,i<=5是关系表达式,执行关系运算<=;i++是算术表达式,执行++运算,变量i自增1。 for语句的一对圆括号内三个表达式e1、e2和e3分别表示计数变量的初值、终值条件和变化,执行顺序为:先执行e1获取计数变量初值1,执行e2,判断计数变量是否符合循环条件i<=5,条件符合则执行循环体语句,接着执行e3改变计数变量的值,然后又回到e2,构成一个循环,循环条件不符合则循环结束。本例中i从1开始执行printf语句,执行一次,i增1,执行5次printf语句后,i的值增1达到6,不符合循环控制条件,循环结束,输出5行星号。 2. 画一个任意大小的矩形 编写一个程序通常是要解决一类问题,而不是特定问题,如何突破矩形的固定样式,绘制任意大小的矩形呢?矩形的样式是由行数和每行的字符个数确定的,这两个值的变化,会改变矩形的形状,如图2-2所示。

使用C语言编写简单小游戏

纯真童趣的《泡泡堂》,还有武林情仇,笑傲江湖的《剑侠情缘on line》.它是e 时代常谈的话题,是交互式娱乐的主力军,是一种高层次的综合艺术,更是一个民族的文化,世界观的全新传播方式 .作为游戏玩家的我们,是不是想设计一个属于自己的游戏呢? 爱玩是人的天性,而C语言是我们计算机专业都要学习的一门基础学科.一般来说,是比较枯燥的.那么,我们能不能通过编一些小游戏来提高它的趣味性呢?这样学习程序设计,就不会是一件艰苦 ,枯燥的事,它变得象电脑游戏一样充满好奇,富有乐趣. 1,总是从Hello,world开始学习编程的第一个程序,一般就是打印一个亲切的词语——"Hell o,world!".让我们来看看这个最简单的C程序: #incolude /*把输入输出函数的头文件包含进来*/ int main() { printf("Hello, world!");/*在屏幕上输出字符串"Hello,world!"*/ return 0;/*退出main函数,并返回0*/ } 下面我们发现几个值得改进的地方,1,程序的运行结果一闪而过 .2,每执行这个程序一次都能看见上次运行留下的字符.3,我们还希望屏幕输出一个笑脸来欢迎我们. 让我们来改进一下这个程序吧! 1,在return语句的前面加一句:getch ();,表示按任意键结束.2,在printf语句前用clrscr函数清屏,要使用这个函数和getch函数,需要在程序开头再包含头文件conio.h.3,ASCII码也有许多非常好玩的字符,比如ASCII码值为2的就是一个笑脸,我们可以用printf("%c", 2)来输出一个笑脸. 现在我们把Hello,world程序改成一个更好看的Hello,world了.下面让我们开始做游戏吧! 2,心动的开始,一个运动中的笑脸大家小时侯喜欢看动画片吗?哈哈,我猜你们都喜欢吧!下面就让我们来做一个小动画吧.在屏幕上显示一个运动的小笑脸,而且当它到达屏幕的边缘时会自动弹回来.先在程序定义一个在屏幕中运动的点的结构: struct move_point { int x, y;/*该点的位置,包括x坐标和y坐标*/ int xv, yv;/*该点在x轴,y轴的速度*/ }; 运动的原理是,先擦去物体先前的轨迹,让物体按其速度移动一段距离,再画出该物体.让我们看到以下代码: gotoxy(man.x, man.y);/*把光标移到指定的坐标*/ printf(" ");/*输出一个空格,把先前的字符擦去*/ 然后我们让物体按其速度运动: man.x += man.xv;/*水平方向按x轴的速度运动*/ man.y += man.yv;/*垂直方向按y轴的速度运动*/ 运动后还要判断物体是否出界,如果出了界,就令物体反弹,即让它下一刻的速度等于现在的速度的相反数.最后打印出这个笑脸: gotoxy(man.x, man.y); printf("%c\b", 2); /*输出ASCII码值为2的"笑脸"字符*/ 怎么样?是不是很有趣呢?不过这个笑脸一直是自己运动,能不能让我们来控制它运动呢?答案是肯定的,让我们继续往下学吧! 3,交互的实现——让我们来控制笑脸运动 这个程序的主要功能是接受按键,如果接收的是方向键,就让笑脸顺着方向移动,如果接收的是ESC键就退出程序,其他按键则忽略处理.接受按键我们用以下两条语句: while (bioskey(1) == 0);/*等待按键*/ key = bioskey(0);/*把接收的按键的键盘码赋给变量key*/ 然后用switch语句来判断按键以及执行相关操作,如下: switch (key) /*对变量key的值进行判断*/ { case UP: /*如果按的是向上键*/ … break; /*让物体向上运动,并退出switch*/

相关主题