青島科技大學(xué)c語(yǔ)言試題庫(kù).doc

上傳人:小** 文檔編號(hào):13285220 上傳時(shí)間:2020-06-11 格式:DOC 頁(yè)數(shù):38 大?。?02.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
青島科技大學(xué)c語(yǔ)言試題庫(kù).doc_第1頁(yè)
第1頁(yè) / 共38頁(yè)
青島科技大學(xué)c語(yǔ)言試題庫(kù).doc_第2頁(yè)
第2頁(yè) / 共38頁(yè)
青島科技大學(xué)c語(yǔ)言試題庫(kù).doc_第3頁(yè)
第3頁(yè) / 共38頁(yè)

下載文檔到電腦,查找使用更方便

5 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《青島科技大學(xué)c語(yǔ)言試題庫(kù).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《青島科技大學(xué)c語(yǔ)言試題庫(kù).doc(38頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

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

2、.8 D.9 4.讀以下程序段,判斷a的值為_____。 int *p,a=10,b=1; p=&a; a=*p+b; A.12 B.10 C.11 D.編譯出錯(cuò) 5.根據(jù)以下說(shuō)明語(yǔ)句,則下面的敘述中不正確的是_____。 struct student { int num; char name[10]; 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為字符型,則執(zhí)行語(yǔ)句c

3、h1=‘A’+‘5’-‘2’;后,ch1中的值是_____。 A.D B.67 C.一個(gè)不確定的值 D.C 7.以下哪種方法不能對(duì)一維數(shù)組進(jìn)行正確的初始化_____。 A.int a[ ]={1,2,3}; B.int a[5]={ }; C.int a[5]=(1,2,3,4,5); D.int a[ ]={2,3,4*5,6}; 8.已正確定義字符變量ch1,下面能正確賦值的是_____。 A.ch1=“a”; B.ch1=‘a(chǎn)’; C.ch1=“C語(yǔ)言程序設(shè)計(jì)”; D.ch1=‘ C語(yǔ)言程序設(shè)計(jì)’; 9.逗號(hào)表達(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+0.5)/100.0 B.n=n*100+0.5/100.0 C.m=n*100+0.5,n=m/100.0 D.n=(n/100+0.5)*100.0 11.設(shè)i=2,j=3,則表達(dá)式(i++)*(++j)的值為_____。 A.6 B.8 C.9 D.12 12.關(guān)于以下程序段,說(shuō)法正確的是_____。 x=-1; do { x=x*x; }while(!x); A.死循環(huán) B.循環(huán)體執(zhí)行

5、二次 C.循環(huán)體執(zhí)行一次 D.有語(yǔ)法錯(cuò)誤 13.若有下列定義:char c[5],*p=c; 則對(duì)c數(shù)組元素地址的正確引用是_____。 A.p+2 B.&c[5] C.c++ D.&c 14.當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是_____。 A.?dāng)?shù)組的長(zhǎng)度 B.?dāng)?shù)組每個(gè)元素中的值 C.?dāng)?shù)組每一個(gè)元素的地址 D.?dāng)?shù)組的首地址 15.文件中利用fopen函數(shù)打開文件,如果以只讀方式打開二進(jìn)制文件,則以下打開方式正確的是_____。 A.r+ B.rb C.wb D.a(chǎn)b 二、填空題(5個(gè)小題,每題2分,共10分): 1.若有int i=1,j=7,a; 執(zhí)行語(yǔ)句 a

6、=i+(j%4!=0); 后,a的值是_______。 2.執(zhí)行以下程序后,運(yùn)行結(jié)果是_______。 #include void main( ) { int a,b; for(a=1,b=1;a<=100;a++) { if(b>=10) break; if(b%3==1) { b+=3; continue; } } printf(“%d\n”,a);} 3.源程序中用到了strcat函數(shù),需要包含的頭文件(即庫(kù)文件)為_______。 4.執(zhí)行以下程序后,運(yùn)行結(jié)果是_______。 #include void main( )

7、{ int a=2; float n=5.888,b; b=a+(int)n; printf(“%f\n”,b);} 5.語(yǔ)句 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;

8、} case 2: a++; b++; break;} printf(“a=%d,b=%d\n”,a,b);} 2.在運(yùn)行以下程序時(shí),輸入“Turbo C++ 3.0”,寫出程序的運(yùn)行結(jié)果。 #include void main( ) { char str[40]; 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=%d\

