中国邮政C笔试题

机试(题量非常大,大部分题目忘记了。)+笔试(1,2题)+面试

1、写一个C源程序,随机读取一个txt文件,将其中不是数字和字符的其他字符以十六进制格式打印出来。并打印出该行。 

#include <stdio.h>
#include <ctype.h>		//isalnum
#include <string.h>

int main(int argc, char* argv[])
{
	FILE* stream=fopen("test.txt","r");
	char buffer[128];
	while(!feof(stream))
	{
		if(fgets(buffer,128,stream)==NULL)
			printf("fgets error\n");

		unsigned int i=0;
		bool flag = false;
		for (;i<strlen(buffer);i++)
		{
			if (!isalnum(buffer[i]) && buffer[i] != '\n')
			{
				flag = true;
				printf("%c %x",buffer[i],buffer[i]);
			}
		}
		if (flag)
		{
			printf("\n%s\n",buffer);
			flag = false;
		}
	}
	fclose(stream);

	return 0;
}

 

2、设计一个销售商销售月饼的数据库,并简要描述界面,后台逻辑。

3、Oracle考的很多,包括数据库原理,sql语句等(英文)。

4、设计模式。

5、proc。给你两大段程序,然后分别有问题。

6、C的一些基本知识。

 

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

1 以下内容摘自:http://see.xidian.edu.cn/cpp/html/1627.html

在头文件ctype.h中定义了一批函数,它们可用来判断一个字符属于哪一类别。下面列出了这些函数:
---------------------------------------------------------------------------------------
    函数         字符类别             返回非零值的字符
---------------------------------------------------------------------------------------
  isdigit()     十进制数               0--9
  isxdigit()    十六进制数             0--9,a—f,或A--F
  isalnum()    字母数字符号           0--9,a--Z,或A--Z
  isalpha()    字母                   a--Z或A--Z
  islower()     小写字母               a--Z
  isupper()    大写字母              A--Z
  isspace()    空白符          空格符,水平制表符,垂直制表符,换行符,换页符,或回车符
  isgraph()    非空白字符             任何打印出来不是空白的字符(ASCII码从21到7E)
  isprint()    可打印字符             所有非空白字符,加上空格符
  ispunct()    标点符                 除字母数字符号以外的所有非空白字符
  iscntrl()    控制字符               除可打印字符外的所有字符(ASCII码从00到1F,加上7F)
----------------------------------------------------------------------------------------

与前文提到过的使用标准库函数的好处相似,调用上述这些宏而不是自己编写测试字符类别的程序也有三点好处。首先,这些宏运算速度快,因为它们的实现方式通常都是利用位屏蔽技术来检查一个表,所以即使是进行一项相当复杂的检查,也比真正去比较字符的值要快得多。

其次,这些宏都是正确的。如果你自己编写一个测试程序,你很容易犯逻辑上或输入上的错误,例如引入了一个错误的字符(或漏掉了一个正确的字符)。

第三,这些宏是可移植的。信不信由你,并非所有的人都使用同样的含PC扩充字符的ASCII字符集。也许今天你还不太在意,但是,当你发现你的下一台计算机使用的是Unicode字符集而不是ASCII字符集,你就会庆幸自己原来没有按照字符集中的字符值来编写程序。

头文件ctype.h中还定义了两个可以对字母进行大小写转换的函数,即函数toupper()和tolower()。如果toupper()函数的参数不是小写字母或tolOWel"()函数的参数不是大写字母,那么这两个函数的行为是没有定义的,因此,在调用这两个函数之前,你应该用函数islower()或isupper()来检查一下。

posted @ 2012-10-16 22:53  emmac  阅读(367)  评论(0编辑  收藏  举报