青島科技大學(xué)c語言試題庫_第1頁
青島科技大學(xué)c語言試題庫_第2頁
青島科技大學(xué)c語言試題庫_第3頁
青島科技大學(xué)c語言試題庫_第4頁
青島科技大學(xué)c語言試題庫_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第一套試題一、單項(xiàng)選擇題( 15 個(gè)小題,每題 2 分,共 30 分):1一個(gè) C 語言程序的執(zhí)行是從 。A main函數(shù)開始,直到main 函數(shù)結(jié)束B 第一個(gè)函數(shù)開始,直到最后一個(gè)函數(shù)結(jié)束五、C.第一個(gè)函數(shù)開始,直到最后一個(gè)語句結(jié)束D main函數(shù)開始,直到最后一個(gè)函數(shù)結(jié)束 TOC o 1-5 h z 2. 正確的自定義標(biāo)識(shí)符是 。A x_2 B a-b C 2sum D $1233下面程序的運(yùn)行結(jié)果是。十、 #define F(x) x*x十一、void main()十二、 int a=2,b=1;十三、prinft( “%n” ,F(a+b);十四、十五、A 3 B 5 C 8 D 9十

2、六、4讀以下程序段,判斷a的值為 。十七、int *p,a=10,b=1;十八、p=&a;十九、a=*p+b;二十、A. 12B. 10 C. 11 D.編譯出錯(cuò)二十一、5根據(jù)以下說明語句,則下面的敘述中不正確的是 。二十二、struct student二十三、 int num;二十四、char name10;二十五、int score;二十六、stu;二十七、A struct 是定義結(jié)構(gòu)體類型的關(guān)鍵字二十八、B stu 是結(jié)構(gòu)體變量名二十九、C num, name, score 都是結(jié)構(gòu)體成員名三十、D stu 是結(jié)構(gòu)體類型名一、6.已知字母A的ASCII碼為十進(jìn)制數(shù)65,變量ch1為字符型

3、,則執(zhí)行語句ch1= A + -52后;ch1 TOC o 1-5 h z 中的值是 。三十二、A. D B. 67 C. 一個(gè)不確定的值D. C三十三、7以下哪種方法不能對一維數(shù)組進(jìn)行正確的初始化 。三十四、A int a =1,2,3; B int a5= ;三十五、C int a5=(1,2,3,4,5); D int a =2,3,4*5,6;三十六、8.已正確定義字符變量ch1,下面能正確賦值的是。三十七、A ch1=“a” ; Bch1=a;三十八、C. ch1=C語言程序設(shè)計(jì)” ;D ch1= Cg言程序設(shè)計(jì);三十九、9逗號表達(dá)式(a=3*4,a*4),a+5 的值是 。四十、A

