c語(yǔ)言考試題及答案_第1頁(yè)
c語(yǔ)言考試題及答案_第2頁(yè)
c語(yǔ)言考試題及答案_第3頁(yè)
c語(yǔ)言考試題及答案_第4頁(yè)
c語(yǔ)言考試題及答案_第5頁(yè)
已閱讀5頁(yè),還剩88頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一、選擇題(1) 在c語(yǔ)言中,如果下面的變量都是int類型,則輸出的結(jié)果是sum=pad=5; pad=sum + + ,pad + + , + + pad;printf(%dn,pad);a) 7 b) 6 c) 5 d) 4(2) 以下程序的輸出結(jié)果是# include main() int i=010 , j = 10;printf(%d,%dn,+ +i , j - -); a) 11,10 b) 9,10 c) 010,9 d) 10,9(3) 已知在ascii代碼中,字母a的序號(hào)為65,以下程序的輸出的結(jié)果是# include main() char c1=a, c2=y;prin

2、tf(%d,%dn,c1,c2); a) 因輸出格式不合法,輸出錯(cuò)誤信息 b)65,90 c)a,y d)65,89(4) 指針s所指字符串的長(zhǎng)度為char *s=nameaddressn;a) 19 b) 15 c) 18 d) 說(shuō)明不合法(5) 設(shè)有說(shuō)明int(*ptr)m;其中的標(biāo)識(shí)符ptr是a)m個(gè)指向整型變量的指針b)指向m個(gè)整型變量的函數(shù)指針c)一個(gè)指向具有m個(gè)整型元素的一維數(shù)組的指針 d)具有m個(gè)指針元素的一維指針數(shù)組,每個(gè)元素都只能指向整型量(6) 語(yǔ)句while(!e);中的條件!e等價(jià)于a)e = = 0 b)e!=1 c)e!=0 d)e(7) 以下程序的輸出結(jié)果是# i

3、nclude main() printf(%dn,null); a) 不確定的(因變量無(wú)定義) b)0 c)-1 d)1(8) 以下函數(shù)調(diào)用語(yǔ)句中含有的實(shí)參個(gè)數(shù)為。func(exp1,exp2),(exp3,exp4,exp5);a) 1 b) 2 c) 4 d) 5(9) 設(shè)有以下語(yǔ)句:char a=3,b=6,c;c=ab2;則c的二進(jìn)制值是a) 00011011 b)00010100 c)00011100 d)00011000(10) 下面的程序中第幾行有錯(cuò)誤(每行程序前面的數(shù)字是行號(hào))。1 #include 2 main()3 4 float a3=0,0;5 int i;6 for(

4、i=0;i3;i + + ) scanf(%d,&ai);7 for(i=1;i3;i + + ) a0=a0+ai;8 printf(%fn,a0);9 a) 沒(méi)有 b)第4行 c)第6行 d)第8行(11) 設(shè)有語(yǔ)句int a=3;則執(zhí)行了語(yǔ)句a+=a-=a*a;后,變量a的值是a)3 b)0 c)9 d)-12(12) 以下的for循環(huán)for(x=0,y=0; (y!=123)&(x4); x + + );a) 是無(wú)限循環(huán) b)循環(huán)次數(shù)不定 c)執(zhí)行4次 d)執(zhí)行3次(13) 設(shè)有語(yǔ)句char a=72;則變量aa)包含1個(gè)字符 b)包含2個(gè)字符 c)包含3個(gè)字符 d)說(shuō)明不合法(14)

5、 以下程序的輸出結(jié)果是# include # include main() int a=1,b=4,c=2;float x=10.5 , y=4.0 , z;z=(a+b)/c+sqrt(double)y)*1.2/c+x;pritnf(%fn,z); a) 14.000000 b) 015.400000 c) 13.700000 d) 14.900000(15) sizeof(double)是a)一種函數(shù)調(diào)用 b)一個(gè)雙精度型表達(dá)式c)一個(gè)整型表達(dá)式 d)一個(gè)不合法的表達(dá)式(16) c語(yǔ)言中a)不能使用do-while語(yǔ)句構(gòu)成的循環(huán) b)do-while語(yǔ)句構(gòu)成的循環(huán)必須用break語(yǔ)句才能

