新世纪计算机基础教育丛书:C程序设计(第3版) PDF 完整清晰版

  • 更新时间:
  • 4774人关注
  • 点击下载

给大家带来的一篇关于C程序设计相关的电子书资源,介绍了关于C语言、程序设计方面的内容,本书是由清华大学出版社出版,格式为PDF,资源大小17.73MB,谭浩强编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:8.7分

资源详情相关推荐
新世纪计算机基础教育丛书:C程序设计(第3版)
  • 出版社:清华大学出版社
  • 作者:谭浩强
  • 大小:17.73MB
  • 类别:C程序设计
  • 热度:406
  • Linux C程序设计王者归来
  • C程序设计(第4版)
  • BASIC程序设计教程(第二版)
  • Visual Basic程序设计教程
  • Visual Basic程序设计(第二版)
  • 新世纪计算机基础教育丛书:C程序设计 第三版

    作者: 谭浩强著

    出版时间:2005

    丛编项: 新世纪计算机基础教育丛书

    本书曾荣获:原电子工业部优秀教材一等奖全国高等院校计算机基础教育研究会优秀教材一等奖高校 优秀畅销书特等奖C语言是国内外广泛使用的计算机语言,学会使用C语言进行程序设计是计算机工作者的一项基本功。本书的第一版于1991年出版,第二版于1999年出版。由于本书作者具有丰富的教学经验和编写教材的经验,并针对初学者的特点,精心策划、准确定位,使得本书概念清晰、例题丰富、深入浅出,受到专家和读者的一致好评。本书被普遍认为是学习C语言的好教材,并被全国大多数高校选用。十多年来本书累计发行了700多万册,创同类书的全国最高记录,是学习C语言的主流用书。本书曾荣获原电子工业部优秀教材一等奖、高校 优秀畅销书特等奖、全国高等院校计算机基础教育研究会优秀教材一等奖。根据发展的需要,作者对本书进行了再修订,使本书更加完善,更便于学习。书中全部例题中的程序均已调试通过。本书内容新颖、体系合理、逻辑性强、文字流畅、通俗易懂,是学习C语言的理想教材。凡具有计算机初级知识的读者都能读懂本书。本书可作为高等学校各专业的正式教材,也是一本自学的好教材。另外本书还配有辅助教材《C程序设计题解与上机指导》(第三版)。

    目录

    • C语言概述
    • 1.1 C语言出现的历史背景1
    • 1.2 C 语言的特点2
    • 1.3 简单的C语言程序介绍4
    • 1.4 运行C程序的步骤与方法7
    • 1.4.1 运行C程序的步骤7
    • 1.4.2 上机运行C程序的方法8
    • 习题12
    • 程序的灵魂——算法
    • 2.1 算法的概念14
    • 2.2 简单算法举例15
    • 2.3 算法的特性19
    • 2.4 怎样表示一个算法20
    • 2.4.1 用自然语言表示算法20
    • 2.4.2 用流程图表示算法20
    • 2.4.3 3种基本结构和改进的流程图24
    • 2.4.4 用N\|S流程图表示算法27
    • 2.4.5 用伪代码表示算法30
    • 2.4.6 用计算机语言表示算法33
    • 2.5 结构化程序设计方法34
    • 习题36
    • 数据类型、运算符与表达式
    • 3.1 C语言的数据类型37
    • 3.2 常量与变量37
    • 3.2.1 常量和符号常量37
    • 3.2.2 变量38
    • 3.3 整型数据40
    • 3.3.1 整型常量的表示方法40
    • 3.3.2 整型变量40
    • 3.3.3 整型常量的类型44
    • 3.4 浮点型数据45
    • 3.4.1 浮点型常量的表示方法45
    • 3.4.2 浮点型变量45
    • 3.4.3 浮点型常量的类型47
    • 3.5 字符型数据48
    • 3.5.1 字符常量48
    • 3.5.2 字符变量49
    • 3.5.3 字符数据在内存中的存储形式及其使用方法50
    • 3.5.4 字符串常量52
    • 3.6 变量赋初值53
    • 3.7 各类数值型数据间的混合运算54
    • 3.8 算术运算符和算术表达式55
    • 3.8.1 C语言运算符简介55
    • 3.8.2 算术运算符和算术表达式55
    • 3.9 赋值运算符和赋值表达式59
    • 3.10 逗号运算符和逗号表达式65
    • 习题66
    • 最简单的C程序设计——顺序程序设计
    • 4.1 C语句概述69
    • 4.2 赋值语句71
    • 4.3 数据输入输出的概念及在C语言中的实现72
    • 4.4 字符数据的输入输出73
    • 4.4.1 Putchar函数73
    • 4.4.2 getchar函数74
    • 4.5 格式输入与输出74
    • 4.5.1 printf函数75
    • 4.5.2 scanf函数82
    • 4.6 顺序结构程序设计举例86
    • 习题88
    • 选择结构程序设计
    • 5.1 关系运算符和关系表达式91
    • 5.1.1 关系运算符及其优先次序91
    • 5.1.2 关系表达式92
    • 5.2 逻辑运算符和逻辑表达式92
    • 5.2.1 逻辑运算符及其优先次序92
    • 5.2.2 逻辑表达式93
    • 5.3 if语句95
    • 5.3.1 if语句的3种形式95
    • 5.3.2 if语句的嵌套99
    • 5.3.3 条件运算符102
    • 5.4 switch语句104
    • 5.5 程序举例106
    • 习题111
    • 循环控制
    • 6.1 概述113
    • 6.2 goto语句以及用goto语句构成循环113
    • 6.3 用while语句实现循环114
    • 6.4 用do…while语句实现循环115
    • 6.5 用for 语句实现循环118
    • 6.6 循环的嵌套121
    • 6.7 几种循环的比较122
    • 6.8 break语句和continue语句122
    • 6.8.1 break语句122
    • 6.8.2 continue语句123
    • 6.9 程序举例124
    • 习题129
    • 数组
    • 7.1 一维数组的定义和引用131
    • 7.1.1 一维数组的定义131
    • 7.1.2 一维数组元素的引用132
    • 7.1.3 一维数组的初始化132
    • 7.1.4 一维数组程序举例133
    • 7.2 二维数组的定义和引用135
    • 7.2.1 二维数组的定义135
    • 7.2.2 二维数组的引用136
    • 7.2.3 二维数组的初始化137
    • 7.2.4 二维数组程序举例138
    • 7.3 字符数组140
    • 7.3.1 字符数组的定义140
    • 7.3.2 字符数组的初始化140
    • 7.3.3 字符数组的引用141
    • 7.3.4 字符串和字符串结束标志142
    • 7.3.5 字符数组的输入输出144
    • 7.3.6 字符串处理函数146
    • 7.3.7 字符数组应用举例150
    • 习题152
    • 函数
    • 8.1 概述155
    • 8.2 函数定义的一般形式156
    • 8.2.1 无参函数定义的一般形式156
    • 8.2.2 有参函数定义的一般形式157
    • 8.2.3 空函数157
    • 8.3 函数参数和函数的值158
    • 8.3.1 形式参数和实际参数158
    • 8.3.2 函数的返回值160
    • 8.4 函数的调用161
    • 8.4.1 函数调用的一般形式161
    • 8.4.2 函数调用的方式162
    • 8.4.3 对被调用函数的声明和函数原型163
    • 8.5 函数的嵌套调用167
    • 8.6 函数的递归调用171
    • 8.7 数组作为函数参数177
    • 8.7.1 数组元素作函数实参178
    • 8.7.2 数组名作函数参数179
    • 8.7.3 多维数组名作函数参数182
    • 8.8 局部变量和全局变量184
    • 8.8.1 局部变量184
    • 8.8.2 全局变量185
    • 8.9 变量的存储类别188
    • 8.9.1 动态存储方式与静态存储方式188
    • 8.9.2 auto变量189
    • 8.9.3 用static声明局部变量189
    • 8.9.4 register变量191
    • 8.9.5 用extern声明外部变量193
    • 8.9.6 用static声明外部变量195
    • 8.9.7 关于变量的声明和定义196
    • 8.9.8 存储类别小结197
    • 8.10 内部函数和外部函数199
    • 8.10.1 内部函数199
    • 8.10.2 外部函数199
    • 习题202
    • 预处理命令
    • 9.1 宏定义204
    • 9.1.1 不带参数的宏定义204
    • 9.1.2 带参数的宏定义207
    • 9.2 “文件包含”处理211
    • 9.3 条件编译214
    • 习题217
    • 指针
    • 10.1 地址和指针的概念219
    • 10.2 变量的指针和指向变量的指针变量221
    • 10.2.1定义一个指针变量221
    • 10.2.2 指针变量的引用222
    • 10.2.3 指针变量作为函数参数225
    • 10.3 数组与指针229
    • 10.3.1 指向数组元素的指针229
    • 10.3.2 通过指针引用数组元素230
    • 10.3.3 用数组名作函数参数235
    • 10.3.4 多维数组与指针242
    • 10.4 字符串与指针251
    • 10.4.1 字符串的表示形式251
    • 10.4.2 字符指针作函数参数254
    • 10.4.3 对使用字符指针变量和字符数组的讨论257
    • 10.5 指向函数的指针260
    • 10.5.1 用函数指针变量调用函数260
    • 10.5.2 用指向函数的指针作函数参数262
    • 10.6 返回指针值的函数265
    • 10.7 指针数组和指向指针的指针268
    • 10.7.1 指针数组的概念268
    • 10.7.2 指向指针的指针271
    • 10.7.3 指针数组作main函数的形参273
    • 10.8 有关指针的数据类型和指针运算的小结275
    • 10.8.1 有关指针的数据类型的小结276
    • 10.8.2 指针运算小结276
    • 10.8.3 void指针类型277
    • 习题278
    • 结构体与共用体
    • 11.1 概述281
    • 11.2 定义结构体类型变量的方法282
    • 11.3 结构体变量的引用284
    • 11.4 结构体变量的初始化285
    • 11.5 结构体数组286
    • 11.5.1 定义结构体数组286
    • 11.5.2 结构体数组的初始化287
    • 11.5.3 结构体数组应用举例287
    • 11.6 指向结构体类型数据的指针289
    • 11.6.1 指向结构体变量的指针289
    • 11.6.2 指向结构体数组的指针290
    • 11.6.3 用结构体变量和指向结构体的指针作函数参数292
    • 11.7 用指针处理链表294
    • 11.7.1 链表概述294
    • 11.7.2 简单链表295
    • 11.7.3 处理动态链表所需的函数296
    • 11.7.4 建立动态链表297
    • 11.7.5 输出链表300
    • 11.7.6 对链表的删除操作301
    • 11.7.7 对链表的插入操作303
    • 11.7.8 对链表的综合操作305
    • 11.8 共用体308
    • 11.8.1 共用体的概念308
    • 11.8.2 共用体变量的引用方式309
    • 11.8.3 共用体类型数据的特点310
    • 11.9 枚举类型312
    • 11.10 用typedef定义类型315
    • 习题318
    • 位运算
    • 12.1 位运算符和位运算319
    • 12.1.1 “按位与”运算符(&)319
    • 12.1.2 “按位或”运算符(|)320
    • 12.1.3 “异或”运算符(∧)321
    • 12.1.4 “取反”运算符(~)322
    • 12.1.5 左移运算符(<<)323
    • 12.1.6 右移运算符(>>)323
    • 12.1.7 位运算赋值运算符324
    • 12.1.8 不同长度的数据进行位运算324
    • 12.2 位运算举例324
    • 12.3 位段326
    • 习题329
    • 文件
    • 13.1 C文件概述330
    • 13.2 文件类型指针331
    • 13.3 文件的打开与关闭332
    • 13.3.1 文件的打开(fopen函数)332
    • 13.3.2 文件的关闭(fclose函数)334
    • 13.4 文件的读写334
    • 13.4.1 fputc函数和fgetc函数(putc函数和getc函数)335
    • 13.4.2 fread函数和fwrite函数339
    • 13.4.3 fprintf函数和fscanf函数342
    • 13.4.4 其他读写函数343
    • 13.5 文件的定位344
    • 13.5.1 rewind函数344
    • 13.5.2 fseek函数和随机读写345
    • 13.5.3 ftell函数346
    • 13.6 出错的检测346
    • 13.6.1 ferror函数347
    • 13.6.2 clearerr函数347
    • 13.7 文件输入输出小结347
    • 习题348
    • 常见错误和程序调试
    • 14.1 常见错误分析349
    • 14.2 程序调试361
    • 附录A 常用字符与ASCII代码对照表364
    • 附录B C语言中的关键字365
    • 附录C 运算符和结合性365
    • 附录D C语言常用语法提要367
    • 附录E C库函数371
    • 参考文献378
    展开阅读
    精选笔记:VC程序设计小技巧20例

    16小时48分钟前回答

    本文汇总了VC程序设计中常用的20则技巧实例,供大家参考。详情如下:

    1、打开CD-ROM

    mciSendString("Set cdAudio door open wait",NULL,0,NULL); 
    

    2、关闭CD_ROM

    mciSendString("Set cdAudio door closed wait",NULL,0,NULL); 
    

    3、关闭计算机

    OSVERSIONINFO OsVersionInfo; //包含操作系统版本信息的数据结构 
    OsVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); 
    GetVersionEx(&OsVersionInfo); //获取操作系统版本信息 
    if(OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) 
    { 
      //Windows98,调用ExitWindowsEx()函数重新启动计算机 
      DWORD dwReserved; 
      ExitWindowsEx(EWX_REBOOT,dwReserved); //可以改变第一个参数,实现注销用户、 
      //关机、关闭电源等操作 
      // 退出前的一些处理程序 
    } 
    
    

    4、重启计算机

    typedef int (CALLBACK *SHUTDOWNDLG)(int); //显示关机对话框函数的指针 
    HINSTANCE hInst = LoadLibrary("shell32.dll"); //装入shell32.dll 
    SHUTDOWNDLG ShutDownDialog; //指向shell32.dll库中显示关机对话框函数的指针 
    if(hInst != NULL) 
    { 
      //获得函数的地址并调用之 
      ShutDownDialog = (SHUTDOWNDLG)GetProcAddress(hInst,(LPSTR)60); 
      (*ShutDownDialog)(0); 
    } 
    

    5、枚举所有字体

    LOGFONT lf; 
    lf.lfCharSet = DEFAULT_CHARSET; // Initialize the LOGFONT structure 
    strcpy(lf.lfFaceName,""); 
    CClientDC dc (this); 
    //Enumerate the font families 
    ::EnumFontFamiliesEx((HDC) dc,&lf, 
    (FONTENUMPROC) EnumFontFamProc,(LPARAM) this,0); 
    //枚举函数 
    int CALLBACK EnumFontFamProc(LPENUMLOGFONT lpelf,LPNEWTEXTMETRIC lpntm,DWORD nFontType,long lparam) 
    { 
      // Create a pointer to the dialog window 
      CDay7Dlg* pWnd = (CDay7Dlg*) lparam; 
      // add the font name to the list box 
      pWnd ->m_ctlFontList.AddString(lpelf ->elfLogFont.lfFaceName); 
      // Return 1 to continue font enumeration 
      return 1; 
    } 
    
    

    其中m_ctlFontList是一个列表控件变量

    6、一次只运行一个程序实例,如果已运行则退出

    if( FindWindow(NULL,"程序标题")) 
    exit(0); 
    

    7、得到当前鼠标所在位置

    CPoint pt; 
    GetCursorPos(&pt); //得到位置 
    

    8、上下文菜单事件触发事件 :OnContextMenu事件

    9、显示和隐藏程序菜单

    CWnd *pWnd=AfxGetMainWnd(); 
    if(b_m) //隐藏菜单 
    { 
      pWnd->SetMenu(NULL); 
      pWnd->DrawMenuBar(); 
      b_m=false; 
    } 
    else 
    { 
      CMenu menu; 
      menu.LoadMenu(IDR_MAINFRAME); ////显示菜单 也可改变菜单项 
      pWnd->SetMenu(&menu); 
      pWnd->DrawMenuBar(); 
      b_m=true; 
      menu.Detach(); 
    } 
    

    10、获取可执行文件的图标

    HICON hIcon=::ExtractIcon(AfxGetInstanceHandle(),_T("NotePad.exe"),0); 
    if (hIcon &&hIcon!=(HICON)-1) 
    { 
      pDC->DrawIcon(10,10,hIcon); 
    } 
    DestroyIcon(hIcon); 
    

    11、窗口自动靠边程序演示

    BOOL AdjustPos(CRect* lpRect) 
    { 
      //自动靠边 
      int iSX=GetSystemMetrics(SM_CXFULLSCREEN); 
      int iSY=GetSystemMetrics(SM_CYFULLSCREEN); 
      RECT rWorkArea; 
      BOOL bResult = SystemParametersInfo(SPI_GETWORKAREA, sizeof(RECT), &rWorkArea, 0); 
      CRect rcWA; 
      if(!bResult) 
      { 
        //如果调用不成功就利用GetSystemMetrics获取屏幕面积 
    rcWA=CRect(0,0,iSX,iSY); 
      } 
      else 
    rcWA=rWorkArea; 
      int iX=lpRect->left; 
      int iY=lpRect->top; 
      if(iX < rcWA.left + DETASTEP && iX!=rcWA.left) 
      { 
        //调整左 
    //pWnd->SetWindowPos(NULL,rcWA.left,iY,0,0,SWP_NOSIZE); 
    lpRect->OffsetRect(rcWA.left-iX,0); 
    AdjustPos(lpRect); 
    return TRUE; 
      } 
      if(iY < rcWA.top + DETASTEP && iY!=rcWA.top) 
      { 
    //调整上 
    //pWnd->SetWindowPos(NULL ,iX,rcWA.top,0,0,SWP_NOSIZE); 
    lpRect->OffsetRect(0,rcWA.top-iY); 
    AdjustPos(lpRect); 
    return TRUE; 
      } 
      if(iX + lpRect->Width() > rcWA.right - DETASTEP && iX !=rcWA.right-lpRect->Width()) 
      { 
    //调整右 
    //pWnd->SetWindowPos(NULL ,rcWA.right-rcW.Width(),iY,0,0,SWP_NOSIZE); 
    lpRect->OffsetRect(rcWA.right-lpRect->right,0); 
    AdjustPos(lpRect); 
    return TRUE; 
      } 
      if(iY + lpRect->Height() > rcWA.bottom - DETASTEP && iY !=rcWA.bottom-lpRect->Height()) 
      { 
    //调整下 
      //pWnd->SetWindowPos(NULL ,iX,rcWA.bottom-rcW.Height(),0,0,SWP_NOSIZE); 
    lpRect->OffsetRect(0,rcWA.bottom-lpRect->bottom); 
    return TRUE; 
      } 
      return FALSE; 
    } 
    //然后在ONMOVEING事件中使用所下过程调用 
    CRect r=*pRect; 
    AdjustPos(&r); 
    *pRect=(RECT)r; 
    
    

    12、给系统菜单添加一个菜单项
    给系统菜单添加一个菜单项需要进行下述三个步骤:
    首先,使用Resource Symbols对话(在View菜单中选择Resource Symbols...可以显示该对话)定义菜单项ID,该ID应大于0x0F而小于0xF000;
    其次,调用CWnd::GetSystemMenu获取系统菜单的指针并调用CWnd:: Appendmenu将菜单项添加到菜单中。下例给系统菜单添加两个新的菜单项。

    int CMainFrame:: OnCreate (LPCREATESTRUCT lpCreateStruct) 
    { 
      … 
      //Make sure system menu item is in the right range. 
      ASSERT(IDM_MYSYSITEM <0xF000); 
      //Get pointer to system menu. 
      CMenu* pSysMenu=GetSystemMenu(FALSE); 
      ASSERT_VALID(pSysMenu); 
      //Add a separator and our menu item to system menu. 
      CString StrMenuItem(_T ("New menu item")); 
      pSysMenu->AppendMenu(MF_SEPARATOR); 
      pSysMenu->AppendMenu(MF_STRING, IDM_MYSYSITEM, StrMenuItem); 
      … 
    } 
    

    13、运行其它程序

    //运行EMAIL或网址 
    char szMailAddress[80]; 
    strcpy(szMailAddress,"mailto:netvc@163.com"); 
    ShellExecute(NULL, "open", szMailAddress, NULL, NULL, SW_SHOWNORMAL); 
    //2、运行可执行程序 
    WinExec("notepad.exe",SW_SHOW); //运行计事本 
    
    

    14、动态增加或删除菜单
    (1)、 增加菜单

    //添加 
    CMenu *mainmenu; 
    mainmenu=AfxGetMainWnd()->GetMenu(); //得到主菜单 
    (mainmenu->GetSubMenu (0))->AppendMenu (MF_SEPARATOR);//添加分隔符 
    (mainmenu->GetSubMenu (0))->AppendMenu(MF_STRING,ID_APP_ABOUT,_T("Always on &Top")); //添加新的菜单项 
    DrawMenuBar(); //重画菜单 
    

    (2)、 删除菜单

    //删除 
    CMenu *mainmenu; 
    mainmenu=AfxGetMainWnd()->GetMenu(); //得到主菜单 
    CString str ; 
    for(int i=(mainmenu->GetSubMenu (0))->GetMenuItemCount()-1;i>=0;i--) //取得菜单的项数。 
    { 
      (mainmenu->GetSubMenu (0))->GetMenuString(i,str,MF_BYPOSITION); 
      //将指定菜单项的标签拷贝到指定的缓冲区。MF_BYPOSITION的解释见上。 
      if(str=="Always on &Top") //如果是刚才我们增加的菜单项,则删除。 
      { 
    (mainmenu->GetSubMenu (0))->DeleteMenu(i,MF_BYPOSITION); 
     break; 
      } 
    } 
    

    15、测试ALT键是否按下:

    GetKeyState(VK_MENU); 
    GetAlt(); 
    

    16、检查是否按下鼠标左键 

    if((nFlags&MK_LBUTTON)==MK_LBUTTON) 
    


    17、检查键盘输入
    在OnKeyDown中的参数nChar是一个数值,当显示的时候,需要转换成字符,使用如下的命令:

    char lsChar; 
    lsChar=char(nChar); 
    if(lsChar=='A'); 
    { 
    ....... 
    } 
    

    18、调用另一个函数::GetKeyState(),用一个特定的键代码来确定法键是否被按下。 如果::GetKeyState函数的返回值是负的,表 示该键被按下。如果返回值是非负的,表示该留未被按下。例如:如果要确定shift键是否被按下,可以使用下面的代码:

    if(::GetKeyState(VK_SHIFT) <O) 
    { 
      AfxMessageBox("shift is pressed"); 
    } 
    

    19.如何在编程的过程中随时结束应用程序(常规)
    1)需要向窗口发送 WM_CLOSE/WM_QUIT消息,
    调用 CWnd::OnClose成员函数并允许对用户提示是否保存修改过的数据.

    AfxGetMainWnd()->SendMessage(WM_CLOSE); //别忘了先得到当前窗口的指针 
    

    2)使用函数:

    void PostQuitMessage( int nExitCode // exit code ); 
    

    3)使用标准函数:

    void exit( int status ); //尽量不要在MFC中使用 
    

    20.得到屏幕的尺寸大小

    HWND hWnd; 
    CRect Rect; 
    hWnd = ::GetDesktopWindow(); 
    ::GetClientRect(hWnd, &Rect); 
    
    //--------------------------------------------------------- 
    
    

    如何查询和设置系统参数
        在Windows 3.1 SDK中介绍过SDK函数SystemParametersInfo,调用该函数可以查询和设置系统参数,诸如按键的重复速率设置、鼠标双击延迟时间、图标字体以及桌面覆盖位图等等。 

    //Create a font that is used for icon titles. 
    LOGFONT stFont; :: SystemParametersInfo (SPIF_GETICONTITLELOGFONT,   sizeof (LOGFONT), &stFont, SPIF_SENDWININICHANGE); 
    m_font.CreateFontIndirect (&stFont); //Change the wallpaper to leaves.bmp. 
    :: SystemParametersInfo (SPI_SETDESKWALLPAPER, 0, _T("forest.bmp"),SPIF_UPDATEINIFILE); 
    

    如何使用一个预定义的Windows光标
     调用CWinApp:: LoadStandardCursor并传送光标标识符。

    BOOL CSampleDialog:: OnSetCursor (CWnd* pWnd, UINT nHitTest, UINT message) {   //Display wait cursor if busy.   
    if (m_bBusy)   {     
    SetCursor (AfxGetApp () ->LoadStandardCursor (IDC_WAIT));     
    return TRUE; 
       }   
    return CDialog:: OnSetCursor (pWnd. nHitTest,message); 
     }
    展开阅读

    资源下载

    相关资源

    • 苹果开发之C程序设计

      苹果开发之C程序设计

      《苹果开发之C程序设计(原书第2版)》 是经典畅销书的全新升级版,全面且深入地讲解Mac环境下C编程的各项知识,是从零开始系统学习C编程的!书中既详细讲解C语言的基础编程知识和技巧

      大小:55.9 MBC语言

      立即下载
    • c程序设计

      c程序设计

      本书以能力培养为目标,程序设计为主线,C语言语法规则为载体,将培养程序设计能力融入学习程序没计语言的过程。 本书分为11章,主要内容包括C程序设计基础、基本数据类型及运算、简单C程序设计、选择结构程序设计、循环结构程序设计、数组、函数、指针、构造数据类型、位运算、文件等。书中所有例程均基于visualC++ 6.0平台编写和调试(特殊注明的除外)。除了丰富的例程,各章还配备了相应的练习题,便于读者学习、巩固和稳步提高。 本书

      大小:1.97 MBC语言

      立即下载
    • Visual Basic程序设计基础

      Visual Basic程序设计基础

      大小:16.1 MBVB

      立即下载
    • Visual Basic程序设计与应用开发教程

      Visual Basic程序设计与应用开发教程

      本书是按照教育部高等教育司组织制订的《大学文科计算机基本要求》(2003年版)的要求编写的教材。本书在编写时考虑到文科类和财经类专业学生学习的特点,在体系结构和内容的设计上力求做到由浅入深、循序渐进、深入浅出,理论与开发应用紧密联系。 全书分为教学篇和实验篇。教学篇分为12章,分别从程序设计、可视界面、开发应用三方面来介绍,内容包括:Visual Basic 概述、简单的VB程序设计、VB语言基础、基本的控制结构、数组、过程、常用

      大小:20.9 KBVB

      立即下载
    • Visual Basic程序设计教程(第4版)

      Visual Basic程序设计教程(第4版)

      《Visual Basic程序设计教程(第4版)》以Visual Basic 6.0中文企业版为背景,以厚基础、强能力、重应用为指导原则,讲授visual Basic程序设计语言,同时兼顾了全国计算机等级考试(Visual Basic)□新考试大纲的要求。全书共13章,主要内容包括:Visual Basic 6.0程序开发环境、简单的Visual Basic程序设计、数据类型及其运算、数据输入输出、控制结构、常用控件、数组、过程、菜单、对话框及多重窗体、文件、数据库技术、Visuai Basic高级界面设

      大小:24.3 KBVB

      立即下载
    • visual basic程序设计教程(第二版)

      visual basic程序设计教程(第二版)

      《Visual Basic程序设计教程(第3版)》(编者邱李华、曹青、郭志强) 是普通高等教育十一五***规划教材。全书以Visual Basic 6.0为 语言背景,结合大量的实例,深入浅出地介绍了程序设计的基本概念和基础 知识、Visual Basi。6.0的集成开发环境、结构化程序的三种基本结构、 数组、过程、Visual Basic常用控件、界面设计、图形设计、文件、数据库 基础和软件开发基础。 《Visual Basic程序设计教程(第3版)》概念叙述严谨、清晰,内容循 序渐进、深入浅出,示例丰

      大小:108 KBvisual basic

      立即下载
    • Visual Basic程序设计教程(第4版)

      Visual Basic程序设计教程(第4版)

      《Visual Basic程序设计教程(第4版)》是由刘瑞新等编著,2013年1月电子工业出版社出版的新编计算机类本科规划教材、普通高等教育十一五国家级规划教材。该教材可作为大学、高职高专院校的教材使用,同样适合作为全国计算机等级考试二级Visual Basic语言的辅导教材。 全书15章,以Visual Basic 6.0中文版为语言背景,通过例,介绍了Visual Basic程序开发环境,Visual Basic程序设计基础,可视化编程的概念与方法,顺序结构程序设计,选择结构程序设计,循环结

      大小:24.3 KBVB教程

      立即下载

    学习笔记

    12小时49分钟前回答

    VC程序设计中CreateProcess用法注意事项

    对于windows程序设计来说,启动一个进程有三种方法:WinExec,ShellExecute,CreateProcess。这里仅对CreateProcess的用法加以说明。 对于CreateProcess的详细参数读者可以查MSDN和《Windows API参考手册》,这里不具体说明。下面给出常用的方法: STARTUPINFO startup;ZeroMemory( startup.cb = sizeof(startup);ZeroMemory( // 初始化结果体是必须的,否则会异常BOOL bRetVal = ::CreateProcess( (LPCWSTR)strProcPath, NULL, NULL, NULL, FALSE, 0, NULL, NULL, m_procInfo );if ( !bRetVal ){ AfxMessageBox( _T( "启动失败!" ) );} 说明: 第一个参数是应用程序的全路径,第二个参数是命令行参数。如果第一个参数为空,就必须在第二个参数中指定应用程序的路径 。 如果启动的进程与当……

    11小时54分钟前回答

    VC程序设计小技巧20例

    本文汇总了VC程序设计中常用的20则技巧实例,供大家参考。详情如下: 1、打开CD-ROM mciSendString("Set cdAudio door open wait",NULL,0,NULL); 2、关闭CD_ROM mciSendString("Set cdAudio door closed wait",NULL,0,NULL); 3、关闭计算机 OSVERSIONINFO OsVersionInfo; //包含操作系统版本信息的数据结构 OsVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx( //获取操作系统版本信息 if(OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) { //Windows98,调用ExitWindowsEx()函数重新启动计算机 DWORD dwReserved; ExitWindowsEx(EWX_REBOOT,dwReserved); //可以改变第一个参数,实现注销用户、 //关机、关闭电源等操作 // 退出前的一些处理程序 } 4、重启计算机 typedef int (CALLBACK *SHUTDO……