C語言-選擇題(最全版)_第1頁
C語言-選擇題(最全版)_第2頁
C語言-選擇題(最全版)_第3頁
C語言-選擇題(最全版)_第4頁
C語言-選擇題(最全版)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)C語言程序設計基礎知識練習50101、 在C語言源程序中,以下敘述正確的是( )。答案:CA、 main函數(shù)必須位于文件的開頭 B、 每行只能寫一條語句 C、 程序中的一個語句可以寫成多行D、 每個語句的最后必須有點號50102、 關于C語言的源程序的敘述中,錯誤的是( )。答案:CA、 C語言的源程序由函數(shù)構成B、 main函數(shù)可以書寫在自定義函數(shù)之后 C、 必須包含有輸入語句D、 一行可以書寫多個語句50103、 關于C語言數(shù)據(jù)類型的敘述,正確的是( )。答案:CA

2、、 枚舉類型不是基本類型B、 數(shù)組不是構造類型C、 變量必須先定義后使用D、 不允許使用空類型50104、 C程序中main函數(shù)的位置( )。答案:CA、 必須在最開始B、 必須在系統(tǒng)庫函數(shù)后面C、 可以在自定義函數(shù)后面D、 必須在最后50105、 C語言的函數(shù)體由( )括起來。答案:BA、 ( )B、 C、 D、 /* */50106、 關于C語言的敘述中,不正確的是( )。答案:DA、 C程序可由一個或多個函數(shù)組成B、 C程序必須包含一個main()函數(shù)C、 C程序的基本組成單位是函數(shù)D、 注釋說明只能位于一條語句的后面50107、 以下敘述不正確的是( )。答案:DA、 C程序的執(zhí)行總是

3、從main函數(shù)開始B、 一個C源程序必須包含一個main函數(shù)C、 C語言程序的基本組成單位是函數(shù)D、 在編譯C程序源程序時,可發(fā)現(xiàn)注釋中的拼寫錯誤50108、 結構化程序設計的三種基本結構是( )。答案:CA、 函數(shù)結構、分支結構、判斷結構B、 函數(shù)結構、嵌套結構、平行結構C、 順序結構、分支結構、循環(huán)結構D、 分支結構、循環(huán)結構、嵌套結構50109、 對于C語言源程序,以下敘述錯誤的是( )。答案:CA、 可以有空語句B、 函數(shù)之間是平等的,在一個函數(shù)內(nèi)部不能定義其它函數(shù)C、 程序調(diào)試時如果沒有提示錯誤,就能得到正確結果D、 注釋可以出現(xiàn)在語句的前面50201、 下面關于C語言用戶標識符的描

4、述,正確的是( )。答案:DA、 不區(qū)分大小寫B(tài)、 用戶標識符不能描述常量C、 類型名也是用戶標識符D、 用戶標識符可以作為變量名50202、 以下( )是正確的變量名。答案:DA、 5fB、 ifC、 f.5D、 _f550203、 以下( )是正確的常量。答案:DA、 E-5B、 1E5.1C、 a12D、 32766L50204、 以下( )是正確的變量名。答案:DA、 a.beeB、 -p11C、 intD、 p_1150205、 以下( )是正確的字符常量。答案:CA、 cB、 C、 WD、 32a50206、 以下( )是不正確的字符串常量。答案:AA、 abcB、 1212C、

5、0D、 50207、 以下( )是錯誤的整型常量。答案:BA、 -0 xcdfB、 018C、 0 xeD、 01150208、 以下( )是正確的浮點數(shù)。答案:BA、 e3B、 .62C、 2e4.5D、 12350209、 若有說明語句:char c=95; 則變量c包含( )個字符。答案:AA、 1B、 2C、 3D、 語法錯誤50301、 若有定義:int a=2; 則正確的賦值表達式是( )。答案:AA、 a-=(a*3)B、 double(-a)C、 a*3D、 a*4=350302、 語句x=(a=3,b=+a);運行后,x、a、b的值依次為( )。答案:CA、 3,3,4B、

6、4,4,3C、 4,4,4D、 3,4,350303、 語句a=(3/4)+3%2;運行后,a的值為( )。答案:BA、 0B、 1C、 2D、 350304、 char型變量存放的是( )。答案:AA、 ASCII代碼值B、 字符本身C、 十進制代碼值D、 十六進制代碼值50305、 若有定義:int x,a;則語句x=(a=3,a+1);運行后,x、a的值依次為( )。答案:CA、 3,3B、 4,4C、 4,3D、 3,450306、 若有定義:int a; 則語句a=(3 * 4)+ 2 % 3;運行后,a的值為( )。答案:BA、 12B、 14C、 11D、 1750307、 若有

7、定義:int a,b; double x,則以下不符合C語言語法的表達式是( )。答案:AA、 x%(-3)B、 a+=-2C、 a=b=2D、 x=a+b50308、 若有定義:int x=2,y=3;float i;,則以下符合C語言語法的表達式是( )。答案:BA、 x=x*3=2B、 x=(y=1)C、 i=float(x)D、 i%(-3)50309、 設double型變量a,b,c,e均有值;對代數(shù)式(3ae)/(bc),不正確的C語言表達式是( )。答案:CA、 a/b/c*e*3B、 3*a*e/b/cC、 3*a*e/b*cD、 a*e/c/b*350401、 下面敘述正確的

8、是( )。答案:BA、 2/3 與 2.0/3.0 等價B、 (int)2.0/3 與 2/3 等價C、 +5 與 6 等價D、 A與A等價50402、 下面敘述中,錯誤的是( )。答案:AA、 其算術運算對象不包含函數(shù)B、 %(模運算符)的運算對象只能為整型量C、 算術運算符的結合方向是自左至右D、 自加和自減運算符的結合方向是自右至左50403、 下面敘述正確的是( )。答案:AA、 強制類型轉換運算的優(yōu)先級高于算術運算B、 若a和b是整型變量,(a+b)+是合法的C、 A*B 是不合法的D、 A+B是合法的50404、 若有定義:int k,i=2,j=4; 則表達式 k=(+i)*(j

9、-) 的值是( )。答案:BA、 8B、 12C、 6D、 950405、 設整型變量a為5,使b不為2的表達式是( )。答案:CA、 b=(+a)/3B、 b=6-(-a)C、 b=a%2D、 b=a/250406、 若有定義:int a=1,b=2,c=3; 則語句 +a|+b&+c;運行后b的值為( )。答案:CA、 1B、 0C、 2D、 350407、 若有定義:int i,j;則表達式(i=2,j=5,i+,i+j+)的值是( )。答案:BA、 7B、 8C、 9D、 1050408、 若有定義:int a,b;則表達式(a=2,b=5,a*2,b+,a+b)的值是( )。答案:B

10、A、 7B、 8C、 9D、 1050409、 若有定義:int m=5,n=3;則表達式(m+1,n+1,(-m)+(n-)的值是( )。答案:BA、 6B、 7C、 8D、 950501、 已知 int a;使用scanf()函數(shù)輸入一個整數(shù)給變量a,正確的函數(shù)調(diào)用是( )。答案:BA、 scanf(%d,a);B、 scanf(%d,&a);C、 scanf(%f,&a);D、 scanf(%lf,&a);50502、 已知 double a;使用scanf()函數(shù)輸入一個數(shù)值給變量a,正確的函數(shù)調(diào)用是( )。答案:DA、 scanf(%ld,&a);B、 scanf(%d,&a);C、

11、 scanf(%7.2f,&a);D、 scanf(%lf,&a);50503、 已知 char a;使用scanf()函數(shù)輸入一個字符給變量a,不正確的函數(shù)調(diào)用是( )。答案:BA、 scanf(%d,&a);B、 scanf(%lf,&a);C、 scanf(%c,&a);D、 scanf(%u,&a);50504、 putchar()函數(shù)的功能是向終端輸出( )。答案:BA、 多個字符B、 一個字符C、 一個實型變量值D、 一個整型變量表達式50505、 getchar()函數(shù)的功能是從終端輸入( )。答案:DA、 一個整型變量值B、 一個實型變量值C、 多個字符D、 一個字符50506

12、、 若有定義:int x=1234,y=123,z=12;則語句printf(%4d+%3d+%2d, x, y, z);運行后的輸出結果為( )。答案:DA、 B、 C、 1234+1234+1234D、 1234+123+1250507、 已有如下定義和輸入語句,int a; char c1,c2;scanf(%d%c%c,&a,&c1,&c2);若要求a、c1、c2的值分別為10、A和B,正確的數(shù)據(jù)輸入是( )。答案:AA、 10ABB、 10 A BC、 10A BD、 10 AB50508、 已有如下定義和輸入語句:int a,b;scanf(%d,%d,&a,&b);若要求a、b的

13、值分別為10和20,正確的數(shù)據(jù)輸入是( )。答案:BA、 10 20B、 10,20C、 a=10,b=20D、 10;2050509、 以下程序的運行結果是( )。void main() int a=65; char c=A; printf(%x,%d,a,c);答案:DA、 65,aB、 41,aC、 65,65D、 41,6550601、 下面敘述中,( )不是結構化程序設計中的三種基本結構之一。答案:AA、 數(shù)據(jù)結構B、 選擇結構 C、 循環(huán)結構D、 順序結構50602、 下面敘述中,( )不是結構化程序設計三種基本結構的共同特點。答案:AA、 先判斷后執(zhí)行B、 單入口,單出口C、 程

14、序中沒有執(zhí)行不到的語句D、 無死循環(huán)50603、 結構化程序設計不包括( )。答案:AA、 最優(yōu)化B、 自頂而下,逐步細化C、 模塊化設計D、 結構化編碼50604、 以下運算符中優(yōu)先級最高的是( )。答案:DA、 B、 |C、 &D、 +50605、 若有定義:int x=3,y=4;則表達式 !x|y 的值為( )。答案:AA、 1B、 OC、 3D、 450606、 若有定義:int i=7,j=8;則表達式 i=j|ij 的值為( )。答案:AA、 1B、 變量i的值C、 0D、 變量j的值50607、 若希望當a的值為奇數(shù)時,表達式的值為真,a的值為偶數(shù)時,表達式的值為假。則不能滿足

15、要求的表達式是( )。答案:CA、 a%2=1B、 !(a%2=0)C、 !(a%2)D、 a%250608、 若有定義:int x=3,y=4,z=5;則值為0的表達式是( )。答案:DA、 x&yB、 x=yC、 x|y+z&y-zD、 !(xy)&!z|1)50609、 若有定義:int a=5,b=2,c=1;則表達式a-bb)&(y=cd) 的值為( )。答案:AA、 0B、 1C、 5D、 650707、 若有定義:int a=2,b=3; float x=3.5,y=2.5;則表達式(float)(a+b)/2+(int)x%(int)y的值是( )。答案:AA、 3.5B、 3