9、n”,i,j,y,i+j+y); i*=2;} void 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(a int a=5; int b=7;

10、 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); printf(“a+b=%d\n”,c); } 四、程序填空題,將下面程序補(bǔ)充完整(10個(gè)填空,每空2分,共20分): 1.輸出九九表。 #include “stdio.h” void main( ) { int i,j; for(i=1;i<=9;i++) {for(j=1; ① ;j++) printf(“%3d*%d=%2d”,i,j,i*j); ② ; } }

11、2.利用函數(shù)形式,求x數(shù)組所有元素的平均值并輸出。 #include “stdio.h” ① ; void main( ) { float avg,x[10]={1.2,3.6,4.5,5.1,6.9,7,8,9,10.5,11.3}; avg=average(x); printf(“The average is %5.2f\n”,avg); } float average(float a[10]) { int i; float sum=0; for(i=0;i<10;i++) sum=sum+a[i]; ② ; } 3.編寫一個(gè)計(jì)算字符串長(zhǎng)度的函數(shù)length。

12、 #include “stdio.h” void main( ) { char str[20]; int m; int length(char *p); printf("Input a string:\n"); gets(str); ① ; printf("\n the length of str is%d ",m); } int length(char *p) { int n=0; while( ② ) { n++; p++; } return n;} 4.輸入10個(gè)整數(shù),按每行3個(gè)數(shù)輸出這些整數(shù),最后輸出10個(gè)整數(shù)的平均值。 #include “stdio.h

13、” void main( ) { int i,n=10,a[10]; float avg=0; for(i=0;i

14、char str[30]=“Welcome to C Language”,*cp=str; while(*cp) { if(*cp>=‘A’&&*cp<=‘Z’) ① ; else if(*cp>=‘a(chǎn)’&&*cp<=‘z’) *cp=*cp-32; ② ; } 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é)生成績(jī)可分為五分制與百分制,編程將百分制轉(zhuǎn)換為五分制輸出。(5分) 3.編寫排序函數(shù)sort(int a[ ]),實(shí)現(xiàn)對(duì)數(shù)組a中的

15、元素進(jìn)行排序,并利用該函數(shù),從鍵盤輸入若干個(gè)數(shù)(如10個(gè))將其按升序排列。(10分) 第一套試題 一、單項(xiàng)選擇題(15個(gè)小題,每題2分,共30分): 1-5:AABCD 6-10:ACBBC 11-15:BCADB 二、填空題(5個(gè)小題,每題2分,共10分): 1.2 2.4 3.string.h 4.7.000000 5.a(chǎn)=3,b=4 三、程序分析題,寫出程序的運(yùn)行結(jié)果(5個(gè)小題,每題4分,共20分): 1.a(chǎn)=2,b=1 2.Turbo 3.5+4+1=10 4.10,20 5.a(chǎn)+b=9 10+4+2=16 四、程序填空題,將下面程序補(bǔ)充完整(10個(gè)填空,每空2分,

16、共20分): 1.①j<=i ②printf(“\n”) 2.①float average(float a[10]) 或 float average(float a[ ]) ②return (sum/10) 3.①m=length(str) ②*p!=‘\0’ 或 *p 4.①i%3==0 ②avg+=a[i] 或 avg=avg+a[i] 5.①*cp=*cp+32或*cp=*cp+‘a(chǎn)’-‘A’ ②cp++ 五、程序設(shè)計(jì)題(3個(gè)小題,共20分): 1.#include “stdio.h” void main( ) { int a,b,c,t; printf("inpu

17、t a,b and c:"); scanf("%d%d%d",&a,&b,&c); ……1分 if(a>b) { t=a; a=b; b=t; } ……3分 if(a>c) { t=a; a=c; c=t; } if(b>c) { t=b; b=c; c=t; } printf("%d%d%d",a,b,c); ……1分 } 2.#include “stdio.h” void main( ) { float score; printf(“Input a score:”); scanf(“%f”,&score); while(score>100||score<0) ……2

18、分 { printf(“Error! Please input again:\n”); scanf(“%f”,&score); } if(score>=90) printf(“A\n”); ……3分 else if(score>=80) printf(“B\n”); else if(score>=70) printf(“C\n”); else if(score>=60) printf(“D\n”); else printf(“E\n”); } 3.#include "stdio.h" #define N 10 void sort(int a[ ]); ……1分 voi

