春考c語言考試題庫(考試直接用)_第1頁
春考c語言考試題庫(考試直接用)_第2頁
春考c語言考試題庫(考試直接用)_第3頁
春考c語言考試題庫(考試直接用)_第4頁
春考c語言考試題庫(考試直接用)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

春考c語言考試題庫第一部分單選題(50題)1、若inti=0;執(zhí)行while(1){printf("%d",i);i++;if(i==3)break;}輸出結果是?()

A.012

B.0123

C.無限循環(huán)

D.無輸出

【答案】:答案解析:while(1)無限循環(huán),i=3時break,輸出012,故選A。2、以下二維數組定義正確的是?()

A.inta[2][3];

B.inta[2][];

C.inta[][3]={1,2,3,4,5,6};

D.inta[2][3]={1,2,3,4,5,6,7};

【答案】:答案解析:B第二維不能省略,C第一維可省略(自動計算為2),D初始化元素超6個(2×3=6),A標準定義正確,故選A。3、以下關于指針數組的定義正確的是?()

A.int*arr[5];

B.int(*arr)[5];

C.intarr[5];

D.intarr[];

【答案】:答案解析:A是指針數組(5個int指針),B是指向數組的指針,C是普通數組,D缺少長度,故選A。4、若inta=3;執(zhí)行if(++a==4)printf("A");elseprintf("B");輸出結果是?()

A.A

B.B

C.AB

D.無輸出

【答案】:答案解析:++a使a=4,條件為真,輸出A,故選A。5、C語言程序的入口函數是?()

A.main()

B.printf()

C.scanf()

D.main

【答案】:答案解析:所有C程序從main()函數開始執(zhí)行,必須有且僅有一個,故選A。6、以下函數調用時,實參為常量的是?()

A.fun(5);

B.fun(a);

C.fun(&a);

D.fun("abc");

【答案】:答案解析:A中5是常量,B是變量,C是變量地址,D是字符串常量,題目問“常量”,A正確,故選A。7、指針作為函數參數時,傳遞的是?()

A.指針的值

B.指針的地址

C.變量的值

D.變量的地址

【答案】:答案解析:指針傳參本質是傳遞變量地址,函數中通過指針可修改實參值,故選D。8、以下轉義字符表示換行的是?()

A.\t

B.\n

C.\

D.\r

【答案】:答案解析:\t是制表符,\n是換行符,\是反斜杠,\r是回車符,故選B。9、以下for循環(huán)中,循環(huán)變量初始化、條件判斷、更新表達式均正確的是?()

A.for(i=0;i<5;i++)

B.for(i=5;i>0;i--)

C.for(i=0;i<5;i+=2)

D.以上都正確

【答案】:答案解析:A(遞增)、B(遞減)、C(步長2)的三個表達式均合法,循環(huán)邏輯正確,故選D。10、若inta=5;執(zhí)行if(a>10);elsea=20;后a的值是?()

A.5

B.20

C.10

D.無定義

【答案】:答案解析:if后分號表示空語句,else執(zhí)行a=20,故選B。11、若intx=0;執(zhí)行if(x)printf("A");elseprintf("B");輸出結果是?()

A.A

B.B

C.AB

D.無輸出

【答案】:答案解析:x=0為假,執(zhí)行else分支,輸出B,故選B。12、數組名作為函數參數時,傳遞的是?()

A.數組第一個元素的值

B.數組所有元素的值

C.數組第一個元素的地址

D.數組長度

【答案】:答案解析:數組名傳參本質是首元素地址(指針傳遞),函數中可通過指針訪問數組,故選C。13、以下關于函數遞歸的說法錯誤的是?()

A.必須有終止條件

B.可能導致棧溢出

C.效率比循環(huán)高

D.代碼簡潔

【答案】:答案解析:遞歸調用會創(chuàng)建棧幀,效率低于循環(huán),A、B、D正確,C錯誤,故選C。14、以下哪個表達式可訪問數組a的第i個元素(i從1開始)?()

A.a[i]

B.a[i-1]

C.*(a+i)

D.*(a+i-1)

【答案】:答案解析:數組下標從0開始,第i個元素對應下標i-1,a[i-1]正確,C、D是指針訪問(對應下標i),故選B。15、數組名的本質是?()

A.數組第一個元素的地址

B.數組最后一個元素的地址

