C語言各章節(jié)復(fù)習(xí)題帶答案_第1頁
C語言各章節(jié)復(fù)習(xí)題帶答案_第2頁
C語言各章節(jié)復(fù)習(xí)題帶答案_第3頁
C語言各章節(jié)復(fù)習(xí)題帶答案_第4頁
C語言各章節(jié)復(fù)習(xí)題帶答案_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、一、C語言概述練習(xí)題選擇1 一個(gè)C程序的執(zhí)行是從 。A) 本程序的main函數(shù)開始,到main函數(shù)結(jié)束B) 本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C) 本程序文件的第一個(gè)函數(shù)開始,到本程序main函數(shù)結(jié)束D) 本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束2 以下敘述不正確的是 。A) 一個(gè)C源程序必須包含一個(gè)main函數(shù) B)一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成C) C程序的基本組成單位是函數(shù) D) 在C程序中,注釋說明只能位于一條語句的后面3 以下敘述正確的是 。A) 在對一個(gè)C程序進(jìn)行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤B) 在C程序中,main函數(shù)必須位于程

2、序的最前面C) C語言本身沒有輸入輸出語句 D) C程序的每行中只能寫一條語句4 一個(gè)C語言程序是由 。A)一個(gè)主程序和若干個(gè)子程序組成 B) 函數(shù)組成 C) 若干過程組成 D) 若干子程序組成5 計(jì)算機(jī)高級語言程序的運(yùn)行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的是 。A) C語言程序僅可以編譯執(zhí)行B) C語言程序僅可以解釋執(zhí)行C) C語言程序既可以編譯執(zhí)行又可以解釋執(zhí)行D) 以上說法都不對6 以下敘述中錯(cuò)誤的是 。A) C語言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的B)用C語言編寫的源程序不能直接在計(jì)算機(jī)上運(yùn)行C)通過編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行D)在沒有安裝C語言集成開發(fā)環(huán)境

3、的機(jī)器上不能運(yùn)行C源程序生成的.exe文件7 以下敘述正確的是 。A) C語言程序是由過程和函數(shù)組成的B) C語言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x)C) C語言函數(shù)不可以單獨(dú)編譯 D) C語言中除了main函數(shù),其他函數(shù)不可作為單獨(dú)文件形式存在二、數(shù)據(jù)類型、運(yùn)算符與表達(dá)式選擇. 1 若x、i、j、k都是int型變量,則計(jì)算下面表達(dá)式后,x的值為 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522 下列四組選項(xiàng)中,均不是C語言關(guān)鍵字的選項(xiàng)是 。A)define IF type B)getc char printf C)include case scanf

4、D)while go pow3 下列四組選項(xiàng)中,均是不合法的用戶標(biāo)識符的選項(xiàng)是 。A) W P_0 do B) b-a goto int C) float la0 _A D) -123 abc TEMP4 下列四組選項(xiàng)中,均是合法轉(zhuǎn)義字符的選項(xiàng)是 。A)”n B)017” C)018fxab D)0101xlf5 下面不正確的字符常量是 。A) “c”B) C) D) K6 以下敘述不正確的是 。A) 在C程序中,逗號運(yùn)算符的優(yōu)先級最低 B) 在C程序中,MAX和max是兩個(gè)不同的變量C) 若a和b類型相同,在計(jì)算了賦值表達(dá)式a=b后,b中的值將放入a中,而b中的值不變D) 當(dāng)從鍵盤輸入數(shù)據(jù)時(shí)

5、,對于整型變量只能輸入整型數(shù)值,對于實(shí)型變量只能輸入實(shí)型數(shù)值7 以下敘述正確的是 。A) 在C程序中,每行只能寫一條語句B) 若a是實(shí)型變量,C程序中允許賦值a=10,因此實(shí)型變量中允許存放整型數(shù) C) 在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符(字符型也可以)D) 在C程序中,無論是整數(shù)還是實(shí)數(shù),都能被準(zhǔn)確無誤地表示8 已知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語句c2A+6-3后,c2中的值為 。A) DB) 68 C) 不確定的值 D) C9 sizeof(float)是 。A) 一個(gè)雙精度型表達(dá)式 B) 一個(gè)整型表達(dá)式 C) 一種函數(shù)表達(dá)式 D) 一個(gè)不合法的表達(dá)式1

