本文目錄一覽:
誰知道哪有關於C語言的練習題?
C 程序設計試題庫C語言概述練習題
1.一個C程序的執行是從( )
A.本程序的main函數開始,到main函數結束
B.本程序文件的第一個函數開始,到本程序文件的最後一個函數結束
C.本程序的main函數開始,到本程序文件的最後一個函數結束
D.本程序文件的第一個函數開始,到本程序main函數結束
2.以下敘述正確的是:( )
A.在C程序中,main函數必須位於程序的最前面
B.程序的每行中只能寫一條語句
C.C語言本身沒有輸入輸出語句
D.在對一個C程序進行編譯的過程中,可發現注釋中的拼寫錯誤
3.以下敘述不正確的是:( )
A.一個C源程序可由一個或多個函數組成
B.一個C源程序必須包含一個main函數
C.C程序的基本組成單位是函數
D.在C程序中,注釋說明只能位於一條語句的後面
4.C語言規定:在一個源程序中,main的位置( )
A.必須在最開始
B.必須在系統調用的庫函數後面
C.可以任意
D.必須在最後
5.一個C語言程序是由( )
A.一個主程序和若干子程序組成
B.函數組成
C.若干過程組成
D.若干子程序組成
6.C源程序的基本單位是____________
7.一個C源程序中至少包括一個____________
8.在一個C源程序中,注釋部分兩側的分界符分別為____________ 和____________
9.在C語言中,輸入操作是由庫函數____________ 完成的,輸出操作是由庫函數____________ 完成的
c語言模擬練習題
一、 判斷題(2×8=16分)
1、Printf()函數總是從新行的起始位置開始打印。 ( )
2、所有的變量在使用前都必須予以申明。( )
3、在申明變量時必須給出變量的類型。( )
4、C語言認為變量number和NuMbEr是相同的。( )
5、打印三行輸出的C語言程序必須用三條printf語句。( )
6、求余運算符%只能用於兩個整數操作數。( )
7、switch選擇結構中必須有default子句。( )
8、如果xy或ab為真,那麼表達式(xyab)為真。( )
二、 選擇題(3×16=48分)
1、下面實現換行功能的格式符為 。( )
A. \t B. \n C. \a D. \k
2. C語言程序由什麼組成?(單選)
A. 子程序 B. 主程序和子程序 C. 函數 D. 過程
3. 下面哪個表達式的值為4.
A. 11/3 B. 11.0/3
C. (float)11/3 D. (int)(11.0/3+0.5)
4. 該源程序執行後,屏幕上顯示什麼?
void main()
{
int a;
float b;
a=4;
b=9.5;
printf(“a=%d,b=%4.2f\n”,a,b);
}
A. a=%d,b=%f\n B. a=%d,b=%f
C. a=4,b=9.50 D. a=4,b=9.5
5. 若有以下說明語句:
char s=’\\\092′;
則下面哪一項是正確的.
A. 使s的值包含2個字符 B. 說明語句不合法
C. 使s的值包含6個字符 D. 使s的值包含4個字符
6.若k,g均為int型變量,則以下語句的輸出為哪一項?
int k,g;
k=017;
g=111;
printf(“%d,”,k);
printf(“%x\n”,g);
A. 15,6f B. f,6f C. f,111 D. 15,111
7. 在C語言的if語句中,用作判斷的表達式為___。
A. 關係表達式 B. 邏輯表達式
C. 算術表達式 D. 任意表達式
8. 請問:下面這個程序段的輸出是什麼?
int a,b,c;
a=7;b=8;c=9;
if(ab)
a=b,b=c;c=a;
printf(“a=%d b=%d c=%d\n”,a,b,c);
A. a=7 b=8 c=7 B. a=7 b=9 c=7
C. a=8 b=9 c=7 D. a=8 b=9 c=8
9. 下面這個程序的輸出是什麼?
#include stdio.h
main()
{
int y=10;
while(y–);
printf(“y=%d\n”,y);
}
A. y=0 B. while構成死循環 C. y=1 D. y=-1
10. 若有以下說明和語句,則輸出結果是___。
char str[]=”\”c:\\abc.dat\””;
printf(“%s”,str);
A. 字符串中有非法字符 B. \”c:\\abc.dat\”
C. “c:\abc.dat” D. “c:\\abc.dat”
11. 如果要把常量327存入變量a中,a不能定義成哪些類型?
A. int B. char C. long D. float
12. C語言中,預處理總是以 符號開頭。 ( )
A. ¥ B.# C. @ D. ◇
13. C語言中,double類型的數據占 個字節的空間。( )
A. 1 B.2 C. 4 D. 8
14. 下面語句執行完後,b的值為 。 ( )
int a=b=10;
b=10+(a++);
A. 10 B.19 C. 20 D. 21
15. 這段程序中的常量有: (多選) ( )
#define PI 3.14
void main()
{
int sum;
sum = 10 + 15;
printf(“sum=%d\n”,sum);
printf(“result is 25\n”);
}
這段程序中常量有:
A. 10 B. sum C. 15
D. 25 E. main F. PI
16. 指出下面錯誤的表達式:(多選) ( )
A. a+b=5 B. 56=a11 C. i=i++
D. 5.6+6.2%3.1 E. 12 F. a=5,b=6,c=7
三、 填空題(3×8=24分)
1、C語言程序都是從 函數開始執行。
2、函數體用 開始,用 結束。
3、C語言的語句都以 結束。
4、執行循環結構中的 語句能夠立即執行下一次循環。
5、執行循環結構或switch結構中的 語句能夠立即退出該結構。
6、輸出字符串的格式化符為 。
7、C語言中數組名表示數組的 。
大一C語言期末考試求題庫
一、單項選擇題(共10題,每題2分,共20分。在備選答案中選擇一個最佳答案。多選、錯選、不選不得分)
1、不是C語言基本數據類型的是( )。
A、指針類型 B、整型
C、字符型 D、實型
2、設有:int a=3, b= 4, c= 5,x , y; 表達式0 (x=a)(y=b)的值為( )。
A、1 B、0 C、3 D、4
3、設有語句 int a=3 ; 則執行了語句 a+=6;後,變量a 的值為( )。
A、18 B、-3 C、9 D、12
4、執行以下程序段後,輸出的y值為( )
void main()
{ int a[]={2,4,6,8,10};
int y, *p;
p=a[0];
y=*p; printf(“%d”,y);
}
A、2 B、4 C、6 D、8
5、有定義語句:float a[4];則分配給數組a的內存空間為( )字節。
A、 20 B、 12 C、 16 C、10
6、以下描述錯誤的是( )。
A、break語句可用於while語句。
B、break語句和continue語句的作用是一樣的。
C、在循環語句中使用break語句是為了跳出循環,提前結束循環。
D、在循環語句中使用continue語句是為了結束本次循環,而不終止整個循環。
7、C語言中規定,if語句的嵌套結構中,else總是( )。
A、與最近的if 配對 B、與第一個if 配對
C、按縮進位置相同的if配對 D、與最近的且尚未配對的if 配對
8、說明語句“int (*p)( ); ”的含義是( ) 。
A、p是一個指向一維數組的指針變量。
B、p是指針變量,指向一個整型數據。
C、p是一個指向函數的指針,該函數返回一個int型數據。
D、以上都不對。
9、以下對二維數組c的正確聲明是 ( ) 。
A、int c[3][ ]; B、int c(3,4);
C、int c(2)(2); D、int c[3][2];
10、下述程序段執行後輸出結果為( )。
int x=100, y=200;
printf (“% d”, (x, y));
A、100 B、200 C、100,200 D、編譯出錯
二、填空題(共7題,共10空,每空1分,共10分。將答案填在題中橫線上)
1、C語言提供的三種邏輯運算符是 、 || 和!;
2、函數的返回值是通過函數中的 return 語句獲得的。
3、在”int a[ ][3]={{1},{3,2},{4,5,6},{0}};”定義後,a[2][2]的值為_6__ _;
4、對於”int *pa[5];” pa是一個具有5個元素的_數組指針_,每個元素是一個指向int型變量的__指針__;
5、單向鏈表的尾節點next指針應賦值__ NULL___;
6、在語句for(x=1,y=3;xy;y++)中循環體執行的次數為 0 。
7、int a[5];數組a的首地址為2000,則元素a[1]的地址為 2002 ,元素a[2]的地址為 2004 。
三、程序填空題(共2題,共5空,每空4分,共20分)
1、以下程序完成計算1-1/2+1/3-1/4+1/5+……前n 項和,請填空。
#include stdio.h
int main( )
{ int i, n, flag;
float sum;
scanf(“%d”, n);
flag= 1 ;
sum=0;
for(i=1;i=n; i++ )
{ sum+=(float)flag/i;
flag=-flag ;
}
printf(“%.3f\n”, sum);
}
2、以下程序的功能是從鍵盤輸入n個整數,統計其中正數、0、負數的個數,請填空。
#include stdio.h
void main( )
{int a, i, count1,count2,count3;
count1=count2=count3=0 ;
for(i=1;i=n;i++)
{ scanf(“%d”, a);
if(a0) count1++;
else if(a==0) count2++ ;
else count3++;
}
printf(“正數:d個,零:%d個,負數:%d個\n”, count1,count2,count3 );
}
四、運行程序結果題(共4題,每題6分,共24分)
1、寫出程序運行結果。
void main( )
{ int x=1,y=2,t;
int *p1,*p2;
p1=x; p2=y;
t=*p1;*p1=*p2;*p2=t;
printf(“x=%d,y=%d\n”,x,y);
}
運行結果為:
程序有錯,不能運行!或寫:
x=2,y=1
2、寫出程序運行結果。
#includestdio.h
int max(int a,int b)
{ int c;
c=ab?a:b;
return(c);
}
int min(int a,int b)
{int c;
c=ab?a:b;
return(c);
}
void main()
{ int a=2,b=6;
printf(“max=%d\n”,max(a,b));
printf(“min=%d\n”,min(a,b));
}
運行結果為:
程序有錯,不能運行!或寫:
max=6
min=2
3、寫出程序運行結果。
#include stdio.h
void main()
{ int a[3][3]={1,2,3,4,5,6,7,8,9};
int i,j,sum=0;
for (i=0;i3;i++)
for(j=0;j3;j++)
if(i==j) sum=sum+a[i][j];
printf(“sum=%d\n”,sum);
}
運行結果為:
程序有錯,不能運行!或寫:
sum=15
4、寫出程序運行結果。
void main( )
{ int n,f;
n=1;
while(n=10)
{ f=f*n;
n+=2;
}
printf(“f=%d\n”,f);
}
運行結果為:
程序有錯,不能運行!或寫:
f=不確定
五、程序設計題(共2題,每題13分,共26分)
1、將一個數組按逆序存放,如元素1、2、3、4、5,按逆序存放後為5、4、3、2、1。
大一c語言考試題(急)
1、C源程序文件的擴展名是( .C );編譯後生成的文件名後綴是( .OBJ );經過連接後生成文件
名後綴是( .exe ); 在VC++6.0中用Run命令運行當前程序時,運行的程序擴展名是( .exe )。
2、結構化程序的三種基本結構是( 順序、選擇 、循環 )。
3、整型常量有三種表示方法,它們是( 十進制整數 )、( 八制整數 )、( 十六整數 )。
4、表達式3.5+1/2+56%10 的值是( 9.5 );10/10和10%10的值各是(1和0)。
5、表達式3%3*3的值是( 0 );5/3*3的值是( 3 );3*6%4的值是( 2 )。
6、設int x=12;執行x+=x-=x*x後,x 的值是( -264 )。
7、表達式k=7,k+=k-=k+1的值是( -2 )。
8、語句”printf(“%x,%o”,16,12);”的輸出結果是( 10,14 )。
9、設short x,y; y=(x=3,x+2,++x,x++*2);則x,y的值各是( 5 , 8 )。
10、設int x,y,z,t; x=y=z=1; t=++x||++y++z;則y的值是( 1 )。
11、條件10=x20 或x=0的C語言表達式是( x=10×20||x=0 )
12、設a=1,b=2,c=3,d=4;表達式ab?a:cd?a:d的值是( 1 )。
13、在 C 程序中,用( 1)表示邏輯值“真”。
14、表示“x≥y≥z”的C表達式是 ( x=yy=z )。
15、設x為int型變量,請寫出一個關係表達式( (x%21==0) ),用以判斷x同時為3和7的倍數時
,關係表達式的值為真。
16、 設ch是字符型變量,判斷ch為英文字母的表達式是: (
ch=’z’ch=’a’||ch=’A’ch=’Z’ )。
17、在C語言中參數的傳遞總是採用( 單向 )傳遞。
18、如果return 表達式;中”表達式”的類型與函數類型不一致,則以( 函數類型 )的類型為準
自動轉換;如果實際參數的類型與形式參數的類型不一致, 則以( 形式參數 )的類型為準自動轉
換。
19、函數形式參數在( 調用 )時分配內存,( 調用結束 )時釋放內存。
20、系統總是為數組分配( 連續 )的一塊內存。
21、字符串的結束標誌是(ASCII碼的0 )。
22、TC系統為任何指針變量分配的內存是( 4 )字節。
23、若有定義:double x[3][5]; 則x數組中行下標的下限為( 2 ),列下標的上限為( 4 )。
24、若有定義int x=3,*p;則使p指向變量x的賦值語句為( p=x )。
25、在C 語言程序中,在函數內部定義的變量稱為( 局部變量)。
26、char a[2][10]={“123”,”123456789”}, *p[2]={“123”,”123456789”}; 則(前者 )
佔用內存多。
27、struct st { char num[5]; int a[4]; float ave; } a,*p; 則變量a和p在內存各
占( 25和4 )字節。
28、union un { int i; char c;} ;
struct st { int v[4]; double t; union un k; }w, *pw; pw=w;
變量w佔用( 28 )字節; 通過w 訪問v[0]的形式是( w.v[0] );通過w訪問成員c的形式是(w.k.c
);通過pw訪問v[0]的全部形式有( pw-v[0] ,*(pw-v) );通過pw訪問成員c的全部形式有(
(pw-k.c) )。(實驗驗證,pw-k-c這種書寫有錯誤直接用.也是錯誤)
29、設fp是文件指針,要把字符變量ch的內容寫入文件,可用的語句有(
fputc(ch,fp);fwrite(ch,1,1,fp); )。
30、fputs(str, fp)函數的功能是( 將數據str寫入fp文件流中 )。
{29題不能用 fputs(ch,fp);由於ch只有一個字符,如果用這句的話,會因為沒有字符串結束標
志而寫入很長的數據。從實驗中得出。}
涉及到窮舉的題目,像28、29可能沒有列舉完全其他題目都是經過vc++6.0驗證過的。
c語言計算機二級考試選擇題如圖?
全國計算機二級考試試題題庫(附答案)
下列各題 A) 、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項在答題
卡相應位置上塗黑,答在試卷上不得分。
(1) 應用軟件是指
A) 所有能夠使用的軟件 B) 能被各應用單位共同使用的某種軟件
C) 所有微機上都應使用的基本軟件 D) 專門為某一應用目的而編製的軟件
(2) 下列述敘中錯誤的是
A) 計算機要經常使用不要長期閑置不用
B) 為了延長計算機的壽命,應避免頻繁開關計算機
C) 在計算機附近應避免磁場干擾
D) 計算機用幾小時後,應關機一會兒再用
(3) 下列字符中,ASCII碼值最小的是
A) A B) a C) Z D) x
(4) 用晶體管作為電子器件製成的計算機屬於
A) 第一代 B) 第二代 C) 第三代 D) 第四代
(5) 下列各不同進制的四個無符號數中,最小的數是
A) ()2 B) (37)8 C) (75)10 D) (2A)16
(6) 二進制數轉換成十六進制數是
A) B) C) D)
(7) 下列各無符號十進制數中,能用八位二進制表示的是
A) 296 B) 333 C) 256 D) 199
(8) 計算機的軟件系統可分類為
A) 程序與數據 B) 系統軟件與應用軟件
D) 操作系統與語言處理程序 D) 程序、數據與文檔
(9) 486機中的CPU同時能處理的二進制位數為
A) 8 B) 16 C) 32 D) 64
(10) 在使用計算機的過程中,需要重新啟動DOS,則要
A) 按Ctrl+Break鍵 B) 按^C鍵 C) 按Ctrl+Alt+Del鍵 D) 按^H鍵
(11) 現要從軟盤啟動DOS(軟盤中已存有DOS系統),設有如下一些操作:①打開計算機
電源;②將該軟盤插入A驅動器;③關好A驅動器門。則冷啟動的操作順序應為
A) ①→②→③ B) ③→②→① C) ②→①→③ D) ②→③→①
(12) 設當前盤中某一文件路徑為\A\C\B\,當前目錄為\A。下列命令中錯誤的是
A) CD.. B) RD \A\C\B
C) TYPE \A\C\B\ D) TYPE C\B\
(13) 設當前盤中的根目錄下有一子目錄AB,在子目錄AB下有一文件。現要查看文件
的內容,應使用命令
A) TYPE \AB B) TYPE \AB\
C) TYPE \ D) DIR \AB\
(14) 自動批處理文件必須放在
A) C盤根目錄中 B) A盤根目錄中
C) 啟動盤的任一個目錄中 D) 啟動盤的根目錄中
(15) 設當前盤當前目錄為C:\USER\XY\P,且當前盤當前目錄為空,則下列命令中能正
確執行的是
A) RD C:\USER\XY\P B) RD USER\XY\P
C) MD \USER\XY\P\USER D) MD \USER\XY\P\X\Y
(16) 下列DOS命令中,合法的是
A) DISKCOMP B) TYPE
C) COMP A: B: D) COMP A: A:
(17) 設當前盤為C盤,所用的所有軟盤已格式化,且容量相同,則下列DOS命令中錯
誤的是
A) DISKCOPY A: A: B) COPY A:*.* C) COPY *.* D) COPY A:*.* C:
(18) 下列DOS命令中錯誤的是
A) TYPE PRN B) TYPE PRN
C) COPY *.TXT PRN D) COPY CON PRN
(19) 下列四組DOS命令中,互相等價的一組是
A) COPY A:*.* B:與DISKCOPY A: B:
B) COPY +與TYPE
C) COPY + 與COPY +
D) TYPE *.FORCON與COPY *.FOR CON
(20) 設C盤目錄結構如下:
且C盤根目錄下文件的內容為
CD FORTRAN
CD \TC
如果在A驅動器中插入一張根目錄中只有擴展名為.C的若干文件(即A盤中無DOS系統
文件)的軟盤片,則由C盤啟動DOS系統後,第一次鍵入下列命令中,正確的是
A) COPY A:\*.C B) COPY A:\*.C TC
C) COPY A:\*.C FORTRAN D) CD USER
(21) C語言提供的合法的數據類型關鍵字是
A) Double B) short C) integer D) Char
(22) 在C語言中,合法的長整型常數是
A) 0L B) 4962710 C) D)
(23) 表達式:10!=9的值是
A) true B) 非零值 C) 0 D) 1
(24) 合法的C語言中,合法的長整型常數是
A) ‘\t’ B) “A” C) 65 D) A
(25) 若有說明和語句:
int a=5;
a++;
此處表達式a++的值是
A) 7 B) 6 C) 5 D) 4
(26) 在下列選項中,不正確的賦值語句是
A) ++t; B) n1=(n2=(n3=0)); C) k=i==j; D) a=b+c=1;
(27) 若有說明:int i,j=7, *p=i;,則與i=j;等價的語句是
A) I= *P; B) *P=*J; C) i=j; D) i=* *p;
(28) 不能把字符串:Hello!賦給數組b的語句是
A) char b[10]={‘H’,’e’,’l’,’l’,’o’,’!’};
B) char b[10];b=”Hello!”;
C) char b[10];strcpy(b,”Hello!”);
D) char b[10]=”Hello!”;
(29) 若有以下說明:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c=’a’,d,g;
則數值為4的表達式是
A)a[g-c] B)a[4] C)a[‘d’-‘c’] D)a[‘d’-c]
(30) 若有以下說明:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
則數值為6的表達式是
A) *p+6 B) *(p+6) C) *p+=5 D) p+5
(31) 若有以下說明:
int w[3][4]o={{0,1},{2,4},{5,8}};
int(*p)[4]=w;
則數值為4的表達式是
A) *w[1]+1 B) p++,*(p+1) C) w[2][2] D) p[1][1]
(32) 若程序中有下面的說明和定義
struct abc
{int x;char y;}
struct abc s1,s2;
則會發生的情況是
A) 編譯進錯 B) 程序將順利編譯`連接`執行
C) 能順利通過編譯`連接`但不能執行 D) 能順利通過編譯`但連接出錯
(33) 能正確表示a≥10或a≤0的關係表達式是
A)a=10 or a=0 B)a=10│a=0
C)a=10││a=0 D)a=10 ││a=0
(34) 下面程序的輸出是
main()
{ int x=3,y=6,a=0;
while(x++!=(y+=o1))
{ a+o=1;
if(y
#include
main()
{ char ss[10]=”12345″;
strcat(ss,”6789″);
gets(ss);printf(“%s\n”,ss);
}
A) ABC B) ABC9 C) 123456ABC D) ABC456789
(35) 下面程序的輸出是
main()
{ char *a=””;
int v1=0,v2=0,v3=0,v4=0,k;
for(k=0;s[k];k++)
switch(s[k])
{ default:v4++;
case ‘1’: v1++;
case ‘3’: v3++;
case ‘2’: v2++; }
printf(“v1=%d,v2=%d,v3=%d,v4=%d\n”,v1,v2,v3,v4); }
A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1
C) v1=5,v2=8,v3=6,v4=1 D) v1=8,v2=8,v3=8,v4=8
(36) 下面程序的輸出是
main()
{int k=11;printf(“k=%d,k=%o,k=%x\n”,k,k,k);}
A)k=11,k=12,k=11 B)k=11,k=13,k=13 C)k=11,k=013,k=0xb D)k=11,k=13,k=b
(37) 若有以下程序段,w和k都是整型變量:
┆
w=k;
LB: if(w==0) go to LE;
w–;
printf(“*”);
goto LB;
LE: ┆
則不能與上面程序段等價的循環語句是
A)for(w=k;w!=0;w–) printf(“*”); B)for(w=k;w;–w)printf(“*”);
C)w=k; D)w=k;
while(w–!=0)printf(“*”);w++; do{ w–;printf(“*”);}while(w!=0);
(38) 若有說明,double *p,a;則能通過scanf語句正確給輸入項讀入數據的程序段是
A)*p=a; scanf(“%lf”,p); B)p=(double *)malloc(8);scanf(“%f”,p);
C) p=a;scanf(“%lf”,a); D)p=a; scanf(“%le”,p);
(39) 當執行下面程序且輸入:ABC時,輸出的結果是
#include
#include
main()
{ char ss[10]=”12345″;
gets(ss);printf(“%s\n”,ss); }
A) ABC B) ABC9 C) 123456ABC D) ABC456789
(40) 若有以下的說明和語句:
main()
{int t[3][2], *pt[3],k;
fpr(k=o; k3;k++)pt[k]=t[k];
}
則以一選項中能正確表示t數組元素地址的表達式是
A) t[3][2] B) *pt[0] C) *(pt+1) D) pt[2]
(41) 下面程序輸出數組中的最大值,由s指針指向該元素.
main()
{ int a[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s;
flr(p=a, s=a; p-a10; p++)
if(—?—)s=p;
printf(“The max:%d”,*s):
}
則在if語句中的判斷表達式應該是
A) ps B) *p*s C) a[p]a[s] D) p-ap-s
(42) 下面程序的輸出是
#include
main()
{ char*a=”abcdefgh”;
fun(a);puts(a); }
fun (char * s)
{ int x=0,y;char c;
for(y=strlen(s)-1;x
A)abcdefgh B)hgfdecba C)dcbahgfe D)hgfedcba
(43) 若有以下函數調用語句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函數調用語句
中實參的個數是
A)3 B)4 C)5 D)6
(44) 下面程序的輸出是
main()
{ int t=1; fun(fun(t));}
fun(int h)
{ static int a[3]={1,2,3};
int k;
for(k=0;k3;k++) a[k]+=a[k]-h;
for(k=1;k3;k++) printf(“%d”,a[k]);
printf(“\n”); return(a[h]);}
A)1,2,3, B)1,3,5, C) 1,3,5, D) 1,3,5,
1,5,9, 1,3,5, 0,4,8, -1,3,7,
(45) C語言中,函數的隱含存儲類別是
A)auto B)static C)extern D)無存儲類別
(46) 下面程序的輸出是
int w=3;
main()
{ int w=10; printf(“%d\n”,fun(5)*w); }
C語言:下列說法正確的是( )
A錯,我想打個比方,我和你在不同的國度,說不同的話語,我和你可以直接用各自的語言和文字交流嗎?我想肯定不能夠,因此需要翻譯,而C語言源程序就是以人類可以熟悉的規則和語言編寫,必須經過編譯器編譯,“翻譯”成計算機可以識別的二進制機器指令,計算機才能明白和執行。
C也是錯的,C語言程序源代碼都是先經過編譯,然後進行鏈接,最後才生成二進制機器指令。編譯的過程就是把C語言源文件轉變成二進制彙編代碼的OBJ文件,然後通過和一些C語言標準庫鏈接,例如你使用C語言庫函數printf等等,最終才生成二進制機器指令,才可運行。
D也是錯的。LIB是什麼東西?就是一個或者一大堆函數的集合。比較專業的術語就是鏈接庫。例如C語言提供的標準庫。
所以B是對的。可執行語句最終是轉換成機器指令的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/289453.html