【1.81】已知:
struct
{ int i;
char c;
float a;
}test;
則sizeof(test)的值是 。
A) 4 B) 5 C) 6 D) 7
【1.82】已知:
union
{ int i;
char c;
float a;
}test;
則sizeof(test)的值是 。
A) 4 B) 5 C) 6 D) 7
【1.83】已知:
union u_type
{ int i;
char ch;
float a;
}temp;
現(xiàn)在執(zhí)行"temp.i=266;printf("%d",temp.ch)"的結果是 。
A) 266 B) 256 C) 10 D) 1
【1.84】若有以下程序段:
struct dent
{ int n;
int *m;
};
int a=1,b=2,c=3;
struct dent s[3] = { {101,&a},{102,&b},{103,&c} };
struct dent *p=s;
則以下表達式中值為2的是 。
A) (p++)->m B) *(p++)->m C) (*p).m D) *(++p)->m
【1.85】若有以下說明語句,則對結構變量pup中sex域的正確引用是 。
struct pupil
{ char name[20];
int sex;
}pup,*p;
p=&pup;
A) p.pup.sex B) p->pup.sex C) (*p).pup.sex D) (*p).sex
【1.86】以下對結構變量stul中成員age的非法引用是 。
struct student
{ int age;
int num;
}stu1,*p;
p=&stu1;
A) stu1.age B) student.age C) p->age D) (*p).age
【1.87】若有以下定義和語句:
union data
{ int i;
char c;
float f;
}a;
int n;
則以下語句正確的是 。A) a=5; B) a={2,'a',1.2}; C) printf("%d\n",a); D) n=a;
【1.88】已知:
struct sk
{ int a;
int age;
}date,*p;
如果要使指針p指向data中的成員a,正確的賦值語句是____。
A) p = (struct sk *)&data.a; B) p = (struct sk *)data.a;
C) p = &data.a; D) *p = data.a;
【1.89】已知 enum week {sun,mon,tue,wed,thu,fri,sat}day;則正確的賦值語句是____。
A) sun=0; C) san=day; D) sun=mon; D) day=sun;
【1.90】已知 enum color {red,yellow=2,blue,white,black}ren;執(zhí)行下述語句的輸出結果是____。
printf("%d",ren=white);
A) 0 B) 1 C) 3 D) 4
【1.91】已知 enum name{zhao=1,qian,sun,li}man;執(zhí)行下述程序段后的輸出是____。
man=0;
switch(man)
{ case 0: printf("People\n");
case 1: printf("Man\n");
case 2: printf("Woman\n");
default: printf("Error\n");
}
A) People B) Man C) Woman D)Error
【1.92】下述關于枚舉類型名的定義中,正確的是____。
A) enem a={ one,two,three }; B) enem a { one=9,two=-1,three };
C) enem a={"one","two","three"}; D) enem a {"one","two","three"};
【1.93】C語言中標準輸入文件stdin是指 。
A) 鍵盤 B) 顯示器 C) 鼠標 D) 硬盤
【1.94】要打開一個已存在的非空文件"file"用于修改,選擇正確的語句____。
A) fp=fopen("file", "r"); B) fp=fopen("file", "a+");
C) fp=fopen("file", "w"); D) fp=fopen('file", "r+");
【1.95】當順利執(zhí)行了文件關閉操作時,fclose函數(shù)的返回值是 。
A) -1 B) TRUE C) 0 D) 1
【1.96】fscanf函數(shù)的正確調用形式是 。
A) fscanf (文件指針, 格式字符串, 輸出列表);
B) fscanf (格式字符串, 輸出列表, 文件指針);
C) fscanf (格式字符串, 文件指針, 輸出列表);
D) fscanf (文件指針, 格式字符串, 輸入列表);
【1.97】使用fgetc函數(shù),則打開文件的方式必須是 。
A) 只寫 B) 追加 C) 讀或讀/寫 D) 參考答案B和C都正確
【1.98】已知宏定義
#define N 3
#define Y(n) ((N+1)*n)
執(zhí)行語句z=2*(N+Y(5+1));后,變量z的值是____。
A) 42 B) 48 C) 52 D) 出錯
【1.99】已知宏定義 #define SQ(x) x*x,執(zhí)行語句printf("%d",10/SQ(3));后的輸出結果是____。
A) 1 B) 3 C) 9 D) 10
【1.100】已知宏定義如下:
#define PR printf
#define NL "\n"
#define D "%d"
#define D1 DNL
若程序中的語句是 PR(D1,a);經(jīng)預處理后展開為____。
A) printf(%d\n,a); B) printf("%d\n",a);
C) printf("%d""\n",a); D) 原語句錯誤
【單項選擇題參考答案】
【1.1】答案: A
注釋:int是C語言的關鍵字
【1.2】答案: B
【1.3】答案:A
【1.4】答案:B
注釋:include是預處理命令;scanf是函數(shù)名;type不是C語言的關鍵字。
【1.5】答案:D
【1.6】答案:D
【1.7】答案:A
【1.8】答案:A
注釋:int型表示整數(shù)的范圍是-32768~32767。
【1.9】答案:D
注釋:整型常量-1在計算機中表示為補碼1111 1111 1111 1111,用十六進制顯示這個數(shù)時,最左邊的1不會被解釋為符號位,而是與右邊其它位共同轉換為十六進制數(shù)。
【1.10】答案:B
注釋:長整型數(shù)32768在計算機內的表示是1000 0000 0000 0000,以一般整型進行輸出時,此數(shù)恰是-32768的補碼。
【1.11】答案:C
注釋:長整型數(shù)65539在計算機內的表示是0001 0000 0000 0000 0011,以一般整型進行輸出時,僅將右側16位二進制數(shù)轉換為十進制數(shù)。
【1.12】答案:A
注釋:C語言中,int型的負數(shù)是采用補碼表示的。
【1.13】答案:D
【1.14】答案:C
注釋:變量c是字符型,可用字符常量為它賦值。字符常量必須用單引號括起來,所以B是錯誤的;在單引號或雙引號內的反斜線'\'用于表示轉義字符,A選項在無引號時使用反斜線是錯誤的;C選項單引號內出現(xiàn)反斜線表示它與后面的數(shù)字組成一個轉義字符;單引號只允許括起一個字符,D選項在單引號內出現(xiàn)4個字符,是錯誤的。
【1.15】答案:C