6、0設(shè)C語言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),則unsigned int 型數(shù)據(jù)的取值范圍為 。A) 0255 B) 032767 C) 065535 D) 0214748364711設(shè)有說明:char w; int x; float y; double z;則表達(dá)式w*x+z-y值的數(shù)據(jù)類型為 。A) float B) char C) int D) double12設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是 。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)13下列變量定義

7、中合法的是 。A) short _a=015; B) double b=e2.5; C) long do=0xfdaL; D) float 2_and=1e-3;14有以下程序#include <stdio.h>main() int x=011; printf("%dn",+x);程序運(yùn)行后的輸出結(jié)果是 。A)12 B)11 C)10 D)9填空1 若有以下定義,int m=5,y=2;則計(jì)算表達(dá)式y(tǒng)+=y-=m*=y后的y值是【1】。-162. 在C語言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),則int型數(shù)據(jù)的取值范圍為【2】。-32768327673 若s是i

8、nt型變量,且s6,則下面表達(dá)式s%2+(s+1)%2的值為【3】。14. 若a是int型變量,則下面表達(dá)式(a=4*5,a*2),a+6的值為【4】。265 若x和a均是int型變量,則計(jì)算表達(dá)式(1)后的x值為【5】,計(jì)算表達(dá)式(2)后的x 值為【6】。4 12 (1) x=(a=4,6*2) (2) x=a=4,6*2 6. 若a是int型變量,則計(jì)算下面表達(dá)式a=25/3%3后a的值為【7】。 27 若x和n均是int型變量,且x和n的初值均為5,則計(jì)算表達(dá)式后x的值為【8】,n的值為【9】。10 6x+=n+ /若改為x+=+n 則計(jì)算后X為 ,n為 11 68. 若有定義:char

9、 c=010;則變量c中包含的字符個(gè)數(shù)為【10】。19 若有定義:int x=3,y=2;float a=2.5,b=3.5;則下面表達(dá)式(x+y)%2+(int)a/(int)b的值為【11】。 1 10.已知字母a的ASCII碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch=a+8-3的值為【12】。 f三、簡單的C程序設(shè)計(jì)選擇 1 putchar函數(shù)可以向終端輸出一個(gè) 。A) 整型變量表達(dá)式 B) 實(shí)型變量值 C) 字符串 D) 字符或字符型變量值2 printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長度大于5,則輸出按方式 B ;如果字符串長度小于5

10、,則輸出按方式 C 。A) 從左起輸出該字符串,右補(bǔ)空格B) 按原字符長從左向右全部輸出C) 右對齊輸出該字符串,左補(bǔ)空格D) 輸出錯(cuò)誤信息3 閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為:25,13,10<CR>(注:<CR>表示回車),則正確的輸出結(jié)果為 。 main() int x,y,z; scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%dn”,x+y+z); A) x+y+z=48 B) x+y+z=35 C) x+z=35 D) 不確定值4 根據(jù)下面的程序及數(shù)據(jù)的輸入和輸出形式,程序中輸入語句的正確形式應(yīng)該為 。

11、main() char ch1,ch2,ch3; 輸入語句 printf(“%c % %c”,ch1,ch2,ch3); 輸出形式:A B C 輸入形式:A B CA) scanf(“%c%c%c”,&ch1,&ch2,&ch3); B) scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);C) scanf(“%c %c %c”,&ch1,&ch2,&ch3); D) scanf(“%c%c”,&ch1,&ch2,&ch3);5 已知ch是字符型變量,下面不正確的賦值語句是 。A) c

12、h=a+b; B) ch=0; C) ch=7+9;D) ch=5+9;6 以下關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)的敘述中正確的是 。A)一個(gè)結(jié)構(gòu)化程序必須同時(shí)由順序、分支、循環(huán)三種結(jié)構(gòu)組成B)結(jié)構(gòu)化程序使用goto語句會很便捷C)在C語言中,程序的模塊化是利用函數(shù)實(shí)現(xiàn)的D)由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問題7 有以下程序#include <stdio.h>main()int a1,a2; char c1,c2;scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);printf(“%d,%c,%d,%c”,a1,c1,a2,c2);若想通過鍵