6、退出c)do-while語(yǔ)句構(gòu)成的循環(huán),當(dāng)while語(yǔ)句中的表達(dá)式值為非零時(shí)結(jié)束循環(huán)d)do-while語(yǔ)句構(gòu)成的循環(huán),當(dāng)while語(yǔ)句中的表達(dá)式值為零時(shí)結(jié)束循環(huán)(17) 以下程序的輸出結(jié)果是# include # include main() char str12=s,t,r,i,n,g;printf(%dn,strlen(str); a) 6 b) 7 c) 11 d) 12(18) 以下程序的輸出結(jié)果是# include main() int a=2,c=5;printf(a=%d,b=%dn,a,c); a) a=%2,b=%5 b) a=2,b=5 c) a=%d,b=%d d) a

7、=%d,b=%d(19) 以下程序的輸出結(jié)果是# includemain() int a ,b,d=241;a=d/100%9;b=(-1)&(-1);printf(%d,%dn,a,b); a) 6,1 b) 2,1 c) 6,0 d) 2,0(20) 以下程序的輸出結(jié)果是# include main() int i; for ( i=1;i=5;i + + ) if ( i%2 ) printf(*);else continue; printf(#);printf($n); a) *#*#*#$ b) #*#*#*$ c) *#*#$ d) #*#*$(21) 以下for語(yǔ)句構(gòu)成的循環(huán)執(zhí)行

8、了多少次# include # define n 2# define m n+1# define num (m+1)*m/2main() int i , n=0;for ( i=1;i=num;i + + );n + + ; printf(%d,n); printf(n); a) 5 b) 6 c) 8 d) 9(22) 設(shè)有以下語(yǔ)句,則不是對(duì)a數(shù)組元素的正確引用的選項(xiàng)是(其中0i10)int a10=0,1,2,3,4,5,6,7,8,9, *p=a;a) ap-a b) *(&ai) c) pi d) *(*(a+i)(23) 有以下程序:# include # define n 6mai

9、n() char cn; int i=0;for ( ;in ; ci=getchar () , i + + );for ( i=0 ; in ; putchar(ci) , i + + ); 輸入以下三行,每行輸入都是在第一列上 開(kāi)始,代表一個(gè)回車符:abcdef程序的輸出結(jié)果是a) abcdef b) a c) a d) a b b b c cd cdef d e f(24) 以下程序調(diào)用findmax函數(shù)求數(shù)組中值最大的元素在數(shù)組中的下標(biāo),請(qǐng)選擇填空。# include findmax ( s , t , k )int *s , t , *k; int p; for(p=0,*k=p;p

10、 s*k )_; main() int a10 , i , k ;for ( i=0 ; i10 ; i + + ) scanf(%d,&ai);findmax ( a,10,&k );printf ( %d,%dn , k , ak ); a) k=p b) *k=p-s c) k=p-s d) *k=p(25) 有以下程序:#includeunion pw int i; char ch2; a;main() a.ch0=13; a.ch1=0; printf(%dn,a.i); 程序的輸出結(jié)果是(注意: ch0在低字節(jié),ch1在高字節(jié)。)a) 13 b) 14 c) 208 d) 209(

11、26) 有以下程序:# includemain() int c;while(c=getchar()!=n) switch(c-2) case 0:case 1: putchar(c+4);case 2: putchar(c+4);break;case 3: putchar(c+3);case 4: putchar(c+2);break; printf(n); 從第一列開(kāi)始輸入以下數(shù)據(jù),代表一個(gè)回車符。2743程序的輸出結(jié)果是a) 668977 b) 668966 c) 6677877 d) 6688766(27) 以下程序的輸出結(jié)果為main() char *alpha6=abcd,ijkl,