19、d main( ) { int a[N],i,j; printf("input %d numbers:\n",N); for(i=0;ia[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=tem

20、p; } } 第二套試題 一、 單項(xiàng)選擇題(15個(gè)小題,每小題2分,共30分): 1.在一個(gè)源程序中,main函數(shù)的位置_____。 A.必須在最前面 B.必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面 C.沒有具體要求 D.必須在最后 2.正確的用戶自定義標(biāo)識(shí)符是_____。 A.a(chǎn)=2 B.a(chǎn)+b C.name D.default 3.以下敘述中正確的是_____。 A.break語(yǔ)句只能用于switch語(yǔ)句體中 B.continue語(yǔ)句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán) C.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi) D.在循環(huán)體內(nèi)使用break語(yǔ)句和c

21、ontinue語(yǔ)句的作用相同 4.C語(yǔ)言中最簡(jiǎn)單的數(shù)據(jù)類型包括_____。 A.整型、實(shí)型、邏輯型 B.整型、實(shí)型、字符型 C.整型、字符型、邏輯型 D.字符型、實(shí)型、邏輯型 5. 設(shè)ch是char型變量,其值為‘A’,且有表達(dá)式ch=(ch>=‘A’&&ch<=‘Z’)?(ch+32):ch,該表達(dá)式的值為_____。 A.A B.a(chǎn) C.Z D.z 6. 以下敘述正確的是_____。 A.用do-while語(yǔ)句構(gòu)成的循環(huán)不能用其它語(yǔ)句構(gòu)成的循環(huán)來(lái)代替 B.用do-while語(yǔ)句構(gòu)成的循環(huán)只能用break語(yǔ)句退出 C.用do-while語(yǔ)句構(gòu)成循環(huán)時(shí),當(dāng)while后的表達(dá)式

22、成立時(shí)結(jié)束循環(huán) D.用do-while語(yǔ)句構(gòu)成循環(huán)時(shí),當(dāng)while后的表達(dá)式不成立時(shí)結(jié)束循環(huán) 7.為了判斷兩個(gè)字符串s1和s2是否相等,應(yīng)當(dāng)使用_____。 A.if(s1==s2) B.if(s1=s2) C.if(strcmp(s1,s2))真 D.if(strcmp(s1,s2)==0) 假 8.當(dāng)把以下四個(gè)表達(dá)式用作if語(yǔ)句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與其它三個(gè)選項(xiàng)含義不同,這個(gè)選項(xiàng)是_____。 A.k%2 (k/2) B.k%2==1 C.(k%2)!=0 D.!k%2==1 9.下列是關(guān)于數(shù)組的敘述,不正確的是_____。 A.在定義數(shù)組時(shí),數(shù)組名前的類型是指明數(shù)組

23、各元素的類型 B.?dāng)?shù)組各元素的類型是相同的,而且是有序的 C.在引用數(shù)組元素時(shí),數(shù)組元素的下標(biāo)表達(dá)式必須是常量整型表達(dá)式 D.對(duì)整型數(shù)組來(lái)說(shuō),未初始化時(shí),各數(shù)組元素的值是不確定的 10.有字符數(shù)組x[50],y[50],則正確的輸出語(yǔ)句是_____。 A.printf(″%s″,″%s″,x,y); B.puts(x);puts(y); C.putchar(x,y); D.puts(x,y); 11.以下對(duì)一維數(shù)組a進(jìn)行不正確初始化的是_____。 A.int x[5]={}; B.int x[5]=(0,0,0); C.int x[ ]={0}; D.int x[5]={2

24、*3}; 12.下列敘述中錯(cuò)誤的是_____。 A.主函數(shù)中定義的變量在整個(gè)程序中都是有效的 B.在其他函數(shù)中定義的變量,沒有特殊聲明在主函數(shù)中不能使用 C.形式參數(shù)也是局部變量 D.復(fù)合語(yǔ)句中定義的變量只在該復(fù)合語(yǔ)句中有效 13.設(shè)有函數(shù)原型、一維數(shù)組和變量定義如下: 函數(shù)原型 void fun(int x[ ],int n); 數(shù)組定義 int a[4]={1,2,3,4}; float b[4]={1.0,2.0,3.0,4.0}; 變量定義 int m=4,value; 下列函數(shù)調(diào)用中,正確的是_____。(函數(shù)返回值?) A.fun(a,m); B.value=