13、盤輸入,使得a1的值為12,a2的值為34,c1的值為字符a,c2的值為字符b,程序輸出結(jié)果是:12,a,34,b則正確的輸入格式是(以下_代表空格,<CR>代表回車) A)12a34b<CR> B)12_a_34_b<CR> C)12,a,34,b<CR> D)12_a34_b<CR>填空 1. 以下的輸出結(jié)果是【1】。c:dec=120,oct=170,hex=78,ASCII=xmain() char c=x; printf(“c:dec=%d,oct=%o,hex=%x,ASCII=%cn”,c,c,c,c);2以下的輸出結(jié)果

14、是【2】。 main() int x=1,y=2; printf(“x=%d y=%d * sum * =%dn”,x,y,x+y); printf(“10 Squared is : %dn”,10*10); x=1 y=2 * sum * =310 Squared is : 1003. 假設(shè)變量a和b均為整型,以下語句可以不借助任何變量把a(bǔ)、b中的值進(jìn)行交換。請?zhí)羁铡?a+=【3】; b=a-【4】; a-=【5】; b b b4 若x為int型變量,則執(zhí)行以下語句x=7; x+=x-=x+x;后的x 值為【6】。 -14 5. 有一輸入語句scanf(“%d”,k);則不能使float類型

15、變量k得到正確數(shù)值的原因是【7】和【8】。格式控制符應(yīng)為%f;變量k前缺少&四、邏輯運(yùn)算與判斷選取控制選擇 1 邏輯運(yùn)算符兩側(cè)運(yùn)算對象的數(shù)據(jù)類型 。A) 只能是0和1 B) 只能是0或非0正數(shù) C) 只能是整型或字符型數(shù)據(jù) D) 可以是任何類型的數(shù)據(jù)2 判斷char型變量ch是否為大寫字母的正確表達(dá)式是 。A)A<=ch<=Z B)(ch>=A)&(ch<=Z) C)(ch>=A)&&(ch<=Z) D) (A<= ch)AND(Z>= ch)3 若希望當(dāng)A的值為奇數(shù)時(shí),表達(dá)式的值為“真”,A的值為偶數(shù)時(shí),表達(dá)式的

16、值為“假”。則以下不能滿足要求的表達(dá)式是 。 A) A%2=1 B) !(A%2=0) C) !(A%2) D) A%24 設(shè)有:int a=1,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=a>b)&&(n=c>d)后n的值為 。 A) 1 B) 2 C) 3 D) 45 以下程序的運(yùn)行結(jié)果是 。main() int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b); A) 6,1 B) 2,1 C) 6,0 D) 2,06 已知int x=10,y=20,z=30;以下語句執(zhí)行后x

17、,y,z的值是 。 if(x>y) z=x; x=y; y=z;A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=207 以下程序的運(yùn)行結(jié)果是 。main() int m=5; if(m+>5) printf(“%dn”,m); else; printf(“%dn”,m-); A) 4 B) 5 C) 6 D) 78 若運(yùn)行時(shí)給變量x輸入12,則以下程序的運(yùn)行結(jié)果是 。main() int x,y; scanf(“%d”,&x); y=x>12 ? x+10 : x

18、-12; printf(“%dn”,y); A) 4 B) 3 C) 2 D) 09if語句的基本形式是:if(表達(dá)式)語句,以下關(guān)于“表達(dá)式”值的敘述中正確的是 。A)必須是邏輯值 B)必須是整數(shù)值 C)必須是正數(shù) D)可以是任意合法的數(shù)值10有以下程序#include <stdio.h>main()int a=1,b=0;if(!a) b+;else if(a=0) if(a) b+=2;else b+=3;printf(“%dn”,b);程序運(yùn)行后的輸出結(jié)果是 。A)0 B)1 C) 2 D)311有以下程序#include <stdio.h>main()int

