C语言笔试题题目(2)

2019-03-16 22:58

7. Test函数的运行结果如何?

void Test(void) {

char *str = (char *) malloc(100); strcpy(str, “hello”); free(str);

if(str != NULL) {

strcpy(str, “world”); printf(str); } }

8. 写出下列代码的输出内容

#include int inc(int a) {

return(++a); }

int multi(int*a,int*b,int*c) {

return(*c=*a**b); }

typedef int(FUNC1)(int in);

typedef int(FUNC2) (int*,int*,int*);

void show(FUNC2 fun,int arg1, int*arg2) {

INCp=&inc;

int temp =p(arg1);

fun(&temp,&arg1, arg2); printf(\}

main() {

int a;

show(multi,10,&a); return 0; }

9. 请找出下面代码中的所以错误

说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba” #include\main() {

char*src=\char* dest=NULL;

int len=strlen(src);

dest=(char*)malloc(len); char* d=dest; char* s=src[len]; while(len--!=0) d++=s--;

printf(\return 0; }

10. 以下程序有什么错误

试题1: void test1() {

char string[10];

char* str1 = \strcpy( string, str1 ); }

试题2: void test2() {

char string[10], str1[10]; int i;

for(i=0; i<10; i++) {

str1 = 'a'; }

strcpy( string, str1 );

}

试题3:

void test3(char* str1) {

char string[10];

if( strlen( str1 ) <= 10 ) {

strcpy( string, str1 ); } }

11. 下面程序的运行结果:

main() {

int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1);

printf(\}

12. 请问以下代码有什么问题:

int main() {

char a; char *str=&a; strcpy(str,\ printf(str); return 0; }

13. 交换两个变量的值,不使用第三个变量。即a=3,b=5,交换之后a=5,b=3; 14. 以下是求一个数的平方的程序,请找出错误:

#define SQUARE(a) ((a)*(a)) int a=5; int b;

b=SQUARE(a++); 15. 下面的程序运行结果是( )

设int arr[]={6,7,8,9,10}; int *ptr=arr; (ptr++)+=123;

printf("%d,%d",*ptr,*(++ptr));

16. 下面的两段代吗?有什么区别?什么时候需要使用代码2?

1、

int i = 10; int j = i; int k = i; 2、

volatile int i = 10; int j = i; int k = i;

17. printf(\输出?

18. 在32位的X86系统下,输出的值为多少?

#include int main() {

int a[5] = {1,2,3,4,5};

int *ptr1 = (int *)(&a + 1); int *ptr2 = (int *)((int)a + 1); printf(\//注意从高字节开始打印 return 0; }

19. 下面代码的有问题吗?为什么?

#include void func(char a[10]) {

char c = a[3];

}

int main() {

char b[10] = \func(b[10]); return 0; }

20. 下面代码输出的结果是多少?

#include void fun(int i) {

if(i>0) {

fun(i/2); }

printf(\}

int main() {

fun(10); return 0; }

三、 编程题

1. 不调用库函数,自己实现memcpy函数。

void *memcpy(void *dest, const void *src, size_t n); 2. 不调用库函数,自己实现strcpy函数 。 3.

a) 编写strcat函数,已知strcat函数的原型是char *strcat (char *strDest, const char

*strSrc);其中strDest 是目的字符串,strSrc 是源字符串(不能调用库函数)。 b) strcat能把strSrc 的内容连接到strDest,为什么还要char * 类型的返回值?

两个字符串,s,t;把t字符串插入到s字符串中,s字符串有足够的空间存放t字符串。 写一函数,实现删除字符串str1中含有的字符串str2。

编程,判断存储方式是大端存储,还是小端存储,并说出为什么要进行大小端的判定? 不调用库函数,自己实现long atol(const char *nptr)函数。 编写strcat函数()。已知strcat函数的原型是char *strcat (char *strDest, const char *strSrc);其中strDest 是目的字符串,strSrc 是源字符串。

a) 不调用C++/C 的字符串库函数,请编写函数 strcat。

b) strcat能把strSrc 的内容连接到strDest,为什么还要char * 类型的返回值?

写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)。功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr所指内存。例如:\的首地址传给

4. 5. 6. 7. 8.

9.

10. 11. 12. 13. 14. 15. 16. 17. 18. 19.

20. 21. 22.

intputstr后,函数将返回9,outputstr所指的值为123456789 不用库函数,用C语言实现将一整型数字转化为字符串。 用指针的方法,将字符串“ABCD1234efgh”前后对调显示。

有一分数序列:1/2,1/4,1/6,1/8??,用函数调用的方法,求此数列前20项的和。 实现子串定位。

有1,2,....一直到n的无序数组,求排序算法,并且要求时间复杂度为O(n),空间复杂度O。

编写一个C函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的。

给定字符串A和B,输出A和B中的最大公共子串。

编程实现:把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列库函数。

在不用第三方参数的情况下,交换两个参数的值。 写一个程序,把一个100以内的自然数分解因数。(自然数分解因数就是将一个自然数分解为几个素数的乘积,提示,由于该数不是很大,所以可以将质数保存在数组中,以加快计算速度)。

完成字符串拷贝可以使用sprintf、strcpy及memcpy函数,请问这些函数有什么区别,你喜欢使用哪个,为什么?

输出和为一个给定整数的所有组合。例如n=5,5=1+4;5=2+3(相加的数不能重复)则输出1,4;2,3。

读文件file1.txt的内容(例如): 12 34 56

输出到file2.txt: 56 34 12

(逆序)

有一个数组a[1000]存放0--1000;要求每隔二个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以7个数为例:{0,1,2,3,4,5,6,7} 0-->1-->2(删除)-->3-->4-->5(删除)-->6-->7-->0(删除),如此循环直到最后一个数被删除。 写一个函数,将其中的'\\t'都转换成4个空格。 编写一个函数,作用是把一个char组成的字符串循环右移n个。比如原来是“abcdefghi”如果n=2,移位后应该是“hiabcdefgh”。函数头是这样的: //pStr是指向以'\\0'结尾的字符串的指针 //steps是要求移动的n

void LoopMove ( char * pStr, int steps ) {

//请填充... }

判断两个数组中是否存在相同的数字,给定两个排好序的数组,怎样高效得判断这两个数组中存在相同的数字?

23.

24. 25.

26.

27. 按单词反转字符串并不是简单的字符串反转,而是按给定字符串里的单词将字符串倒转

过来,就是说字符串里面的单词还是保持原来的顺序,这里的每个单词用空格分开。例如:Here is www.fishksy.com.cn经过反转后变为:www.fishksy.com.cn is Here 28. 求一个整形中1的位数。

29. 费波那其数列,1,1,2,3,5??编写程序求第十项。可以用递归,也可以用其他方

法,但要说明你选择的理由。


C语言笔试题题目(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:走百县访千企寒假社会实践报告中国人寿

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: