山東大學(xué)歷年C語(yǔ)言題庫(kù)_第1頁(yè)
山東大學(xué)歷年C語(yǔ)言題庫(kù)_第2頁(yè)
山東大學(xué)歷年C語(yǔ)言題庫(kù)_第3頁(yè)
山東大學(xué)歷年C語(yǔ)言題庫(kù)_第4頁(yè)
山東大學(xué)歷年C語(yǔ)言題庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩45頁(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、選擇題(30分)(第一部分分10分,第二部分12分,第三部分8分)第一部分:簡(jiǎn)單類(lèi)題目( 50個(gè)題目,從中選擇10,每題1分)1、若num、a、b和c都是int型變量,則執(zhí)行表達(dá)式num=(a=4,b=16,c=32)后num的值為(C) A4 B16 C32 D5222.以下程序的輸出結(jié)果(B) 。 main( ) int x1=3, x2=0, x3=0; if (x1=x2+x3) printf("* * * *"); else printf("# # # #"); A輸出:* * * * B輸出:# # # #C存在語(yǔ)法錯(cuò)誤 D無(wú)輸出結(jié)果3.下面

2、四個(gè)選項(xiàng)中,均是合法轉(zhuǎn)義字符的選項(xiàng)是(A)。A''' '' 'n' B'' '017' '"'C'018' 'f' 'xab' D'0' '101' 'xlf'4若有說(shuō)明:int a=1,b=2,c=3,d=4;則表達(dá)式a<b?a:c<d?c:d的值是(D) 。A、4 B、3 C、2 D、15設(shè)i、j、和k是int型變量,且i=3,j=4,k=5,則以下值為0的表達(dá)式是 (D

3、)。A i&&j Bi<=jCi|j+k&&j-k D!(i<j)&&!k|1)6若希望當(dāng)num的值為奇數(shù)時(shí),表達(dá)式的值為“真”,num的值為偶數(shù)時(shí),表達(dá)式的值為“假”。則以下不能滿足要求的表達(dá)式是(C) 。Anum%2= =1 B. !(num%2= =0) C!(num%2) Dnum%27有以下程序main() int m=3,n=4,x; x=-m+; x=x+8/+n;printf(“%dn”,x);程序運(yùn)行后的輸出結(jié)果是 ( D ) 。A3 B5 C-1 D-28若有變量說(shuō)明:int a=0,b=0,c=0;,以下符合C語(yǔ)

4、言語(yǔ)法的賦值表達(dá)式是 ( C ) 。Aa=9+b+c=a+9 Ba=9+b;c=a+9;Ca=(9+b,b+) Da=9+b+=a+79若有以下定義,若int m=7,n=12,則能得到值為3的表達(dá)式是 ( D ) 。An%=(m%=5) Bn%=(m-m%5)Cn%=m-m%5 D(n%=m)-(m%=5)10以下能正確定義整型變量x、y和z并為其賦初值5的語(yǔ)句是 ( C ) 。Aint x=y=z=5; Bint x,y,z=5;Cint x=5,y=5,z=5; Dx=5,y=5,z=5; 11若x和y代表整型數(shù),以下表達(dá)式中不能正確表示數(shù)學(xué)關(guān)系|x-y|<10的是 ( C ) 。

5、Aabs(x-y)<10 Bx-y>-10&&x-y<10C(x-y)<-10|!(y-x)>10 D(x-y)*(x-y)<10012. 設(shè) int a=12,則執(zhí)行完語(yǔ)句 a+=a-=a*a后,a的值是 ( D ) 。A 552 B 264 C 144 D -26413 以下敘述不正確的是 ( D )A)一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成B)一個(gè)C源程序必須包含一個(gè)main函數(shù)C)C程序的基本組成單位是函數(shù)D)在C程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面14 下關(guān)于運(yùn)算符優(yōu)先順序的描述中正確的是 ( C )。A)關(guān)系運(yùn)算符< 算術(shù)運(yùn)算

6、符< 賦值運(yùn)算符< 邏輯與運(yùn)算符B)邏輯 運(yùn)算符< 關(guān)系運(yùn)算符< 算術(shù)運(yùn)算符< 賦值運(yùn)算符C)賦值運(yùn)算符< 邏輯與運(yùn)算符< 關(guān)系運(yùn)算符< 算術(shù)運(yùn)算符D)算術(shù)運(yùn)算符< 關(guān)系運(yùn)算符< 賦值運(yùn)算符< 邏輯與運(yùn)算符15 下列程序的輸出結(jié)果是 ( C )main( ) int a=7,b=5; printf("%dn",b=b/a);A 5 B 1 C 0 D不確定值16 printf函數(shù)中用到格式符%5s ,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長(zhǎng)度大于5,則輸出按方式(B)A) 從左起輸出該字串,右補(bǔ)空格B

7、) 按原字符長(zhǎng)從左向右全部輸出C) 右對(duì)齊輸出該字串,左補(bǔ)空格D) 輸出錯(cuò)誤信息17. 以下敘述正確的是 ( C )A. 在C程序中,main函數(shù)必須位于程序的最前面B. C程序的每行中只能寫(xiě)一條語(yǔ)句C. C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句D. 在對(duì)一個(gè)C程序進(jìn)行編譯的過(guò)程中,可發(fā)現(xiàn)注釋中的拼寫(xiě)錯(cuò)誤18. 假設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,b+,a+b)的值是 ( B )A. 7B. 8C. 6D. 219. 下面不正確的字符串常量是 ( A )A. 'abc'B. "1212"C. "0"D. ""20. 已知

8、各變量的類(lèi)型說(shuō)明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;則以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是 ( A )A. a+=a-=(b= 4)*(a=3)B. a=a*3=2C. x%(-3)D. y=f1oat(i)21. 若有說(shuō)明語(yǔ)句:char c='72'則變量c描述正確的是 ( A )A. 包含1個(gè)字符 B. 包含2個(gè)字符C. 包含3個(gè)字符 D. 說(shuō)明不合法,c的值不確定22. 已有定義int x; f1oat y;且執(zhí)行scanf("%3d%f",&x,&y);語(yǔ)句,若輸入12

9、345 78(回車(chē)),則x 的值為 ( B )A. 12345B. 123C. 45D. 34523. 能正確表示"當(dāng)x 的取值在1,10和200,210范圍內(nèi)為真,否則為假"的表達(dá)式是( C )A. (x>=1) && (x<=10) && (x>=200) && (x<=210)B. (x>=1) | (x<=10) | (x>=200) | (x<=210)c. (x>=1) && (x<=10) | (x>=200) &&

10、 (x<=210)D. (x>=1) | (x<=10) && (x>=200) | (x<=210)24設(shè)整型變量n=10,i=4,則賦值運(yùn)算n%=i+1執(zhí)行后,n的值是 () A. 0 B. 1 C. 2 D. 325在if(x)語(yǔ)句中的x與下面條件表達(dá)式等價(jià)的是:()A) x!=0 B) x=1 C) x!=1 D) x=026、已知字母A的ASCII碼為(65)10,變量ch1為字符型,則執(zhí)行語(yǔ)句ch1='A'+'6'-'3'后,ch1中的值為() A、D B、E C、一個(gè)不確定的值 D、C

11、27. 已知x=3、y=2,則表達(dá)式 x*=y+8的值為 ( C )A)3 B)2 C)30 D)1028. 設(shè)x為int型變量,則執(zhí)行以下語(yǔ)句后,x的值為 ( B )。x=10;x+=x- =x-x;A)10 B)20 C)40 D)3029 若有以下類(lèi)型說(shuō)明語(yǔ)句:char a; int b; float c; double d; 則表達(dá)式a*b+d-c的結(jié)果類(lèi)型為 ( D ) Afloat Bchar Cint Ddouble30 若二維數(shù)組a有m列,則在aij前的元素個(gè)數(shù)為( B )A)j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+131 對(duì)for(表達(dá)式1;表達(dá)式3)

12、可理解為( B ) A)for(表達(dá)式1;0;表達(dá)式3) B)for(表達(dá)式1;1;表達(dá)式3)C)for(表達(dá)式1;表達(dá)式1;表達(dá)式3)D)for(表達(dá)式1;表達(dá)式3;表達(dá)式3)32 以下描述不正確的是 ( C )。A使用while和do-while循環(huán)時(shí),循環(huán)變量初始化的操作應(yīng)在循環(huán)體語(yǔ)句之前完成Bwhile循環(huán)是先判斷表達(dá)式,后執(zhí)行循環(huán)語(yǔ)句Cdo-while 和for循環(huán)均是先執(zhí)行循環(huán)語(yǔ)句,后判斷表達(dá)式Dfor、while 和do-while循環(huán)中的循環(huán)體均可以由空語(yǔ)句構(gòu)成33.下列程序段的運(yùn)行結(jié)果是 ( C )。int n=0; while(n+<=3); printf(“%d”,

13、n);A 3 B 4 C 5 D 有語(yǔ)法錯(cuò)誤34. 設(shè)int a=3,b=4,c=5;,下列表達(dá)式的值不為1的是 ( A )。A)a+b>c&&b=c B)a|b+c&&b-c C)!(a>b)&&!c|1 D)!(a+b)+c-1&&b+c/235. 有以下程序:#include <stdio.h>void main ( ) int a=1,b=2,m=0,n=0,k;k=(n=b>a)|(m=a<b);printf ("%d,%dn",k,m);程序運(yùn)行后的輸出結(jié)果是 (

14、 C )。A)0,0 B)0,1 C)1,0 D)1,136、以下能正確進(jìn)行字符串賦值操作的是 ( D ) A、char s5="ABCDE" B、char s5='A', 'B', 'C', 'D', 'E' C、char *s; *s="ABCDE" D、char *s="ABCDE" 37 下面程序的運(yùn)行結(jié)果是 () #include <stdio.h> #include <string.h> main() char *s1=

15、"AbDeG" char *s2="AbdEg" s1+=2;s2+=2; printf("%d",strcmp(s1,s2); A) 正數(shù) B) 負(fù)數(shù) C) 零 D) 不確定的值3 若有定義:int a23,則對(duì)a數(shù)組的第i行j列元素地址的正確引用為 (A ) A) *(ai+j) B) (a+i) C) *(a+j) D) ai+j 以下能對(duì)二維數(shù)組y進(jìn)行初始化的語(yǔ)句是()(數(shù)組初始化時(shí),一維長(zhǎng)度可以不指定,但是二維長(zhǎng)度不能?。〢、static int y2 =1,0,1, 5,2,3;B、static int y 3=1,2,3

16、, 4,5,6;C、static int y24=1,2,3, 4,5 , 6;D、static int y 3=1,0,1,0, , 1,1;40 以下printf語(yǔ)句的輸出結(jié)果是() printf("%dn", strlen("school"); A、7 B、6 C、存在語(yǔ)法錯(cuò)誤 D、不定值41 不能把字符串:Hello!賦給數(shù)組b的語(yǔ)句是( B)。A. char b10='H','e','l','l','o','!' B. char b10; b=&qu

17、ot;Hello!"C. char b10; strcpy(b,"Hello!"); D. char b10="Hello!"42 .設(shè)有定義:int a10,*p=a+6,*q=a;,則下列運(yùn)算哪種是錯(cuò)誤的 ( C ) A p-q B p+3 C p+q D p>q43. 下列描述中不正確的是()A)字符型數(shù)組中可以存放字符串 B)可以對(duì)字符型數(shù)組進(jìn)行整體輸入、輸出 C)可以對(duì)整型數(shù)組進(jìn)行整體輸入、輸出 D)不能在賦值語(yǔ)句中通過(guò)賦值運(yùn)算符“=”對(duì)字符型數(shù)組進(jìn)行整體賦值44 以下對(duì)指針變量的操作中,不正確的是(D) A、int a, *p

18、, *q; p=q=&a; B、int a=6, *p, *q=&a; p=q; C、int a=b=6, *p; p=&a; b=*p; D、int a, *p, *q; q=&a; p=*q;45. 給出以下定義char x ="abcdefg"char y ='a','b','c','d','e','f','g';則正確的敘述為 ( C ) 。A)數(shù)組x和數(shù)組y等價(jià)B)數(shù)組x和數(shù)組y的長(zhǎng)度相同C)數(shù)組x的長(zhǎng)度大于數(shù)組y的長(zhǎng)度D

19、)數(shù)組x的長(zhǎng)度小于數(shù)組y的長(zhǎng)度46、設(shè)變量y為float類(lèi)型,x為int類(lèi)型,則以下能實(shí)現(xiàn)將y中的數(shù)值保留小數(shù)點(diǎn)后兩位,第三位進(jìn)行四舍五入運(yùn)算的表達(dá)式是 ( B )A、y=(y*100+0.5)/100.0 B、x=y*100+0.5,y=x/100.0C、y=y*100+0.5/100.0 D、y=(y/100+0.5)*100.047 判斷char型變量c1是否為大寫(xiě)字母的正確表達(dá)式是 ( C )A、'A'<=c1<='Z' B、(c1>='A')&(c1<='Z')C、(c1>='

20、;A')&&(c1<='Z') D、('A'<=c1) AND ('Z'>=c1)48若a為已知整型變量,則對(duì)指針變量p的正確說(shuō)明和初始化為 ( B ) 。Aint *p=a; Bint *p=&a; Cint *p=*a; Dint &p=&a;49 下列條件語(yǔ)句中,功能與其它語(yǔ)句不同的是 ( D ) 。Aif(a) printf(“%dn”,x);else printf(“%dn”,y);Bif(a= =0) printf(“%dn”,y);else printf(“%dn”,

21、x);Cif(a!=0) printf(“%dn”,x);else printf(“%dn”,y);Dif(a=0) printf(“%dn”,x);else printf(“%dn”,y);50. 若有語(yǔ)句:char *line5;,以下敘述中正確的是 ( A )。 A)定義line是一個(gè)指針數(shù)組,每個(gè)數(shù)組元素是一個(gè)基類(lèi)型為char的指針變量 B)定義line是一個(gè)指針變量,該變量可以指向一個(gè)長(zhǎng)度為5的字符型數(shù)組 C)定義line是一個(gè)指針數(shù)組,語(yǔ)句中的*號(hào)稱為間址運(yùn)算符 D)定義line是一個(gè)指向字符型函數(shù)的指針 第二部分:中等難度題目(24個(gè)題目,從中選擇8個(gè),每題1.5分 共 12分)

22、1 設(shè)有聲明語(yǔ)句:int a=1,b=0;則執(zhí)行以下語(yǔ)句后輸出 : (B)switch (a) case 1: switch (b) case 0: printf("*0*");break; case 1: printf("*1*");break; case 2: printf("*2*");break;A)*0* B)*0*2* C)*0*1*2* D)有語(yǔ)法錯(cuò)誤2 若有如下程序段,其中s,a,b,c均已定義為整型變量,且a、c均已賦值s=a; for(b=1;b<=c;b+) s=s+1;則與上述程序段功能等價(jià)的賦值語(yǔ)句是

23、( B )。As=a+b; Bs=a+c; Cs=s+c; Ds=b+c; 3 . 若有程序段:for (m=1;m<=100;m+) scanf("%d",&y); if(y<0) continue; printf("%3d",m);正確的描述是( D )。A 當(dāng)y<0時(shí)整個(gè)循環(huán)結(jié)束 B y>=0時(shí)什么也不輸出C printf函數(shù)永遠(yuǎn)也不執(zhí)行 D 最多允許輸出100個(gè)非負(fù)整數(shù) 4. 若有程序段如下:a=b=c=0;x=35;if(!a)x-;else if(b);if(c)x=3;else x=4; 執(zhí)行后,變量x的值是

24、 ( B )A34 B4 C35 D3 5. 有以下程序:#include <stdio.h>void main( ) int i=0,s=0;for(; ;) if(i=3|i=5)continue;if(i=6) break;i+; s+=i;printf("%dn",s);程序運(yùn)行后的輸出結(jié)果是( D )。A)10 B)13 C)21 D)程序進(jìn)入死循環(huán) 6 下面程序段是輸出兩個(gè)字符串中對(duì)應(yīng)位置相等的字符,橫線處應(yīng)該是( A )char x=”programming”;char y=”Fortran”;int i=0;while(xi!=0 &&a

25、mp; yi!=0)if(xi=yi) printf(“%c”, );else i+;A) xi+ B) y+i C) xi D) yi7. 閱讀以下程序:#include <stdio.h>void main() int x;scanf ("%d",&x);if (x-<5) printf("%d",x);else printf("%d",x+);程序執(zhí)行后,如果從鍵盤(pán)上輸入5,則輸出結(jié)果是 ( B )A)3 B)4 C)5 D)6 8 int fun(char *a,char *b) while(*a!=

26、'0')&&(*b!='0')&&(*a=*b) a+;b+; return(*a-*b);該函數(shù)的功能是_D_。A)計(jì)算a和b所指字符串的長(zhǎng)度之差B)將b所指字符串連接到a所指字符串中C)將b所指字符串連接到a所指字符串后面D)比較a和b所指字符串的大小9. 有如下程序段:char str14="I am "strcat(str, "sad !");scanf("%s", str);printf("%s", str);當(dāng)輸入為happy!<CR

27、>時(shí),輸出的結(jié)果是( B)。(A)I am sad! (B)happy! (C)I am happy! (D)happy!ad!10. 以下程序的輸出結(jié)果是 ( C )。#include <stdio.h>#include <string.h>void main( )char b30;strcpy (&b0,"CH");strcpy (&b1,"DEF");strcpy (&b2,"ABC");printf ("%sn",b); A)CHDEF B)DEFABC

28、 C)CDABC D)CHABC 11. 下面程序的輸出結(jié)果為( A )。#include <stdio.h>void main( ) int a3,i,j,k=2;for(i=0;i<3;i+)ai=0;for(i=0;i<k;i+)for(j=0;j<k;j+)aj=i*j;printf("%dn",a2);A)0 B)1 C)2 D)312. 以下程序:#include <stdio.h>void main( ) int aa33=2,4,6, i,*p=&aa00;for(i=0;i<2;i+) if(i =0

29、) aaii+1=*p+1;else +p;printf("%d",* p);printf("n");其輸出結(jié)果是 ( A )A)23 B)26 C)33 D)3613. 下面程序的輸出結(jié)果是( B )。#include <stdio.h>void main( ) int i,j,k;char str5;for(i=0;i<5;i+)stri='A'k=4;for(i=0;i<k;i+)for(j=0;j<k;j+)strj=stri+32;printf("%cn",strk);A)a B

30、)A C)B D)不確定的值 14. 下列程序的輸出結(jié)果為 ( B ) 。#include <stdio.h>void main() int k=0,i,s =1,-9,7,2,-10,3;for (i=0;i<6;i+)if (si>sk) k=i;printf("n%dn",k);(A)4 (B)2 (C)3 (D)1 15. 以下程序的輸出結(jié)果是 ( C )。#include <stdio.h>void main( )char a10='1','2','3','4',&

31、#39;5','6','7','8','9',0,*p;int i; i=8;p=a+i;printf ("%sn",p-3);A)6 B)6 C)6789 D)78916有以下程序#include<stdio.h>void main() int a10=1,2,3,4,5,6,7,8,9,10, *p=&a3, *q=p+2;printf("%dn", *p + *q);程序運(yùn)行后的輸出結(jié)果是 ( B )。 A)16 B)10 C)8 D)617有以下程序#in

32、clude<stdio.h>void main() int a33,*p,i;p=&a00;for(i=0;i<9;i+) pi=i;for(i=0;i<3;i+) printf("%d",a1i);程序運(yùn)行后的輸出結(jié)果是 ( D )A)012 B)123 C)234 D)345 18. 有以下程序#include<stdio.h>void main() int p8=11,12,13,14,15,16,17,18,i=0,j=0;while(i+<7) if(pi%2) j+=pi;printf("%dn&quo

33、t;,j);程序運(yùn)行后的輸出結(jié)果是 ( C )。A)42 B)45 C)56 D)60 19.有以下程序void sum(int *a) a0=a1;main( ) int aa10=1,2,3,4,5,6,7,8,9,10,i;for(i=2;i>=0;i-) sum(&aai);printf("%dn",aa0); 執(zhí)行后的輸出結(jié)果是 ( A )A. 4B. 3C. 2 D. 120. 以下程序運(yùn)行后,輸出結(jié)果是 ( A ) 。#include <stdio.h>int d=1;void fun (int p)int d=5;d+=p+;pri

34、ntf("%d",d);void main( ) int a=3;fun(a);d+=a+;printf("%dn",d);A 84 B)99 C)95 D)44第三部分:較難題目(5 個(gè)題目,從中選擇4個(gè),每題2分)1. 有以下程序#include <stdio.h>void main()int i,test ,p17,head;for(i=0;i<16;i+)pi=i+1;p16=0;test=0;while(test!=ptest)for(i=1;i<3;i+)head=test;test=ptest;phead=ptest

35、;test=phead;printf("n%5d",test);程序執(zhí)行后的輸出結(jié)果是_C_。A)1,2,3B)2,3,4C)10D)42有以下程序#include <stdio.h>void main()char ch25="693","825",*p2;int i,k,j,s=0;for(i=0;i<2;i+)pi=chi;for(i=0;i<2;i+)for(j=0;pij>='0'&&pij<='9'j+=2)s=10*s+pij-'0

36、'printf("%dn",s);程序執(zhí)行后的輸出結(jié)果是_A_。A)6385 B)22 C)33 D)693825 3.有以下程序#include <stdio.h>void f (int *x,int *y) int t;t=*x;*x=*y;*y=t;void main( ) int a8=1,2,3,4,5,6,7,8,i,*p,*q;p=a;q=&a7;while(p<q) f (p,q); p+;q-;for (i=0;i<8;i+)printf("%d,",ai);程序運(yùn)行后的輸出結(jié)果是 D 。(A)8

37、,2,3,4,5,6,7,1, (B)5,6,7,8,1,2,3,4, (C)1,2,3,4,5,6,7,8 (D)8,7,6,5,4,3,2,1,4. 以下程序的輸出結(jié)果是 。#include <stdio.h>int x=3;void incre( ) static int x=1;x*=x+1;printf("%d ",x);void main( ) int i;for (i=1;i<x;i+)incre( );A)3 3 B)2 2 C)2 6 D)2 55以下程序#include <stdio.h>#include <strin

38、g.h>void f(char *s, char *t) char k;k=*s; *s=*t; *t=k;s+; t-;if (*s) f(s, t);void main() char str10="abcdefg", *p;p=str+strlen(str)/2+1;f(p, p-2);printf("%sn",str);程序運(yùn)行后的輸出結(jié)果是_B_。 A)abcdefg B)gfedcba C)gbcdefa D)abedcfg第二部分:填空題(共5題,每題2分,共10分)A卷部分1、如 float x=4.3; int a; a=4*x+(

39、int)x; 則a的值為_(kāi)21_。 2、下面程序的輸出結(jié)果為 _CDEFEF_char b="CDEF"main() char *chp ; for (chp=b;*chp ;chp+=2) printf("%s",chp); printf("n"); 3、程序 char *a="I Love China!" a+=7; printf("%s",a); 的輸出結(jié)果為_(kāi)China! _。4、若有以下的說(shuō)明和語(yǔ)句,則在執(zhí)行for語(yǔ)句后,*(*(pt+2)+3)表示的數(shù)組元素是_t23_:int t3

40、3, *pt3, k;for (k=0;k<3;k+) ptk=&tk0;5.如int *p3, a6=1,2,3,4,5,6,i; for (i=0;i<3;i+) pi=&a2*i; i= *(p1+1); 則i的值為_(kāi)4_。B卷部分1、如 float x=5.3; int a; a=5*x+(int)x; 則a的值為_(kāi)31_。2、下面程序的輸出結(jié)果為 _EFDGG_char b="EFDG"main() char *chp ; for (chp=b;*chp ;chp+=3) printf("%s",chp); prin

41、tf("n"); 3、程序 char *a="I Love China!" a+=9; printf("%s",a); 的輸出結(jié)果為ina!。4若有以下的說(shuō)明和語(yǔ)句,則在執(zhí)行for語(yǔ)句后,*(*(pt+l)+2)表示的數(shù)組元素是_ _tl2_:int t33, *pt3, k;for (k=0;k<3;k+) ptk=&tk0;5.如int *p3, a6=1,2,3,4,5,6,i; for (i=0;i<3;i+) pi=&a2*i; i=*(p1+1); 則i的值為_(kāi)4_選擇題(30分)(第一部分分1

42、0分,第二部分12分,第三部分8分)第一部分:簡(jiǎn)單類(lèi)題目( 50個(gè)題目,從中選擇10,每題1分)1、若num、a、b和c都是int型變量,則執(zhí)行表達(dá)式num=(a=4,b=16,c=32)后num的值為(C) A4 B16 C32 D5222.以下程序的輸出結(jié)果(B) 。 main( ) int x1=3, x2=0, x3=0; if (x1=x2+x3) printf("* * * *"); else printf("# # # #"); A輸出:* * * * B輸出:# # # #C存在語(yǔ)法錯(cuò)誤 D無(wú)輸出結(jié)果3.下面四個(gè)選項(xiàng)中,均是合法轉(zhuǎn)義字符的

43、選項(xiàng)是(A)。A''' '' 'n' B'' '017' '"'C'018' 'f' 'xab' D'0' '101' 'xlf'4若有說(shuō)明:int a=1,b=2,c=3,d=4;則表達(dá)式a<b?a:c<d?c:d的值是(D) 。A、4 B、3 C、2 D、15設(shè)i、j、和k是int型變量,且i=3,j=4,k=5,則以下值為0的表達(dá)式是 (D)。A i&&

44、j Bi<=jCi|j+k&&j-k D!(i<j)&&!k|1)6若希望當(dāng)num的值為奇數(shù)時(shí),表達(dá)式的值為“真”,num的值為偶數(shù)時(shí),表達(dá)式的值為“假”。則以下不能滿足要求的表達(dá)式是(C) 。Anum%2= =1 B. !(num%2= =0) C!(num%2) Dnum%27有以下程序main() int m=3,n=4,x; x=-m+; x=x+8/+n;printf(“%dn”,x);程序運(yùn)行后的輸出結(jié)果是 ( D ) 。A3 B5 C-1 D-28若有變量說(shuō)明:int a=0,b=0,c=0;,以下符合C語(yǔ)言語(yǔ)法的賦值表達(dá)式是 ( C

45、) 。Aa=9+b+c=a+9 Ba=9+b;c=a+9;Ca=(9+b,b+) Da=9+b+=a+79若有以下定義,若int m=7,n=12,則能得到值為3的表達(dá)式是 ( D ) 。An%=(m%=5) Bn%=(m-m%5)Cn%=m-m%5 D(n%=m)-(m%=5)10以下能正確定義整型變量x、y和z并為其賦初值5的語(yǔ)句是 ( C ) 。Aint x=y=z=5; Bint x,y,z=5;Cint x=5,y=5,z=5; Dx=5,y=5,z=5; 11若x和y代表整型數(shù),以下表達(dá)式中不能正確表示數(shù)學(xué)關(guān)系|x-y|<10的是 ( C ) 。Aabs(x-y)<10

46、 Bx-y>-10&&x-y<10C(x-y)<-10|!(y-x)>10 D(x-y)*(x-y)<10012. 設(shè) int a=12,則執(zhí)行完語(yǔ)句 a+=a-=a*a后,a的值是 ( D ) 。A 552 B 264 C 144 D -26413 以下敘述不正確的是 ( D )A)一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成B)一個(gè)C源程序必須包含一個(gè)main函數(shù)C)C程序的基本組成單位是函數(shù)D)在C程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面14 下關(guān)于運(yùn)算符優(yōu)先順序的描述中正確的是 ( C )。A)關(guān)系運(yùn)算符< 算術(shù)運(yùn)算符< 賦值運(yùn)算符<

47、 邏輯與運(yùn)算符B)邏輯 運(yùn)算符< 關(guān)系運(yùn)算符< 算術(shù)運(yùn)算符< 賦值運(yùn)算符C)賦值運(yùn)算符< 邏輯與運(yùn)算符< 關(guān)系運(yùn)算符< 算術(shù)運(yùn)算符D)算術(shù)運(yùn)算符< 關(guān)系運(yùn)算符< 賦值運(yùn)算符< 邏輯與運(yùn)算符15 下列程序的輸出結(jié)果是 ( C )main( ) int a=7,b=5; printf("%dn",b=b/a);A 5 B 1 C 0 D不確定值16 printf函數(shù)中用到格式符%5s ,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長(zhǎng)度大于5,則輸出按方式(B)A) 從左起輸出該字串,右補(bǔ)空格B) 按原字符長(zhǎng)從左向右全部輸出