C.數組元素的個數

D.數組的大小

【答案】:答案解析:數組名是首元素地址(常量,不可修改),故選A。16、putchar()函數的功能是?()

A.讀取一個字符

B.輸出一個字符

C.讀取字符串

D.輸出字符串

【答案】:答案解析:putchar()用于輸出單個字符,getchar()讀取單個字符,puts()輸出字符串,故選B。17、若int*p=(int)malloc(sizeof(int));則p的值是?()

A.0

B.隨機值

C.1

D.無定義

【答案】:答案解析:malloc分配的內存未初始化,值為隨機值,故選B。18、二維數組a[3][4]的元素個數是?()

A.7

B.12

C.3

D.4

【答案】:答案解析:3行4列,共3×4=12個元素,故選B。19、若charstr[]="Clanguage";則字符串長度是?()

A.10

B.11

C.12

D.13

【答案】:答案解析:字符串長度以\0結束,"Clanguage"含10個字符(不含\0),故選A。20、指針的核心優(yōu)勢是?()

A.間接訪問變量,靈活操作內存

B.提高程序效率,減少內存開銷

C.支持動態(tài)內存分配和函數回調

D.以上都正確

【答案】:答案解析:指針的核心優(yōu)勢包括間接訪問、高效、動態(tài)內存、回調等,故選D。21、以下哪個條件表達式表示“x大于等于5且小于等于10”?()

A.5<=x<=10

B.x>=5&&x<=10

C.x>=5||x<=10

D.5<=x&&<=10

【答案】:答案解析:C語言中連續(xù)比較不合法,需用邏輯與連接兩個判斷,A語法錯誤,C邏輯錯誤,D語法錯誤,故選B。22、以下for循環(huán)的循環(huán)次數是?()for(inti=2;i<=8;i+=2)

A.3次

B.4次

C.5次

D.6次

【答案】:答案解析:i取值2、4、6、8,共4次,故選B。23、函數定義和函數聲明的區(qū)別是?()

A.定義包含函數體,聲明不包含

B.聲明包含函數體,定義不包含

C.定義和聲明無區(qū)別

D.定義在程序開頭,聲明在結尾

【答案】:答案解析:函數定義是完整實現(xiàn)(含函數體),聲明是告訴編譯器函數名、參數、返回類型(不含函數體),故選A。24、若inta[4]={1,2,3,4},p=a;執(zhí)行p++后,*p的值是?()

A.1

B.2

C.3

D.4

【答案】:答案解析:*p++先解引用(值為1),再p自增(指向a[1]),*p=2,故選B。25、若inta=7,b=3;執(zhí)行if(a%b==1)a=0;elseb=0;后a和b的值分別是?()

A.0,3

B.7,0

C.0,0

D.7,3

【答案】:答案解析:7%3=1,條件為真,a=0,b保持3,故選A。26、若inti=0;執(zhí)行while(i<5){printf("%d",i);i++;if(i==3)break;}輸出結果是?()

A.012

B.0123

C.01

D.無輸出

【答案】:答案解析:i=3時break,輸出012,故選A。27、定義整型變量x、y并均賦值10的語句是?()

A.intx=y=10;

B.intx=10,y=10;

C.intx=10;y=10;

D.intx=10;inty=10;

【答案】:答案解析:同一行定義多個變量用逗號分隔,A不能連續(xù)賦值,C缺少int,D是兩行定義,故選B。28、以下哪個條件表達式表示“x是奇數”?()

A.x%2==0

B.x%2!=0

C.x/2==0

D.x/2!=0

【答案】:答案解析:奇數除以2余數為1,x%2!=0表示奇數,A是偶數,故選B。29、以下if語句語法正確的是?()

A.if(x>0)printf("yes");

B.ifx>0printf("yes");

C.if(x>0);printf("yes");

D.if(x>0){printf("yes")}

【答案】:答案解析:if后條件需加括號,B缺少括號,C分號導致語句結束,D缺少分號,故選A。30、以下二維數組初始化正確的是?()

A.inta[2][3]={{1},{2},{3}};

B.inta[2][3]={1,2,3,4,5};

C.inta[2][3]={{1,2,3},{4,5,6}};

D.inta[2][3]={1,2,3,4,5,6,7};

【答案】:答案解析:A行數超2,B元素不足6個(補0),C標準初始化,D元素超6個,故選C。31、以下if語句中,條件表達式正確的是?()

