當前位置:學識都>好好學習>考研>

泰道控制系統設備硬件開發工程師筆試題

學識都 人氣:1.88W

選擇題

泰道控制系統設備硬件開發工程師筆試題

1:下述程序執行後的輸出結果是( )。

#include

main()

{

int a[]={2,4,6,8,10};

int y=1,x,*p;

p=&a[1];

for (x=0;x<3;x++)

y+=*(p+x+;

printf("%d ",y);

}

A.17

B.18

C.19

D.20

2:C 語句“ x*=y+2 ;”還可以寫作

A.x=x*y+2;

B.x=2+y*x;

C.x=x*(y+2);

D.x=y+2*x;

3:定義宏將兩個 float 類型變量中的數據交換,下列寫法中最好的是

A.# define jh(a,b) t=a;a=b;b=t;

B.# define jh(a,b) {float t;t=a;a=b;b=t;}

C.# define jh(a,b) a=b;b=a;

D.# define jh(a,b,t) t=a;a=b;b=t;

4:下述程序執行後的輸出結果是

#include

main()

{

int x='f';

printf("%c ",'a'+(x-'a'+1));

}

A.G

B.H

C.I

D.J

5:在某文件中,若全局變量與局部變量同名,則

A.視爲同一個變量

B.變量作用域不確定

C.不允許

D.允許

6:常數的書寫格式決定了常數的類型和值, 0x1011 是

A.8 進制整型常量

B.字符常量

C.16 進制整型常數

D.2 進制整型常數

7:設double * p[6];則

A.p是指向double型變量的指針

B.p是double型數組

C.p是指針數組,其元素是指向double型變量的指針

D.p是數組指針,指向double型數組

8:對於do-while語句,錯誤的說法是

A.先執行循環體後判斷循環條件

B.循環體至少要執行一次

C.循環體有可能一次也不執行

D.循環體中可以包含若干條語句

9:求一個雙精度實數的絕對值,應該調用函數

10:以下敘述中不正確的是

A.在不同的函數中可以使用相同名字的變量

B.函數中的形式參數是局部變量

C.在一個函數內定義的變量只在本函數範圍內有效

D.在一個函數內的複合語句中定義的'變量在本函數範圍內有效

11:設有定義“int a=3, b,*p=&a;”,則下列語句中使 b不爲3的語句是

A.b=* &a;

B.b=* p;

C.b=a;

D.b=*a;

12:下列程序的運行結果是( )

main( )

{ int a[][4]={1,3,5,7,9,11,13,15,17,19,21,23};

int (*p)[4],i=2,j=1;

p=a;

printf(″%d ″,*(*(p+i)+j));

}

A.9

B.11

C.17

D.19

13:數據-35.78在文本文件中佔用的字節個數是

A.4

B.5

C.6

D.8

14:下列說法中錯誤的是

A.C語言中循環嵌套的層數沒有限定

B.C語言中的內部函數只能在本文件中被調用

C.用typedef語句定義的數據類型名稱必須是大寫字母

D.C語言中的continue語句,可以通過改變程序的結構而省略

簡答題

15:已知:無序數組,折半查找,各元素值唯一。函數原型是:Binary_Seach(int array[], int iValue, int iCount),array是數組,在裏面用折半查找的方法找等於iValue的值,找到返回1否則0,iCount是元素個數。

16:寫一個方法,在JAVA,C/C++源代碼中,檢查花括弧(是“(”與 “)”,“{”與“}”)是否匹配,若不匹配,則輸出不匹配花括弧所在的行與列。

17:輸入一個五位以內的正整數,(1)判斷它是一個幾位數;(2)請按序輸出其各位數字;(3)逆序輸出其各位數字。

如輸入:56439,輸出:5位數

5,6,4,3,9

9,3,4,6,5

18:下面的代碼有什麼問題?

char *_strdup( const char *strSource )

{

static char str[MAX_STR_LEN];

strcpy(str, strSource);

return str;

}

19:輸入一字符串,檢查是否迴文 (迴文是指正反序相同,如,LeveL),若是則輸出“Yes”,否則輸出“No”。

20:閱讀下列程序段,簡述其主要功能。

#include

void main()

{

FILE*fpd1, *fpd2;

char ch;

fpd1=fopen(“”,“r”) ;

fpd2=fopen(“”,“w”) ;

while(fscanf(fpd1,“%c”,&ch)!=EOF)

if (ch>='A'&& ch <='Z' ‖ ch>='a'&& ch<='z')

fprintf(fpd2,“%c”,ch);

fclose(fpd1);

fclose(fpd);

}

21:試將下列遞歸過程改寫爲非遞歸過程。

void test(int &sum)

{ int x;

scanf(x);

if(x=0) sum=0 else {test(sum); sum+=x;}

printf(sum);

}

22:對給定記錄的序號k(1

23:Write a program to remove all trailing blanks and tabs from each line of input, and to delete entirely blank lines.

24:int func(int a)

{

int b;

switch(a)

{

case 1: 30;

case 2: 20;

case 3: 16;

default: 0

}

return b;

}

則func(1)=?

25:Write a function reverse(s) that reverses the character string s . Use it to write a program that reverses its input a line at a time.