48、C) 右對(duì)齊輸出該字串,左補(bǔ)空格D) 輸出錯(cuò)誤信息17. 以下敘述正確的是 ( C )A. 在C程序中,main函數(shù)必須位于程序的最前面B. C程序的每行中只能寫(xiě)一條語(yǔ)句C. C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句D. 在對(duì)一個(gè)C程序進(jìn)行編譯的過(guò)程中,可發(fā)現(xiàn)注釋中的拼寫(xiě)錯(cuò)誤18. 假設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,b+,a+b)的值是 ( B )A. 7B. 8C. 6D. 219. 下面不正確的字符串常量是 ( A )A. 'abc'B. "1212"C. "0"D. ""20. 已知各變量的類(lèi)型說(shuō)明如下:int

49、i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;則以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是 ( A )A. a+=a-=(b= 4)*(a=3)B. a=a*3=2C. x%(-3)D. y=f1oat(i)21. 若有說(shuō)明語(yǔ)句:char c='72'則變量c描述正確的是 ( A )A. 包含1個(gè)字符 B. 包含2個(gè)字符C. 包含3個(gè)字符 D. 說(shuō)明不合法,c的值不確定22. 已有定義int x; f1oat y;且執(zhí)行scanf("%3d%f",&x,&y);語(yǔ)句,若輸入12345 78(回車(chē)),則x 的

