(1)計算機能直接執(zhí)行的程序是( )。
A.源程序
B.目標程序
C.匯編程序
D.可執(zhí)行程序
(2)以下敘述中正確的是( )。
A.c語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行
B.可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行
C.c語言程序?qū)脑闯绦蛑械谝粋函數(shù)開始執(zhí)行、
D.main的各種大小寫拼寫形式都可以作為主函數(shù)名,如MAIN,Main等
(3)以下選項中可用做c程序合法實數(shù)的是( )。、、
A.3.0e0.2
B..1e0
C.E9
D.9.12E
(4)下列定義變量的語句中錯誤的是( )。
A.int jnt;
B.double int_;
C.char For;
D.float US$;
(5)表達式:(im)((double)9/2)一9%2的值是( )。
A.0
B.3
C.4
D.5
(6)設變量均已正確定義,若要通過
scaIIf(”%d%c%d%c”,&al,&el,&a2,&c2);
語句為變量al和a2賦數(shù)值l0和20,為變量cl和c2賦字符x和Y。以下所示的輸入形式中正確的是( )。(注:口代表空格字符)
(7)以下選項中不能作為c語言合法常量的是( )。.
A.0.1e+6
B.’cd’.
C.”、a”
D.’\011
(8)if語句的基本形式是:if(表達式)語句,以下關于“表=迭式”值的敘述中正確的是( )。
A.必須是邏輯值
B.必須是整數(shù)值
C.必須是正數(shù)
D.可以是任意合法的數(shù)值
(9)有如下嵌套的if語句:
以下選項中與上述if語句等價的語句是( )。
A.k=(a
B.B.:((b>C.?b:
C.;B.k=(a
D.k=(a
(10)有以下程序:
程序執(zhí)行后的輸出結果是( )。
A.1
B.2
C.4
D.死循環(huán)
(11)以下關于結構化程序設計的敘述中正確的是( )。
A.結構化程序使用goto語句會很便捷
B.在c語言中,程序的模塊化是利用函數(shù)實現(xiàn)的
C.一個結構化程序必須同時由順序、分支、循環(huán)三種結構組成
D.由三種基本結構構成的程序只能解決小規(guī)模的問題
(12)對于一個正常運行的C程序,以下敘述中正確的是( )。
A.程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結束
B.程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)結束.
C.程序的執(zhí)行總是從main函數(shù)開始、
D.程序的執(zhí)行總是從程序的第一個函數(shù)開始,在程序的最后一個函數(shù)中結束
(13)以下選項中能表示合法常量的是( )。
A.1,200
B.1.5E2.0
C.”\”
D.”\007”
(14)以下定義語句中正確的是( )。
A.int a=b=0;
B.char A=65+1,b=’b’;
C.float a=1,*b=*a,*C=&b;
D.double a=0.0;b=1.1;
(15)若變量x、y已正確定義并賦值,以下符合C語言語法的表達式是( )。
A.X+1=y
B.++X.Y=X一一
C.X=X+10=X+Y
D.double(X)/10
若變量已正確定義為int型,要通過語句:scanf(”%d,%d,%d”,&a,&b,&C.;給a賦值l、給b賦值2、給C賦值3,以下輸入形式中錯誤的是( )。(注:口代表一個空格符)
(17)以下不能輸出字符A的語句是( )。(注:字符A的ASCIl碼值為65,字符a的ASCIl碼值為97)
若a是數(shù)值類型,則邏輯表達式(a==1)I l(a!=1)的值是( )。.
A.1
B.0
C.2
D.不知道a的值,不能確定
(19)設有定義:
int a=1,b=2,C=3;
以下語句中執(zhí)行效果與其他三個不同的是( )。
if(a>B.C=a,a=b,b=C;
B.if(a>B.{C=a,a=b,b=C;}
C.if(a>B.C=a;a=b;b=c;
D.if(a>B.{C=a;a=b;b=c;}
(20)有以下程序:
程序執(zhí)行后的輸出結果是( )。
A.y=OS)y=一1
B.0
C.y=1
D.while構成無限循環(huán)
(1)D【解析】計算機能直接執(zhí)行的程序是二進制的可執(zhí)行程序,擴展名為.exe。所以選擇D選項。
(2)A【解析】C語言中的主函數(shù)只能是main()函數(shù),不能任意指定,所以B選項錯誤。C語言從主函數(shù)main()開始,到主函數(shù)main()結束,所以C選項錯誤。主函數(shù)必須寫成小寫的main,不能混淆大小寫,所以D選項錯誤。
(3)B【解析】A選項中e后面的指數(shù)必須為整數(shù),所以錯誤。C語言規(guī)定,E之前必須要有數(shù)字,所以c選項錯誤。E后面必須要有數(shù)字,且必須為整數(shù),所以D選項錯誤。
(4)D【解析】C語言規(guī)定,變量命名必須符合標識符的命名規(guī)則。D選項中包含了非法字符“$”,所以錯誤。標識符由字母、數(shù)字或下劃線組成,且第一個字符必須是大小寫英文字母或者下劃線,而不能是數(shù)字。大寫字符與小寫字符被認為是兩個不同的字符,所以For不是關鍵字for。
(5)B【解析】先將整型數(shù)據(jù)9強制轉(zhuǎn)換成doub1e型,然后除以2得到的結果與doub1e型保持一致,即為4.5,然后將4.5強制轉(zhuǎn)換成整型數(shù)據(jù)4,然后計算9%2的值為1,最后計算4一1的值為3,所以選擇B選項。
(6)C【解析】輸入數(shù)據(jù)的格式必須與scanf()的格式控制串完全匹配,如果A、B、c選項中在數(shù)字10后面均輸入了空格,則會將空格賦給變量c1,而不是把x賦給c1,所以選擇C選項。
(7)B【解析】要想表示字符串常量應該用雙引號表示,即“cd”,單引號用于表示字符常量,所以B選項中的表示方法錯誤。
(8)D【解析】if語句中的表達式可以是任意合法的數(shù)值,如常量、變量表達式。所以D選項正確。
(9)B【解析】題目中嵌套語句的含義是當a
(10)A【解析】一一k先自減再使用,所以第一次判斷條件即為whi1e(4),條件為真,執(zhí)行打印k的值k=4—3,結果為1;第二次判斷條件即為whi1e(0),條件為假,結束循環(huán),打印回車換行符。所以選擇A選項。
(11)B【解析1濫用90t0語句將使程序的流程毫無規(guī)律,可讀性差,對于初學者來說盡量不要使用,所以A錯誤!獋結構化程序可以包含順序、分支、循環(huán)結構中的一種或多種,所以C錯誤。由三種基本結構構成的程序可以解決任何復雜的問題,所以D錯誤。
(12)C【解析】任何一個c程序都是從主函數(shù)main開始,至主函數(shù)main結束,所以選擇c選項。
(13)D【解析1A選項中整型常量應表示為1200,不能包含“!。B選項中E后面的指數(shù)必須為整數(shù)。C選項中轉(zhuǎn)義字符以“、”開始,若要表示字符“、”,應寫為“、、”。
(14)B【解析】A選項語句中b變量還沒有定義不能直接用于給a變量賦值。c選項語句中·b、-c表示的是一個實句中a=0.0后面應該為逗號,不能是分號。
(15)B【解析】A選項中不能將變量Y賦給表達式,c選項中錯誤與A選項一樣,D選項中強制類型轉(zhuǎn)換表達式應寫成(doub1e)x/10。
(16)D【解析】scanf()的格式控制串可以使用其他非空白字符,如本題中的逗號,但在輸入時必須輸入這些字符;以保證匹配。所以逗號必須輸入。
(17)B【解析】B選項輸出的格式為%d,即為整型格式,所以輸出字符A的ASCI1碼值65,而不是字符A。由于大寫字母比與其對應的小寫字母的ASCI1碼值小32,所以A正確。字符A的ASCI1碼值就是65,所以以%C格式輸出可以輸出字符A,所以c正確。由于字符A的ASCI1碼值比字符B的小1,所以D正確。
(18)A【解析】邏輯或”I|”要求只要兩邊的運算對象有一個非零,結果就為真。雖然不知道a的值,但是若a為1,則左邊運算對象為1;若a的值不是1,則右邊運算對象的值為1,所以總能保證一邊非零,所以結果為真,即1。
(19)C【解析】由于a小于b,所以所有選項中的條件都為假,C選項中實際執(zhí)行了a=b;b=c;兩個操作。而A、B、D選項由于條件不成立,所以什么也沒有做,所以選擇C選項。
(20)B【解析】執(zhí)行Y一一直到值為0,由于Y一一是先用再減,所以退出循環(huán)時,y的值為一1。