12、mnop,qrst,uvwx;char *p; int i;p=alpha;for(i=0;i4;i + + ) printf(%s,pi); printf(n); a) abcdefghijkl b) abcd c) abcdefghijklmnop d) aeim(28) 以下程序的輸出結(jié)果是# include# define fudge(y) 2.84+y# define pr(a) printf(%d,(int)(a)# define print1(a) pr(a);putchar(n)main()int x=2; print1(fudge(5)*x); a) 11 b) 12 c)

13、13 d) 15(29) 以下程序的輸出結(jié)果是# includemain() int i=1,j=3;printf(%d,i + + ); int i=0; i+=j*2; printf(%d,%d,i,j); printf(%d,%dn,i,j); a) 1,6,3,1,3 b) 1,6,3,2,3 c) 1,6,3,6,3 d) 1,7,3,2,3(30) 以下程序的輸出結(jié)果是# include main() int k=4,m=1,p;p=func(k,m); printf(%d,p); p=func(k,m); printf(%dn,p);func(a,b)int a,b; stati

14、c int m=0,i=2;i+=m+1; m=i+a+b; return(m); a) 8,17 b) 8,16 c) 8,20 d) 8,8(31) 設(shè)有以下語(yǔ)句:char str412=aaa,bbbb,ccccc,dddddd,*strp4;int i; for(i=0;i4;i + + )strpi=stri;不是對(duì)字符串的正確引用的選項(xiàng)是(其中0kn b) p-n + + c) (*p).n + + d) + + p-n(35) 以下四個(gè)程序中,哪一個(gè)不能對(duì)兩個(gè)整型變量的值進(jìn)行交換a)# include main() int a=10,b=20; swap(&a,&b); prin

15、tf(%d %dn,a,b);swap(p,q)int *p,*q;int *t; t=(int )malloc(sizeof(int);t=p;*p=*q;*q=*t; b) # include main()int a=10,b=20; swap(&a,&b);printf(%d %dn,a,b);swap(p,q)int p,q;int *t;t=*p;*p=*q;*q=t;c) # include main() int *a,*b;*a=10,*b=20;swap(a,b);printf(%d %dn,*a,*b);swap(p,q)int *p,*q;int t;t=*p;*p=*q;

16、*q=t;d) # includemain()int a=10,b=20;int x=&a,y=&b;swap(x,y);printf(%d %dn,a,b);swap(p,q)int *p,*q;int t;t=*p;*p=*q;*q=t;二、填空題(1) 以下c語(yǔ)言程序?qū)⒋疟P(pán)中的一個(gè)文件復(fù)制到另一個(gè)文件中,兩個(gè)文件名在命令行中給出。#include main(argc,argv)int argc; char *argv; file *f1,*f2; char ch;if(argc 【1】 ) printf(parameters missing!n); exit(0); if( (f1=fo

17、pen(argv1,r) = = null)|(f2=fopen(argv2,w) = = null) printf(can not open file!n); exit(0);while( 【2】 )fputc(fgetc(f1),f2);fclose(f1); fclose(f2); (12) 以下程序中的trap函數(shù)是一個(gè)用梯形法求定積分的通用函數(shù)。梯形法求定積分的公式為:n-1 a-bs=(f(a)+f(b)/2+ f(a+i*h)*h , h=|-|i=1 n其中,n為積分小區(qū)間數(shù)。以下程序調(diào)用trap函數(shù)求定積分,被積函數(shù)是:f(x)=x*x+3*x+2,且n=1000,a=0,b

18、=4。#include 3include double trap(fun,a,b)double (*fun)(),a,b; double t,h;int i,n=1000;t=0.5*(*fun)(a)+(*fun)(b); h=fabs(a-b)/(double)(n);for(i=1;i=n-1;i + + ) t=t+ 【3】 ;t=t*h; return(t); double mypoly(x)double x; return(x*x+3.0*x+2.0); main() double y,(*pf)(); pf= 【4】 ;y=trap(pf,0.0,4.0); printf(%fn

19、,y); (13) 以下程序求a數(shù)組中的所有素?cái)?shù)的和,函數(shù)isprime用來(lái)判斷自變量是否為素?cái)?shù)。素?cái)?shù)是只能被1和本身整除且大于1的自然數(shù)。#include main() int i,a10,*p=a,sum=0;printf(enter 10 num:n);for(i=0;i10;i + + ) scanf(%d,&ai);for(i=0;i10;i + + )if(isprime(*(p+ 【5】 ) = = 1) printf(%d,*(a+i); sum+=*(a+i); printf(nthe sum=%dn,sum); isprime(x)int x; int i; for(i=2

