c語言程序基礎練習題500道附答案[共83頁]
1.下列四組選項中 ,均不是 C語言關健字的選項是 ( A )。A) define B) gect C) include D) whileIF char scanf gotype printf case pow2.下面四個選項中 ,均是合法整型常量的選項是 ( A )。A)160 B)-0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x3.下面四個選項中 ,均是不合法的轉義符的選項是 ( B )。A) '"' B) '1011' C) '011' D) 'abc''' '' 'f' '101''xf' 'A' '' 'x1f'4.下面不正確的字符串常量是 ( A )。A)'abc' B)"12'12" C)"0" D)" "5.以下選項中不合法的用戶標識符是 ( A )。A)abc.c B)file C)Main D)PRINT6.C 語言提供的合法關鍵字是 ( D )。A) swithB) cherC) CaseD)default7.下列標識符組中,合法的用戶標識符為 AA)_0123 與 ssipedB)del-word 與 signedC)list 與*jerD) keep%與 wind8.在 C 語言中 ,邏輯值 "真"的表示是用 ( C )。A) true B) 整型值 0 C)非另整型值 D) T9 若有以下定義char s='092'則該語句( b )A)使 s的值包含一個字符 B)定義不合法, s 的值不確定C )使 s的值包含 4 個字符 D)使 s 的值包含 3 個字符10 設 C 語言中, int 類型數據占 2 個字節,則 float 類型數據占( D )個字節。A)1 B)2 C)8 D)411 已知字母 A 的 ASCII碼為十進制數 65,且 c2 為字符型 ,則執行語句 c2='A'+'6'-'3' 后,c2 中的值為( A )。A)D B)68 C)不確定的值 D)C12 邏輯運算符兩側運算對象的數據類型是 ( D )。A) 只是 0 或 1 B) 只能是 0 或非 0 正數C) 只能是整型或字符型數據 D) 可以是任何合法的類型數據13TURBO C中 int 類型變量所占字節數是 ( B )。A)1 B)2 C)3 D)4114 在 C 語言中 ,char 型數據在內存中的存儲形式是 ( D )。A) 補碼 B) 反碼 C) 原碼 D) ASCII碼15 若有以下定義 ,則能使值為 3 的表達式是 ( D )。int k=7, x=12;A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5)16 判斷 char 型變量 c1 是否為小寫字母的正確表達式為 ( D )。A) 'a'<=c1<='z' B) (c1>=A. &&(c1<='z')C) ('a'>=c1)|('z'<=c1) D) (c1>='a')&&(c1<='z')17 已知各變量的類型說明如下:int k,a,b;unsigned long w=5;double x=1.42則以下不符合 C語言語法的表達式是 ( A )。A)x%(-3)B)w+=-2C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)若 t 為 double 類型,表達式 t=1,t+5,t+ 的值是 ( D )。A)1 B)6.0 C)2.0 D)1.0設 n=10,i=4,則賦值運算 n%=i+1 執行后, n 的值是 ( A ).A) 0B) 3C) 2D) 1設 Int n=3;則有表達式 +n,n 的結果是 ( C )。A)2 B)3 C)4 D)5用十進制形式輸入有符號整數時,在 scanf 函數語句里格式字符為 ( A B )。A)d B)i C)n D) u在 scanf 函數語句中可用的修飾符有 ( ABCD )。A)* B)h C)l D)寬度1 數據是操作的對象,操作的結果會改變數據的狀況。 對2 字符型變量用來存放字符常量,注意只能放 2 個字符。 錯3C 語言中可以把一個字符串賦給一個字符變量。 錯4 在 C 語言中的實型變量分為兩種類型,它們是 float( 實型)和 double(雙精度實型) 。 錯5 在 C 語言中,要求參加運算的數必須是整數的運算符是 % . 對6 若有以下定義,則執行下面表達式 y+=y-=m*=y 后,y 的值為 -16。int m=5,y=2; 對7 輸入語句的格式為: scanf("%d%d%d",&a,&b,&c); 是正確的。 對8 在 scanf("%d,%d",&a,&b) 函數中,可以使用一個或多個空格作為兩個輸入數之間的間隔。 錯9getchar 函數的功能是接收從鍵盤輸入的一串字符。 錯10 在變量說明中給變量賦初值的方法是: int a=b=c=10; 錯12printf 函數是一個標準庫函數,它的函數原型在頭文件 "stdio.h" 中。 對13printf 函數稱為格式輸入函數,它的函數原型在頭文件 "stdio.h" 中。 錯214 在 printf 函數中,不同系統對輸出表列的求值順序不一定相同, TC是按從右到左進行的。對15 若 int x=3; printf("%d",&x); 則系統會報錯,沒有任何結果。 錯16 邏輯運算符的優先級別高于算術運算符 錯1 在 C 語言中,表示邏輯 "真"值用【 1 】.2 表達式 pow(2.8,sqrt(double(x) 值的數據類型為( double )。3 假設所有變量均為整型 ,則表達式 (a=2,b=5,b+,a+b)的值是【 8 】。4 若 x 是 int 型變量,則執行下面表達式后, x 的值為【 12 】。x=(a=4,6*2)5 若 k 為 int 整型變量且賦值 7,請寫出賦值表達式 k *= k + 3 的運算結果【 70 】。6scanf 函數是一個標準庫函數,它的函數原型在頭文件【 stdio.h 】中。7getchar 函數可以接收【 單 】個字符,輸入數字也按字符處理。8 在語句中,給變量賦值時,賦值語句必須以【 分號 】結尾。9 當 a=3,b=2,c=1 時,表達式 f=a>b>c 的值是【 0 】10 設 x , y , z 均 為 int 型 變 量 , 請 寫 出 描 述 "x,y 中 有 一 個 為 負 數 " 的 表 達 式【 x<0&&y>=0|y<0&&x>=0 】11 若 a=6,b=4,c=3,則表達式 a&&b|b-c 的值是【 1 】12 設 x=3,y=-4,z=5,則表達式 !(x>y)+(y!=z)|(x+y)&&(y=z) 的值是【 1 】基礎二1 下面四個選項中 ,均是非法常量的選項是 ( A )。A)'as' B)'' C)-0x18 D)0xabc-0fff '01' 01177 '0''0a' 12,456 0xf "a"2 下面四個選項中 ,均是不合法整型常量的選項是 ( D )。A)-0f1 B)-0xcdf C) -018 D)-0x48eg-0xffff 017 999 -0680011 12,456 5e2 03f3 下面正確的字符常量是 ( C )。A) "c" B) ''' C) 'W' D) '4 以下每個選項都代表一個常量 ,其中正確的整型常量是 ( B )。A)1.2 B)-20 C)1,000 D)4 5 65 以下選項中不合法的用戶標識符是 ( C )。A)_123 B)Printf C)A$ D)Dim6 在下列 C語言程序中,可以用做變量名的是 ( B )。A) 1B) a1C) intD) *p7C 語言提供的合法數據關鍵字是 ( A )。3A) floatB) SagnedC) IntegerD) Char8 以下符號中不能用作用戶標識符的符號是 ( B )。A)_256 B)voidC)scanf D)Struct9 若 k 為 int 型變量,則以下語句( C )。k=8567;printf("|%-06d|n",k);A)輸出格式描述不合法 B)輸出為 |008567|C )輸出為 |8567| D)輸出為 |-08567|10sizeof(float) 是( B )。A)一個雙精度表達式 B)一個整型表達式C )一種函數調用 D)一個不合法的表達式11 在 C 語言中 , int、char 和 short 三種類型數據在內存中所占用的字節數 ( D )。A)由用戶自己定義 B)均為 2 個字節C )是任意的 D)由所用機器的機器字長決定12 判斷 char 型變量 c1 是否為小寫字母的正確表達式為 ( D )。A) 'a'<=c1<='z' B) (c1>=A. &&(c1<='z')C) ('a'>=c1)|('z'<=c1) D) (c1>='a')&&(c1<='z')13 以下敘述中正確的是 ( B )。Aa 是實型變量 ,C語言允許進行以下賦值 a=10,因此可以這樣說: 實型變量中允許存放整型值B在賦值表達式中 ,賦值號右邊即可以是變量也可以是任意表達式C執行表達式 a=b 后,在內存中 a 和 b 存儲單元中的原有值都將被改變 ,a 的值已由原值改變為 b 的值,b 的值由原值變為 0D已有 a=3,b=5 當執行了表達式 a=b,b=a 之后,已使 a 中的值為 5,b 中的值為 314 表達式 18/4*sqrt (4.0)/ 8 值的數據類型為 ( C )。A)int B)float C)double D)不確定15 下列運算符中 ,不屬于關系運算符的是 ( C )。A) < B) > = C) ! D) ! =16 若希望當 A 的值為奇數時 ,表達式的值為真 ,A 的值為偶數時 ,表達式的值為假 ,則以下不能滿足要求的表達式是 ( C )。A) A%2= =1 B) !(A%2= =0) C) !(A%2) D) A%217 已知各變量的類型說明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;則以下符合 C 語言語法的表達式是 ( A )。A)a+=a-=(b=4)*(a=3)B)a=a*3=2C)x%(-3)D)y=float(i)418 若變量已正確定義并賦值 ,下面符合 C語言語法的表達式是 ( B )。A)a:=a+7; B)a=7+b+c C)int 12.3%4 D)a=a+7=a+b19 逗號表達式 (a=3*5 ,a*4),a+15 的值為 ( C )。A)15 B)60 C)30 D)不確定20 設 Int n=3;則 n+的結果是 ( B )。A)2 B)3 C)4 D)51 用小數或指數形式輸入實數時,在 scanf 函數語句里格式字符為 ( BCD )。A)i B)f C)e D)g2 可以使用 ( CD )輸入字符型數據。A)putchar(c); B)getchar(c); C)getchar(); D)scanf("%c",&c);1C 語言中數據有常量與變量之分。錯2 一般一個字符變量在內存中占一個字節。對3C 語言規定,可以在定義變量時,同時使變量初始化。對4 把 k1、k2 定義成基本整型變量,并賦初值 0 的定義語句是 int k1=k2=0; 。錯5 如果 i 的原值為 3,則: j = + i,j 的值為 3。 錯6 凡是表達式都有一個值。7 輸入語句的格式為: scanf("%d,%d,%d",a,b,c);是正確的。 錯8 在 scanf("%d,%*d,%d",&a,&b) 函數中,當輸入為 1,2,3 時,將 1 賦給 a,將 2 賦給 b。錯9getchar 函數的功能是接收從鍵盤輸入的一個整數。 錯10 假定變量 a,b,c 在說明時已賦初值,則 if (a=b;)>0) c=a;是正確的。 錯1112printf 函數是一個標準庫函數,它的函數原型在頭文件 "string.h" 中。 錯13 在 printf 函數中,格式字符 d 的意義是:以十進制形式輸出帶符號整數。對14 在 printf 函數中,輸出表列的各輸出項之間可用冒號分隔。 錯15 若 int x=3; printf("%d",&x); 則系統不會報錯,會輸出 x 的地址。對16int a=0,b=1,c=2;則表達式 a|b+c&&b=c 的值為 0 錯1 若有以下定義: char c='010' 則變量 C 中包含的字符個數為( 1 )。2 若有以下定義: int x=3,y=2;float a=2.5,b=3.5; 則下面表達式的值為 【 1 】。(x+y)%2+(int)a/(int)b3 若 a 是 int 型變量、且 a 的初值為 6,則執行下面表達式后, a 的值為【 -60 】。a+=a-=a*a4 若 x 是 int 型變量,則執行下面表達式后, x 的值為【 4 】。x=a=4,6*25 若 a 是 int 型變量,且 a 的初值為 6,則計算表達式后 a 的值為【 -60 】。a+=a-=a*a6scanf 函數的地址表列中給出各變量的地址,地址是由【 地址運算符 "&" 】后跟變量名組成的。7 使用 getchar 函數接收字符,若輸入多于一個字符時,只接收第【 一 】個字符。8 C語言的格式輸出函數是【 printf() 】。9 當 a=5,b=4,c=2 時,表達式 a>b!=c 的值是【 1 】10 已知 A=7.5,B=2,C=3.6,表達式 A>B&&C>A | A<B&&!C>B 的值是【 0 】11 若 a=3,b=2,c=1,則表達式 a-b<c|b=c 的值是【 0 】12 有 int a=0,b=4,c=5;則表達式 a|b+c&&b!=c 的值為【 1 】5基礎三1 下面四個選項中 ,均是不合法的用戶標識符的選項是 ( C )。A) A B) float C) b-a D) _123p_0 lao goto tempdo _A int INT2 下面四個選項中 ,均是不合法浮點數的選項是 ( B )。A) 160. B) 123 C) -018 D) -e30.12 2e4.2 123e4 .234e3 .e5 0.0 1e33 下面四個選項中 ,均是不正確的八進制或十六進制數的選項是 ( D )。A)016 B)0abc C)010 D)0a120x8f 017 -0x11 7ff018 0xa 0x16 -1234 以下每個選項都代表一個常量 ,其中不正確的實型常量是 ( B )。A)2.607E-1 B)0.8103e 2 C)-77.77 D)45.6e-25 可用作用戶標識符的一組標識符是 ( B )。A)void B)a3_b3 C)For D)2adefine _xyz -abc DOWORD IF Case sigeof6 下列標識符組中,合法的用戶標識符為 ( B )。A) PAd與 p#dB) Scanf 與 a10C) void 與 maxD) A*與 temp7( B )是 C語言提供的合法的數據類型關鍵字。A)Float B)signed C)integer D)Char8 以下選項中正確的常量是 ( a )。A) 012B) -20C) 1,000D) 4 5 69 現已定義整型變量 int i=1 ;執行循環語句 while(i+ +<5) ;后, i 的值為 ( c )。A)1 B)5 C)6 D)以上三個答案均不正確10 設變量 a 是整型 ,f 是實型 ,i 是雙精度型 ,則表達式 10+'a'+i*f 值的數據類型為 ( C )。A)int B)float C)double D)不確定11 若有說明語句: char c='72' 則變量 c ( a )。A)包含 1 個字符 B)包含 2 個字符C )包含 3 個字符 D)說明不合法 ,c 的值不確定12 設 X、Y、Z都是 int 整型變量 ,且 x=2, y=3, z=4,則下面的表達式中 ,值為 0 的表達式是 ( b )。A) 'x'&&'z' B) (!y= =1)&&(!z= = 0)C) (x<y)&&!z|1 D) x|y+y&&z-y613 以下敘述中正確的是 ( B )。A) 在 C程序中無論是整數還是實數 ,只要在允許的范圍內都能準確無誤的表示B) 若在定義語句 double a,b;之后,因為變量 a,b 已正確定義 ,因此立刻執行這樣的表達式:a=b+9.381 是正確的C) 在 C 程序中 ,常量、變量、函數調用 ,都是表達式的一種 / 一部分!D) 在 main 函數中 ,變量一經定義 ,系統將自動賦予初始值14 設有說明: char w;int x;float y;double z; 則表達式 w*x+z-y 值的數據類型為 ( d )。A) float B) char C) int D) double15 設 a=2,b=3,c=4,則表達式 a+b>c&&b= =c&&a|b+c&&b+c 的值為 ( D )。A) 5 B) 8 C) 0 D) 116 在 C 語言中 ,邏輯值 "真"的表示是用 ( c )。A) true B) 整型值 0 C) 非另整型值 D) T17 以下不正確的敘述是 ( d )。A)在 C 程序中 ,逗號運算的優先級最低B)在 C程序中 ,APH 和 aph 是兩個不同的變量C )若 a 和 b 類型相同 ,在計算了賦值表達式 a=b 后 b 中的值將放入 a 中,而 b 中的值不變D)當從鍵盤輸入數據時 ,對于整型變量只能輸入整型數值 ,對于實型變量只能輸入實型數值18 以下結果為整型的表達式(設有 int i; char c; float f; )是( b )。A)i+f B)i*c C)c+f D)i+c+f19 設有逗號表達式 (a=3*5,a*4) ,a+15,a 的值為 ( B )。A)60 B)30 C)15 D)9020 設 Int n=3;則有表達式 n+,n 的結果是 ( C )。A)2 B)3 C)4 D)51 若在 scanf 函數語句中沒有非格式字符作輸入數據的間隔,則可用 ( ACD )。作為輸入數據的間隔。A)空格 B)逗號 C)TAB D)回車2 使用 scanf 函數時,在源程序開頭 ( ABC )。A)書寫 #include "stdio.h" B)書寫 #include <stdio.h>C)不必寫 #include <stdio.h> D)書寫 #include "scanf.h"1C 語言規定標識符只能由字母、數字和小數點三種字符組成。錯2 C 語言使字符型數據和整型數據之間可以通用。一個字符數據既可以以字符形式輸出,也可以以整數形式輸出。 對3 C 語言中定義了一個變量,代表內存中的一個地址。 對4 表達式 3.5 + 1/2 + 56%10 的計算結果是 7.5 。錯5 由賦值運算符將一個變量和一個表達式連接起來的式子稱為 "賦值表達式 "。 對6 設 C 語言中, 一個 int 型數據在內存中占 2 個字節, 則 int 數據的取值范圍為 -32768-32769。錯7 在使用 scanf 函數之前應包含頭文件 "math.h" 。錯8 在 scanf("%c%c",&c1,&c2) 函數中,當輸入為字符 a,b 時,將 a 賦給 c1,將 b 賦給 c2。錯9 scanf 函數中,如果格式控制串中有普通字符則輸入時也要輸入該普通字符。 對10 假定變量 x,y,z在說明時已賦初值,則 if (x=y+5)>0) z=x; 是正確的 對11printf 函數中的格式字符,既可以是大寫形式,也可以是小寫形式。 錯12 在 printf 函數中,格式字符 "%5c"可用來輸出 5 個字符。 錯13 在 printf 函數中,格式字符 s的意義是:輸出單個字符。錯714 在 printf 函數中,輸出項可以是任意合法的表達式。對15 算術運算符的優先級別高于關系運算符 對16 int a=0,b=1,c=2,x,y;,則!(x=a)&&(y=b)&&c 的值為 11 若 x 和 n 均是 int 型變量,且 x 的初值為 12,n 的初值為 5,則執行下面表達式后, x 的值為( 0 )。x%=(n%=2)2 假設所有變量均為整型,則表達式 (a=2,b=5,a+,b+,a+b)的值為【 9 】。3 若 a 是 int 型變量,則執行下面表達式后, a 的值為【 2 】。a=25/ 3%34 表達式 1/ 3*3 的計算結果是【 0 】。5 若 a 是 int 型變量,則計算表達式后 a 的值為【 2 】。a=25/ 3%36 在輸入字符數據時,若 "格式控制字符串 "中沒有非格式字符,則認為所有輸入的字符均為【 有效 】字符。7 在 scanf 函數中,【 &a 】表示變量 a 的地址。8 以下程序的運行結果是【 computer, com 】。main() printf("%s,%5.3s","computer","computer"); 9 在 C 語言中,表示邏輯 "真"值用【 非零數 】10 若 a=6,b=4,c=2,則表達式 !(a-b)+c-1&&b/ 3+c/2 的值是【 1 】11 設 a=-1,b=0,c=1,則表達式 a|b+c&&b=c 的值是【 1 】12 有 int a=3,b=4,c=5,x,y;,則以下表達式的值為【 0 】!(x=a)&&(y=b)&&c基礎四1 以下符號中不能用作用戶標識符的符號是 ( b )。A)_256 B)voidC)scanf D)Struct2 下面四個選項中 ,均是合法浮點數的選項是 ( )。A) +1e+1 B) -.60 C) 123e D) -e35e-9.4 12e-4 1.2e-.4 .8e-403e2 -8e5 +2e-1 5.e-03 下面四個選項中 ,均是正確的八進制或十六進制數的選項是 ( c )。A) -1a B)0abc C)0010 D)0a120x8f -017 0x11 -0x123-011 0xc 0xf1 -0xa4 以下選項中 ,為 C語言合法的關鍵字是 ( d )。A)swicth B)cher C)Case D)default5C 語言提供的合法的數據類型關鍵字是 ( b )。A)Double B)short C)integer D)Char6 下列標識符組中,合法的用戶標識符為 ( d )。A)b-b 與 abcB)CCP與 float8C)hiy 與<ft>D) isw 與 INT7 屬于合法的 C 語言長整型常量的是 ( b )。A)5876273 B)0L C)2E10 D)(Long)58762738 若 int 類型數據占兩個字節,下列程序的輸出結果是( d )。main()int k=-1;printf("%d,%un",k,k);A)-1,-1 B)-1,32767 C)-1,32768 D)-1,655359 設已定義 x 為 double 類型變量x=213.82631;printf("%-6.2en",x);則以上語句 ( c )。A)輸出格式描述符的域寬不夠,不能輸出 B)輸出為 21.38e+01C )輸出為 2.14e+002 D)輸出為 -2.14e210 執行 x=5>1+2&&2|2*4<4 - !0 后,X 的值為 ( c )。A) -1 B) 0 C) +1 D) 511 設 ch 是字符變量 ,其值為 A,且有下面的表達式 ch=!(ch>='A'&&ch<='z')?ch:(ch+32) 則表達式的值是 ( b )A) A B) a C) 2 D) z12 設 ch 是 char 型變量 ,其值為 Z,且有下面的表達式 ,其值為 ( d )。ch=(ch>='A'&&ch<='Z')?(ch+32):chA) A B) a C) Z D) z13 以下的變量定義中 ,合法的是 ( b )。A)float 3_four = 3.4 ; B)int _abc_= 2 ;C)double a = 1 + 4e2.0 D)short do =15;14 若有 int k = 11;則表達式 (k+ * 1/3)的值是 ( b )。A)0 B)3 C)11 D)1215 邏輯運算符兩側運算對象的數據類型是 ( d )。A) 只是 0 或 1 B)只能是 0 或非 0 正數C) 只能是整型或字符型數據 D) 可以是任何類型數據16 下列表達式的值 ,那一個等于 0 ( b )。A) 5%6 B) 5/6 C) 5/6.0 D) 5 - 617 以下正確的敘述是 ( d )。A)在 C 程序中 ,每行只能寫一條語句B)若 a 是實型變量 ,C程序中允許賦值 a=10,因此實型變量中允許存放整型數C )在 C 程序中 ,無論是整數還是實數 ,都能被準確無誤地表示D)在 C程序中 ,%是只能用于整數運算的運算符18 以下不正確的語句(設有 int p,q )是( d )。A)p*=3; B)p/=q; C)p+=3; D)p&&=q;19 如果 a=1,b=2,c=3,d=4,則條件表達式 a<b?a:c<d?c:d 的值為 ( a ).A)1 B)2 C)3 D)4920 設 Int n=2;則 +n+1= =4 的結果是 ( c )。A)true B)false C)1 D)01 若輸入 4 位整數到整型變量 a 中,可用 ( b )。A)scanf("%4d"); B)scanf("%4d",&a);C)scanf("%4d",a); D)scanf("%d",&a);2 對于 scanf("a=%d",&a), 設 a 為整型變量,輸入 5,其輸出可為 ( a )。A)a=5 B)5 C)a= 5 D)a=a=51 在 C 語言中,要求對所有用到的變量先定義,然后才能使用。2C 語言中,字符數據與整型數據可以互相賦值。 x3C 實型變量分為單精度和雙精度兩種。 x4a1、a2 定義成單精度實型變量,并賦初值 1 的定義語句是 float a1=1; a2=1; 。 x5C 語言中逗號運算符又稱為 " 順序求值運算符 "。 6C 提供的三種邏輯運算符是 !, &&, >= . x7 在使用 scanf 函數之前可以不包含頭文件 "stdio.h" 。 8 在 scanf("%4d",&i) 函數中,輸入 123456789,只把 123456 賦予變量 i 。x9a=b=c=d=10;是一個合法的賦值語句。 10C語言的格式輸出函數是 scanf(). x12 使用 printf 函數時,格式控制字符串和各輸出項應一一對應。 13 在 printf 函數中,格式字符 f 的意義是:以小數形式輸出單精度實數。 x14 在 printf 函數中,轉義字符 b 的作用是退格。 15 算術運算符的優先級別高于邏輯運算符 16int a=1,b=0,c=1;,則!(a+b)+c-0&&b+c/ 2 的值為 1 x1 經過下述賦值后,變量 x 的數據類型是( int )。int x=2;double y;y=(int)(float)x;2 已知字母 a 的 ASCII碼的十進制代碼為 97,且設 ch 為字符型變量,則表達式 ch='a'+'8'-'3'的值為【 f 】。3 若 s是 int 型變量,且 s=6,則下面表達式的值為【 1 】。s%2+(s+1)%24 表達式 1.0/2*3 的計算結果是【 1.5 】。5 當 a=3,b=2,c=1 時,表達式 f=a>b>c 的值是【 0 】.6getchar 函數是【 字符輸入 】函數。7 賦值語句是由賦值表達式加上【 分號 】構成的。8 在 TC中,printf() 函數輸出表列的求值順序是【 】。9 設 y 為 int 型變量,請寫出描述 "y 是奇數 "的表達式【 y%2=1 】10 若 a=2,b=4,則表達式 !(x=a)| (y=b)&&0 的值是【 0 】11 條件"0<x<3 或 x<-3"的 c 語言表達式是【 0<x&&3>x|-3>x 】12 有 int a=3,b=4,c=5;,則以下表達式的值為【 1 】!(a+b)+c-1&&b+c/ 210基礎五1C 語言中的標識符只能由字母、數字和下劃線三種字符組成 ,且第一個字符 ( c )。A)必須為大寫B)必須為下劃線C )必須為字母或下劃線D)可以是字母、數字和下劃線中的任一種字符2 下面四個選項 ,均是合法轉義字符的選項是 ( a )。A) ''' B) '' C)'018' D) '0'''' '017' 'f' '101''n' '"' 'xab' 'x1f'3 下面四個選項中 ,均是正確的數值常量或字符常量的選項是 ( d )。A)0.0 B)"a" C)'3' D)+0010f 3.9E-2.5 011 0xabcd8.9e 1e1 0xFF00 2e2'&' '"' 0a 504 以下符號中不能用作用戶標識符的是 ( d )。A)IF B)Switch C)gets D)case5 在 C 語言中,下列哪個字符為合法的字符常量 ( b d )。A)'084 B)'x43 C)'abD)'0 6 下列四個選項中 ,均是 C語言關健字的選項是 ( b )。A) auto B) switch C) signed D) ifenum typedef union structinclude continue scanf type7 不合法的常量是 ( d )。A)'2' B)'"' C)" D)"483"8 若 a 為整型變量,則以下語句( b )。a=-2L;printf("%dn",a);A)賦值不合法 B)輸出值為 -2 C)輸出為不確定值 D)輸出值為 29 已定義 x 為 float 型變量x=213.82631;printf("%-4.2fn",x);則以上語句 ( B )A)輸出格式描述符的域寬不夠,不能輸出 B)輸出為 213.83C )輸出為 213.82 D)輸出為 -213.8210 用 getchar 函數可以從鍵盤讀入一個 ( d )A) 整型變量表達式值 B) 實型變量值11C )字符串 D) 字符或字符型變量值11 已知 int x,y,z;執行語句 x=(y=(z=10)+5)-5;后 x、y、z的值是 ( a )。A) x=10 B) x=10 C) x=10 D) x=10y=15 y=10 y=10 y=5z=10 z=10 z=15 z=1012 設 a 為整型變量 ,初值為 12,執行完語句 a+=a-=a*a 后,a 的值是 ( d )。A) 552 B) 144 C) 264 D) -26413 設 x 為 int 型變量 ,則執行以下語句段后 ,x 的值為 ( b )。A)10 B)20 C)40 D)30x = 10 ;x += x -= x - x;14 若有定義 ,int a=7;float x=2.5,y=4.7; 則表達式 x+a%3*(int)(x+y)%2/4 的值是 ( a )。A) 2.500000 B) 2.750000 C) 3.500000 D) 0.00000015 下列運算符中優先級最高的是 ( b )。A) < B) + C) && D) !=16 設以下變量均為 int 類型,則值不等于 7 的表達式是 ( c )。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)17 以下符合 C 語言語法的 ,賦值表達式是 ( b )。A) d=9+e+f=d+9B) d=9+e,f=d+9C) d=9+e,e+,d+9D) d=9+e+=d+718 以下使 i 的運算結果為 4 的表達式是 ( d )。A) int i=0,j=0;(i=3,(j+)+i);B) int i=1,j=0;j=i=(i=3)*2) ;C) int i=0,j=1;(j= =1)?(i=1):(i=3);D) int i=1 ,j=1;i+=j+=2;19 設 Int n=3;則 +n 的結果是 ( c )。A)2 B)3 C)4 D)520 設 Int n=2;則有表達式 +n+1= =4,n 的結果是 ( c )。A)1 B)2 C)3 D)41 下列能正確輸入字符數組 a 的語句是 ( d )A)scanf("%s",a); B)scanf("%s",&a);C)scanf("%c",a); D)循環執行 scanf("%c",&ai);2 在輸入時,字符變量的值不用空格間隔,其輸入函數可為 ( b )。A)scanf("%c %c %c",&a,&b,&c); B)scanf("%c%c%c",&a,&b,&c);C)scanf("%3c",&a,&b,&c); D)循環執行 getchar()1C 的字符常量是用雙引號括起來的一個字符。 x2 字符串常量是一對單引號括起來的字符序列。 x123 設C語言中,一個 int 型數據在內存中占 2 個字節,則int 型數據的取值范圍為 -32768-+32767。4 在 C 語言中的實型變量分為兩種類型,它們是 float 和 double 。 x5 若有以下定義: int a=2,b=3;float x=3.5,y=2.5; 則下面表達式的值為 3.500000。(float)(a+b)/ 2+(int)x%(int)y6 輸入語句的格式為: scanf("%d,%d,%d",&a;&b;&c); 是正確的。 x7getchar()函數得到的字符可以不賦給任何變量,而作為表達式的一部分。 8scanf 函數中無精度控制。 x9a+=a=2; 是一個合法的賦值語句,賦值后 a 的值為: 2。 x10 在 TC中,printf() 函數輸出表列的求值順序是從右到左。11 在 printf 函數中, "%ld"表示按十進制正整數輸出。 x12printf 是 C語言的輸出語句。 x13 在 printf 函數中,格式字符 c的意義是:輸出單個字符。 14 在 printf 函數中,不能使用轉義字符。 x15 關系運算符的優先級別高于邏輯運算符 16C語言中沒有邏輯型數據 x1 表達式 8/ 4*(int)2.5 /(int(1.25*(3.7+2.3) 值的數據類型為( int )。2 若 x、i、j 和 k 都是 int 型變量 ,則計算下面表達式后 ,x 的值為【 32 】。x=(i=4,j=16,k=32)3 若 a 是 int 型變量,則下面表達式的值為【 26 】。(a=4*5,a*2),a+64 若 k 為 int 整型變量且賦值 7,x 為 double 型變量且賦值 8.4,賦值表達式 x = k 的運算結果是【 7.0 】。5 若 a=1, b=4, c=3, 則表達式 !(a<b)|!c&&1 的值是【 0 】.6 使用 getchar 函數前必須包含頭文件【 stdio.h 】。7 在變量說明中給同類變量賦初值時,各變量之間用【 , 】隔開。8 以下程序的運行結果是【 6 5 】。main()int i=5; printf("%d,%dn",+i,i+); 9 設 x,y,z 均為 int 型變量, 請寫出描述 "x 或 y 中有一個小于 z"的表達式 【 (x<z|y<z)=1 】10 若 a=1,b=4,c=3,則表達式 !(a<b)|! c&&1 的值是【 0 】11 有 int x,y,z;且 x=3,y=-4,z=5,則表達式 (x&&y)=(x|z) 的值為【 1 】12 若 a=1,b=2,則表達式 a<b?a:b+1 的值是【 1 】C語言(分支和循環結構)一1.以下程序輸出結果是 ( b )main() int m=5;if(m+>5) printf("%dn",m);else printf("%dn",m-);13A)7 B)6 C)5 D)42 以下程序的輸出結果為 ( b )# include <stdio.h>main ( ) int i=0, j=0, a=6;if (+i>0)&&(+j>0) a+;printf ("i=%d, j=%d, a=%dn", i,j,a);A) i=0, j=0, a=6 B) i=1, j=1, a=7C) i=1, j=0, a=7 D) i=0, j=1, a=73 有如下程序main() int a=2,b=-1,c=2;if(a<b)if(b<0) c=0;else c+;printf("%dn",c);該程序的輸出結果是 ( c )A) 0 B) 1 C) 2 D) 34 若 i 為 int 型,且有程序如下 ,則輸出結果是 (c )i=111;if(i%3=0)printf("#");printf("*");A) # B) * C) #* D) 無輸出結果5 若運行時 x=12,則運行結果為 ( a )int x, y;scanf("%d", &x);y=x>12 ? x+10:x-12;printf("%dn", y);A) 0 B) 22 C) 12 D) 106 以下程序的輸出結果是 ( c )main() int i=0, j=0, k=6;if (+i>0)|(+j>0) k+;printf("%d, %d, %dn", i, j, k);A) 0, 0, 6 B) 1, 0, 7 C) 1, 1, 7 D) 0, 1, 77 若變量都已正確說明,則以下程序段輸出為 ( c )14int a=1,b=2,c=3;if(a>b)a=b;b=c;c=a;printf("a=%d b=%d c=%dn",a,b,c);A)a=1 b=2 c=1 B)a=1 b=2 c=3C)a=1 b=3 c=1 D)a=2 b=3 c=28 當 a=1,b=3,c=5,d=4 時,執行完下面一段程序后 x 的值是 ( b )if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;else x=3;else x=6;else x=7;A) 1 B)2 C)3 D)69 以下不正確的語句為 ( b )A)if(x>y);B)if(x=y)&&(x!=0)x+=y;C)if(x!=y)scanf("%d" ,&x);else scanf("%d",&y);D)if(x<y)x+;y+;10 有以下程序:#include"stdio.h"main( )char i;for (; (i=getchar ()!='n')switch (i-'a')case 0: putchar (i);case 1: putchar (i+1);break;case 2: putchar (i+2);case 3: break;default: putchar (i);break;printf ("n");輸入下列數據后,程序的輸出結果是 ( b )abcde<CR>A) abcde B) abcee15C) abbde D) abccdd11 若 a、 b、c1、c2、x、y、均是整型變量,正確的 switch 語句是 ( a )A) switch(a+b); B) switch(a*a+b*b) case 1:y=a+b; break; case 3:case 0:y=a-b; break; case 1:y=a+b;break; case 3:y=b-a,break;C) switch a D) switch(a-b) case 1 :y=a-b; break case 2: x=a*d; break case c1:case 4:x=a+b;break;default:x=a+b; case c2:case 11:y=a-b;break; default:y=a*b;break;12 寫出下面程序輸出結果 ( d )int x=1, y=0, a=0, b=0;switch(x)case 1:switch(y)case 0: a+;case 1: b+; case 2: a+; b+;printf("a=%d, b=%dn", a, b) ;A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=213C語言的 for 語句中的表達式可以部分或全部省略,但兩個 ( c )不可省略。但當三個表達式均省略后,因缺少判斷條件,循環會無限制地進行下去,形成死循環。A) < B) + C) ; D) ,14 下面有關 for 循環的正確描述是 ( d )。A) for 循環只能用于循環次數已經確定的情況B) for 循環是先執行循環體語句,后判定表達式C) 在 for 循環中,不能用 break 語句跳出循環體D) for 循環體語句中,可以包含多條語句,但要用花括號括起來15 以下程序段 ( d )。x=-1;do x=x*x;while(!x)A) 是死循環 B) 循環執行 2 次 C) 循環執行一次 D) 有語法錯誤16 如下的數組中 ,數組 array 占用的內存空間是 ( b )個字節。16char array='c','h','i','n','a'A. 1 B. 5 C. 6 D. 不確定17 設有程序段int k=10;while(k=0) k=k-1;則下面描述正確的是 ( c )。A) while 循環執行 10 次 B) 循環是無限循環C) 循環體語句一次也不執行 D) 循環體語句執行一次18 下列程序段的運行結果是 ( c )int n=0;while(n+<3);printf("%d",n);A. 2 B. 3 C. 4 D. 以上都不對19 設有程序段t=0;while(printf("*"); t+;if (t<3) break;下面描述正確的是 ( d )。A) 其中循環控制表達式與 0 等價 B) 其中循環控制表達式與 '0'等價C) 其中循環控制表達式是不合法的 D) 以上說法都不對20 下面程序的運行結果是 ( d )。#include <stdio.h>main() int y=10;do y-; while(-y);printf("%dn",y-);A) -1 B) 1 C) 8 D) 021 以下程序段的輸出結果是 ( a ).main() int i=5;for ( ;i<=15; ) i+;if (i%4=0) printf("%d ",i);else continue;A. 8 12 16 B. 8 12 C. 12 16 D. 822 以下不是無限循環的語句為 ( a )。A) for(y=0,x=1;x>+y;x=i+) i=x;B) for( ; ;x+=i);C) while(1)x+;D) for(i=10; ; i-) sum+=i;1723 有如下語句int x=3;do printf("%dn",x-=2); while(!(-x);則上面程序段 ( b )A. 輸出的是 1 B. 輸出的是 1 和-2C. 輸出的是 3 和 0 D. 是死循環24 以下不是無限循環的是 ( a )A. for(y=0,x=1;x>+y;x=i+) i=x;B. for( ; ;x+=i);C. while(1) x+;D. for(i=10; ;i-) s+=i;25 以下正確的描述是 ( b )。A) continue 語句的作用是結束整個循環的執行B) 只能在循環體內和 switch 語句內使用 break 語句C) 在循環體內使用 br