D,、c>a或c 13、設a,,b,,w為整型變量,ch為字符型變量,,用if語句改寫以下的程序段: switch(ch) { case'+':w=a+b,;break,; case'-':w=a-b;break,; case'*':w=a*b,;break; case'/':w=a/b,;break,;} 在下列寫法中,錯誤的是( ) A,、if(ch= ='+') w=a+b,; if(ch= ='-') w=a-b; if(ch= ='*') w=a*b,; if(ch= ='/') w=a/b,; B、if(ch= ='*') w=a*b,; else if(ch= ='/') w=a/b,; if(ch= ='+') w=a+b; else if(ch= ='-') w=a-b,; C,、if(ch= ='+') w=a+b; else if(ch= ='-') w=a-b,; if(ch= ='*') w=a*b,; else w=a/b; D,、if(ch= ='+') w=a+b,; elseif(ch= ='-') w=a-b; if(ch= ='*') w=a*b,; else if(ch= ='/') w=a/b,; 14、以下程序的輸出結果是( ) #include A,、1 B、10 C,、-1 D,、不確定的值 第四章測試 1、分析下面的C語言代碼: int a=1,b=10; do{ b-=a;a++; }while (b--<0); 則執(zhí)行循環(huán)語句后b的值為( ) A,、9 B,、-2 C、-1 D,、8 2,、C語言中,while和do…while循環(huán)的主要區(qū)別是( ) A,、while的循環(huán)控制條件比do…while的循環(huán)控制條件嚴格 B,、do…while的循環(huán)體可以無條件執(zhí)行一次 C、do…while允許從外部轉到循環(huán)體內 D,、do…while的循環(huán)體不能是復合語句 3,、研究下面的C程序段: int i,j; for (i=5;i;i--) for(j=0;j<4;j++){…} 循環(huán)體的總執(zhí)行次數(shù)是( ) A、20 B,、25 C,、24 D、30 4,、分析下面的C代碼段: char str1[15]="Sea View"; char str2[15]="Sea Breeze"; strcpy(str1,str2); printf("%s\n",str1); 則輸出結果是( ) A,、Sea View B、Sea Breeze C,、Sea View Sea Breeze D,、Sea Breeze Sea View 5、下面有關for循環(huán)的正確描述是( ) A,、for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況 B,、for循環(huán)是先執(zhí)行循環(huán)體語句,后判斷表達式 C,、在for循環(huán)中,,不能用break語句跳出循環(huán)體 D、for循環(huán)的循環(huán)體語句中,,可以包含多條語句,,但必須用大括號括起來 6、若i為整型變量,,則以下循環(huán)執(zhí)行次數(shù)是( ) for(i=2;i==0;) printf(“%d\n”,i--); A,、無限次 B、0次 C、1次 D,、2次 7,、以下程序運行后,,輸出的結果是( ) main() { int i, j ,sum=0; for (i=5;i;i--) for (j=0;j<3;j++) sum++; printf("%d",sum); } A,、3 B、5 C,、12 D,、15 8、下面程序的運行結果是( ) void main() { int i; for(i=1;i<=5;i++) { if(i%2) printf(“*”); else continue; printf(“#”);} printf(“$\n”);} A,、*#*#*#$ B,、#*#*#*$ C、*#*#$ D,、#*#*$ 第五章測試 1,、以下對一維數(shù)組a的正確說明是:( ) A、char a(10),; B,、int a[]; C,、int k=5,,a[k]; D,、char a[3]={‘a(chǎn)’,’b’,’c’}; 2,、已知:int a[10]; 則對a數(shù)組元素的正確引用是( ) A、a[10] B,、a[3.5] C,、a(5) D、a[0] 3,、下述對C語言字符數(shù)組的描述中正確的是( ) A,、一維字符數(shù)組的第一個元素是其下標為1的元素 B、一維字符數(shù)組的元素在引用時其下標大小沒有限制 C,、任何一個一維字符數(shù)組的元素,,可以根據(jù)內存的情況按照其先后順序以連續(xù)或非連續(xù)的方式占用存儲空間 D、任何一維字符數(shù)組的名稱都是該數(shù)組存儲單元的開始地址,,且其每個元素按照順序連續(xù)占存儲空間 4,、若有說明:int a[][3]={{1,2,3},{4,5},{6,7}}; 則數(shù)組a的第一維的大小為: ( ) A、2 B,、3 C,、4 D,、無確定值 5,、對二維數(shù)組的正確定義是( ) A,、int a[ ] [ ]={1,2,3,4,5,6}; B、int a[2] [ ]={1,2,3,4,5,6}; C,、int a[ ] [3]={1,2,3,4,5,6}; D,、int a[2,3]={1,2,3,4,5,6}; 6、已知int a[3][4];則對數(shù)組元素引用正確的是( ) A,、a[2][4] B,、a[1,3] C、a[2][0] D,、a(2)(1) 7,、合法的數(shù)組定義是( ) A、char a={'U', 'V', 'W','X', 'Y'}; B,、char a[5]={"A","A", "A","A","A"}; C,、char a[6]= {'A','B','C','D','E'}; D、char a[5]= "ABCDE"; 8,、以下程序段的輸出結果是( ) char s[]="\113vwxyz\x41"; printf("%d\n",strlen(s)); A,、8 B、10 C,、3 D,、7 9、以下程序運行后,,輸出結果是( ) void main() { int a[4][4]={{1,3,5},{2,4,6},{3,5,7}}; printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]); } A,、0650 B、1470 C,、5430 D,、輸出值不定 10、若有以下定義和語句: char s1[]="abced",s2[]="abcd"; printf("%d\n",strlen(strcpy(s1,s2))); 則輸出結果是:( ) A,、4 B,、5 C、9 D,、10 第六章測試 1,、一個C語言程序總是從( )開始執(zhí)行的。 A,、書寫順序的第一個函數(shù) B,、書寫順序的第一條執(zhí)行語句 C、主函數(shù)main D,、不確定 2,、在 C 語言中,有關函數(shù)的說法,以下正確的是( ) A,、函數(shù)不可嵌套定義,,但可嵌套調用 B、函數(shù)可嵌套定義,,但不可嵌套調用 C,、函數(shù)可嵌套定義,也可嵌套調用 D,、函數(shù)不可嵌套定義,,也不可嵌套調用 3、調用函數(shù)的實參與被調用函數(shù)的形參應有如下關系( ) A,、只要求實參與形參個數(shù)相等 B,、只要求實參與形參順序相同 C、只要求實參與形參數(shù)據(jù)類型相同 D,、上述三點均應具備 4,、為了判斷兩個字符串s1和s2是否相等,應使用( ) A,、if(strcpy(s1,s2)) B,、if(s1=s2) C、if(strcmp(s1,s2)= = 0) D,、if(s1==s2) 5,、以下4個字符串函數(shù)中,與其他3個所在的頭文件不同是( ) A,、putchar B,、printf C、scanf D,、strcmp 6,、若用數(shù)組名作為函數(shù)調用的實參,傳遞給形參的是( ) A,、數(shù)組的首地址 B,、數(shù)組中第一個元素的值 C、數(shù)組中的全部元素的值 D,、數(shù)組元素的個數(shù) 7,、以下正確的說法是( ) A、實參和與其對應的形參各占用獨立的存儲單元 B,、實參和與其對應的形參共占用一個存儲單元 C,、有當實參和與其對應的形參同名時才共占用相同的存儲單元 D、形參是虛擬的,,不占用存儲單元 8,、關于函數(shù)聲明,,以下不正確的說法是( ) A、如果函數(shù)定義出現(xiàn)在函數(shù)調用之前,,可以不必加函數(shù)原型聲明 B,、如果在所有函數(shù)定義之前,在函數(shù)外部已做了聲明,,則各個主調函數(shù)不必再做函數(shù)原型聲明 C,、函數(shù)在調用之前,,一定要聲明函數(shù)原型,,保證編譯系統(tǒng)進行全面的調用檢查 D、標準庫不需要函數(shù)原型聲明 9,、以下敘述中正確的是( ) A,、源程序中所有的行都參加編譯。 B,、宏定義常量與const定義常量是一樣的,。 C、宏定義可以嵌套定義,,即在宏定義中的字符串可以引用另一個宏定義的標識符,。 D、其余選項都不正確,。 10,、凡在函數(shù)中未指定存儲類別的變量,其隱含的存儲類別是( ) A,、自動 B,、靜態(tài) C、外部 D,、寄存器 11,、在源程序的一個文件中定義的全局變量的作用域是( ) A、在本文件的全部范圍 B,、該程序的全部范圍 C,、一個函數(shù)的范圍 D、從定義該變量的位置開始至該文件的結束 12,、下列程序的輸出結果是( ) #include A,、8 B、6 C,、5 D,、4 13、函數(shù)調用可以在( ) A,、函數(shù)表達式中 B,、函數(shù)語句中 C,、函數(shù)參數(shù)中 D、以上都是 14,、以下不正確的敘述是( ) A,、宏替換不占用運行時間 B、宏名無類型 C,、宏替換只是字符替換 D,、宏名必須用大寫字母表示 15、C語言的編譯系統(tǒng)對宏命令的處理( ) A,、在程序運行時進行的 B,、在程序連接時進行 C、和C程序中的其它語句同時進行編譯的 D,、在對源程序中其它語句正式編譯之前進行的 16,、全局類型的變量作用范圍大,因此編程中應盡量使用全局變量,,少使用局部變量,。( ) 17、形參只有在被調用時才分配存儲空間,。( ) 18,、形參可以是常量、變量或表達式,。( ) 19,、宏替換時先求出實參表達式的值,然后代入形參運算求值,。( ) 20,、調用函數(shù)只能得到一個返回值,而用宏可以得到幾個結果,。( ) 21,、在宏定義#define PI 3.l4l59中,如果將1誤輸成小寫的L,,則編譯時不出錯,,運行時出錯。( ) ? 第七章測試 1,、指針變量是把內存中另一個數(shù)據(jù)的()作為其值的變量,。 A、變量名 B,、值 C,、地址 D、標識符 2,、有以下程序段,,輸出結果為(),。 #include A,、11,,32 B,、11,,13 C、0,,2 D,、11,43 3,、有以下程序段,,輸出結果為()。 #include A,、5,10,11 B,、15,5,10 C、5,10,15 D,、10,15,11 4,、有以下程序段,輸出結果為(),。 #include A,、1 B、12 C,、語法錯誤 D,、隨機值 5、有以下程序段,,輸出結果為(),。 #include A、10,,10,,10 B,、10,隨機值,,隨機值 C,、10,10,,隨機值 D,、語法錯誤 6、在以下程序段的空白處填入(),,能夠正確輸出teacher,。 #include A、*(p+1) B,、*p+1 C,、*p[1] D、*p+7 7,、在以下程序段的空白處填入(),,能夠使程序正確運行。 #include A,、int *p(int,int) B,、int (*p)() C、int (*p)(int ,int); D,、其余選項都不對 8,、有以下程序段,輸出結果為(),。 #include A,、10,20 B,、20,,10 C、10,,10 D,、20,20 9,、有以下程序段,,在空白處填入(),可以使程序正確運行,。 #include A,、f B、*f C,、(*f) D,、其余選項都不對 第八章測試 1,、有如下結構體定義,能夠正確引用結構體的是(),。 struct student { long num; char name[10]; char sex; int age; float score; }stu; A,、stu.age=20 B、stu->sex=’f’ C,、stu.num=”40012120” D,、stu=”lili” 2、有以下程序段,,輸出結果為(),。 #include A、12 B,、13 C,、16 D、24 3,、有以下程序段,,輸出結果為()。 #include A,、Li B,、Zhang C,、sun D、0 4,、有以下程序段,,輸出結果為()。 #include A,、140 B,、160 C、5 D,、隨機值 5,、以下程序段,在空白處填寫()能使程序正確運行并輸出結果,。 #include A,、*pt=stu; B、pt=stu; C,、pt=&stu; D、*pt=&stu; 6,、有結構體聲明如下,,成員next是一個指針,,指向對象的類型是(),。 struct node { char ch; struct node *next; }; A、int B,、float C、char D,、node 7,、有以下共用體聲明,,賦值錯誤的是()。 union data { int i; char ch; float f; } A,、union data a={97}; B,、union data a;a.i=97; C、union data a={97,'b',1.5}; D,、union data a;a.i=’a’; 8、以下程序段的運行結果為(),。 #include A、98 B,、66 C、0 D、隨機值 9,、有枚舉定義enum sex{m,f} stu;能夠正確賦值的是()。 A,、stu={m,f} B,、stu=f C,、stu=man D,、stu=nan 10,、有新類型名聲明typedef int Num[10];以下各項中與int a[10]含義相同的是(),。 A、Num a[10] B,、typedef a[10] C、Num a D,、typedef a 第九章測試 1、下列關于C語言數(shù)據(jù)文件的敘述中正確的是( ) A,、文件由ASCII碼字符序列組成,C語言只能讀寫文本文件 B,、文件由二進制數(shù)據(jù)序列組成,,C語言只能讀寫二進制文件 C,、文件由記錄序列組成,,可按數(shù)據(jù)的存放形式分為二進制文件和文本文件 D,、文件由數(shù)據(jù)流形式組成,,可按數(shù)據(jù)的存放形式分為二進制文件和文本文件 2、fwrite函數(shù)的一般調用形式是( ) A,、fwrite(buffer,count,size,fp); B,、fwrite(fp,size,count,buffer); C,、rite(buffer,size,count,fp); D,、fwrite(fp,count,size,buffer); 3,、C語言文件操作函數(shù)fread(buffer,size,n,fp)的功能是( ) A,、從文件fp中讀n個字節(jié)存入buffer B,、從文件fp中讀n個大小為size字節(jié)的數(shù)據(jù)項存入buffer中 C、從文件fp中讀入n個字節(jié)放入大小為size字節(jié)的緩沖區(qū)buffer中 D,、從文件fp中讀入n個字符數(shù)據(jù)放入buffer中 4,、若fp是指向某文件的指針,,且已讀到此文件末尾,則庫函數(shù)feof(fp)的返回值是( ) A,、EOF B,、0 C、非零值 D,、NULL 5,、若要用fopen函數(shù)建一個新的二進制文件,該文件要既能讀也能寫,,則文件方式字符串應該為( ) A,、"ab+" B、"wb+" C,、"rb+" D,、"ab" 6,、C語言把文件看作是一個( )的序列,。 A,、記錄 B,、單詞 C,、字 D、字符 7,、語句FILE *fp;定義了一個指向( ) A,、FILE類型的指針變量 B,、某一個文件的結構體變量 C、FILE文件的變量 D,、某一個文件的變量 8、語句 fp=fopen("file1","r"); 表示( ) A,、打開文件file1,可向該文件添加數(shù)據(jù) B,、打開文件file1,可向該文件輸出數(shù)據(jù) C,、打開文件file1,可從該文件輸入數(shù)據(jù) D,、打開文件file1,可向該文件輸入輸出數(shù)據(jù) 9、如果希望向文本文件末尾添加數(shù)據(jù),則應以( )方式打開文件,。 A,、"a" B、"w" C,、"r" D,、"ab" 10、從操作系統(tǒng)的角度來看,,鍵盤和打印機是輸出文件,。( ) 11、對設備文件的輸入輸出操作就是讀寫設備文件的過程,。( ) 12,、C語言中文件可以順序存取,也可隨機存取,。( ) 13,、gets函數(shù)的功能是從文件指針所指向文件中讀取一個字符。( ) 14,、對已打開的文件進行輸入輸出操作是通過指向該文件結構的指針變量進行的,。( ) 15、只有通過文件,,才能進行大量的原始數(shù)據(jù)的輸入和保存,,這些數(shù)據(jù)甚至可能遠遠超過內存容量。( ) ? 第十章測試 1,、語句:printf("%d\n",12&012);的輸出結果是( ) A,、12 B、8 C,、6 D,、012 2、設 int b=2;表達式(b>>2)/(b>>1)的值是( ) A,、0 B,、2 C、4 D,、8 3,、有如下程序段 int a=14,b=15,x; char c=?A’; x=(a&&b)&&(c<?B’); 執(zhí)行該程序段后,x的值為( ) A,、ture B,、false C,、0 D、1 4,、整型變量x和y的值相等,、且為非0值,則以下選項中,,結果為零的表達式是( ) A,、x || y B、x | y C,、x & y D,、x ^ y 5、設char型變量x中的值為10100111,,則表達式(2+x)^(~3)的值是( ) A,、10101001 B、01010101 C,、11111101 D,、10101000 6、請讀程序片段: char x=56; x=x&056; printf(“%d,%o\n”,x,x) 以上程序片段的輸出結果是( ) A,、56,,70 B、0,,0 C,、40,50 D,、62,,76 7、若有以下程序段: int x=1,y=2; x=x^y; y=y^x; x=x^y; 則執(zhí)行以上語句后x和y的值分別是 A,、x=1,,y=2 B、x=2,,y=2 C,、x=2,y=1 D,、x=1,,y=1 8、設有以下語句: char x=3,y=6,z; z=x^y<<2; 則z的二進制值是( ) A,、00010100 B,、00011011 C、00011100 D,、00011000 9,、表達式a A,、~,&,,<,,|| B、~,,||,,&,< C,、~,&,,||,,< D、~,,<,,&,|| 10,、將一個數(shù)左移一位,,相當于該數(shù)乘以2;右移一位相當于除以2,。( ) 11,、~運算符的優(yōu)先級低于算術運算符,高于關系運算符,、邏輯運算符,。( ) 12、位運算的運算量可以是整型,、字符型或實型數(shù)據(jù),。( ) 13、要將一個存儲單元i清零,,可以實施如下運算:i&0,。( ) |
|