4、 53 B 17 C 20 D 48四十一、10設(shè)n 為 float 型, m 為 int 型,則以下能實(shí)現(xiàn)將n 中的數(shù)值保留小數(shù)點(diǎn)后兩位,第三位進(jìn)行四舍五入的表達(dá)式是 。四十二、A n=(n*100+/ B n=n*100+四十三、C m=n*100+,n=m/ D n=(n/100+*四十四、11.設(shè)i=2, j=3,則表達(dá)式(i+) *(+j)的值為。四十五、A 6 B 8 C 9 D 12 TOC o 1-5 h z 四十六、12關(guān)于以下程序段,說法正確的是。四十七、x=-1;四十八、do四十九、 x=x*x; while(!x);五十、A.死循環(huán)B.循環(huán)體執(zhí)行二次 C.循環(huán)體執(zhí)行一次

5、 D.有語法錯(cuò)誤五H一、13.若有下列定義:char c5,*p=c;則對c數(shù)組元素地址的正確引用是 。五十二、A p+2 B &c5 C c+ D &c TOC o 1-5 h z 五十三、14當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是。五十四、A.數(shù)組的長度B.數(shù)組每個(gè)元素中的值五十五、C.數(shù)組每一個(gè)元素的地址D.數(shù)組的首地址五十六、15 文件中利用 fopen 函數(shù)打開文件, 如果以只讀方式打開二進(jìn)制文件, 則以下打開方式正確的是 。五十七、A r+ B rb C wb D ab五十八、 二、填空題( 5 個(gè)小題,每題 2 分,共 10 分):五十九、1 若有int i=1,j=7

6、,a; 執(zhí)行語句 a=i+(j%4!=0); 后, a 的值是 。六十、2執(zhí)行以下程序后,運(yùn)行結(jié)果是 。六十一、#include六十二、void main( )六十三、 int a,b;六十四、for(a=1,b=1;a=10) break;六十六、if(b%3=1) b+=3; continue; TOC o 1-5 h z 六十七、六十八、printf( “%n”d ,a);六十九、3源程序中用到了strcat 函數(shù),需要包含的頭文件(即庫文件)為。七十、4執(zhí)行以下程序后,運(yùn)行結(jié)果是 。七十一、#include七十二、void main( )七十三、 int a=2;七十四、float n

7、=,b;七十五、b=a+(int)n;七十六、printf( “%n”f ,b);七十七、5.語句scanf(a=%d,b=%d,&a,&b);若將3和4分別輸入給a和b,則正確的輸入方式為 。七十八、三、程序分析題,寫出程序的運(yùn)行結(jié)果( 5 個(gè)小題,每題 4 分,共 20 分):七十九、1 #include八十、void main( )八十一、 int x=1,y=0,a=0,b=0;八十二、switch(x)八十三、 case 1: switch(y)八十四、 case 0: a+; break;八十五、case 1: b+; break;八十六、八十七、 case 2: a+; b+;

8、break;八十八、printf( “a=%d,b=%n”d,a,b);八十九、2在運(yùn)行以下程序時(shí),輸入“Turbo C+ ,寫出程序的運(yùn)行結(jié)果?!本攀?、#include九十一、void main( )九十二、 char str40;九十三、printf(Input a string:);九十四、scanf(%s,str);九十五、puts(str);九十六、3 #include九十七、void f(int y)九十八、 static int i=5;九十九、int j=3;百、 j+;百一、printf( “%d+%d+%d=%n”d ,i,j,y,i+j+y);百二、i*=2;百三、voi

9、d main( )百四、 int x;百五、for(x=1;x=2;+x) f(x);百六、4 #include百七、void swap(int*pa,int *pb)百八、 int *p;百九、p=pa;百十、pa=pb;百十一、pb=p; 百十二、void main( )百十三、 int a=10,b=20;百十四、int *p1=&a,*p2=&b;百十五、if(ab) swap(p1,p2);百十六、printf(%d,%dn,a,b);百十七、5 #include百十八、int a=5; int b=7;百十九、int plus(int x,int y)百二十、 int z;百二十一

10、、z=x+y;百二十二、return (z);百二十三、void main( )百二十四、 int a=4,b=5,c;百二十五、c=plus(a,b);百二十六、printf(“a+b=%n”d ,c); 百二十七、四、程序填空題,將下面程序補(bǔ)充完整(10 個(gè)填空,每空 2 分,共 20分):百二十八、1 輸出九九表。百二十九、#include“”百三十、 void main( )百三十一、 int i,j;百三十二、for(i=1;i=9;i+)百三十三、 for(j=1; ;j+)百三十四、printf( “%3d*%d=%”2d,i,j,i*j); TOC o 1-5 h z 百三十五

11、、;百三十六、百三十七、百三十八、2 利用函數(shù)形式,求x數(shù)組所有元素的平均值并輸出。百三十九、#include “”百四十、 ;百四十一、void main( )百四十二、 float avg,x10=,7,8,9,;百四十三、avg=average(x);百四十四、printf( “The average isn%” ,avg);百四十五、百四十六、float average(float a10)百四十七、 int i;百四十八、float sum=0;百四十九、for(i=0;i10;i+) sum=sum+ai; TOC o 1-5 h z 百五十、 ;百五十一、百五十二、3 編寫一個(gè)計(jì)

12、算字符串長度的函數(shù)length。百五十三、#include “”百五十四、void main( )百五十五、 char str20;百五十六、int m;百五十七、int length(char *p);百五十八、printf(Input a string:n);百五十九、gets(str);百六十、 ;百六十一、printf(n the lengthofstr is%d ,m);百六十二、百六十三、int length(char *p)百六十四、 int n=0;百六十五、while( ) n+;p+;百六十六、return n;百六十七、4 輸入10 個(gè)整數(shù),按每行3 個(gè)數(shù)輸出這些整數(shù),最

13、后輸出 10 個(gè)整數(shù)的平均值。百六十八、#include “”百六十九、void main( )4 5 a=3,b=44 5 a=3,b=4百七十、 int i,n=10,a10;百七十一、float avg=0;百七十二、for(i=0;in;i+)百七十三、scanf( “%d” ,&ai);百七十四、for(i=0;in;i+) TOC o 1-5 h z 百七十五、 if( ) printf( n”)“;百七十六、printf( “%d ” ,ai);百七十七、百七十八、for(i=0;i=A &*cp= a &*cp= z)百九十一、*cp=*cp-32;百九十二、 ;百九十三、百九

14、十四、puts(str);百九十五、百九十六、五、程序設(shè)計(jì)題( 3 個(gè)小題,共20分):百九十七、1 .設(shè)三個(gè)整型變量a,b,c,編寫程序?yàn)閍,b,c輸入數(shù)據(jù),并要求a,b,c按由小到大排序后輸出(5 分)百九十八、2 學(xué)生成績可分為五分制與百分制,編程將百分制轉(zhuǎn)換為五分制輸出。(5 分 )百九十九、3 編寫排序函數(shù)sort(int a ) ,實(shí)現(xiàn)對數(shù)組 a 中的元素進(jìn)行排序,并利用該函數(shù),從鍵盤輸入若干個(gè)數(shù)(如 10 個(gè))將其按升序排列。( 10 分)第一套試題15 個(gè)小題,每題 2 分,共 30 分):1-5: AABCD 6-10: ACBBC 11-15: BCADB二、填空題( 5

15、個(gè)小題,每題 2 分,共 10 分):1 2 2 4 3三、程序分析題,寫出程序的運(yùn)行結(jié)果( 5 個(gè)小題,每題 4 分,共 20 分):1 a=2,b=1 2 Turbo 3 5+4+1=104 10,20 5 a+b=9 10+4+2=16四、程序填空題,將下面程序補(bǔ)充完整( 10 個(gè)填空,每空2 分,共 20 分): jb) t=a; a=b; b=t; 分 3if(ac) t=a; a=c; c=t; if(bc) t=b; b=c; c=t; printf(%d%d%d,a,b,c);分1#include “”void main( ) float score;printf(Input

