一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

啟明星辰2011校園招C筆試題(一)

 lycbje 2014-09-30

題目來(lái)自互聯(lián)網(wǎng):http://wenku.baidu.com/view/1b71537201f69e314332947f.html

答案:自己做的,可能有錯(cuò)誤,請(qǐng)多指正。               QQ:447872587

C語(yǔ)言部分:語(yǔ)言部分

一、簡(jiǎn)單編程,請(qǐng)用一句語(yǔ)句完成下列操作

1.     位操作:將變量unsigned long register的0,4,6位清0

 32位下:register&=0xffffffae

分析:0,4,6清0;10101110對(duì)應(yīng)著:1010對(duì)應(yīng)a; 1110對(duì)應(yīng)e

2.     字符串操作:判斷字符串char* str1是否起始位置包含char* str2的內(nèi)容

if(strstr(str1,str2)==str1)

3.     內(nèi)存操作:將指針unsigned char* ptr的內(nèi)容向后移動(dòng)4個(gè)字節(jié)

*(ptr+4)=*ptr;

4.將無(wú)符號(hào)變量unsigned int val進(jìn)行字節(jié)序顛倒

(val&0x000000ff<<24)|( val&0x0000ff00<<8) |( val&0x00ff0000>>8)| ( val&0xff000000>>24)

二、寫出下列程序的運(yùn)行結(jié)果 32位

1、指針變量:

Unsignedchar*p1;

Unsignedchar*p2;

p1=(Unsigned char*)0x801000;

p2=(Unsigned char*)0x810000;

請(qǐng)問:p1+5=?  p2+5=?

p1+5=0x801000+5*4=0x801000+0x14=0x801014

p2+5=0x810005+5*4=0x810000+0x14=0x810014

2.算數(shù)運(yùn)算

Main()

{

Unsignedchar a,b,c,d;

a=30;

b=a++;

c=++a;

d=10*(a++);

}

請(qǐng)問:b=?c=?d=?

b=30,c=32,d=3200

3、邏輯運(yùn)算

unsigned int regval = 0x451AD,evenMask= 0x306,bitConvert = 0xFF;

    int event = 0,convert = 0;

    event = regval& bitConvert;

    convert = regval^ convert;

請(qǐng)問:event=?   Convert=?

event= 260  Convert=282962

分析:event=0x451AD&0x306

0x 4 5 1 A D

& 0x     3 0 6

= 0x 0 0 1 0 4 即:16*16+4=260

convert = 0x451AD ^ convert;

 

三、請(qǐng)指出下列程序存在的問題,如何修正:

1、說(shuō)明:以下代碼是把一個(gè)字符串倒序,如”abcd”倒序后變?yōu)椤眃cba”

int _tmain(intargc, _TCHAR*argv[])

{

    char*src = "hello,world";

    char *dest = NULL;

    intlen = strlen(src);

    char*dest = (char*)malloc(len);

    char*d = dest;

    char*s = src[len];

    while(len-- != 0)

    {

         d++= s--;

}

    printf("%s",dest);

    return0;

}

正確應(yīng)該為:

  1. #include "string"  
  2.   
  3. #include <iostream>  
  4.   
  5. using namespace std;  
  6.   
  7.    
  8.   
  9. int _tmain(intargc, _TCHAR*argv[])  
  10.   
  11. {  
  12.   
  13.     char*src = "hello,world";  
  14.   
  15.     char*dest = NULL;  
  16.   
  17.     int len = strlen(src);  
  18.   
  19.     dest= (char*)malloc(len+1); //要為\0分配一個(gè)空間  
  20.   
  21.     char* d = dest;  
  22.   
  23.     char* s = &src[len-1];     //指向最后一個(gè)字符  
  24.   
  25.     while(len-- != 0)  
  26.   
  27.     {  
  28.   
  29.          *d++= *s--;  
  30.   
  31.          *d=0;                      //尾部要加上\0  
  32.   
  33.     }  
  34.   
  35.     cout<<dest<<endl;  
  36.   
  37.     system("pause");  
  38.   
  39.     free(dest);                   //使用完,應(yīng)當(dāng)釋放空間,以免造成內(nèi)存泄露  
  40.   
  41.     return0;  
  42.   
  43. }  


 