50、值為 ( B )A. 12345B. 123C. 45D. 34523. 能正確表示"當(dāng)x 的取值在1,10和200,210范圍內(nèi)為真,否則為假"的表達(dá)式是( C )A. (x>=1) && (x<=10) && (x>=200) && (x<=210)B. (x>=1) | (x<=10) | (x>=200) | (x<=210)c. (x>=1) && (x<=10) | (x>=200) && (x<=210)D.

51、(x>=1) | (x<=10) && (x>=200) | (x<=210)24設(shè)整型變量n=10,i=4,則賦值運(yùn)算n%=i+1執(zhí)行后,n的值是 () A. 0 B. 1 C. 2 D. 325在if(x)語(yǔ)句中的x與下面條件表達(dá)式等價(jià)的是:()A) x!=0 B) x=1 C) x!=1 D) x=026、已知字母A的ASCII碼為(65)10,變量ch1為字符型,則執(zhí)行語(yǔ)句ch1='A'+'6'-'3'后,ch1中的值為() A、D B、E C、一個(gè)不確定的值 D、C 27. 已知x=3、y=2,則

52、表達(dá)式 x*=y+8的值為 ( C )A)3 B)2 C)30 D)1028. 設(shè)x為int型變量,則執(zhí)行以下語(yǔ)句后,x的值為 ( B )。x=10;x+=x- =x-x;A)10 B)20 C)40 D)3029 若有以下類(lèi)型說(shuō)明語(yǔ)句:char a; int b; float c; double d; 則表達(dá)式a*b+d-c的結(jié)果類(lèi)型為 ( D ) Afloat Bchar Cint Ddouble30 若二維數(shù)組a有m列,則在aij前的元素個(gè)數(shù)為( B )A)j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+131 對(duì)for(表達(dá)式1;表達(dá)式3)可理解為( B ) A)for