20、;i=x/2;i + + )if(x%i = = 0) return (0); 【6】 ; (14) 以下程序調(diào)用invert函數(shù)按逆序重新放置a數(shù)組中元素的值。a數(shù)組中的值在main函數(shù)中讀入。#include #define n 10invert(s,i,j)int *s,i,j; int t; if(ij) t=*(s+i); *(s+j)=(s+j);*(s+j)=t; invert(s, 【7】 ,j-1);main() int an,i;for(i=0;in;i + + ) scanf(%d,a+ 【8】 );invert(a,0,n-1);for(i=0;inext = = nu

21、ll).#includestruct list int data;struct list *next;【9】 creatlist() struct list *p,*q,*ph; int a;ph=(struct list *) malloc(sizeof(struct list);p=q=ph; printf(input an integer number,enter -1 to end:n);scanf(%d,&a):while(a!=-1) p=(struct list *)malloc(sizeof(struct list);p-data=a; q-next=p; 【10】 =p; s

22、canf(%d,&a); p-next=0; return(ph); main() struct list *head; head=creatlist();參考答案選擇題:(1)c (2)b (3)d (4)b (5)c (6)a (7)b (8)b (9)a (10)c(11)d (12)c (13)a (14)c (15)c (16)d (17)a (18)d (19)b (20)a(21)c (22)d (23)c (24)d (25)a (26)a (27)c (28)b (29)b (30)a(31)a (32)c (33)a (34)d (35)c 填空題:(1)3(2)!feof

23、(f1)或feof(f1)=0(3)(*fun)(a+i*h)(4) mypoly(5)i(6)return 1 或 return (1)(7)i+1(8) i(9) struct list *(10) q一、選擇題(1) 請(qǐng)選出可用作c語(yǔ)言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符a) void b) a3_b3 c) for d) 2adefine _123 -abc doword if case sizeof(2) 設(shè) int a=12,則執(zhí)行完語(yǔ)句 a+=a-=a*a后,a的值是a) 552 b) 264 c) 144 d) -264(3) c語(yǔ)言程序的基本單位是a) 程序行 b) 語(yǔ)句 c) 函數(shù) d)

24、 字符(4) 請(qǐng)選出合法的c語(yǔ)言賦值語(yǔ)句a) a=b=58 b) i+; c) a=58,b=58 d) k=int(a+b);(5) 執(zhí)行下面程序片段的結(jié)果是int x=23;do printf(%2d,x-);while(!x);a) 打印出321 b) 打印出23 c) 不打印任何內(nèi)容 d) 陷入死循環(huán)(6) 請(qǐng)選出以下語(yǔ)句的輸出結(jié)果printf(%dn,strlen(t065xffn);a) 5 b) 14 c) 8 d) 輸出項(xiàng)不合法,無(wú)正常輸出(7) 設(shè)有如下的函數(shù)ggg(x)float x; printf(n%d,x*x);則函數(shù)的類型a) 與參數(shù)x的類型相同 b) 是void

25、c) 是int d) 無(wú)法確定(8) 設(shè)有如下枚舉類型定義:enum language basic=3,assembly,ada=100,cobol,fortran;枚舉量fortran的值為a) 4 b) 7 c) 102 d) 103(9) 若有以下說(shuō)明和語(yǔ)句,請(qǐng)選出哪個(gè)是對(duì)c數(shù)組元素的正確引用int c45, (*cp)5;cp=c;a) cp+1 b) *(cp+3) c) *(cp+1)+3 d) *(*cp+2)(10) 標(biāo)準(zhǔn)函數(shù) fgets(s, n, f) 的功能是a) 從文件f中讀取長(zhǎng)度為n的字符串存入指針s所指的內(nèi)存b) 從文件f中讀取長(zhǎng)度不超過(guò)n-1的字符串存入指針s所指