16、a score:);scanf( “ %f” ,&score);while(score100|score=90) printf( n );A 分3else if(score=80) printf(n” ); “Belse if(score=70) printf(n” ); “Celse if(score=60) printf(n“D” );else printf( n”“E );#include #define N 10void sort(int a); 分 1void main( ) int aN,i,j;printf(input %d numbers:n,N);for(i=0;iN;i+)

17、 分Ascanf(%d,&ai);sort(a); 分2for(i=0;iN;i+)printf(%d ,ai);void sort(int a ) int i,j,temp;for(i=0;iN-1;i+)分for(j=0;jaj+1) temp=aj; aj=aj+1; aj+1=temp; 第二套試題一、 單項(xiàng)選擇題( 15 個(gè)小題,每小題 2 分,共 30 分): TOC o 1-5 h z 1在一個(gè)源程序中,main 函數(shù)的位置 。A.必須在最前面B.必須在系統(tǒng)調(diào)用的庫函數(shù)的后面C.沒有具體要求 D.必須在最后2正確的用戶自定義標(biāo)識(shí)符是。A a=2 B a+b C name D de

18、fault3以下敘述中正確的是。A break 語句只能用于switch 語句體中B continue 語句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)C break 語句只能用在循環(huán)體內(nèi)和 switch 語句體內(nèi)D.在循環(huán)體內(nèi)使用 break語句和continue語句的作用相同C 語言中最簡單的數(shù)據(jù)類型包括 。A.整型、實(shí)型、邏輯型 B.整型、實(shí)型、字符型C.整型、字符型、邏輯型 D.字符型、實(shí)型、邏輯型設(shè)ch是char型變量,其值為A且有表達(dá)式ch=(ch= A &ch20) ;后, i 的值是 。若a、 b、 c 和 d 都是 int 型變量,則執(zhí)行表達(dá)式d=(a=2,b=4,c=a*

19、b) ;后, d 的值為 。在使用數(shù)組元素的過程中, C 語言編譯系統(tǒng)(是 / 否)檢查下標(biāo) “越界 ” 。設(shè) m=4,n=7,表達(dá)式 x=(m+)*(-n)的值是。執(zhí)行如下語句:int k; k值不確定for(k=0 ; k=1; k+);則該循環(huán)執(zhí)行的次數(shù)是。有如下定義: int x5=1,3,5,7,9,*p=&x2 ;則執(zhí)行語句printf(%d,*p) ;的輸出結(jié)果是 有如下結(jié)構(gòu)體定義:struct date int year ;int month ;int day ;struct worklist char name20 ;char sex;struct date birthday

20、 ;person;若對結(jié)構(gòu)體變量person 的出生年份賦值為1990 ,則正確的賦值語句是。C語言提供的預(yù)處理命令有 、文件包含和條件編譯三種。13設(shè)有數(shù)組定義: char string = Student ,則數(shù)組所占的存儲(chǔ)空間為 個(gè) 字節(jié)。14 指針變量只能存放內(nèi)存儲(chǔ)單元的15.在C語言中,當(dāng)函數(shù)返回值的類型缺省時(shí),表示該函數(shù)返回值的類型是三、寫出程序的運(yùn)行結(jié)果( 5 個(gè)小題,每小題 4 分,共 20 分):#include void main( ) int x=1,y=0,a=0,b=0;switch(x) case 1: switch(y) case 0: a+; break ;b+

21、; break ;a+; b+; break ;printf(“ a=%d,b=n%”d,a,b;)#include void f(int b ) int i;for(i=2 ; i6; i+)bi*=2 ;void main( ) int a10=1,2,3,4,5,6,7,8,9,10 ;f(a); for(i=0 ; i10; i+)printf(“ %d” ;,ai)#include int a=5,b=7 ;int plus(int x,int y) int z;z=x+y;return (z) ;void main( ) int a=4,b=5,c;c=plus(a+b);prin

22、tf(a+b=%dn,c) ;#include int d=1 ;fun(int p) static int d=5 ;d+=p; return (d) ;void main( ) int a=3 ;printf(%dn,fun(a+fun(d) ;#include void main( ) char ch15=“ abcd; efg ”char c,*cp1,*cp2 ;int i,n=0 ;cp1=ch;cp2=ch;while(*cp2!= 0) n+; cp2+; cp2-;n=n/2 ;for(i=0 ; in; i+) c=*cp1 ; *cp1=*cp2 ; *cp2=c ;cp