方法二:

  1. int _tmain(intargc, _TCHAR*argv[])  
  2.   
  3. {  
  4.   
  5. char str[]="hello,world";  
  6.   
  7.     int len = strlen(str);  
  8.   
  9.     char t = 0;  
  10.   
  11.     int i;  
  12.   
  13.     for(i=0;i<len/2;i++)  
  14.   
  15.     {  
  16.   
  17.          t=str[i];  
  18.   
  19.          str[i]=str[len-i-1];//不要忘懷多減一個(gè),重視數(shù)組的下標(biāo)  
  20.   
  21.          str[len-i-1]=t;  
  22.   
  23.     }  
  24.   
  25.     cout<<str<<endl;  
  26.   
  27.     system("pause");  
  28.   
  29.     return0;  
  30.   
  31. }  


 

四、簡(jiǎn)答題:

1、頭文件的ifndef/define/endif干什么用的?

防止頭文件被重復(fù)引用

2、定義函數(shù)局部變量的時(shí)候:

Char array1[100];

Char *array2;

array1和array2都可以當(dāng)做指針引用,這兩個(gè)指針在使用的時(shí)候有什么區(qū)別?

當(dāng)做函數(shù)參數(shù)傳遞的時(shí)候,數(shù)組可以當(dāng)指針用,本質(zhì)就是取數(shù)組第一個(gè)元素的內(nèi)存地址傳過去,當(dāng)數(shù)組作為函數(shù)參數(shù)傳遞的時(shí),該數(shù)組自動(dòng)退化為同類型的指針。

指針也可以當(dāng)數(shù)組用,但是兩者的本質(zhì)不一樣;

數(shù)組名對(duì)應(yīng)著一塊內(nèi)存,而不是指向一塊內(nèi)存,其地址和容量在生命周期不變,但數(shù)組內(nèi)容可以改變;

指針可以隨時(shí)指向任意的內(nèi)存塊,其特征是可變,常用指針來(lái)操作動(dòng)態(tài)內(nèi)存。

五、內(nèi)存問題:

 很簡(jiǎn)單,不詳述。

六、程序編寫:

編寫一個(gè)函數(shù),輸入?yún)?shù)為一個(gè)字符串指針,將其中的大寫變?yōu)樾?/strong>

  1. char* Atoa(char str[])  
  2.   
  3. {  
  4.   
  5.     for(int i=0;str[i]!='\0';i++)  
  6.   
  7.     {  
  8.   
  9.          if(str[i]>='A' && str[i]<='Z')  
  10.   
  11.              str[i] += 32;  
  12.   
  13.     }  
  14.   
  15.     returnstr;  
  16.   
  17. }  
  18.   
  19. int _tmain(intargc, _TCHAR*argv[])  
  20.   
  21. {  
  22.   
  23. char str[100]="Hello,World";  
  24.   
  25.   Atoa(str);  
  26.   
  27.   cout<< str;  
  28.   
  29. return 0;  
  30.   
  31. }  


 

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    加勒比人妻精品一区二区| 国产一级性生活录像片| 好吊妞视频这里有精品| 午夜免费精品视频在线看| 在线视频三区日本精品| 婷婷亚洲综合五月天麻豆| 99久久国产精品成人观看| 国产精品午夜性色视频| 中文字幕人妻日本一区二区| 国产色第一区不卡高清| 高清国产日韩欧美熟女| 色老汉在线视频免费亚欧| 久久精品a毛片看国产成人| 日韩欧美高清国内精品| 亚洲一区二区三区三州| 国产成人精品国内自产拍| 国产精品午夜福利免费阅读 | 精品视频一区二区三区不卡| 中文字幕91在线观看| 尤物天堂av一区二区| 欧美日韩视频中文字幕| 亚洲精品成人综合色在线| 少妇人妻中出中文字幕| 欧美一区二区三区在线播放| 国产又粗又硬又大又爽的视频| 99久久国产精品成人观看| 欧美有码黄片免费在线视频| 日本道播放一区二区三区| 欧美成人一区二区三区在线 | 91天堂免费在线观看| 美女露小粉嫩91精品久久久| 丝袜视频日本成人午夜视频| 殴美女美女大码性淫生活在线播放 | 欧美日韩国产综合特黄| 日韩欧美黄色一级视频| 亚洲性生活一区二区三区| 国产一区二区不卡在线播放| 日韩中文无线码在线视频| 色老汉在线视频免费亚欧| 日韩偷拍精品一区二区三区| 99热九九在线中文字幕|