19、c=0,k;for(k=1;k<3;k+)switch(k)default:c+=k;case 2:c+;break;case 4:c+=2;break;printf(“%dn”,c);程序運(yùn)行后的輸出結(jié)果是 。 A)3 B)5 C)7 D)9五、循環(huán)控制選擇1設(shè)有程序段 int k=10; while(k=0)k=k-1; 這下面描述中正確的是_. a)while循環(huán)執(zhí)行10次 b)循環(huán)是無限循環(huán) c)循環(huán)體語句一次也不執(zhí)行 d)循環(huán)體語句執(zhí)行一次2語句while(!E);中的表達(dá)式!E等價(jià)于_. a)E=0 b)E!=1 c)E!=0 d)E=13下面程序段的運(yùn)行結(jié)果是_ c _.循

20、環(huán)次數(shù)為_ b _. int n=0; while(n+<=2);printf("%d",n); a)2 b)3 c)4 d)有語法錯(cuò)/若改為while(+n<=2);printf("%d",n);結(jié)果又如何? 4下面程序的運(yùn)行結(jié)果是_ _. #include<stdio.h> main() int num=0; while(num<=2) num+; printf("%dn",num); a)1 b)1 c)1 d)1 2 2 2 3 3 45以下程序段_. x=-1; dox=x*x; while(!

21、x); a)是死循環(huán) b)循環(huán)執(zhí)行二次 c)循環(huán)執(zhí)行一次 d)有語法錯(cuò)誤6若有如下語句 int x=3; doprintf("%dn",x-=2); while(!(-x); 則上面程序段_. a)輸出的是1 b)輸出的是1和-2 c)輸出的是3和0 d)是死循環(huán)7下面程序的運(yùn)行結(jié)果是_. #include<stdio.h>main() int y=10;doy-; while(-y);printf("%dn",y-);a)-1 b)1 c)8 d)08若i為整型變量,則以下循環(huán)執(zhí)行次數(shù)是_. for(i=2;i=0;)printf(&quo

22、t;%d",i-); a)無限次 b)0次 c)1次 d)2次9執(zhí)行語句for(i=1;i+<4; );后變量i的值是_. a)3 b)4 c)5 d)不定10以下正確的描述是_.a)continue語句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行 b)只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句c)在循環(huán)體內(nèi)使用break語句或continue語句的作用相同 d)從多層循環(huán)嵌套中退出時(shí),只能使用goto語句11有以下程序main() char b,c; int i; b='a' c='A' for(i=0;i<6;i+) if(i%2) putc

23、har(i+b); else putchar(i+c); printf("n");程序運(yùn)行后的輸出結(jié)果是_.A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(二)、填空題1.下面程序段是從鍵盤輸入的字符中統(tǒng)計(jì)數(shù)字字符的個(gè)數(shù),用換行符結(jié)束循環(huán)。請?zhí)羁铡?int n=0,c; c=getchar(); while(_ c!=n _) if(_c>=0&&c<=9_)n+; c=getchar(); 2下面程序的功能是用"輾轉(zhuǎn)相除法"求兩個(gè)正整數(shù)的最大公約數(shù)。請?zhí)羁铡?#include <stdio.h&

24、gt; main() int r,m,n; scanf("%d%d",&m,&n); if(m<n)_ r=m;m=n;n=r;_ r=m%n; while(r)m=n;n=r;r=_ m%n _; printf("%dn",n); 3下面程序的運(yùn)行結(jié)果是_s=254_. #include <stdio.h> main() int a,s,n,count; a=2;s=0;n=1;count=1; while(count<=7)n=n*a;s=s+n;+count; printf("s=%d",

25、s); 4下面程序段的運(yùn)行結(jié)果是_ a=-5_. i=1;a=0;s=1; doa=a+s*i;s=-s;i+;while(i<=10); printf("a=%d",a);5下面程序段的運(yùn)行結(jié)果是_ _8_ _. i=1;s=3; dos+=i+; if(s%7=0)continue; else +i; while(s<15); printf("%d",i);六、數(shù)組1.以下為一維整型數(shù)組a的正確說明是_. a)int a(10); b)int n=10,an; c)int n; d)#define SIZE 10 scanf("