25、fun(a[1],m); C.value=fun(a,4); D.fun(b,m); 14.以下對(duì)指針定義合法的語(yǔ)句是_____。 A.int *p=&x=3; B.int y[5]={1,2,3,4,5},*p=&y; C.char ch[12]=″Hello World″,*c=ch; D.char *c,c=‘x’,c=&c; 15.以“只讀”方式打開文本文件aa.dat,下列語(yǔ)句中哪一個(gè)是正確的_____。 A.fp=fopen(″aa.dat″,″r+″); B.fp=fopen(″aa.dat″,″a″); C.fp=fopen(″aa.dat″,″wb″); D.f

26、p=fopen(″aa.dat″,″r″); 二、填空題(15個(gè)小題,每空1分,共15分): 1. 結(jié)構(gòu)化程序設(shè)計(jì)的三種基本程序結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和________。 2. 條件“30≤x≤80且x≠50”的C語(yǔ)言表達(dá)式是________。 3. C語(yǔ)言源程序文件的后綴是________。 4. 有如下定義:int m=1,n=1,x=3;則執(zhí)行語(yǔ)句:if(!n) x+=1;if(m) x-=2;后,x的值是________。 5. 執(zhí)行如下語(yǔ)句: int i=10; do { i=i+10;}while(i>20);后,i的值是________。 6. 若a、b、c

27、和d都是int型變量,則執(zhí)行表達(dá)式d=(a=2,b=4,c=a*b);后,d的值為________。 7. 在使用數(shù)組元素的過(guò)程中,C語(yǔ)言編譯系統(tǒng)________(是/否)檢查下標(biāo)“越界”。 8. 設(shè)m=4,n=7,表達(dá)式x=(m++)*(--n)的值是________。 9. 執(zhí)行如下語(yǔ)句:int k;k值不確定 for(k=0;k=1;k++); 則該循環(huán)執(zhí)行的次數(shù)是________。 10. 有如下定義:int x[5]={1,3,5,7,9},*p=&x[2];則執(zhí)行語(yǔ)句printf("%d",*p);的輸出結(jié)果是________。 11. 有如下結(jié)構(gòu)體定義: str

28、uct date { int year; int month; int day; }; struct worklist { char name[20]; char sex; struct date birthday; }person; 若對(duì)結(jié)構(gòu)體變量person的出生年份賦值為1990,則正確的賦值語(yǔ)句是________。 12. C語(yǔ)言提供的預(yù)處理命令有________、文件包含和條件編譯三種。 13.設(shè)有數(shù)組定義:char string[ ]= "Student",則數(shù)組所占的存儲(chǔ)空間為________個(gè) 字節(jié)。 14.指針變量只能存放內(nèi)存儲(chǔ)單元的______

29、__。 15.在C語(yǔ)言中,當(dāng)函數(shù)返回值的類型缺省時(shí),表示該函數(shù)返回值的類型是________。 三、寫出程序的運(yùn)行結(jié)果(5個(gè)小題,每小題4分,共20分): 1.#include "stdio.h" 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++;break; } printf(“a=%d,b=%d\n”,a,b); } 2.#include "stdio.h"

30、void f(int b[ ]) { int i; for(i=2;i<6;i++) b[i]*=2; } void main( ) { int a[10]={1,2,3,4,5,6,7,8,9,10}; f(a); for(i=0;i<10;i++) printf(“%d”,a[i]); } 3.#include "stdio.h" 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);

31、printf("a+b=%d\n",c); } 4. #include "stdio.h" int d=1; fun(int p) { static int d=5; d+=p; return (d); } void main( ) { int a=3; printf("%d\n",fun(a+fun(d))); } 5.#include "stdio.h" void main( ) { char ch[15]={“abcdefg”}; char c,*cp1,*cp2; int i,n=0; cp1=ch; cp2=ch; while(*cp2

