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】。