16、.0C、 2.5D、 2.050708、 若有定義:int b=7; float a=2.5,c=4.7;則表達式a+(b/2*(int)(a+c)/2)%4的值是( )。答案:CA、 2.5B、 3.5C、 4.5D、 5.550709、 若有定義:int a=6,b=2;char c1=a,c2=b;則表達式a+b%5+c2-c1的值是( )。答案:CA、 7B、 8C、 9D、 表達式錯誤50801、 以下的if語句中,x的值一定被重新賦值的是( )。答案:BA、 if(x=y) x+=y;B、 if(xy & x!=y ); x+=y;C、 if(x!=y) scanf(%d,&x);

17、 else scanf(%d,&y); D、 if(xy) z=x+y;else z=x-y;答案:BA、 3B、 -1C、 4D、 不確定 50805、 若有定義:int a=1,b=2,c=3;則執(zhí)行以下程序段后a,b,c的值分別為( )。if (a=6) printf(%dn,n); else printf(%dn,+n);答案:DA、 4B、 5C、 6D、 750901、 設有整型變量x,下述語句( )不會出現(xiàn)死循環(huán)。答案:BA、 for(;x+=1);B、 for(;(x=getchar()!=n;);C、 while(1) x+;D、 for(x=10;x-);50902、 對于

18、整型變量x,與while(!x)等價的是( )。答案:BA、 while(x!=0)B、 while(x=0)C、 while(x!=1)D、 while(x)50903、 對于整型變量x和y,語句 for(x=0,y=0;(y!=123)&(x4);x+) y+; 中的“y+;”被執(zhí)行( )。答案:AA、 4次B、 0次C、 123次D、 3次50904、 在c語言中while循環(huán)和do-while循環(huán)的主要區(qū)別是( )。答案:BA、 do-while循環(huán)體內(nèi)可以使用break語句,while循環(huán)體內(nèi)不能使用break語句B、 do-while的循環(huán)體至少無條件執(zhí)行一次,while的循環(huán)體不

19、是C、 do-while循環(huán)體內(nèi)可以使用continue語句,while循環(huán)體內(nèi)不能使用continue語句D、 while的循環(huán)體至少無條件執(zhí)行一次,do-while的循環(huán)體不是50905、 以下程序段運行后,循環(huán)體運行的次數(shù)為( )。int i=10,x;for (;i10;i+)x=x+i;答案:BA、 10B、 0C、 1D、 無限50906、 以下程序段運行后變量n的值為( )。int i=1,n=1;for (;i3;i+) continue;n=n+i;答案:DA、 4B、 3C、 2D、 150907、 以下程序的運行結果是( )。void main() int sum = 0

20、, item = 0; while(item 5) item+; sum += item; if(sum=5) break; printf(%dn,sum);答案:BA、 10B、 15C、 5D、 650908、 以下程序的運行結果是( )。void main() int sum = 0, item = 0; while(item =6) break; printf(%dn,sum);答案:CA、 10B、 15C、 6D、 750909、 以下程序的運行結果是( )。void main() int sum = 0, item = 0; while(item 5) item+; if(ite

21、m = 2) continue; sum += item; printf(%dn,sum);答案:BA、 10B、 13C、 15D、 151001、 下列數(shù)組定義中,正確的是( )。答案:AA、 int a5=0;B、 int a=0 1 2;C、 int a5=0;D、 int a;51002、 下列數(shù)組定義中,正確的是( )。答案:AA、 int a10;B、 int n=10,an;C、 int N=10;int aN;D、 int n;scanf(%d,&n); int an;51003、 已知 int a10; 則對a數(shù)組元素引用不正確的是( )。 答案:AA、 a10B、 a3+

22、5C、 a10-10D、 a551004、 若有定義:int a3=0,1,2;則a1的值為( )。答案:BA、 0B、 1C、 2D、 351005、 若有定義:int a5=1,2,3,4,5;則語句a1=a3+a2+2-a3-1;運行后a1的值為( )。答案:AA、 6B、 5C、 1D、 251006、 以下能對一維數(shù)組a進行正確初始化的語句是( )。答案:DA、 int a5=(0,0,0,0,0);B、 int a5=0;C、 int a5=1,2,3,4,5,6,7;D、 int a=0;51007、 下面程序段的運行結果是( )。int i=0,a=3,4,5,4,3;do a

23、i+; while(a+i5);for(i=0;i5);for(i=0;i2);for(i=0;i5;i+) printf(%d ,ai);答案:AA、 11 2 3 4 5B、 1 2 3 4 5C、 11 12 13 14 15D、 11 12 3 4 5 51101、 設有如下程序段:int a33=1,0,2,1,0,2,1,0,1,i,j,s=0;for(i=0;i3;i+) for(j=0;ji;j+) s=s+aij;則執(zhí)行該程序段后,s的值是( )。答案:CA、 0B、 1C、 2D、 351102、 有如下定義 int a3=1,2,3,4,5,6,7,8;則數(shù)組a的行數(shù)是(

24、 )。答案:BA、 2B、 3C、 4D、 無法確定的51103、 以下數(shù)組定義中,正確的是( )。答案:DA、 int a23=1,2,3,4,5,6,7;B、 int a=1,2,3,4,5,6,7,8,9;C、 int a2= 1,2,3,4,5,6;D、 int a4= 6;51104、 若有定義:int a34=1,2,0,1,2,3;則a11的值為( )。答案:AA、 0B、 1,2C、 1D、 351105、 若有定義:int a33;則表達式&a21-a的值為( )。答案:AA、 7B、 8C、 6D、 951106、 若有定義:int i=0,x=0;int a33=1,2,

25、3,4,5,6,7,8,9;則以下程序段運行后x的值為( )。for (;i3;i+) x+=ai2-i;答案:CA、 0B、 12C、 15D、 1851107、 若有定義int a23;則對數(shù)組元素的非法引用是( )。答案:DA、 a01/2B、 a11C、 a4-40D、 a0351108、 以下數(shù)組定義中,正確的是( )。答案:CA、 int a2=1,2,3,4,5;B、 int a2=0,;C、 int a22=1,2,3;D、 int a=1,2,3,4;51109、 若有定義int a3=1,2,3,4,5,6,7,8,9;則表達式sizeof(a)/sizeof(a0)的值為

26、( )。答案:DA、 3B、 4C、 5D、 951201、 設有以下變量定義: char str1=string,str28,*str3,*str4=string;( )是正確的。答案:AA、 strcpy(str1,China);B、 str2=China;C、 strcpy(*str3,China);D、 strcpy(str40,China);51202、 有如下定義: char str6= a,b,0,d,e,f;則語句: printf(%s,str);的輸出結果是( )。答案:DA、 abB、 abdefC、 ab0D、 ab51203、 設有如下數(shù)組定義: char str8=

27、FuJian;則分配給數(shù)組str的存儲空間是( )個字節(jié)。答案:CA、 6B、 7C、 8D、 951204、 若有定義:char a=abcdef;char b=xyz;則以下程序段運行后屏幕輸出為( )。strcpy(a,b);printf(%c,a2);答案:BA、 cB、 zC、 0D、 d51205、 以下程序段運行后屏幕輸出為( )。char a=abc0mis;printf(%d,strlen(a);答案:CA、 5B、 8C、 3D、 451206、 若有定義:int a=2;則語句a=strcmp(miss,miss);運行后a的值為( )。答案:BA、 1B、 0C、 -1

28、D、 251207、 以下程序段運行后屏幕輸出為( )。 char str=abcd; printf(%d,strlen(str);答案:BA、 4B、 5C、 6D、 751208、 以下程序段運行后屏幕輸出為( )。char str80;strcpy(str,hello);printf(%d,strlen(str);答案:AA、 5B、 6C、 7D、 8051209、 若有定義:char str16=abcdm,*ps,*str2=abcdef;( )是正確的。答案:BA、 strcpy(str1,str2); B、 表達式strcmp(str1,str2)的值大于0C、 str1=st

29、r2;D、 表達式strlen(str1)的值為651301、 設有如下函數(shù)定義:int fun(char *str) char *p=str; while ( *p != 0) p+; return (p-str);則以下語句執(zhí)行后的輸出結果是( )。printf(%dn,fun(Student);答案:AA、 7B、 8C、 9D、 1051302、 以下程序的運行結果是( )。int fun(int array44) int j; for(j=0;j4;j+) printf(%2d,array2j); printf(n);main() int a44=0,1,2,0,1,0,0,4,2,

30、0,0,5,0,4,5,0; fun(a);答案:AA、 2 0 0 5B、 1 0 0 4C、 0 1 2 0D、 0 4 5 051303、 如下fun函數(shù)的類型是( )。fun(float x)double y; int z ; y=x * x ; z=(int)y ; return(z);答案:CA、 voidB、 doubleC、 intD、 float51304、 以下程序運行后屏幕輸出為( )。#includeint f(int x,int y) return(x+y);main() int a=2,b=3,c; c=f(a,b); printf(%d+%d=%dn,a,b,c)

31、;答案:BA、 0B、 2+3=5C、 2+3=0D、 3+2=551305、 以下程序運行后屏幕輸出為( )。#includeint a=2,b=3;int max(int a,int b) int c; c=ab?a:b; return(c);main() int a=4; printf(%d,max(a,b);答案:DA、 2,3B、 2C、 3D、 451306、 以下程序運行后屏幕輸出為( )。#includevoid f(int i) int a=2; a=i+; printf(%d,a);main() int a=1,c=3; f(c); a=c+; printf(%d,a);答

32、案:BA、 4,3B、 3,3C、 4,5D、 3,551307、 若有如下函數(shù)定義:int fun() static int k=0; return +k;以下程序段運行后屏幕輸出為( )。int i;for(i=1;i=5;i+) fun();printf(%d,fun();答案:DA、 0B、 1C、 5D、 651308、 下面程序的輸出結果是( )。#include int global=100;fun()int global=5;return +global;void main() printf(%dn,fun();答案:DA、 100B、 101C、 5D、 651309、 下列

33、關于C語言函數(shù)的描述中,正確的是( )。答案:BA、 函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B、 函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套C、 函數(shù)的定義和函數(shù)的調(diào)用都可以嵌套D、 函數(shù)的定義和函數(shù)的調(diào)用都不可以嵌套51401、 若有以下宏定義,#define MOD(x,y) x%y則執(zhí)行以下程序段后,z的值是( )。int z,a=15,b=100;z=MOD(b,a);答案:DA、 100B、 15C、 11D、 1051402、 以下敘述中,正確的是( )。答案:BA、 “#define PRICE=30”定義了與30等價的符號常量PRICEB、 預編譯處理命令行都必須以“#”開

34、頭C、 宏名只能包含大寫字母和數(shù)字字符D、 在程序的一行上可以書寫幾個有效的宏定義51403、 以下敘述中,正確的是( )。答案:AA、 宏展開不占用運行時間,只占用編譯時間B、 預編譯處理命令行必須以分號結束C、 一個源程序只能有一個預編譯處理命令行D、 使用帶參數(shù)的宏定義時,應該說明每個參數(shù)的數(shù)據(jù)類型51404、 以下的敘述中不正確的是( )。答案:CA、 宏展開不占用運行時間,只占用編譯時間B、 宏名無類型C、 宏名必須用大寫字母表示D、 預處理命令行都必須以#號開始51405、 若有定義:#define PI 3,則表達式PI*2*2的值為( )。答案:AA、 12B、 4C、 3D、

35、 不確定51406、 以下程序運行后,屏幕輸出為( )。#define MIN(a,b) (a)(b)?(a):(b)main()int x=2,y=3,z; z=2*MIN(x,y); printf(%d,z);答案:CA、 2B、 3C、 4D、 651407、 下面程序的輸出結果是( )。#include #define SQR(x) (x*x)void main() int a,b=3; a=SQR(b+2); printf(n%d,a);答案:AA、 11B、 25C、 不定值D、 產(chǎn)生錯誤51408、 下面程序的輸出結果是( )。#include #define ONE 1#def

36、ine TWO ONE+1#define THREE TWO+1void main() printf(%dn,THREE-ONE);答案:CA、 產(chǎn)生錯誤B、 1C、 2D、 351409、 以下敘述中正確的是( )。答案:BA、 預處理命令行必須位于C源程序的起始位置B、 在C語言中,預處理命令行都以#開頭C、 每個C程序必須在開頭包含預處理命令行:#includeD、 C語言的預處理不能實現(xiàn)宏定義和條件編譯的功能51501、 設有以下語句,則( )是對a數(shù)組元素的不正確引用,其中0i10。 int a10=0,1,2,3,4,5,6,7,8,9, *p=a;答案:DA、 ap-aB、 *(

37、&ai)C、 piD、 *(*(a+i)51502、 對于基類型相同的兩個指針變量之間,不能進行的運算是( )。答案:CA、 B、 =C、 +D、 -51503、 執(zhí)行以下程序段的輸出結果是( )。 int a=10,*p=&a; printf(%d,+*p);答案:BA、 10B、 11C、 變量a的地址D、 變量a的地址 + 151504、 以下程序段運行后*(p+3)的值為( )。char a=good;char *p;p=a;答案:AA、 dB、 0C、 存放d的地址D、 o51505、 以下程序段運行后*(+p)的值為( )。char a5=work;char *p;p=a;答案:C

38、A、 wB、 存放w的地址C、 oD、 存放o的地址51506、 若有定義:int *p,a=4; p=&a;則以下均代表地址的是( )。答案:BA、 a,pB、 &a,p C、 &a,*pD、 a,*p51507、 若有說明語句:double *p,a;則能通過scanf語句正確給輸入項讀入數(shù)據(jù)的程序段是( )。答案:DA、 *p=&a;scanf(%lf,p);B、 *p=&a;scanf(%lf,*p);C、 p=&a;scanf(%lf,*p);D、 p=&a;scanf(%lf,p);51508、 在16位編譯系統(tǒng)上,若有定義int a=10,20,30,*p=&a;當執(zhí)行p+;后下

39、列敘述錯誤的是( )。答案:AA、 p向高地址移了一個字節(jié)B、 p與a+1等價C、 語句printf(%d,*p);輸出20D、 p指向數(shù)組元素a151509、 下面語句正確的是( )。答案:BA、 int *p; *p=20; B、 char *s=abcdef; printf(%sn,s);C、 char str=abcd; str+;D、 char str=a,b,c;printf(%s,str);51601、 若有以下程序段,且0i4,0j3,則不能正確訪問a數(shù)組元素的是( )。int i,j,(*p)3;int a3=1,2,3,4,5,6,7,8,9,10,11,12;p = a;

40、答案:DA、 *(*(a+i)+j)B、 pijC、 (*(p+i)jD、 pi+j51602、 若函數(shù)fun的函數(shù)頭為: int fun(int i, int j)且函數(shù)指針變量p定義如下: int(*p)(int i, int j);則要使指針p指向函數(shù)fun的賦值語句是( )。答案:BA、 p=*fun;B、 p=fun;C、 p=fun(i,j);D、 p=&fun;51603、 設有如下變量定義: char aa3=a,b,c,d,e,f; char (*p)3=aa;則以下程序段的運行結果是( )。 p+; printf(%c,*p);答案:DA、 aB、 bC、 cD、 d516

41、04、 以下程序段運行后x的值為( )。int a=1,2,3,4,5,6,7,8;int i,x,*p;x=1;p=&a2;for(i=0;i3;i+)x*=*(p+i);答案:DA、 不確定B、 24C、 120D、 6051605、 以下程序段運行后x的值為( )。 int a=1,2,3,b=4,2,5;int *p,*q;int i,x;p=a; q=b;for(i=0;i3;i+)if(*(p+i)=*(q+i)x=*(p+i)*2;答案:BA、 2B、 4C、 6D、 不確定51606、 以下程序段運行后x的值為( )。 int a9=1,2,3,4,5,6,3,8,9;int

42、*p,*q;int i,x;p=&a0; q=&a8;for(i=0;i3;i+)if(*(p+i)=*(q-i)x=*(p+i)*2;答案:CA、 2B、 4C、 6D、 不確定51607、 下面程序的輸出結果是( )。#includevoid main() int i; char *s=abc; for(i=0;i3;i+) printf(%sn,s+i);答案:AA、 abc bc cB、 c bc abcC、 abc c bcD、 a ab abc51608、 下面程序的輸出結果是( )。#include void main() char *str=12345,*ps=str+4; p

43、rintf(%cn,ps-4);答案:AA、 1B、 2C、 3D、 錯誤51609、 以下程序執(zhí)行時,輸入1 2 3 4 5,輸出為:#include #define N 5void main()int aN;int *p=a;while(pa) printf(%d ,*(-p);答案:AA、 5 4 3 2 1B、 1 2 3 4 5C、 2 3 4 5 1D、 4 3 2 1 551701、 設有以下定義語句:struct student int num; char name10; float score; wang,zhang;則不正確的敘述是( )。答案:CA、 struct是結構體

44、類型的關鍵字B、 zhang是結構體變量名C、 wang是結構體類型名D、 num,name,score都是結構體類型student的成員名51702、 設有以下定義語句:struct student int num; char name10; float score; wang,zhang;則變量wang所占的內(nèi)存字節(jié)數(shù)是( )。答案:BA、 14B、 16C、 18D、 2051703、 設有如下定義語句:union u_type int i; double x; float f; ;struct str_type char str100; union u_type u2; ;則語句“pr

45、intf(%d, sizeof(struct str_type);”的輸出結果是( )。答案:BA、 100B、 116C、 120D、 20051704、 若有定義:struct teacherint num; char name10; char sex; int age; float score;teacher1;則變量teacher1所占用的內(nèi)存字節(jié)數(shù)是( )。答案:CA、 5B、 14C、 19D、 2051705、 下列對結構體類型變量定義不正確的是( )。答案:CA、 struct teacherint num; int age;teach1; B、 struct int num;

46、 int age;teach1,teach2;C、 structint num; int age;teacher; struct teacher teach1;D、 struct teacher int num; int age; struct teacher teach1;51706、 若有定義:struct teacherint num; char sex; int age;teacher1;則下列敘述不正確的是( )。答案:DA、 struct是結構體類型的關鍵字B、 struct teacher是用戶定義的結構體類型C、 num,sex,age都是結構體變量teacher1的成員D、

47、teacher1是結構體類型名51707、 以下程序的運行結果是( )。#include union Utype int i; float f;u2;void main() printf(sizeof(u):%dn,sizeof(u);答案:DA、 2B、 4C、 6D、 851708、 以下程序的運行結果是( )。#include union Utype int i; float f;structchar ch2;int i;union Utype u;a;void main() printf(sizeof(a):%dn,sizeof(a);答案:DA、 5B、 6C、 7D、 851709

48、、 以下C語言共用體類型數(shù)據(jù)的描述中,不正確的是( )。答案:DA、 共用體變量占的內(nèi)存大小等于所需內(nèi)存最大的成員所占的內(nèi)存B、 共用體類型可以出現(xiàn)在結構體類型定義中C、 在定義共用體變量的同時允許對第一個成員的值進行初始化D、 同一共用體中各成員的首地址不相同51801、 若有以下定義:struct link int data; struct link *next; *head, *p;并已建立如下圖所示的鏈表結構: head datanextdatanext.dataNULL 指針p指向如下結點: p datanext 則能夠把p所指結點插入到鏈表中成為鏈表第2個結點的程序段是( )。答案

49、:AA、 p-next = head-next; head-next = p; B、 head-next = p; p-next = head-next;C、 p.next = head.next; head.next = p; D、 (*head).next = p; (*p).next = (*head).next;51802、 若有以下定義:struct link int data; struct link *next; a,b,c, *head, *p;其中,指針head指向變量a, p指向變量c,a.next指向變量b,鏈表結構如下圖所示: a b c head datanextda

50、taNULL p datanext 則能夠把c插入到a和b之間并形成新鏈表的程序段是( )。答案:DA、 a.next = c; c.next = b;B、 head.next = p; p.next = head.next;C、 head-next = &c; p-next = head-next;D、 (*head).next = p; (*p).next = &b;51803、 若有以下定義:struct link int data; struct link *next; *head, *p;并已建立如下圖所示的鏈表結構: p head datanextdatanext.dataNULL

51、 則能保留鏈表其它結點,而刪除p所指向結點的程序段是( )。答案:AA、 head-next = p-next; free(p);B、 head-next = p; p-next = head-next; free(p);C、 free(p); head-next = p; p-next = head-next; D、 free(p); head-next = p-next; 51804、 若有定義:struct node int data; struct node *next;及函數(shù):void fun(struct node *head) struct node *p=head; while

52、(p) struct node *q=p-next; free(p); p=q; 調(diào)用時head是指向鏈表首結點的指針,整個鏈表的結構如下圖: head 2 15 27 NULL 則函數(shù)fun()的功能是( )。答案:AA、 刪除整個單向鏈表B、 刪除單向鏈表中的一個結點C、 顯示單向鏈表中的所有數(shù)據(jù)D、 創(chuàng)建單向鏈表51805、 若有定義:struct node int data; struct node *next;及函數(shù): void fun(struct node * head) struct node * p = head; while(p) printf(%d , p-data );

53、 p = p-next; break; 調(diào)用時head是指向鏈表首結點的指針,整個鏈表的結構如下圖: head 5 17 38 NULL 則函數(shù)fun()的功能是( )。答案:CA、 刪除單向鏈表B、 顯示單向鏈表中的所有數(shù)據(jù)C、 顯示單向鏈表中的第一個數(shù)據(jù)D、 創(chuàng)建單向鏈表51806、 若有定義:struct node int data; struct node *next;及函數(shù): void fun(struct node * head) struct node * p = head; while(p) printf(%d , p-data ); p = p-next; 調(diào)用時head是指

54、向鏈表首結點的指針,整個鏈表的結構如下圖: head 25 47 13 NULL 則函數(shù)fun()的功能是( )。答案:BA、 刪除單向鏈表B、 顯示單向鏈表中的所有數(shù)據(jù)C、 顯示單向鏈表中的第一個數(shù)據(jù)D、 創(chuàng)建單向鏈表51807、 若有如下定義,函數(shù)fun的功能是( )。其中head指向鏈表首結點,整個鏈表結構如下圖: head data data dataNULL struct node int data; struct node *next;int fun(struct node* head) int n=0; struct node* t=head; while(t!=NULL) n+

55、; t=t-next; return n;答案:BA、 刪除鏈表head中的所有結點B、 計算鏈表head中結點的個數(shù)C、 插入一個元素到鏈表head中D、 創(chuàng)建一個鏈表head51808、 若有如下定義,函數(shù)fun的功能是( )。其中head指向鏈表首結點,整個鏈表結構如下圖: head data data dataNULL struct node int data; struct node *next;void fun(struct node* head) struct node* t=head; while(t!=NULL) if(t-data%2=0) printf(%d ,t-dat

56、a); t=t-next; 答案:AA、 遍歷鏈表head,輸出表中值為偶數(shù)的元素B、 建立一個只有表頭結點的鏈表headC、 刪除鏈表head中的第一個結點D、 插入一個元素到鏈表head中 51809、 下面程序的輸出結果是( )。#include #include typedef struct node int data; struct node *next;Node;Node list3=1,&list1,2,&list2,3,0;void print(Node* head) Node* t=head; while(t!=NULL) printf(%d ,t-data); t=t-ne

57、xt; void main() print(list); 答案:AA、 1 2 3B、 0 1 2C、 0 1 3D、 2 3 0 51901、 對枚舉類型進行定義,不正確的是( )。答案:AA、 enum b1, 2, 3;B、 enum aA, B, C;C、 enum cD=3, E, F;D、 enum dX=0, Y=5, Z=9;51902、 假定已有如下變量說明和枚舉定義: char ch ; int j, k ; enum daysun, mon, tue, wed, thu, fri, sat ; int asat;判斷下列語句是否符合語法規(guī)則,結果是( )。 char a

58、; /* 語句1 */ j + k = j ; /* 語句2 */ if(amon0) j + ; /* 語句3 */答案:CA、 語句2錯誤,其它正確B、 語句1正確,其它錯誤C、 語句3正確,其它錯誤D、 語句1錯誤,其它正確51903、 設有如下定義:typedef int *INTEGER;INTEGER p,*q;則( )是正確的敘述。答案:CA、 p是int型變量 B、 q是基類型為int的指針變量C、 p是基類型為int的指針變量 D、 程序中可用INTEGER代替int類型名51904、 在對于無符號數(shù)的位運算中,操作數(shù)右移一位相當于( )。答案:AA、 操作數(shù)除以2B、 操作

59、數(shù)乘以2C、 操作數(shù)除以4D、 操作數(shù)乘以451905、 若有定義:int a=20,b=28,c;則執(zhí)行語句c=(ab)2;后c的值為( )。答案:AA、 5B、 7C、 80D、 11251907、 下面程序的輸出結果為( )。#include void main() enum Weekdaysun=7,mon=1,tue,wed,thu,fri,sat; enum Weekday day=sat; printf(%dn,day);答案:BA、 7B、 6C、 5D、 4 51908、 若有以下類型說明,敘述正確的是( )。typedef struct int num; char *nam

60、e; int score;STU,*PSTU;答案:CA、 STU是變量名 B、 PSTU是變量名 C、 PSTU是指向結構體類型STU的指針類型名D、 類型說明語句有錯誤答案:CA、 5B、 6C、 7D、 852001、 以下程序的功能是( )。#include main() FILE *fp; long int n; fp=fopen(wj.txt,rb); fseek(fp,0,SEEK_END); n=ftell(fp); fclose(fp); printf(%ld,n);答案:CA、 計算文件wj.txt的起始地址B、 計算文件wj.txt的終止地址C、 計算文件wj.txt內(nèi)容

溫馨提示

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

最新文檔

評論

0/150

提交評論