26、的內(nèi)存c) 從文件f中讀取n個(gè)字符串存入指針s所指的內(nèi)存d) 從文件f中讀取長(zhǎng)度為n-1的字符串存入指針s所指的內(nèi)存(11) 設(shè)有如下一段程序:int *var,ab;ab=100var=&ab;ab=*var+10;執(zhí)行上面的程序后,ab的值為a) 120 b) 110 c) 100 d) 90(12) 以下程序段給數(shù)組所有的元素輸入數(shù)據(jù),請(qǐng)選擇正確答案填入。#includemain() int a10,i=0;while(i10) scanf(%d,_ );a) a+(i+) b) &ai+1 c) a+i d) &a+i(13) 設(shè)有如下的程序段:char str =hello;char

27、 *ptr;ptr=str;執(zhí)行上面的程序段后,*(ptr+5)的值為a) o b) 0 c) 不確定的值 d) o的地址(14) 在宏定義 #define pi 3.14159中,用宏名pi代替一個(gè)a) 單精度數(shù) b) 雙精度數(shù) c) 常量 d) 字符串(15) 字符(char)型數(shù)據(jù)在微機(jī)內(nèi)存中的存儲(chǔ)形式是a) 反碼 b) 補(bǔ)碼 c) ebcdic碼 d) ascii碼(16) 執(zhí)行下面的程序段int x=35;char z=a;int b;b=(x&15)&(za);后,b的值為a) 0 b) 1 c) 2 d) 3(17) c語(yǔ)言規(guī)定,程序中各函數(shù)之間a) 既允許直接遞歸調(diào)用也允許間接

28、遞歸調(diào)用b) 不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用c) 允許直接遞歸調(diào)用不允許間接遞歸調(diào)用d) 不允許直接遞歸調(diào)用允許間接遞歸調(diào)用(18) 假設(shè)在程序中a,b,c均被定義成整型,并且已賦大于1的值,則下列能正確表示代數(shù)式 的表達(dá)式是a) 1/a*b*c b) 1/(a*b*c) c) 1/a/b/(float)c d) 1.0/a/b/c(19) 若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達(dá)式是a) pb=&x b) pb=x; c) *pb=&x; d) *pb=*x(20) 設(shè)有static char str =beijing;則執(zhí)行printf(%dn, strlen

29、(strcpy(str,china);后的輸出結(jié)果為a) 5 b) 7 c) 12 d) 14(21) 設(shè)有如下程序:#includemain() int *k, *j, i=100;j=&i; k=&j;printf(%dn, *k);上面程序的輸出結(jié)果是a) 運(yùn)行錯(cuò)誤 b) 100 c) i的地址 d) j的地址 (22) 設(shè) a=5, b=6, c=7, d=8, m=2, n=2, 執(zhí)行(m=ab)&(n=cd)后n的值為a) 1 b) 2 c) 3 d) 4(23) 下面函數(shù)的功能是sss(s, t)char *s, *t; while(*s)&(*t)&(*t+= *s+);ret

30、urn(*s-*t);a) 求字符串的長(zhǎng)度 b) 比較兩個(gè)字符串的大小c) 將字符串s復(fù)制到字符串t中 d) 將字符串s接續(xù)到字符串t中(24) 請(qǐng)選出以下程序的輸出結(jié)果#includesub(x,y,z)int x, y, *z; *z=y-x; main() int a, b, c;sub(10,5,&a); sub(7,a,&b); sub(a,b,&c);printf(%d,%d,%dn, a,b,c);a) 5,2,3 b) -5,-12,-7 c) -5,-12,-17 d) 5,-2,-7(25) 下面程序的輸出結(jié)果是#includemain() int i=2,p;p=f(i,

