有人认为,现在是java和.net的时代,有谁还需要C以及汇编呢?孰不知,java和.net是建立在软件之上的,是为了垄断市场而建立起来的体系,犹如挖好一个金壁辉煌的坑,请你往下跳,还自以为站在巨人的肩膀上,事实上成了坑底之蛙。要成为一个真正的程序员,并期望成为一个程序员高手,必须从机器出发,从cpu到操作系统,再到软件体系。
对一个字符串重新排列,字母排在前面,数字排在后面,并不改变原来字母之间以及数字之间的字符顺序。将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换为t2所指字符串。将s所指的字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。
在这个网站http://stevenkobes.com/ctest.html上发现一套很有趣的C语言测试题,如果你招聘C语言相关开发人员,或者正在学习C语言,很值得做一做。如果没有做,下面内容暂时不要看,最好自己先完成一遍。
TextOut是用于显示文字的最常用的GDI函数。语法是:TextOut (hdc, x, y, psText, iLength);第一个参数是设备内容句柄,它既可以是GetDC的传回值,也可以是在处理WM_PAINT消息时BeginPaint的传回值。设备内容的属性控制了被显示的字符串的特征。
在C语言中格式化字符串可以使用printf,但是在WINDOWS编程设计中却行不通了,但是却有变通的方法,那就是用 wsprintf这个函数。wsprintf(缓冲区, 格式, 要格式化的值); 第一个参数是字符缓冲区,后面是格式字符串,wsprintf不是将格式化结果写到标准输出,而是将其写入缓冲区中,该函数返回该字符串的长度。
MessageBox函数非常有用,但我们不能在消息框中显示图形,而且也不能在消息框中添加菜单。要添加这些对象,就需要建立自己的窗口,现在就开始。建立窗口很简单,只需调用CreateWindow函数即可。
下面程序展示了如何实作MessageBoxPrintf函数,该函数有许多参数并能像printf那样编排它们的格式。使用这个函数可以将变量在MessageBox中输出出来,下面的程序实现了将斐波纳契数列中的第N位数输出出来。
对于程序写作者来说,操作系统是由本身的API定义的。API包含了所有应用程序能够使用的操作系统函数调用,同时包含了相关的数据型态和结构。在Windows中,API还意味着一个特殊的程序架构。一般而言,Windows API自Windows 1.0以来一直保持一致,没什么重大改变。
函数 int stringcompare(char *source, char *target) 比较字符串 source 和 target,并根据 source 是否小于、等于或大于 target 的结果分别返回负整数、0或者整数。该返回值是 source 和 target 由前后逐字符比较时遇到的第一个不相等字符处的字符的差值。
函数 char *digitToAlpha (int val, char *buf, unsigned radix) 的功能是将数值转换为字符串。参数:第一个是要转化的整数,第二个是转化后的字符串,第三个是要转化整数的基数,就是说如果基数是10,就可以直接转化,如果不是10,是其他值(2-36之间),则先把该整数转化为该基数的数后,再转化为字符串。
字符串常量实际上是个字符数组,比如 welcome to www.nowamagic.net 就是个字符数组,并且以 '\0' 结尾。字符串串常量的一个常见的用法就是作为函数参数,比如常见的 printf("welcome to www.nowamagic.net"); 字符串参数实际上是通过字符指针访问该字符串的。这里的 printf() 函数接受的是一个指向字符数组第一个字符的指针。
如果pa指向数组中的某个元素,那么pa+1将指向下一个元素,pa+i指向下i个元素。所以,若果pa指向a[0],那么*pa其实就是a[0],*(pa+1)就是a[1],*(pa+i)就是a[i]。根据这个思路,我们可以使用指针来访问数组。
指针是一种保存变量地址的变量。 语句 p = &c; 的作用是将 c 的地址赋值给变量 p,那么称 p 为指向 c 的指针。 一元运算符 * 作用于指针的时候,可以访问指针所指向的内存对象。 下面的程序说明了指针使用的一些情况。
C语言/C++产生随机数要用到的是rand()函数,srand()函数,C语言/C++里没有自带的random(int number)函数。函数srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,通常可以利用time(0)的返回值来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。
以下三条输出语句分别输出什么?分别输出false,false,true。str1和str2都是字符数组,每个都有其自己的存储区,它们的值则是各存储区首地址,不等;str3和str4同上,只是按const语义,它们所指向的数据区不能修改。str5和str6并非数组而是字符指针,并不分配存储区。
copyright © 2009 简明现代魔法 学习、分享、进步 power by Gonn 感谢所有关心和支持本站的朋友们 |