c語言 筆試題6 25

2021-07-25 13:22:50 字數 1081 閱讀 7218

unsigned

short a = 10;

printf("~a = %u\n", ~a);

char c=128;

printf("c=%d\n",c);

解析:~a =0xfffffff5,int值 為-11,但輸出的是uint。所以輸出4294967285

第二題,c=0x10,輸出的是int,最高位為1,是負數,所以它的值就是0x00的補碼就是128,所以輸出-128。

答案: 4294967285,-128
void foo(void)

解析:當表示式中存在有符號型別和無符號型別時所有的運算元都自動轉換為無符號型別。
答案: >6
解析:未說明陣列型別,因此用sizeof(table[0])表示陣列型別大小
答案: #define num (sizeof(table)/sizeof(table[0]))
struct  x

;

解析:long

long在32位機器中佔8位元組,結構體要考慮位元組對齊的問題,x5在結構體裡,是靜態變數,不佔結構體空間。

首先_x5是靜態變數可以不用管它,其次是要考慮位元組對齊的問題。對於結構體中沒有含有結構體變數的情況,有兩條原則:1)結構體變數中成員的偏移量必須是成員大小的整數倍;2)結構體的最終大小必須是結構體最大簡單型別的整數倍。x1的偏移量是0,長度是8,符合;x2的偏移量是8,長度是1,符合;x3的偏移量是9,長度是4,不符合,需要在x2之後填充3位元組使得x3的偏移量達到12;x4的偏移量是16,長度是2,符合;此時總長度為(8)+(1+3)+(4)+(2)=18,而最大簡單型別為long

long長度為8,因此需要在x4之後再填充6位元組,使得總長度達到24可被8整除。因此sizeof(xx)的結果為24。

答案:    24

C語言筆試題

有a b c d四個人,要在夜裡過一座橋。他們通過這座橋分別需要耗時1 2 5 10分鐘,只有一支手電,並且同時最多只能兩個 人一起過橋。請問,如何安排,能夠在17分鐘內這四個人都過橋?答案 a b 2 mins 1 mins a c d 10 mins 2 mins b a b 2 mins 一共...

C語言筆試題

1 用標準c程式設計 找出整形數字1 100之間的素數,並列印出來。素數 除了1和自己本身可以被整除。include stdio.h main inti,j,n 0 printf 1 100之間的素數 n for i 2 i 100 i for j 2 jif i j 0 break if i j ...

記C語言筆試題

記2021.1.29廣州通則康威筆試 面試的是軟體工程師 c語言偏嵌入式 總共6道題,30分鐘。1.static全域性變數和普通全域性變數的區別?static區域性變數和普通區域性變數的區別?static函式與普通函式的區別?經常會遇到的一道面試題。static修飾的全域性變數限定了該全域性變數的作...