31、i+1);printf(%d,p);int f(a,b)int a,b; int c;if(ab) c=1;elseif(a=b) c=0;else c=-1;return(c);a) -1 b) 0 c) 1 d) 2(26) 請(qǐng)選出以下程序段的輸出結(jié)果#include#define min(x,y) (x)(y)? (x):(y)main() int i,j,k;i=10; j=15;k=10*min(i,j);printf(%dn,k);a) 15 b) 100 c) 10 d) 150(27) 請(qǐng)選出以下程序段的輸出結(jié)果#includemain() char sl10, s210, s

32、310, s410;scanf(%s%s,s1,s2); gets(s3); gets(s4);puts(s1); puts(s2); puts(s3); puts(s4);輸入數(shù)據(jù)如下:(此處代表回車符)aaaa bbbbcccc dddda) aaaa b) aaaa c) aaaa d) aaaa bbbb bbbb bbbb bbbb cccc cccc cccc dddd dddd cccc dddd dddd eeee(28) 請(qǐng)選出以下程序的輸出結(jié)果#includefun(s, n1, n2)int *s, n1, n2; int i, j, t;i=n1; j=n2;while

33、(ij) t= *(s+i); *(s+i)= *(s+j); *(s+j)=t;i+; j-;main() int a10=1,2,3,4,5,6,7,8,9,0,i, *p=a;fun(p,0,3); fun(p,4,9); fun(p,0,9);for(i=0; i10; i+) printf(%d, *(a+i);printf(n);a) 0 9 8 7 6 5 4 3 2 1 b) 4 3 2 1 0 9 8 7 6 5c) 5 6 7 8 9 0 1 2 3 4 d) 0 9 8 7 6 5 1 2 3 4(29) 請(qǐng)選出以下程序的輸出結(jié)果#includemain() int a

34、= 1,2,3,4 ,i;int x=0;for(i=0; ix );printf(%dn, (+p)-x);printf(%dn, +( *p-y);a) 10 b) 50 c) 51 d) 60 20 60 60 70 20 21 21 31二、填空題(1) 設(shè)有如下程序段:int i=0, sum=1;do sum+=i+;while(i6);printf(%dn, sum);上述程序段的輸出結(jié)果是 【1】 。(2) 閱讀下列程序:#includemain() int i, j, row, column,m;static int array33=100,200,300,28,72,-30

35、,-850,2,6;m=array00;for (i=0; i3; i+)for (j=0; j3; i+)if (arrayijm) m=arrayij; row=i; column=j;printf(%d,%d,%dn,m,row,column);上述程序的輸出結(jié)果是 【2】 。(3) 設(shè)a、b、c為整型數(shù), 且a=2、b=3、c=4, 則執(zhí)行完以下語(yǔ)句:a*=16+(b+)-(+c);后,a的值是 【3】 。(4) 下面程序的輸出結(jié)果是 【4】 。#includemain() int a=3, b=2, c=1;c-=+b;b*=a+c; int b=5, c=12;c/=b*2;a-=

36、c;printf( %d,%d,%d,a,b,c);a+=-c;printf( %d,%d,%d,a,b,c);(5) 設(shè)有如下程序:#includemain(argc,argv)int argc; char *argv ; while( -argc0) printf(%s,argvargc);printf(n);假定上述程序經(jīng)編譯和連接后生成可執(zhí)行文件prog.exe,如果在dos提示符下鍵入prog abcd efgh ijkl ,則輸出結(jié)果為 【5】 。(6) 閱讀下列程序:#include#define max_count 4void fun();main() int count;fo

37、r (count=1; count=max_count; count+) fun();void fun() static int i;i+=2; printf(%d,i);上述程序的輸出結(jié)果是 【6】 。(7) 設(shè)有下列程序:#include#includemain() int i;char str10, temp10;gets(temp);for (i=0; i4; i+) gets(str);if (strcmp(temp,str)0) strcpy(temp,str);printf(%sn,temp);上述程序運(yùn)行后,如果從鍵盤(pán)上輸入(在此代表回車符):c+basicquickcadap