26、%d",&n); int aSIZE; int an;2以下對二維數(shù)組a的正確說明是_.a)int a3; b)float a(3,4); c)double a14 d)float a(3)(4);3若二維數(shù)組a有m列,則計(jì)算任一元素aij在數(shù)組中位置的公式為_ .(假設(shè)a00位于數(shù)組的第一個(gè)位置上。) a)i*m+j b)j*m+i c)i*m+j-1 d)i*m+j+14若二維數(shù)組a有m列,則在aij前的元素個(gè)數(shù)為_. a)j*m+i b)i*m+j c)i*m+j-1 d)i*m+j+15若有以下程序段: int a=4,0,2,3,1,i,j,t; for(i=1;i

27、<5;i+) t=ai;j=i-1; while(j>=0&&t>aj) aj+1=aj;j-; aj+1=t; . . 則該程序段的功能是_.a)對數(shù)組a進(jìn)行插入排序(升序) b)對數(shù)組a進(jìn)行插入排序(降序) c)對數(shù)組a進(jìn)行選擇排序(升序) d)對數(shù)組a進(jìn)行選擇排序(降序)6有兩個(gè)字符數(shù)組a、b,則以下正確的輸入語句是_. a)gets(a,b); b)scanf("%s%s",a,b); c)scanf("%s%s",&a,&b); d)gets("a"),gets("

28、b");7下面程序段的運(yùn)行結(jié)果是_. char a7="abcdef"char b4="ABC" strcpy(a,b); printf("%c",a5); a)空格 b)0 c)e d)f8判斷字符串s1是否大于字符串s2,應(yīng)當(dāng)使用_.a)if(s1>s2) b)if(strcmp(s1,s2) c)if(strcmp(s2,s1)>0) d)if(strcmp(s1,s2)>0)9下面程序的功能是從鍵盤輸入一行字符,統(tǒng)計(jì)其中有多少個(gè)單詞,單詞之間用空格分隔,請選擇填空。 #include <std

29、io.h> main() char s80,c1,c2=' ' int i=0,num=0; gets(s); while(si!='0') c1=si; if(i=0)c2=' ' else c2=si-1; if(_)num+; i+; printf("There are %d words.n",num);a)c1=' '&&c2=' ' b)c1!=' '&&c2=' ' c)c1=' '&&am

30、p;c2!=' ' d)c1!=' '&&c2!=' '10下面程序的運(yùn)行結(jié)果是_. #include <stdio.h> main() char str="SSSWLIA",c; int k; for(k=2;(c=strk)!='0'k+) switch(c) case 'I':+k;break; case 'L':continue; default:putchar(c);continue; putchar('*'); a)SSW*

31、 b)SW* c)SW*A d)SW填空 1 若有定義:double x35;則x數(shù)組中行下標(biāo)的下限為_0_,列下標(biāo)的上限為_4_.2下面程序以每行4個(gè)數(shù)據(jù)的形式輸出a數(shù)組,請?zhí)羁铡?#define N 20 main() int aN,i; for(i=0;i<N;i+)scanf("%d",_ &ai _); for(i=0;i<N;i+) if (_i%4=0_) _ printf(“n”);_ printf("%3d",ai); printf("n");3. 下面程序可求出矩陣a的主對角線上的元素之和,請?zhí)?/p>

32、空。 main() int a33=1,3,5,7,9,11,13,15,17,sum=0,i,j; for(i=0;i<3;i+) for(j=0;j<3;j+) if(_ i=j _)sum=sum+_ aii _; printf("sum=%dn",sum);4. 當(dāng)從鍵盤輸入18并回車后,下面程序的運(yùn)行結(jié)果是_10010_. main() int x,y,i,a8,j,u,v; scanf("%d",&x); y=x;i=0; do u=y/2; ai=y%2; i+;y=u; while(y>=1); for(j=i-

33、1;j>=0;j-) printf("%d",aj);5. 下面程序用插入法對數(shù)組a進(jìn)行降序排序。請?zhí)羁铡?main() int a5=4,7,2,5,1; int i,j,m; for(i=1;i<5;i+) m=ai; j=_ _i-1_; while(j>=0&&m>aj) _ aj+1=aj_; j-; _ aj+1_=m; for(i=0;i<5;i+) printf("%d ",ai); printf("n");6. 下面程序的功能是在三個(gè)字符串中找出最小的,請?zhí)羁铡?#inc