32、!=‘\0’) { n++;cp2++;} cp2--; n=n/2; for(i=0;i

33、); for(i=0;i

34、N;j++) if( (2) ) r=j; if(r!=i) { temp=a[r]; a[r]=a[i]; a[i]=temp; } } printf("the array after sort:\n"); for(i=0;i

35、調(diào)用子函數(shù)average,分別求出主函數(shù)main中x和y數(shù)組的平均值并輸出。 #include "stdio.h" float average( (1) ) { int i; float sum=0; for(i=0;i

36、.2f\n",avg); avg=average(y,5); printf("The array y average is %5.2f\n",avg); } 5.將字符數(shù)組中大寫字符改為小寫字符,將小寫字符改為大寫字符。 #include "stdio.h" void main( ) { char str[30]=“I am a string”,*cp; (1) while(*cp) { if(*cp>=‘A’&&*cp<=‘Z’) *cp=*cp+32; else if(*cp1 >=‘a(chǎn)’&&*cp<=‘z’) *cp=*cp-32; else *cp=*c

37、p; (2) } puts(str); } 五、 程序設(shè)計(jì)題(2個(gè)小題,共15分): 1. 求1!-2!+3! -4!+ … -10!。(7分) 2. 編寫一個(gè)計(jì)算字符串長(zhǎng)度的函數(shù),模擬C的“string.h”函數(shù)庫(kù)內(nèi)的計(jì)算字符串長(zhǎng)度的函數(shù)strlen( )。(8分) 第二套試題答案 一、 單項(xiàng)選擇題(15個(gè)小題,每小題2分,共30分): 1-5 C C C B B 6-10 D D D C B 11-15 B A A C D 二、 填空題(15個(gè)小題,每空1分,共15分): 1. 循環(huán)結(jié)構(gòu) 2. (x>=30)&&(x<=80)&&(x!=50) 3.

38、.c 4. 1 5. 20 6. 8 7. 否 8. 24 9. 無(wú)限次 10. 5 11. person.birthday.year=1990 12. 宏定義 13. 8 14. 地址 15. int/整型 三、寫出程序的運(yùn)行結(jié)果(5個(gè)小題,每小題4分,共20分): 1. a=2,b=1 2. 1 2 6 8 10 12 7 8 9 10 3. a+b=9 4. 15 5. gfedcba 四、完善程序,在空白處填上相應(yīng)的語(yǔ)句內(nèi)容(5個(gè)小題,每小題4分,共20分): 1.(1)printf(“\n”); (2)avg=avg/n; 2.(1)r=i;

39、(2)a[j]

40、0!=%f\n",s); …………………… 1分 } 2. #include “stdio.h” int strlength(char *s); void main( ) { int n1,n2; char *list1=“See no evil,hear no evil”; char *list2=“blind and deaf?; n1=strlength(list1); n2=strlength(list2); puts(list1); printf(“The length of list1=%d\n”,n1); puts(list2); printf(“The

41、 length of list2=%d\n”,n2); } int strlength(char *s) { int n=0; while(*s!=‘\0’) { n++; s++; } return (n); } 第三套試題 一、 選擇題(15個(gè)小題,每小題2分,共30分): 1、C語(yǔ)言編譯程序是____。 A.C程序的機(jī)器語(yǔ)言版本 B.一組機(jī)器語(yǔ)言指令 C.將C源程序編譯成目標(biāo)程序的程序 D.由制造廠家提供的一套應(yīng)用軟件 2、在一個(gè)C語(yǔ)言的源程序中,( )。 A.必須有一個(gè)主函數(shù) B.可以有多個(gè)主函數(shù) C.必須有主函數(shù)和其它函數(shù) D.可以沒有主函數(shù) 3、以

42、下選項(xiàng)中不合法的用戶標(biāo)識(shí)符是____。 A.ABC B.a(chǎn)bc C.a(chǎn)_bc D.a(chǎn)b.c 4、C語(yǔ)言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是____。 A.% B./ C. ! D.* 5、若變量已正確說(shuō)明為int類型,要給a、b、c輸入數(shù)據(jù),以下正確的輸入語(yǔ)句是____。 A.read(a,b,c); B.scanf("%d,%d,%d",&a,&b,&c); C.scanf("%d%d%d",&a&b&c); D.scanf("%d%d%d",a,b,c); 6、為表示關(guān)系x≥y≥z,應(yīng)使用C語(yǔ)言表達(dá)式____。 A.(x>=y)&(y>=z) B.(x>=y)AND(y>=z)

