C语言基础试题

2026/1/12 13:58:34

C语言基础试题

1. 指出其中的错误:

1 void Getresult(unsigned int uiM,unsigned int uiN) 2 {

3 unsigned short usIndex; 4

5 If(0==uiN) 6 {

7 return; 8 }

9 for(usIndex=uiN;uiIndex<=uiM;usIndex=usIndex+uiN) 10 {

11 printf(“%u”,usIndex); 12 } 13 return; 14 }

2. 指出其中的错误:

1 int a[10]; 2 int main() 3 {

4 int *p; 5 int i; 6 p=a;

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

9 scanf(“%d”,p++); 10 }

11 printf(“\\n”); 12 p=a;

13 for(i=0;i<=10;i++,p++) 14 {

15 printf(“\\n”); 16 }

17 return 0; 18 }

3. 如下程序用于输出”Welcome Home”请指出其中错误

1 void Test(void) 2 {

3 char pcarray[12];

4 strcpy(pcArray,”Welcome Home”); 5 printf(“%s!”,pcArray);

6 return; 7 }

4. 求一个整数的平方除以1000的余数,指出程序中的错误

1 unsigned shot GetMode(unsigned short usM) 2 {

3 unsigned short usMode; 4 unsigned short usTemp; 5 usTemp=usM00;

6 usTemp=usTemp*usTemp; 7 usMode=usTemp00; 8 return usMode; 9 }

5. 下面递归函数将调整n个整数的数据Array,使其前面各顺序向后移m个位置(n>m),最后m个数变成最前面的m个数。例如,1,2,3,4,5,6,7,8顺序移动3个位置变成(6,7,8,1,2,3,4,5)请指出其实现的3个错误。假设不考虑堆栈的溢出问题,也不考虑递归引起的效率问题。 1 void move(ulong *array,ulong n,ulong m) 2 {

3 ulong *p;

4 ulong array_end; 5 ASERT(array); 6 ASERT(n>m);

7 for(p=array+n;p>array;p--) 8 {

9 *p=*(p-1); 10 }

11 *array=ayyay_end; 12 m--; 13 if(m>0) 14 {

15 move(array,n,m); 16 }

17 return; 18 }

6. 指出下面这段代码中的错误:

1 unsigned long FUNC_B(unsigned long ulCount) 2 {

3 unsigned long ulSum=0; 4 while(0<=ulCount) 5 {

6 ulSum+=ulCount;

7 ulCount--; 8 }

9 return ulSum; 10 }

7. 下面函数功能是将字符串中的非”\\0”字符前后位置对调,例如”abc”调换为”cba”,空串依然是空串,指出程序中的错误。 1. void Reverse(char *szStr) 2. {

3. ULONG ulLen,ulCnt,i; 4. CHAR ch;

5. if(NULL==szStr) 6. {

7. return; 8. }

9. ulLen=strlen(szStr); 10. if(1>=ulLen) 11. {

12. return; 13. }

14. ulCnt=ulLen/2;

15. for(i=ulCnt-1;i>=0;i--) 16. {

17. ch=szSre[i];

18. szStr[i]=szStr[ulLen-1-i]; 19. szStr[ulLen-l-i]=ch; 20. } 21. }

8. 程序的输出为:

1 void test() 2 {

3 signed char ch; 4 int sum; 5 ch=127; 6 sum=200; 7 ch++; 8 sum+=ch;

9 printf(“%d”,sum); 10 }

9. 对于一个数组int data[5][4],data[4][2]的地址可以表示为()

A. dat+4*4+2; B. data[4]+2;

C. data[4]+8; D. data+2*4+4;

10. UCHAR *pszTest=\\\\\\0; UCHAR acutest[]=\\\\\\0;

请问 sizeof(pszTest)= , sizeof(*pszTest)= , sizeof(aucTest);

11. char str[]=”ABCDE”; char *p=str;

请计算 size(str)= ,sizeof(p)= .

12. 单选择

Char *pszResource[]={“soft disk”,”hard disk”,”Cray”,”on-line routhines”,”mouse”,”keyboard”,”power cables”}; pszResource[2]指向的是() A ”hard disk”存储的起始地址 B “Cray”存储的起始地址

C “soft disk”中字符o的起始地址 D “soft disk”中字符f起始地址

13. 有如下的HASH函数

1 Unsigned char hash(unsigned char *mac) 2 {

3 unsigned char uctmp;

4 uctmp=*mac+*(mac+1)+*(mac+2) 5 return(uctemp); 6 }

已知

unsigned char cMAC[6]={0xa4,0xb5,0xc6,0xd7,0xe8,0xf9}; unsigned char *p1; unsigned char *p2; p1=cMAC; p2=p1+1;

hash(p1)和hash(p2)的值分别是(用16进制表示) 和 .

14. UCHAR *pzTest=”hello”; UCHAR *pChar=NULL;

Sizeof(*pzTest) ,sizeof(pChar) .

15. 单选

Struct tagStudent {

drawing


C语言基础试题.doc 将本文的Word文档下载到电脑
搜索更多关于: C语言基础试题 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

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