34、lude<stdio.h> #include<string.h> main() char s20,str320; int i; for(i=0;i<3;i+)gets(stri); strcpy(s,_ str0_);if(strcmp(s,str1)<0)strcpy(s,str1); if(strcmp(str2,s)<0)strcpy(s,str2); printf("%sn",_ _s _); 7. 下面程序的運(yùn)行結(jié)果是_#&*&%_. #include<stdio.h> main() char

35、s="ABCCDA"int k;char c; for(k=1;(c=sk)!='0'k+) switch(c) case 'A':putchar('%');continue; case 'B':+k;break; default:putchar('*'); case 'C':putchar('&');continue; putchar('#'); 七、函數(shù)選擇 1.以下正確的說法是_. 建立函數(shù)的目的之一是 a)提高程序的執(zhí)行效率 b)提

36、高程序的可讀性 c)減少程序的篇幅 d)減少程序文件所占內(nèi)存2以下正確的函數(shù)定義形式是_.a)double fun(int x,int y) b)double fun(int x; int y) c)double fun(int x, int y); d)double fun(int x,y);3C語言規(guī)定,簡單變量做實(shí)參時(shí),它和對應(yīng)形參之間的數(shù)據(jù)傳遞方式為_.A)地址傳遞 B)單向值傳遞 C)由實(shí)參傳給形參,再由形參傳回給實(shí)參 D)由用戶指定傳遞方式4C語言允許函數(shù)值類型缺省定義,此時(shí)該函數(shù)值隱含的類型是_. a)float b)int c)long d)double5已有以下數(shù)組定義和f函

37、數(shù)調(diào)用語句,則在f函數(shù)的說明中,對形參數(shù)組array的錯(cuò)誤定義方式為_. int a34; f(a);a)f(int array6) b)f(int array3) c)f(int array4) d)f(int array25)6以下程序的正確運(yùn)行結(jié)果是_. #include <stdio.h> void num()extern int x,y;int a=15,b=10; x=a-b; y=a+b; int x,y; main() int a=7,b=5; x=a+b; y=a-b; num(); printf("%d,%dn",x,y); a)12,2 b

38、)不確定 c)5,25 d)1,12有以下程序:#include <stdio.h>int f()static int x=1;x+=1;return x;main() int i,s=1;for(i=1;i<=5;i+) s+=fun();printf(“%dn”,s);程序運(yùn)行后的輸出結(jié)果是_ _ A)11 B)21 C)6D)120填空 1以下程序的運(yùn)行結(jié)果是_ _ max is 2 #include<stdio.h> int max(int,int); main() int a=1,b=2,c; c=max(a,b); printf("max i

39、s %dn",c); int max(int x,int y) int z; z=(x>y)?x:y; return(z); 2函數(shù)gongyu的作用是求整數(shù)num1和num2的最大公約數(shù),并返回該值。請?zhí)羁铡?gongyu(int num1,int num2) int temp,a,b; if(num1(_ < _) num2) temp=num1;num1=num2;num2=temp; a=num1;b=num2; while(_ !b _) temp=a%b;a=b;b=temp; return(a);3以下程序的運(yùn)行結(jié)果是_ A+B=9_.#include &l

40、t;stdio.h>int a=5;int b=7;int plus(int ,int ); void main() int a=4,b=5,c; c=plus(a,b); printf("A+B=%dn",c); int plus(int x,int y) int z; z=x+y; return(z); 4以下程序的運(yùn)行結(jié)果是_.x=1y=1x=1y=2x=1y=3 main() incx(); incy(); incx(); incy(); incx(); incy(); incx() int x=0; printf("x=%dt",+x);