38、ascal則程序的輸出結(jié)果是 【7】 。(8) 設(shè)有如下程序:#include main(argc,argv)int argc; char *argv ; file *fp;void fc();int i=1;while( -argc0)if(fp=fopen(argvi+,r)=null) printf(cannot open file! n);exit(1);else fc(fp); fclose(fp); void fc(ifp)file *ifp; char c;while(c=getc(ifp)!=#) putchar(c-32);上述程序經(jīng)編譯、連接后生成可執(zhí)行文件名為cpy.ex

39、e。假定磁盤(pán)上有三個(gè)文本文件,其文件名和內(nèi)容分別為:文件名 內(nèi)容a aaaa#b bbbb#c cccc#如果在dos下鍵入cpy a b c則程序輸出 【8】 。(9) 若輸入3個(gè)整數(shù)3,2,1,則下面程序的輸出結(jié)果是【9】 。#includevoid sub( n,uu)int n, uu ; int t;t=uun-; t+=3*uun;n=n+;if(t=10) uun+=t/10; uun=t%10;else uun=t;main( ) int i, n, aa10=0,0,0,0,0,0scanf( %d%d%d,&n,&aa0,&aa1);for(i=1; in; i+) sub

40、(i,aa);for(i=0; i=n; i+) printf(%d,aai);printf(n);(10) 若有以下定義:double w10;則w數(shù)組元素下標(biāo)的上限為 【10】 ,下限為 【11】 。(11) 以下程序統(tǒng)計(jì)從終端輸入的字符中每個(gè)大寫(xiě)字母的個(gè)數(shù)。用#號(hào)作為輸入結(jié)束標(biāo)志,請(qǐng)?zhí)羁铡?include #include main( ) int num26,i; char c;for(i=0; i26; i+) numi=0;while( 【12】 !=#) /*統(tǒng)計(jì)從終端輸入的大寫(xiě)字母?jìng)€(gè)數(shù)*/if( isupper(c) numc-65+=1;for(i=0; i26; i+) /*

41、輸出大寫(xiě)字母和該字母的個(gè)數(shù)*/if(numi) printf(%c:%dn,i 【13】 , numi);(12) 下面的程序調(diào)用getone函數(shù)開(kāi)辟一個(gè)動(dòng)態(tài)存儲(chǔ)單元,調(diào)用assone函數(shù)把數(shù)據(jù)輸入此動(dòng)態(tài)存儲(chǔ)單元,調(diào)用outone函數(shù)輸出此動(dòng)態(tài)存儲(chǔ)單元中的數(shù)據(jù)。請(qǐng)?zhí)羁铡?include getone(s)int *s; *s=(int *)malloc(sizeof(int);assone(a)int *a; scanf(%d, 【14】 );outone(b)int *b;printf(%dn, 【15】 );main( ) int *p;getone(&p);assone(p);outon

42、e(p); 選擇題:(1)b (2)d (3)c (4)b (5)b (6)a (7)c (8)c (9)d (10)b (11)b (12)a (13)b (14)d (15)d (16)b (17)a (18)d (19)a (20)a (21)b (22)b (23)b (24)b (25)a (26)a (27)a (28)c (29)c (30)c 填空題:(1) 16(2) -850,2,0若遺漏逗號(hào)扣1分(3) 28(4) 2,5,1,2,3,-2若遺漏逗號(hào)扣1分(5) ijklefghabcd 若在字符間嵌入空格扣1分 若在字符間嵌入空格扣1分(6)2468(7) quickc

43、 若大寫(xiě)字母寫(xiě)成小寫(xiě)字母,或小寫(xiě)字母寫(xiě)成大寫(xiě)字母扣1分(8) aaaabbbbcccc 若在字符間嵌入空格扣1分若用小寫(xiě)字母扣1分(9) 2 7 2 1 或2721(10) 9(11) 0(12) (c=getchar() 注意,外層括號(hào)不得遺漏(13) +65 或 +a(14) a 或&*a(15) *b一、選擇題(1) 下列敘述中正確的是a) c語(yǔ)言編譯時(shí)不檢查語(yǔ)法b) c語(yǔ)言的子程序有過(guò)程和函數(shù)兩種c) c語(yǔ)言的函數(shù)可以嵌套定義 d) c語(yǔ)言所有函數(shù)都是外部函數(shù)(2) 以下所列的c語(yǔ)言常量中,錯(cuò)誤的是a) 0xff b) 1.2e0.5 c) 2l d) 72(3) 下列選項(xiàng)中,合法的c