23、1+; cp2-;puts(ch);四、完善程序,在空白處填上相應(yīng)的語句內(nèi)容( 5 個(gè)小題,每小題 4 分,共 20 分)輸入 10 個(gè)整數(shù),按每行 3 個(gè)數(shù)輸出這些整數(shù),最后輸出 10 個(gè)整數(shù)的平均值。#include void main( ) int i,n=10,a10 ;float avg=0 ;for(i=0 ; in; i+)scanf( “ %d” ,&;ai)for(i=0 ; in; i+) if(i%3=0) (1)printf(“ %d” ;,ai)for(i=0 ; in; i+) avg+=ai ;(2)printf(“ average=n%” f,avg;)利用選擇

24、排序法使數(shù)組中的數(shù)按照從大到小的次序(升序)排列。#include #define N 10void main( ) int aN=3,8,5,2,10,9,4,1,7,6,i,j,r,temp ;for(i=0 ; iN-1; i+) (1)for(j=i+1 ; jN; j+) if( (2) ) r=j ;13 8(2)if(r!=i) temp=ar ; ar=ai ; ai=temp ; printf(the array after sort:n) ;for(i=0 ; iN; i+)printf(%5d,ai) ;輸出九九乘法表。#include void main( ) int

25、i,j;for(i=1 ; i=9; i+) for( (1) )printf(%3d*%d=%-3d, (2) ) ;printf(n) ;通過調(diào)用子函數(shù) average,分別求出主函數(shù)main中x和y數(shù)組的平均值并輸出#include float average( (1) ) int i;float sum=0 ;for(i=0 ; i= A &*cp= a &*cp=30)&(x=80)&(x!=50).c1208否24無限次5 宏定義地址int/整型三、寫出程序的運(yùn)行結(jié)果(5個(gè)小題,每小題4分,共20分):1. a=2,b=1 2. 1 2 6 8 10 12 7 8 9 103. a

26、+b=9 4. 15 5. gfedcba四、完善程序,在空白處填上相應(yīng)的語句內(nèi)容(5個(gè)小題,每小題4分,共20分)11) printf( n)(2) avg=avg/n;(1) r=i;(2) ajar(1) j=1; ji; j+ (2) i,j,i*j(1) float a ,int n(2) return (sum/n);(1) cp=str;(2) cp+;五、程序設(shè)計(jì)題(2個(gè)小題,共15分):1. #includevoid main( ) TOC o 1-5 h z float s=0,t=1 ;分 1int n,p=1 ;分 1for(n=1 ; n=y)&(y=z) B (x=

27、y)AND(y=z)C x=y=z D (x=y)&(y=z)7、以下對二維數(shù)組a 進(jìn)行不正確初始化的是。A int a 3=3,2,1,1,2,3; B int a 3=3,2,1,1,2,3;C int a23=3,2,1,1,2,3; D int a =3,2,1,1,2,3;8、若有定義:int x,*pb ;則以下正確的賦值表達(dá)式是。A pb=&x B pb=x C *pb=&x D *pb=*C 語言中函數(shù)返回值的類型是由 決定。A. return語句中的表達(dá)式類型B.調(diào)用函數(shù)的主調(diào)函數(shù)類型C.調(diào)用函數(shù)時(shí)臨時(shí)決定D.定義函數(shù)時(shí)所指定的函數(shù)類型10、設(shè)有如下函數(shù):fff(float

28、x) printf(“n”%d, x*x); 請問 fff 函數(shù)的返回值類型是。A.與參數(shù)x的類型相同 B.是void C.是int D.無法確定11、在C 語言程序中,下列說法正確的是。A.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套B.函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套C.函數(shù)的定義和調(diào)用都不可以嵌套D.函數(shù)的定義和調(diào)用都可以嵌套12、下述對 C 語言字符數(shù)組的描述中錯(cuò)誤的是。A.字符數(shù)組可以存放字符串B.字符數(shù)組中的字符串可以整體輸入、輸出C.可以在賦值語句中通過賦值運(yùn)算符“列字符數(shù)組整體賦值D.不可以用算術(shù)運(yùn)算符對字符數(shù)組中的字符串進(jìn)行運(yùn)算13、以下敘述正確的是。A do_whi

29、le 語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替B do_while 語句構(gòu)成的循環(huán)只能用 break 語句退出C.用do_while語句構(gòu)成循環(huán)時(shí),只有在 while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)D.用do_while語句構(gòu)成循環(huán)時(shí),只有在 while后的表達(dá)式為零時(shí)結(jié)束循環(huán)14、( )是不正確的 C 語言賦值語句。A x=1, y=2 ; B x+ ; C x=y=5 ; D y=int(x) ;15、若有如下說明,則 的敘述是正確的。struct st int a;int b2;a;A.結(jié)構(gòu)體變量a與結(jié)構(gòu)體成員a同名,定義是非法的B 程序只有在執(zhí)行到該定義時(shí)才為結(jié)構(gòu)體st 分配存儲(chǔ)單元C.