41、incy() static int y=0; printf("ny=%dn",+y);八、編譯預(yù)處理選擇1以下敘述中正確的是_. a)在程序的一行上可以出現(xiàn)多個(gè)有效的預(yù)處理命令行 b)使用帶參的宏時(shí),參數(shù)的類型應(yīng)與宏定義時(shí)的一致c)宏替換不占用運(yùn)行時(shí)間,只占用編譯時(shí)間 d)在以下定義中C R是稱為“宏名”的標(biāo)識符 #define C R 0452以下程序的運(yùn)行結(jié)果是_. #define MIN(x,y) (x)<(y)?(x):(y) main() int i=10,j=15,k; k=10*MIN(i,j); printf("%dn",k); a

42、)10 b)15 c)100 d)1503若有宏定義如下: #define X 5 #define Y X+1 #define Z Y*X/2 則執(zhí)行以下printf語句后,輸出結(jié)果是_. int a;a=Y; printf("%dn",Z); printf("%dn",-a); a)7 b)12 c)12 d)7 6 6 5 54請讀程序: #include <stdio.h>#define MUL(x,y) (x)*y main() int a=3,b=4,c; c=MUL(a+,b+); printf("%dn",c

43、); 上面程序的輸出結(jié)果是_. a)12 b)15 c)20 d) 165有以下程序#include <stdio.h>#define f(x) x*x*xmain()int a=3,s,t;s=f(a+1); t=f(a+1);printf(“%d,%dn”,s,t);程序運(yùn)行后的輸出結(jié)果是_.A)10,64 B)10,10 C)64,10 D)64,64九、指針一、選擇題1變量的指針,其含義是指該變量的_. a)值 b)地址 c)名 d)一個(gè)標(biāo)志2若有語句int *point,a=4;和point=&a;下面均代表地址的一組選項(xiàng)是_ _. a)a,point,*&

44、;a b)&*a,&a,*point c)*&point,*point,&a d)&a,&*point ,point3若有說明;int *p,m=5,n;以下正確的程序段的是_. a)p=&n; b)p=&n; c)scanf("%d",&n); d)p=&n; scanf("%d",&p); scanf("%d",*p); *p=n; *p=m; 4下面程序段的運(yùn)行結(jié)果是_. char *s="abcde" s+=2;prin

45、tf("%s",s); a)cde b)字符'c' c)字符'c'的地址 d)無確定的輸出結(jié)果5設(shè)p1和p2是指向同一個(gè)字符串的指針變量,c為字符變量,則以下不能正確執(zhí)行的賦值語句是_.a)c=*p1+*p2; b)p2=c c)p1=p2 d)c=*p1*(*p2);6以下正確的程序段是_. a)char str20; b)char *p; c)char str20; d)char str20,*p=str; scanf("%s",&str); scanf("%s",p); scanf(&qu

46、ot;%s",&str2); scanf("%s",p2); 7若有說明語句 char a="It is mine" char *p="It is mine" 則以下不正確的敘述是_. a)a+1表示的是字符t的地址 b)p指向另外的字符串時(shí),字符串的長度不受限制 c)p變量中存放的地址值可以改變 d)a中只能存放10個(gè)字符8下面程序的運(yùn)行結(jié)果是_. #include <stdio.h> #include <string.h> main() char *s1="AbDeG"

47、 char *s2="AbdEg" s1+=2;s2+=2; printf("%dn",strcmp(s1,s2); a)正數(shù) b)負(fù)數(shù) c)零 d)不確定的值9下面程序的運(yùn)行結(jié)果是_. #include <stdio.h> #include <string.h> fun(char *w,int n) char t,*s1,*s2; s1=w;s2=w+n-1; while(s1<s2)t=*s1+;*s1=*s2-;*s2=t; main()char *p; p="1234567" fun(p,strlen(p); puts(p); a)7654321 b)1714171 c)1711717 d)717717110若有以下定義,則對a數(shù)組元素的正確引用是_. int a5,*p=a; a)*&a5 b)a+2 c)*(p+5) d)*(a+2)11若有定義:int a23,則對a數(shù)組的第i行j列元素地址的正確引用為_. a)*(ai

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論