43、 C.x>=y>=z D.(x>=y)&&(y>=z) 7、以下對(duì)二維數(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 a[2][3]={{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=* 9、C語(yǔ)言中函數(shù)返回值的類型是由_____決定。 A.return語(yǔ)句中的表達(dá)式類

44、型 B.調(diào)用函數(shù)的主調(diào)函數(shù)類型 C.調(diào)用函數(shù)時(shí)臨時(shí)決定 D.定義函數(shù)時(shí)所指定的函數(shù)類型 10、設(shè)有如下函數(shù): fff(float x) { printf(“%d\n” , x*x); } 請(qǐng)問(wèn)fff函數(shù)的返回值類型是____。 A.與參數(shù)x的類型相同 B.是void C.是int D.無(wú)法確定 11、在C語(yǔ)言程序中,下列說(shuō)法正確的是_____。 A.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套 B.函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套 C.函數(shù)的定義和調(diào)用都不可以嵌套 D.函數(shù)的定義和調(diào)用都可以嵌套 12、下述對(duì)C語(yǔ)言字符數(shù)組的描述中錯(cuò)誤的是_____。 A.字符

45、數(shù)組可以存放字符串 B.字符數(shù)組中的字符串可以整體輸入、輸出 C.可以在賦值語(yǔ)句中通過(guò)賦值運(yùn)算符“=”對(duì)字符數(shù)組整體賦值 D.不可以用算術(shù)運(yùn)算符對(duì)字符數(shù)組中的字符串進(jìn)行運(yùn)算 13、以下敘述正確的是_____。 A.do_while語(yǔ)句構(gòu)成的循環(huán)不能用其它語(yǔ)句構(gòu)成的循環(huán)來(lái)代替 B.do_while語(yǔ)句構(gòu)成的循環(huán)只能用break語(yǔ)句退出 C.用do_while語(yǔ)句構(gòu)成循環(huán)時(shí),只有在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán) D.用do_while語(yǔ)句構(gòu)成循環(huán)時(shí),只有在while后的表達(dá)式為零時(shí)結(jié)束循環(huán) 14、( )是不正確的C語(yǔ)言賦值語(yǔ)句。 A.x=1, y=2 ; B.x++ ;

46、C.x=y=5 ; D.y=int(x) ; 15、若有如下說(shuō)明,則_____的敘述是正確的。 struct st { int a; int b[2]; }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)體類型說(shuō)明與變量定義緊湊寫在一起 二、 判斷題(10個(gè)小題,每小題1分,共10分): 1、C語(yǔ)言是計(jì)算機(jī)高級(jí)語(yǔ)言。( ) 2、C語(yǔ)言中用非零表示邏輯值“真”。( ) 3、表達(dá)式3.5+3/5的計(jì)算結(jié)果是4.1。( ) 4、能夠?qū)崿F(xiàn)局部翻轉(zhuǎn)(

47、0變1,1變0)的位運(yùn)算是求反。( ) 5、若有以下定義:double w[10];則w數(shù)組元素下標(biāo)的上界是9。( ) 6、C語(yǔ)言中的簡(jiǎn)單數(shù)據(jù)類型只有整型、實(shí)型兩種。( ) 7、C語(yǔ)言源程序的基本單位是函數(shù)。( ) 8、設(shè)有語(yǔ)句char a=‘\72’; 則變量a聲明不合法。( ) 9、printf("%d\n",strlen("\n123\\"));的輸出結(jié)果是7。( ) 10、用在循環(huán)結(jié)構(gòu)中,可以結(jié)束本次循環(huán)的語(yǔ)句是continue。( ) 三、 填空題(9個(gè)小題,每空2分,共20分): 1、C語(yǔ)言源程序文件的擴(kuò)展名是____。 2、程序設(shè)計(jì)的三種基本結(jié)構(gòu)是順序結(jié)構(gòu)、__

48、__、____。 3、設(shè)ch是char型變量,其值為A,且有表達(dá)式:ch=(ch>=‘A’&&ch<=‘Z’)?(ch+32):ch,該表達(dá)式的值為____。 4、調(diào)用C語(yǔ)言對(duì)字符串處理的庫(kù)函數(shù)時(shí),在#include命令行中應(yīng)包含的頭文件是______。 5、終止switch語(yǔ)句執(zhí)行的語(yǔ)句是______。 6、用數(shù)組名作為函數(shù)參數(shù)是地址傳遞方式。地址傳遞是______(單向/雙向)傳遞。 7、在C語(yǔ)言中,所謂“指針”就是______。 8、C程序的main函數(shù)是否允許有參數(shù)。____(是/否)。 9、文件打開時(shí)使用的函數(shù)是______。 四、 讀下面程序,從選擇項(xiàng)選出相應(yīng)執(zhí)行結(jié)