30、程序運(yùn)行時(shí)為結(jié)構(gòu)體變量a分配6個(gè)字節(jié)存儲(chǔ)單元D.不能將結(jié)構(gòu)體類型說明與變量定義緊湊寫在一起二、 判斷題( 10 個(gè)小題,每小題 1 分,共 10 分):1、C語言是計(jì)算機(jī)高級語言。() TOC o 1-5 h z 2、 C 語言中用非零表示邏輯值 “真”。()3、表達(dá)式+3/5 的計(jì)算結(jié)果是。( )4、能夠?qū)崿F(xiàn)局部翻轉(zhuǎn)(0 變 1, 1 變 0)的位運(yùn)算是求反。()5、若有以下定義:double w10 ;則 w 數(shù)組元素下標(biāo)的上界是9 。()C 語言中的簡單數(shù)據(jù)類型只有整型、實(shí)型兩種。( )C 語言源程序的基本單位是函數(shù)。( )8、設(shè)有語句char a= 72 ;則變量 a 聲明不合法。(

31、)printf(%dn,strlen(n123); 的輸出結(jié)果是7。()10、用在循環(huán)結(jié)構(gòu)中,可以結(jié)束本次循環(huán)的語句是continue 。()填空題( 9 個(gè)小題,每空2 分,共 20 分):1、C語言源程序文件的擴(kuò)展名是。2、程序設(shè)計(jì)的三種基本結(jié)構(gòu)是順序結(jié)構(gòu)、 、 。3、設(shè)ch是char型變量,其值為 A,且有表達(dá)式:ch= (ch= A &ch= ZCh+32) : ch,該表達(dá)式的值 為 。4、調(diào)用 C 語言對字符串處理的庫函數(shù)時(shí),在 #include 命令行中應(yīng)包含的頭文件是5、終止switch 語句執(zhí)行的語句是。6、用數(shù)組名作為函數(shù)參數(shù)是地址傳遞方式。地址傳遞是 (單向 / 雙向)傳

32、遞。7、在 C 語言中,所謂 “指針 ”就是 。8、 C 程序的 main 函數(shù)是否允許有參數(shù)。/否)。9、文件打開時(shí)使用的函數(shù)是 。讀下面程序,從選擇項(xiàng)選出相應(yīng)執(zhí)行結(jié)果(每小題 4 分,共 20 分):main()char a=I am a boy.,b20,*p1,*p2;int i;p1=a;p2=b;for(;*p1!=0;p1+,p2+)*p2=*p1;*p2=0;printf(string b is:);for(i=0;bi!=0;i+)printf(%c,bi);執(zhí)行結(jié)果是( )main( ) int a=0,i;for(i=1;i5;i+) switch(i) case 0:c

33、ase 3: a+=2;a+=3;default: a+=5;main( )printf(%dn,a);執(zhí)行結(jié)果是( )#define N 2#define M N+1main( ) int i;for(i=1;i=M;i+);printf(%dn,i);執(zhí)行結(jié)果是( )main( ) int a =2,4,6,8,10;int y=1,*p,x;p=&a1;for(x=0;x3;x+)y+=*(p+x);printf(%dn,y);執(zhí)行結(jié)果是( )#define MIN(x,y) (x)(y)(x):(y) int i,j,k;i=10; j=15; k=10*MIN(i,j);printf

34、(%dn,k);執(zhí)行結(jié)果是( )程序選擇項(xiàng):A 31 b is: I am a boy. C 100 E 19五、 程序填空題( 3 個(gè)小題,每空2 分,共 20 分):(根據(jù)程序要求,將程序補(bǔ)充完整,每空只能填寫一條語句)1、求1+2+1006勺和main( )int i, _ _;i=1;do sum=sum+i;_;while(_ _);printf(%d,sum);2、求100200 間的全部素?cái)?shù)。# include main( )int m,k,i,n=0;for(m=101; _ _;m=m+2) k=sqrt(m);for (i=2;i=k+1)printf(%d,m);_ _;

35、if(n%10=0) printf(n);printf (n);3、用起泡法對10 個(gè)輸入數(shù)排序(從小到大)。main( )int a11;int_ _;printf(input 10 numbers :n);for (i=1;i11;i+)scanf(%d,_);printf(n);for(j=1;jai+1)t=ai;ai=ai+1; _ _; printf(the sorted numbers :n);for(i=1;i11;i+) printf(%d,ai);第三套試題答案一、選擇題( 15 個(gè)小題,每小題 2 分,共 30 分):1、C2、A 3、D 4、A 5、 B6、D7、D 8

36、、A 9 、D 10、 C11、 A 12、 C 13、 D 14、 D 15、 C二、判斷題( 10 個(gè)小題,每小題 1 分,共 10 分):1、V 2 V 3X4X5,6、X 7 V 8X9X 10 V三、填空題( 9 個(gè)小題,每空2 分,共 20 分):1、 .c 或 c 2、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu)3、 a 4、5、 break 6 、雙向7、地址 8 、是fopen四、讀下面程序,從選擇項(xiàng)選出相應(yīng)執(zhí)行結(jié)果(每小題 4 分,共 20 分):B 2、 D 3、 E 4、 A 5、 C五、程序填空題( 3 個(gè)小題,每空2 分,共 20 分): sum=0 或 sum i+ i=100m=200b