A.if(x=5)printf("yes");

B.if(x==5)printf("yes");

C.if(x=5;)printf("yes");

D.if(x==5;)printf("yes");

【答案】:答案解析:if條件需是判斷表達式(==),A是賦值,C、D多加分號,故選B。32、若charstr[10];執(zhí)行strcpy(str,"hello");后str的長度是?()

A.5

B.6

C.10

D.不確定

【答案】:答案解析:strcpy復制字符串"hello"(含\0),長度為5(不含\0),故選A。33、C語言中基本數據類型不包括以下哪項?()

A.char

B.int

C.float

D.array

【答案】:答案解析:基本數據類型為char、int、float、double,array是數組(構造類型),故選D。34、break語句不能用于以下哪種結構?()

A.for循環(huán)

B.while循環(huán)

C.do-while循環(huán)

D.if語句

【答案】:答案解析:break可用于循環(huán)(for/while/do-while)和switch語句,不能用于if語句,故選D。35、若inta=5,p=&a;則&p的值是?()

A.5

B.&a

C.p

D.無定義

【答案】:答案解析:*&p等價于p,即指針p自身的值(a的地址),故選C。36、C語言程序的基本單位是?()

A.語句

B.函數

C.變量

D.表達式

【答案】:答案解析:C程序由函數構成,main是入口函數,其他函數實現(xiàn)功能,故選B。37、以下數組定義錯誤的是?()

A.inta[0];

B.inta[5];

C.inta[]={1,2,3};

D.inta[5]={1,2,3};

【答案】:答案解析:數組長度不能為0,編譯報錯,其余正確,故選A。38、以下數組初始化正確的是?()

A.charstr[]="hello";

B.charstr[5]="hello";

C.charstr[]={'h','e','l','l','o'};

D.charstr[5]={'h','e','l','l','o','\0'};

【答案】:答案解析:A字符串自動加\0,B長度5不足以存hello(含\0共6個字符),C無\0(字符串不完整),D長度5超,故選A。39、若inta=5,p=&a;執(zhí)行p=8;后a的值是?()

A.5

B.8

C.&a

D.無定義

【答案】:答案解析:*p=8通過指針修改指向變量a的值,a變?yōu)?,故選B。40、以下字符串常量定義正確的是?()

A.charstr[]="C";

B.charstr[1]='C';

C.charstr[]={'C'};

D.charstr[2]={'C','\0'};

【答案】:答案解析:A用雙引號定義字符串(自動加\0),B單引號用于字符常量,C無\0,D長度2正確但A更簡潔,故選A。41、指針變量的大小取決于?()

A.指向變量的類型

B.編譯器和系統(tǒng)(32位4字節(jié),64位8字節(jié))

C.指針變量的名稱

D.變量的值

【答案】:答案解析:指針大小與指向類型無關,取決于系統(tǒng)位數(32位4B,64位8B),故選B。42、C語言程序編譯的正確順序是?()

A.預處理→編譯→匯編→鏈接

B.編譯→預處理→匯編→鏈接

C.預處理→匯編→編譯→鏈接

D.鏈接→編譯→匯編→預處理

【答案】:答案解析:C程序編譯流程為預處理(處理#命令)→編譯(生成匯編代碼)→匯編(生成目標文件)→鏈接(生成可執(zhí)行文件),故選A。43、函數調用的一般格式是?()

A.函數名(實參列表);

B.函數名實參列表;

C.返回類型函數名(實參列表);

D.函數名=實參列表;

【答案】:答案解析:函數調用格式為“函數名(實參列表);”,實參與形參匹配,故選A。44、若intx=10,y=20;則表達式x!=y的結果是?()

A.0

B.1

C.10

D.20

【答案】:答案解析:!=是不等于判斷,x!=y為真,C語言中真用1表示,故選B。45、以下指針運算正確的是?()

A.inta=10,*p=&a;p++;

B.inta=10,*p=&a;p=a;

C.inta=10,*p=&a;p=&5;

D.inta=10,*p=&a;*p=&a;

【答案】:答案解析:A指針p自增(指向a的下一個地址),B不能將int值賦給指針,C不能取常量地址,D不能將地址賦給int變量,故選A。46、若inti=1;執(zhí)

溫馨提示

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

評論

0/150

提交評論