44、語(yǔ)言關(guān)鍵字是a) var b) cher c) integer d) default(4) 以下變量x.、y、z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子 的c語(yǔ)言表達(dá)式是a) x/y*z b) x*(1/(y*z) c) x/y*1/z d) x/y/z(5) 若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是a) -3 b) 9 c) -12 d) 6(6) 設(shè)x、y、t均為int型變量,則執(zhí)行語(yǔ)句:x=y=3;t=+x|+y;后,y的值為a) 不定值 b) 4 c) 3 d) 1(7) 若變量已正確說(shuō)明為float類型,要通過(guò)語(yǔ)句scanf(%f %f

45、 %f ,&a,&b,&c);給a賦于10.0,b賦予22.0,c賦予33.0,不正確的輸入形式是:a) 10 b) 10.0,22.0,33.02233c) 10.0 d) 10 2222.0 33.0 33(8) 若執(zhí)行以下程序時(shí)從鍵盤(pán)上輸入9,則輸出結(jié)果是a) 11 b) 10 c) 9 d) 8main0 int n;scanf(%d,&n);if(n+10) printf(%dn,n);else printf(%dn,n-);(9) 若a、 b、c1、c2、x、y、均是整型變量,正確的switch語(yǔ)句是a) swich(a+b); b) switch(a*a+b*b) case 1:

46、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 c1 :y=a-b; break default:y=a*b;breakcase c2: x=a*d; break case 3:case 4:x=a+b;breakdefault:x=a+b; case 10:case 11:y=a-b;break; (10) 有以下程序段int k=0while(k=1)k+;while 循環(huán)執(zhí)行的次數(shù)是a) 無(wú)限次 b) 有語(yǔ)法錯(cuò)

47、,不能執(zhí)行c) 一次也不執(zhí)行 d) 執(zhí)行1次(11) 以下程序執(zhí)行后sum的值是a)15 b)14 c) 不確定 d)0min() int i , sum;for(i=1;i6;i+) sum+=i;printf(%dn,sum);(12) 有以下程序段int x=3do printf(%d,x-=2); while (!(-x);其輸出結(jié)果是a) 1 b) 3 0 c) 1 -2 d) 死循環(huán)(13) 若變量c為char類型,能正確判斷出c為小寫(xiě)字母的表達(dá)式是a) a=c= a)|(c= z)c) (a=c) d) (c= a)&(c= z)(14) 以下所列的各函數(shù)首部中,正確的是a) v

48、oid play(var :integer,var b:integer)b) void play(int a,b)c) void play(int a,int b)d) sub play(a as integer,b as integer)(15) 以下程序的輸出結(jié)果是a) 0 b) 29 c) 31 d) 無(wú)定值fun(int x, int y, int z) z=x*x+y*y; main() int a=31;fun(5,2,a);printf(%d,a);(16) 下列程序段的輸出結(jié)果是a) 2 1 4 3 b) 1 2 1 2 c) 1 2 3 4 d) 2 1 1 2void fu

49、n(int *x, int *y) printf(%d %d, *x, *y); *x=3; *y=4;main() int x=1,y=2;fun(&y,&x);printf(%d %d,x, y);(17) 下列程序的輸出結(jié)果是a) 非法 b)a4的地址 c)5 d)3main() char a10=9,8,7,6,5,4,3,2,1,0,*p=a+5;printf(%d,*-p);(18) 下列程序的運(yùn)行結(jié)果是a) 6 3 b) 3 6 c) 編譯出錯(cuò) d) 0 0void fun(int *a, int *b) int *k;k=a; a=b; b=k;main() int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf(%d %d, a, b);(19

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論