37、reakn=n+1i,j,t&aii=10 -jai+1=t第四套試題一、選擇題( 20 個(gè)小題,每小題 2 分,共 40 分):1、以下不正確的 C 語言標(biāo)識(shí)符是。A ABC B abc C a_bc D2、設(shè)a, b和c都是int型變量,且a=3, b=4, c=5,則下面的表達(dá)式中,值為 0的表達(dá)式是。A a & ba=Bb C a|b+c&b-c D !(ab)&!c|1)3、若有以下定義和語句:char c1= b ,c;2= eprintf(dn%c,c21,c2- a +;則輸出結(jié)果是 。A 2, M B 3, EC. 2, e D.輸入項(xiàng)與對應(yīng)的格式控制不一致,輸出結(jié)果不確定4

38、、當(dāng)運(yùn)行以下程序時(shí),在鍵盤上從第一列開始輸入10 (此處弋表Enter),則程序的輸出結(jié)果是。main( ) int a ; float b,c ;scanf( “ %2d%3f%4”f ,&a,&b,;&c)printf(n” ,a,b,c;)printf(n” ,a,b,c;)A a=98,b=765,c=4321 B a=10,b=432,c=8765C a=98,b=,c= D a=98,b=,c=5、設(shè)有如下函數(shù)定義:int f(char *s) char *p=s ;while(*p!= 0 ) p+;+return (p-s) ;如果在主程序中用下面的語句調(diào)用上述函數(shù),則輸出結(jié)果

39、為printf(“ n%”d ,f(“ goodbye; ! ” )A 3 B 6 C 8 D 06、以下程序的輸出結(jié)果是。main( ) int w=4,x=3,y=2,z=1 ;printf(“ n%”d ,(wxw:zyz:x);)A 1 B 2 C 3 D 47、以下程序段的輸出結(jié)果是。int k,j,s;for(k=2 ; k6; k+,k+) s=1;for(j=k ; j6; j+) s+=j;printf(“ n%”d ,s;)printf(“ n%”d ,s;)A 9 B 1 C 11 D 108、以下敘述正確的是。A do_while 語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)

40、來代替B do_while 語句構(gòu)成的循環(huán)只能用 break 語句退出C.用do_while語句構(gòu)成循環(huán)時(shí),只有在 while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)D.用do_while語句構(gòu)成循環(huán)時(shí),只有在 while后的表達(dá)式為零時(shí)結(jié)束循環(huán)9、以下函數(shù)調(diào)用語句中,含有的實(shí)參個(gè)數(shù)是。func(exp1,exp2),(exp3,exp4,exp5) ;A 1 B 2 C 4 D 510、以下程序的輸出結(jié)果是。double f(int n) int i;double s= ;for(i=1 ; i=n; i+) s+=i;return s ;main( ) int i,m=3;float a= ;for(i

41、=0 ; im; i+) a+=f(i);printf(“n%” f ,a;)AB C D 11、以下程序段的輸出結(jié)果是。int i,j,m=0 ;for(i=1 ; i=15; i+=4)for(j=3 ; j=19; j+=4) m+;printf(“ n%”d ,m;)A 12 B 15 C 20 D 2512、以下程序中若第一個(gè)printf 語句輸出的是194 ,則第二個(gè)printf 語句輸出結(jié)果是。main( ) int a =1,2,3,4,5,6,7,8,9,10,*p ;p=a;printf(“ n%”x ,p;)printf(“ n%”x ,p+9;)A 212 B 204