49、果(每小題4分,共20分): 1、main() {char a[]="I am a boy.",b[20],*p1,*p2; int i; p1=a;p2=b; for(;*p1!=\0;p1++,p2++) *p2=*p1; *p2=\0; printf("string b is:"); for(i=0;b[i]!=\0;i++) printf("%c",b[i]); } 執(zhí)行結(jié)果是( ) 2、main( ) { int a=0,i; for(i=1;i<5;i++) { switch(i) { case 0: case 3: a+=2; case 1

50、: case 2: a+=3; default: a+=5; } } printf("%d\n",a); } 執(zhí)行結(jié)果是( ) 3、#define N 2 #define M N+1 main( ) { int i; for(i=1;i<=M;i++); printf("%d\n",i); } 執(zhí)行結(jié)果是( ) 4、main( ) { int a[ ]={2,4,6,8,10}; int y=1,*p,x; p=&a[1]; for(x=0;x<3;x++) y+=*(p+x); printf("%d\n",y); } 執(zhí)行結(jié)果是( )

51、5、#define MIN(x,y) (x)<(y)?(x):(y) main( ) { int i,j,k; i=10; j=15; k=10*MIN(i,j); printf("%d\n",k); } 執(zhí)行結(jié)果是( ) 程序選擇項(xiàng): A.31 B.string b is:I am a boy. C.100 D.3 E.19 五、 程序填空題(3個(gè)小題,每空2分,共20分): (根據(jù)程序要求,將程序補(bǔ)充完整,每空只能填寫一條語(yǔ)句) 1、求1+2+…+100的和 main( ) { int i, __①___; i=1; do { sum=sum+i;

52、 __②___; }while(__③___); printf("%d",sum); } 2、求100~200間的全部素?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;i++) if (m%i==0) __⑤___; if (i>=k+1){printf("%d",m);__⑥___;} if(n%10==0) printf("\n"); } printf ("\n"); } 3、用起泡法對(duì)1

53、0個(gè)輸入數(shù)排序(從小到大)。 main( ) { int a[11]; int __⑦_(dá)__; printf("input 10 numbers :\n"); for (i=1;i<11;i++) scanf("%d",__⑧___); printf("\n"); for(j=1;j<=9;j++) for(i=1; __⑨___;i++)          if (a[i]>a[i+1]) {t=a[i];a[i]=a[i+1]; __⑩___;} printf("the sorted numbers :\n"); for(i=1;i<11;i++) p

54、rintf("%d",a[i]); } 第三套試題答案 一、選擇題(15個(gè)小題,每小題2分,共30分): 1、C 2、A 3、D 4、A 5、B 6、D 7、D 8、A 9、D 10、C 11、A 12、C 13、D 14、D 15、C 二、判斷題(10個(gè)小題,每小題1分,共10分): 1、√ 2、√ 3、 4、 5、√ 6、 7、√ 8、 9、 10、√ 三、填空題(9個(gè)小題,每空2分,共20分): 1、.c或c 2、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu) 3、a 4、string.h 5、break 6、雙向 7、地址 8、是 9、fopen 四、讀下面程序,從選擇項(xiàng)選

55、出相應(yīng)執(zhí)行結(jié)果(每小題4分,共20分): 1、B 2、D 3、E 4、A 5、C 五、程序填空題(3個(gè)小題,每空2分,共20分): ①sum=0或sum ②i++ ③i<=100 ④m<=200 ⑤break ⑥n=n+1 ⑦i,j,t ⑧&a[i] ⑨i<=10-j ⑩a[i+1]=t 第四套試題 一、選擇題(20個(gè)小題,每小題2分,共40分): 1、以下不正確的C語(yǔ)言標(biāo)識(shí)符是____。 A.ABC B.a(chǎn)bc C.a(chǎn)_bc D.a(chǎn)b.c 2、設(shè)a,b和c都是int型變量,且a=3,b=4,c=5,則下面的表達(dá)式中,值為0的表達(dá)式是____。 A.