53、(表達(dá)式1;0;表達(dá)式3) B)for(表達(dá)式1;1;表達(dá)式3)C)for(表達(dá)式1;表達(dá)式1;表達(dá)式3)D)for(表達(dá)式1;表達(dá)式3;表達(dá)式3)32 以下描述不正確的是 ( C )。A使用while和do-while循環(huán)時(shí),循環(huán)變量初始化的操作應(yīng)在循環(huán)體語(yǔ)句之前完成Bwhile循環(huán)是先判斷表達(dá)式,后執(zhí)行循環(huán)語(yǔ)句Cdo-while 和for循環(huán)均是先執(zhí)行循環(huán)語(yǔ)句,后判斷表達(dá)式Dfor、while 和do-while循環(huán)中的循環(huán)體均可以由空語(yǔ)句構(gòu)成33.下列程序段的運(yùn)行結(jié)果是 ( C )。int n=0; while(n+<=3); printf(“%d”,n);A 3 B 4 C 5

54、D 有語(yǔ)法錯(cuò)誤34. 設(shè)int a=3,b=4,c=5;,下列表達(dá)式的值不為1的是 ( A )。A)a+b>c&&b=c B)a|b+c&&b-c C)!(a>b)&&!c|1 D)!(a+b)+c-1&&b+c/235. 有以下程序:#include <stdio.h>void main ( ) int a=1,b=2,m=0,n=0,k;k=(n=b>a)|(m=a<b);printf ("%d,%dn",k,m);程序運(yùn)行后的輸出結(jié)果是 ( C )。A)0,0 B)0,1 C)1,0 D)1,136、以下能正確進(jìn)行字符串賦值操作的是 ( D ) A、char s5="ABCDE" B、char s5='A', 'B', 'C', 'D', 'E' C、char *s; *s="ABCDE" D、char *s="

溫馨提示

  • 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)論