42、C 1a4 D 1a613、若有定義:int a =0,1,2,3,4,5,6,7,8,9,*p=a,i ;其中0&i哆則對a數(shù)組元素的引用不正確的是A. ap-a B. *(&ai) C. pi D. *(*(a+i)14、以下程序的輸出結(jié)果是。main( ) int aa33=2,4,6,i,*p=&aa00 ;for(i=0 ; i2; i+) if(i=0) aaii+1=*p+1 ;else +p;printf(“ %d” ; ,*p)printf(n“”) ;A 23 B 26 C 33 D 3615、執(zhí)行下列程序后, y 的值是main( ) int a =2,4,6,8,10

43、;int y=1,*p,x ;p=&a1 ;for(x=0 ; x=&b0) putchar(*chp) ;putchar( n) ;A. Goodbye B. gOODBYE C 無任何輸出D. eybdooG18、若有如下說明,則 的敘述是正確的。struct st int a;int b2 ;a;A.結(jié)構(gòu)體變量a與結(jié)構(gòu)體成員a同名,定義是非法的B 程序只有在執(zhí)行到該定義時(shí)才為結(jié)構(gòu)體st 分配存儲(chǔ)單元C.程序運(yùn)行時(shí)為結(jié)構(gòu)體變量a分配6個(gè)字節(jié)存儲(chǔ)單元D.不能將結(jié)構(gòu)體類型說明與變量定義緊湊寫在一起19、設(shè)有如下定義: struct std int a ;float b ;data ,*p ;若

44、有 p=&data ;則對 data 中的成員變量 a 的正確引用是_A (*p). B (*p).a C p- D20、以下程序的輸出結(jié)果是。main( ) char x=040;printf(“ n%”d ,x=x1;)A 100 B 160 C 120 D 64二、填空題( 10 個(gè)小題,每小題 2 分,共 20 分):1、若 a 是 int 型變量,則執(zhí)行表達(dá)式a=25/3%3 后, a 的值為 。2、 C 語言中用 表示邏輯值 “真”。3、用在循環(huán)結(jié)構(gòu)中,可以結(jié)束本次循環(huán)的語句是。4、用數(shù)組名作為函數(shù)參數(shù)是地址傳遞方式。地址傳遞是(單向 / 雙向)傳遞。5、在二維數(shù)組初始化時(shí),可以省

45、略數(shù)組的 (行下標(biāo) / 列下標(biāo)),系統(tǒng)會(huì)根據(jù)初值的個(gè)數(shù),算出該下標(biāo)的大小。6、若輸入字符A在以下while語句執(zhí)行后ch的值為。while(ch=getchar( )=; A) TOC o 1-5 h z 7、所謂 “指針” ,就是 。8、設(shè)有宏定義: #define MUL(z) (z)*(z) ,則執(zhí)行以下語句后,輸出結(jié)果為。printf(“n%”d ,MUL(1+2)+3;)9、若有定義和語句: char str =“ ABCD” ;,*p=strprintf(“ n%”d ,*(p+4);) 則輸出結(jié)果是。10、能夠?qū)崿F(xiàn)局部翻轉(zhuǎn)(0 變 1, 1 變 0)的位運(yùn)算是。三、讀下面程序,寫

46、出執(zhí)行結(jié)果( 4 個(gè)小題,每小題 5 分,共 20 分):1、若運(yùn)行以下程序時(shí),從第一列開始輸入數(shù)據(jù):2473 ( 弋表Enter),寫出程序的執(zhí)行結(jié)果。#include“,main( ) char c;while(c=getchar( )!= n)switch(c- 2) case 0: putchar(c+4) ;: putchar(c+4) ; break ;: putchar(c+3) ;default : putchar(c+2) ; break;printf( n“”) ;main( ) int x=2,y=3,z=0;try(x,y,z);printf(“ (2)x=%d,y=%

47、d,z=n%”d,x,y,z;)try(int x,int y,int z) z=x+y; x=x*x ; y=y*y ;printf(“ (1)x=%d,y=%d,z=n%”d,x,y,z;)#include “”#includemain( ) char *p1=“ abc” ,*p2= “ ABC” ,str5;0=“ xyzstrcpy(str+2,strcat(p1,p2) ;printf(“n%”s ,str;)#include “”#define NUM 8void invert(int *a,int n) ;main( ) int aNUM=10,20,30,40,50,60,7

48、0,80,i ;invert(a,NUM) ;for(i=0 ; iNUM ; i+)printf( “ %4d” ;,ai)printf(n“”) ;void invert(int *a,int n) int i,j,t ;i=0; j=n-1;while(ij) t=ai ; ai=aj ; aj=t ;i+; j- ;四、編程題( 2 個(gè)小題,每小題 10 分,共 20 分):int m;int m;1、編寫程序,計(jì)算如下公式的值:t=1-1/(2*2)-1/(3*3)-1/(m*m)例如,若m=5,則應(yīng)輸出。要求:利用 scanf 函數(shù)輸入 m 的值。利用子函數(shù)形式, m 充當(dāng)參數(shù),不

49、能只利用 main 函數(shù)形式實(shí)現(xiàn)。2、編寫程序,從輸入的10 個(gè)字符串中通過比較,找出最小和最大的字符串進(jìn)行輸出。要求:利用二維字符數(shù)組。利用 gets 函數(shù)進(jìn)行輸入, puts 函數(shù)進(jìn)行輸出。第四套試題答案一、選擇題(20 個(gè)小題,每小題2 分,共40 分):D 2、 D 3、 B 4、 C 5、 C 6、 A 7、 D 8、 D 9、 B 10、 AC 12、 D 13、 D 14、 A 15、 C 16、 B 17、 D 18、 C 19、 B 20、 D二、填空題(10 個(gè)小題,每小題2 分,共20 分):1、 2 2、非零值 3、 continue 4、雙向 5、行下標(biāo)6、1 7、地

50、址 8、12 9、0 10、人(異或)三、讀下面程序,寫出執(zhí)行結(jié)果( 4 個(gè)小題,每小題 5 分,共 20 分):668977(1)x=4,y=9,z=5(2)x=2,y=3,z=0 xyabcABC80 70 60 50 40 30 20 10四、編程題( 2 個(gè)小題,每小題 10 分,共 20 分):main( ) float fun(int m),t ;scanf( “ %d” ,&; m) t=fun(m) ;printf(“ t=n%” f ,t;)float fun(int m) float t=1,s ;int i ;for(i=2 ; i=m; i+) s=(i*i) ;t=t