56、‘a(chǎn)’&&‘b’ B.a(chǎn)<=b C.a(chǎn)||b+c&&b-c D.!((a(此處代表Enter),則程序的輸出結(jié)果是____。 main( ) { int a;float b,c; scanf(“%2d%3f%4f”,&a,&b,&c)

57、; printf(“\na=%d,b=%f,c=%f\n”,a,b,c); } A.a(chǎn)=98,b=765,c=4321 B.a(chǎn)=10,b=432,c=8765 C.a(chǎn)=98,b=765.000000,c=4321.000000 D.a(chǎn)=98,b=765.0,c=4321.0 5、設(shè)有如下函數(shù)定義:int f(char *s) { char *p=s; while(*p!=‘\0’) p++; return (p-s); } 如果在主程序中用下面的語(yǔ)句調(diào)用上述函數(shù),則輸出結(jié)果為____。 printf(“%d\n”,f(“goodbye!”)); A.3 B.6 C.8

58、D.0 6、以下程序的輸出結(jié)果是____。 main( ) { int w=4,x=3,y=2,z=1; printf(“%d\n”,(w

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

60、nt i,m=3; float a=0.0; for(i=0;i

61、int a[ ]={1,2,3,4,5,6,7,8,9,10},*p; p=a; printf(“%x\n”,p); printf(“%x\n”,p+9); } A.212 B.204 C.1a4 D.1a6 13、若有定義:int a[ ]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,則對(duì)a數(shù)組元素的引用不正確的是____。 A. a[p-a] B. *(&a[i]) C. p[i] D. *(*(a+i)) 14、以下程序的輸出結(jié)果是____。 main( ) { int aa[3][3]={{2},{4},{6}},i,*p=&aa[0]

62、[0]; for(i=0;i<2;i++) { if(i==0) aa[i][i+1]=*p+1; else ++p; printf(“%d”,*p); } printf(“\n”); } A.23 B.26 C.33 D.36 15、執(zhí)行下列程序后,y的值是____。 main( ) { int a[ ]={2,4,6,8,10}; int y=1,*p,x; p=&a[1]; for(x=0;x<3;x++) y+=*(p+x); printf(“%d\n”,y); } A.17 B.18 C.19 D.20 16、以下程序的輸出結(jié)果是____。

63、void sub(float x,float *y,float *z) { *y=*y-1.0; *z=*z+x; } main( ) { float a=2.5,b=9.0,*pa,*pb; pa=&a; pb=&b; sub(b-a,pa,pa); printf(“%f\n”,a); } A.9.000000 B.1.500000 C.8.000000 D.10.500000 17、下面程序的輸出結(jié)果是____。 #include “stdio.h” main( ) { static char b[ ]= “Goodbye”; char *chp=&b[7];

64、 while(--chp>=&b[0]) putchar(*chp); putchar(‘\n’); } A.Goodbye B.gOODBYE C.無(wú)任何輸出 D.eybdooG 18、若有如下說(shuō)明,則____的敘述是正確的。 struct st { int a; int b[2]; }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)體類型說(shuō)明與變量定義緊湊寫在一起 19、設(shè)有如下定義:struct std { int a; floa

65、t b; }data ,*p; 若有p=&data;則對(duì)data中的成員變量a的正確引用是____。 A.(*p).data.a B.(*p).a C.p->data.a D.p.data.a 20、以下程序的輸出結(jié)果是____。 main( ) { char x=040; printf(“%d\n”,x=x<<1); } A.100 B.160 C.120 D.64 二、填空題(10個(gè)小題,每小題2分,共20分): 1、若a是int型變量,則執(zhí)行表達(dá)式 a=25/3%3 后,a的值為____。 2、C語(yǔ)言中用____表示邏輯值“真”。 3、用在循環(huán)結(jié)構(gòu)中,可以結(jié)束本

66、次循環(huán)的語(yǔ)句是____。 4、用數(shù)組名作為函數(shù)參數(shù)是地址傳遞方式。地址傳遞是____(單向/雙向)傳遞。 5、在二維數(shù)組初始化時(shí),可以省略數(shù)組的____(行下標(biāo)/列下標(biāo)),系統(tǒng)會(huì)根據(jù)初值的個(gè)數(shù),算出該下標(biāo)的大小。 6、若輸入字符‘A’,在以下while語(yǔ)句執(zhí)行后ch的值為____。 while(ch=getchar( )==‘A’); 7、所謂“指針”,就是____。 8、設(shè)有宏定義:#define MUL(z) (z)*(z),則執(zhí)行以下語(yǔ)句后,輸出結(jié)果為____。 printf(“%d\n”,MUL(1+2)+3); 9、若有定義和語(yǔ)句:char str[ ]=“ABCD”,*p=str; printf(“%d\n”,*(p+4)); 則輸出結(jié)果是____。 10、能夠?qū)崿F(xiàn)局部翻轉(zhuǎn)(0變1,1變0)的位運(yùn)算是____。 三、讀下面程序,寫出執(zhí)行結(jié)果(4個(gè)小題,每小題5分,共20分): 1、若運(yùn)行以下程序時(shí),從第一列開始輸入數(shù)據(jù):2473代表Enter),寫出程序的執(zhí)行結(jié)果。 #include “stdio.h” m

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!