C語言概述和數據類型
1
. 一個C程序的執行是從??????????? 。
A)
本程序的main函數開始,到main函數結束
B)
本程序文件的第一個函數開始,到本程序文件的最后一個函數結束
C)
本程序文件的第一個函數開始,到本程序main函數結束
D)
本程序的main函數開始,到本程序文件的最后一個函數結束
2
. 以下敘述不正確的是??????????? 。
A)
一個C源程序必須包含一個main函數
B)
一個C源程序可由一個或多個函數組成
C) C
程序的基本組成單位是函數
D)
在C程序中,注釋說明只能位于一條語句的后面
3
. 以下敘述正確的是??????????? 。
A)
在對一個C程序進行編譯的過程中,可發現注釋中的拼寫錯誤
B)
在C程序中,main函數必須位于程序的最前面
C) C
語言本身沒有輸入輸出語句
D) C
程序的每行中只能寫一條語句
4
. 一個C語言程序是由??????????? 。
A)
一個主程序和若干個子程序組成
B)
函數組成
C)
若干過程組成
D)
若干子程序組成
?
?
二、數據類型、運算符與表達式
?(
一
)
(一)選擇題
1
. 若x、i、j、k都是int型變量,則計算下面表達式后,x的值為??????????? 。
??? x=(i=4,j=16,k=32)
A) 4???????????? B) 16???????????? C) 32???????? D) 52
2
. 下列四組選項中,均不是C語言關鍵字的選項是??????????? 。
A) define???? ?? IF???? ??? type
B) getc????? ??? char?? ??? printf
C) include?????? case?????? scanf
D) while???????? go???????? pow
3
. 下列四組選項中,均是不合法的用戶標識符的選項是??????????? 。
A) W???? ??????? P_0???? ?? do
B) b-a????? ???? goto? ???? int
C) float???????? la0??????? _A
D) -123????????? abc??????? TEMP
4
. 下列四組選項中,均是合法轉義字符的選項是??????????? 。
A)
‘\”’?????? ‘\\’???? ‘\n’
B)
‘\’???????? ‘\017’?? ‘\”’
C)
‘\018’????? ‘\f’???? ‘xab’
D)
‘\\0’?????? ‘\101’?? ‘xlf’
5
. 下面正確的字符常量是??????????? 。
A)
“c”???????? B) ‘\\’’?????? C) ‘’?????? D) ‘K’
6
. 以下敘述不正確的是??????????? 。
A)
在C程序中,逗號運算符的優先級最低
B)
在C程序中,MAX和max是兩個不同的變量
C)
若a和b類型相同,在計算了賦值表達式a=b后,b中的值將放入a中,二b中的值不變
D)
當從鍵盤輸入數據時,對于整型變量只能輸入整型數值,對于實型變量只能輸入實型數值
7
. 以下敘述正確的是??????????? 。
A)
在C程序中,每行只能寫一條語句?
B)
若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數
C)
在C程序中,%是只能用于整數運算的運算符
D)
在C程序中,無論是整數還是實數,都能被準確無誤地表示
8
. 已知字母A的ASCII碼為十進制數65,且c2為字符型,則執行語句c2=‘A’+‘6’-‘3’后,c2中的值為??????????? 。
A) D???????????? B) 68????? ?? ?C)
不確定的值??? ? D) C
9
. sizeof(float)是????????? 。
A)
一個雙精度型表達式?????????? B) 一個整型表達式
C)
一種函數表達式?????????????? D) 一個不合法的表達式
10
.設C語言中,一個int型數據在內存中占2個字節,則unsigned int 型數據的取值范圍為????????? 。
A) 0
~255??????? B) 0~32767??????? C) 0~65535???????? D) 0~2147483647
11
.設有說明:char w; int x; float y; double z;則表達式w*x+z-y值的數據類型為??? 。
A) float????????? B) char????????? C) int?????????? D) double
12
.設以下變量均為int類型,則值不等于7的表達式是???????? 。
A) (x=y=6,x+y,x+1)????????????? B) (x=y=6,x+y,y+1)???
C) (x=6,x+1,y=6,x+y)??????????? D) (y=6,y+1,x=y,x+1)?
(二)填空題
1
. 若有以下定義,則計算表達式y+=y-=m*=y后的y值是【1】。
??? int m=5,y=2;
2.?
在C語言中,一個int型數據在內存中占2個字節,則int型數據的取值范圍為【2】。
3
. 若s是int型變量,且s=6,則下面表達式的值為【3】。
s%2+(s+1)%2
4.?
若a是int型變量,則下面表達式的值為【4】。
??? (a=4*5,a*2),a+6
5
. 若x和a均是int型變量,則計算表達式(1)后的x值為【5】,計算表達式(2)后的x 值為【6】。
??? (1) x=(a=4,6*2)
(2) x=a=4,6*2
6.?
若a是int型變量,則計算下面表達式后a的值為【7】。
??? A=25/3%3
7
. 若x和n均是int型變量,且x和n的初值均為5,則計算表達式后x的值為【8】,n的值為【9】。
x+=n++
8.?
若有定義:char c=‘\010’;則變量c中包含的字符個數為【10】。
9
. 若有定義:int x=3,y=2;float a=2.5,b=3.5;則下面表達式的值為【11】
??? (x+y)%2+(int)a/(int)b
10.
已知字母a的ASCII碼為十進制數97,且設ch為字符型變量,則表達式ch=‘a’+‘8’-‘3’的值為【12】。