51、-s;return t ;#include “”#include “”main( ) char str1020,s20 ;int i ;for(i=0 ; i10; i+)gets(stri);for(i=1 ; i0) strcpy(s,str0) ;strcpy(str0,stri) ;strcpy(stri,s) ;for(i=0 ; i0) strcpy(s,stri) ;strcpy(stri,str9) ;strcpy(str9,s) ;puts(str0) ;puts(str9) ;第五套試題一、單項(xiàng)選擇題( 30 個(gè)小題,每題 2 分,共 60 分): TOC o 1-5 h

52、z 1一個(gè)C 語言程序的執(zhí)行是從。A. main函數(shù)開始,直到 main函數(shù)結(jié)束B.第一個(gè)函數(shù)開始,直到最后一個(gè)函數(shù)結(jié)束C.第一個(gè)函數(shù)開始,直到最后一個(gè)語句結(jié)束D. main函數(shù)開始,直到最后一個(gè)函數(shù)結(jié)束2.設(shè)ch是char型變量,其值為 A且有表達(dá)式:ch= (ch= A & ch=(h+32) : ch,該表達(dá)式的 值為 。A A B a C Z D z3在C 語言中,合法的字符常量是。A084 B x43 C ab“D0”4.當(dāng)運(yùn)行以下程序時(shí),在鍵盤上從第一列開始輸入10 (此處弋表Enter),則程序的輸出結(jié)果是main( ) int a ; float b,c ;scanf( “ %

53、2d%3f%4”f ,&a,&b,;&c)printf( “n” ,a,b,c;)A a=98,b=765,c=4321 B a=10,b=432,c=8765C a=98,b=,c= D a=98,b=,c=5以下敘述正確的是。A do_while 語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替B do_while 語句構(gòu)成的循環(huán)只能用 break 語句退出C.用do_while語句構(gòu)成循環(huán)時(shí),只有在 while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)D.用do_while語句構(gòu)成循環(huán)時(shí),只有在 while后的表達(dá)式為零時(shí)結(jié)束循環(huán)6以下的序的輸出結(jié)果是。main( ) int x=10,y=3 ; prin

54、tf(“ n%”d ,y=x/y;) A. 0 B. 1 C. 3 D.不確定的值7以下程序段的輸出結(jié)果是。int k,j,s;for(k=2 ; k6; k+, k+) s=1;for(j=k ; j6; j+) s+=j;printf(“ n%”d ,s;)A 9 B 1 C 11 D 108設(shè)有如下函數(shù):ggg(float *x) int a=2,i; int a=2,i; TOC o 1-5 h z printf(“n”%d,x*); 則函數(shù)的類型是。A.與參數(shù)x的類型相同 B. void C. int D.無法確定 C 語言源程序的基本單位是 。A.過程B.函數(shù) C.子程序 D.標(biāo)識(shí)

55、符以下程序的輸出結(jié)果是。double f(int n) int i ; double s=;for(i=1 ; i=n; i+) s+=i;return s ;main( ) int i,m=3 ; float a= ;for(i=0 ; im; i+) a+=f(i);printf(“n%”, fa) ;AB CD 以下程序的輸出結(jié)果是。f(int a) int b ; static int c=3 ;b+; c+;return(a+b+c) ;main( )for(i=0 ; i3; i+) printf(“n”%,df(a);)A 7 B 7 C 7 D 78 9 10 79 11 13

56、 712若a、 b、 c1、 c2、 x、 y 均是整型變量,正確的 switch 語句是 A switch(a+b) ; case 1 : y=a+b; break ;case 3 : y=a-b; break ;B switch(a*a+b*b) case 3 ;case 1 : y=a+b; break ;case 3 : y=a-b; break ;C switch a case c1 : y=a-b; break ;case c2 : y=a*b; break ;default : x=a+b ;D switch(a-b) default : y=a*b ; break ;case

57、3 : case 4 : x=a+b; break ;case 10 : case 11 : y=a+b; break ;.在C語言中,以下所列的各函數(shù)首部正確的是A void play(var a : Integer,var b : Integer) B void play(int a,b)C void play(int a,int b) D void play(a As Integer,b As Integer).設(shè)x和y均為int型變量,則以下語句:x+=y; y=x-y; x-=y;的功能是 。A.把x和y按從大到小排序 B.把x和y按從小到大排序C.無確定結(jié)果 D.交換x和y中的值.

58、在執(zhí)行以下程序時(shí),如果從鍵盤上輸入:ABCdef,則輸出為。#include main( ) char ch;while(ch=getchar( )!= n) if(ch= A & ch= a & ch= -3z2 ; ) ch=chprintf( “ %c”; ,ch)A ABCdef B abcDEF C abc D DEF下列程序的運(yùn)行結(jié)果是。main( ) int i,j,x=0 ;for(i=0 ; i2; i+) x+;for(j=0 ; j=y)&(y=z) B (x=y)AND(y=z) C (x=y=z) D (x=y)&(y=z)設(shè)有語句char a= 72 ;則變量 a。A.包含1個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符D.說明不合法下面程序的輸出結(jié)果是。 #include “”main( ) int num=0 ;while(num=2) num+;printf(“ n%”d ,num;)A 1 B2 C 1 D 12 2 23 34下面程序的輸出結(jié)果是。void fun(int *x,int *y) printf(%d %d” ,;*x,*yx)=3 ; *

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論