本文目錄一覽:
- 1、計算機二級考試(江西考區)試題c語言及答案
- 2、9月計算機二級《C語言》上機考題及答案
- 3、c語言二級考試題及答案
- 4、求一份大一c語言考試試卷,加答案
- 5、計算機二級C語言筆試題和面試題答案目
- 6、C語言考試試題答案
計算機二級考試(江西考區)試題c語言及答案
2010年3月全國計算機等級考試二級C語言筆試真題及參考答案一、選擇題
(1)下列敘述中正確的是
A)對長度為n的有序鏈表進行查找,最壞清況下需要的比較次數為n
B)對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數為(n/2)
C)對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數為(log2n)
D)對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數為(nlog2n)(2)算法的時間複雜度是指
A)算法的執行時間
B)算法所處理的數據量
C)算法程序中的語句或指令條數
D)算法在執行過程中所需要的基本運算次數(3)軟件按功能可以分為:應用軟件、系統軟件和支撐軟件(或工具軟件)。下面屬於系統軟件的是
A)編輯軟件
B)操作系統
C)教務管理系統
D)瀏覽器(4)軟件(程序)調試的任務是
A)診斷和改正程序中的錯誤
B)儘可能多地發現程序中的錯誤
C)發現並改正程序中的所有錯誤
D)確定程序中錯誤的性質(5)數據流程圖(DFD圖)是
A)軟件概要設計的工具
B)軟件詳細設計的工具
C)結構化方法的需求分析工具
D)面向對象方法的需求分析工具(6)軟件生命周期可分為定義階段,開發階段和維護階段。詳細設計屬於
A)定義階段
B)開發階段
C)維護階段
D)上述三個階段(7)數據庫管理系統中負責數據模式定義的語言是
A)數據定義語言
B)數據管理語言
C)數據操縱語言
D)數據控制語言(8)在學生管理的關係數據庫中,存取一個學生信息的數據單位是
A)文件
B)數據庫
C)字段
D)記錄(9)數據庫設計中,用E-R圖來描述信息結構但不涉及信息在計算機中的表示,它屬於數據庫設計的
A)需求分析階段
B)邏輯設計階段
C)概念設計階段
D)物理設計階段(10)有兩個關係R和T如下:
則由關係K得到關係T的操作是
A)選擇
B)投影
C)交
D)並(11)以下敘述正確的是
A)C語言程序是由過程和函數組成的
B)C語言函數可以嵌套調用,例如:fun(fun(x))
C)C語言函數不可以單獨編譯
D)C語言中除了main函數,其他函數不可作為單獨文件形式存在(12)以下關於C語言的敘述中正確的是
A)C語言中的注釋不可以夾在變量名或關鍵字的中間
B)C語言中的變量可以在使用之前的任何位置進行定義
C)在C語言算術表達式的書寫中,運算符兩側的運算數類型必須一致
D)C語言的數值常量中夾帶空格不影響常量值的正確表示(13)以下C語言用戶標識符中,不合法的是
A)_1
B)AaBc
C)a_b
D)a-b(14)若有定義:double a=22;int i=0,k=18;,則不符合C語言規定的賦值語句是
A)a=a++,i++;
B)i=(a+k)=(i+k);
C)i=a%11;
D)i=!a;(15)有以下程序
#includestdio.h
main()
{ char a,b,c,d;
scanf(“%c%c”,a,b);
c=getchar(); d=getchar();
printf(“%c%c%c%c\n”,a,b,c,d);
}
當執行程序時,按下列方式輸入數據(從第1列開始,CR代表回車,注意:回車也是一個字符)
12CR
34CR
則輸出結果是
A)1234
B)12
C)12
3
D)12
34(16)以i關於C語言數據類型使用的敘述中錯誤的是
A)若要準確無誤差的表示自然數,應使用整數類型
B)若要保存帶有多位小數的數據,應使用雙精度類型
C)若要處理如“人員信息”等含有不同類型的相關數據,應自定義結構體類型
D)若只處理“真”和“假”兩種邏輯值,應使用邏輯類型(17)若a是數值類型,則邏輯表達式(a==1)||(a!=1)的值是
A)1
B)0
C)2
D)不知道a的值,不能確定(18)以下選項中與if(a==1)a=b; else a++;語句功能不同的switch語句是
A)switch(a)
{case:a=b;break;brdefault:a++;br}brB)switch(a==1)br{case 0:a=b;break;brcase 1:a++;br}
C)switch(a)
{default:a++;break;brcase 1:a=b;br}
D)switch(a==1)
{case 1:a=b;break;brcase 0:a++;br}(19)有如下嵌套的if語句
if (ab)
if(ac)k=a;
else k=c;
else
if(bc) k=b;
else k=c;
以下選項中與上述if語句等價的語句是
A)k=(a<b)?a:b;k=(b<c)?b:c;
B)k=(a<b)?((b<c)?a:b):((b>c)?b:c);
C)k=(a<b)?((a<c)?a:):((b<c)?b:c);
D)k=(a<b)?a:b;k=(a<c)?a:c;(20)有以下程序
#include<s七dio.h>
main()
{in i,j,m=1;
for(i=1;i<3;i++)
{for(j=3;j>O;j–)
{if(i*j)>3)break;brm=i*j;br}
}
printf(”m=%d\n”,m);
}
程序運行後的輸出結果是
A)m=6
B)m=2
C)m=4
D)m=5(21)有以下程序
#include(stdio.h>
main()
{int a=l;b=2;
for(;a<8;a++) {b+=a;a+=2;}
printf(”%d,%d\n”,a,b);
}
程序運行後的輸出結果是
A)9,18
B)8,11
C)7,11
D)10,14(22)有以下程序,其中k的初值為八進制數
#include stdio.h
main()
{int k=011;
printf(”%d\n”,k++);
}
程序運行後的輸出結果是
A)12
B)11
C)10
D)9(23)下列語句組中,正確的是
A)char *s;s=”Olympic”;
B)char s[7];s=”Olympic”;
C)char *s;s={”Olympic”};
D)char s[7];s={”Olympic”};(24)以下關於return語句的敘述中正確的是
A)一個自定義函數中必須有一條return語句
B)一個自定義函數中可以根據不同情況設置多條return語句
C)定義成void類型的函數中可以有帶返回值的return語句
D)沒有return語句的自定義函數在執行結束時不能返回到調用處(25)下列選項中,能正確定義數組的語句是
A)int num[0..2008];
B)int num[];
C)int N=2008;
int num[N];
D)#define N 2008
int num[N];(26)有以下程序
#include stdio.h
void fun(char *c,int d)
{*c=*c+1;d=d+1;
printf(”%c,%c,”,*c,d);
main()
{char b=’a’,a=’A’;
fun(b,a);printf(”%e,%e\n”,b,a);
}
程序運行後的輸出結果是
A)b,B,b,A
B)b,B,B,A
C)a,B,B,a
D)a,B,a,B(27)若有定義int(*Pt)[3];,則下列說法正確的是
A)定義了基類型為int的三個指針變量
B)定義了基類型為int的具有三個元素的指針數組pt
C)定義了一個名為*pt、具有三個元素的整型數組
D)定義了一個名為pt的指針變量,它可以指向每行有三個整數元素的二維數組(28)設有定義double a[10],*s=a;,以下能夠代表數組元素a[3]的是
A)(*s)[3]
B)*(s+3)
C)*s[3]
D)*s+3(29)有以下程序
#include(stdio.h)
main()
{int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;
for(i=0;i<5;i++) s=s+a[b[i]]);
printf(”%d\n”, s);
}
程序運行後的輸出結果是
A)6
B)10
C)11
D)15(30)有以下程序
#include stdio.h
main()
{int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;
for(i=0;i3;i++)
for(j=ij=1;j++) t+=b[i][b[j][i]];
printf(”%d\n”,t);
}
程序運行後的輸出結果是
A)1
B)3
C)4
D)9(31)若有以下定義和語句…….這是全國2010全國c語言考試的部分題目,樓主需要的話可以自己去下載轉自:酷8學習網
9月計算機二級《C語言》上機考題及答案
1、以下選項中屬於C語言的數據類型是( )。
A. 複合型
B. 雙精度型
C. 邏輯型
D. 集合型
2、以下說法中正確的是( )。
A. C語言程序總是從第一個的函數開始執行
B. 在C語言程序中,要調用的函數必須在main()函數中定義
C. C語言程序總是從main()函數開始執行
D. C語言程序中的main()函數必須放在程序的開始部分
3、選出下列標識符中不是合法的標識符的是( )。
A. hot_do
B. cat1
C. _pri
D. 2ab
4、下列描述中不正確的是( )。
A、字符型數組中可能存放字符串。
B、可以對字符型數組進行整體輸入、輸出。
C、可以對整型數組進行整體輸入、輸出。
D、 不能在賦值語句中通過賦值運算符“=”對字符型數組進行整體賦值。
5、若已定義:int a[9], *p=a;並在以後的語句中未改變p的值,不能表示a[1]地址的表達式為( )。
A. p+1
B. a+1
C. a++
D. ++p
6、設有如下定義: int x=10,y=3,z; 則語句printf(“%d\n”,z=(x%y,x/y)); 的輸出結果是( )。
A. 1
B. 0
C. 4
D. 3
7、定義如下變量和數組: int i, x[3][3]={1,2,3,4,5,6,7,8,9};則下面語句for(i=0;i3;i++) printf(“%d”,x[i][2-i]); 的輸出結果是( )
A. 1 5 9
B. 1 4 7
C. 3 5 7
D. 3 6 9
8、讀出以下語句的輸出結果是( )。
int x=10,y=10;
printf(“%d %d\n”,x–,–y);
A. 10 10
B. 9 9
C. 9 10
D. 10 9
9、兩次運行下面的程序,如果從鍵盤上分別輸入6和3,則輸出結果是( )。
if(x++5) printf(“%d”,x);
else printf(“%d\n”,x – -);
A. 7和5
B. 6和3
C. 7和4
D. 6和4
10、設有如下定義:char *aa[2]={“abcd”,”ABCD”};則以下說法中正確的是( )。
A)aa數組成元素的值分別是”abcd”和ABCD”
B)aa是指針變量,它指向含有兩個數組元素的字符型一維數組
C)aa數組的兩個元素分別存放的是含有4個字符的一維字符數組的`首地址
D)aa數組的兩個元素中各自存放了字符’a’和’A’的地址
11、以下語句的輸出結果是( )。
int a=-1,b=4,k;
k=(+ +a0)!(b – -=0);
printf(“%d,%d,%d\n”,k,a,b);
A. 1,0,4
B. 1,0,3
C. 0,0,3
D. 0,0,4
12、下列程序的輸出結果是( )。
char *p1=”abcd”, *p2=”ABCD”, str[50]=”xyz”;
strcpy(str+2,strcat(p1+2,p2+1));
printf(“%s”,str);
A. xyabcAB
B. abcABz
C. ABabcz
D. xycdBCD
13、執行下面的程序後,a的值是( )。
#define SQR(X) X*X
main( )
{ int a=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf(“%d\n”,a); }
A. 10
B. 1
C. 9
D. 0
14、設A為存放(短)整型的一維數組,如果A的首地址為P,那麼A中第i 個元素的地址為( )。
A.P+i*2
B. P+(i-1)*2
C. P+(i-1)
D. P+i
15、下列程序執行後輸出的結果是( )。
int d=1;
fun (int p)
{ int d=5;
d + =p + +;
printf(“%d,”,d); }
main( )
{ int a=3;
fun(a);
d + = a + +;
printf(“%d\n”,d); }
A. 8, 4
B. 9, 6
C. 9, 4
D. 8, 5
16、表達式:10!=9的值是( )。
A. true
B. 非零值
C. 0
D. 1
17、若有說明: int i,j=7, *p=i;, 則與i=j; 等價的語句是( )。
A. i= *p;
B. *p=*j;
C. i=j;
D. i=* *p;
18、不能把字符串: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!”;
19、在C程序中有如下語句:char *func(int x,int y); 它是( )。
A. 對函數func的定義。
B. 對函數func的調用。
C.對函數func的原型說明。
D. 不合法的。
20、以下程序的輸出結果是( )。
char str[15]=”hello!”;
printf(“%d\n”,strlen(str));
A. 15
B. 14
C. 7
D. 6
參考答案:
1、B 2、C 3、D 4、C 5、C 6、D 7、C 8、D 9、C 10、D
11、D 12、D 13、B 14、B 15、A 16、D 17、B 18、B 19、C 20、D
c語言二級考試題及答案
2011年3月全國計算機等級考試二級筆試試卷
C語言程序設計
(考試時間90分鐘,滿分100分)
一、 選擇題(1-10,21-40每題2分,11-20每題1分,共70分)
(1)下列關於棧敘述正確的是
A)棧頂元素最先能被刪除
B)棧頂元素最後才能被刪除
C)棧底元素永遠不能被刪除
D)以上三種說法都不對
(2)下列敘述中正確的是
A)有一個以上根結點的數據結構不一定是非線性結構
B)只有一個根結點的數據結構不一定是線性結構
C)循環鏈表是非線性結構
D)雙向鏈表是非線性結構
(3)某二叉樹共有7個結點,其中葉子結點只有1個,則該二叉樹的深度為(假設根結點在第1層)
A)3 B)4 C)6 D)7
(4)在軟件開發中,需求分析階段產生的主要文檔是
A)軟件集成測試計劃 B)軟件詳細設計說明書
C)用戶手冊 D)軟件需求規格說明書
(5)結構化程序所要求的基本結構不包括
A)順序結構 B)GOTO跳轉
C)選擇(分支)結構 D)重複(循環)結構
(6)下面描述中錯誤的是
A)系統總體結構圖支持軟件系統的詳細設計
B)軟件設計是將軟件需求轉換為軟件表示的過程
C)數據結構與數據庫設計是軟件設計的任務之一
D)PAD圖是軟件詳細設計的表示工具
(7)負責數據庫中查詢操作的數據庫語言是
A)數據定義語言
B)數據管理語言
C)數據操縱語言
D)數據控制語言
(8)一個教師可講授多門課程,一門課程可由多個教師講授。則實體教師和課程間的聯繫是
A)1:1聯繫 B)1:m聯繫
C)m:1聯繫 D)m:n聯繫
(9)有三個關係R、S和T如下:
則由關係R和S得到關係T的操作是
A)自然連接 B)交 C)除 D)並
(10)定義無符號整數類為UInt,下面可以作為類UInt實例化值的是
A)-369 B)369 C)0.369 D)整數集合{1,2,3,4,5}
(11)計算機高級語言程序的運行方法有編譯執行和解釋執行兩種,以下敘述中正確的是
A)C語言程序僅可以編譯執行
B)C語言程序僅可以解釋執行
C)C語言程序既可以編譯執行又可以解釋執行
D)以上說法都不對
(12)以下敘述中錯誤的是
A)C語言的可執行程序是由一系列機器指令構成的
B)用C語言編寫的源程序不能直接在計算機上運行
C)通過編譯得到的二進制目標程序需要連接才可以運行
D)在沒有安裝C語言集成開發環境的機器上不能運行C源程序生成的.exe文件
(13)以下選項中不能用作C程序合法常量的是
A)1,234 B)’123′
C)123 D)”\x7G”
(14)以下選項中可用作C程序合法實數的是
A).1e0 B)3.0e0.2
C)E9 D)9.12E
(15)若有定義語句:inta=3,b=2,c=1;,以下選項中錯誤的賦值表達式是
A)a=(b=4)=3; B)a=b=c+1;
C)a=(b=4)+c; D)a=1+(b=c=4);
(16)有以下程序段
char name[20];
int num;
scanf(“name=%s num=%d”,name;num);
當執行上述程序段,並從鍵盤輸入:name=Lili num=1001回車後,name的值為
A)Lili B)name=Lili C)Lili num= D)name=Lili num=1001
(17)if語句的基本形式是:if(表達式)語句,以下關於“表達式”值的敘述中正確的是
A)必須是邏輯值 B)必須是整數值
C)必須是正數 D)可以是任意合法的數值
(18)有以下程序
#include
main()
{ int x=011;
printf(“%d\n”,++x);
}
程序運行後的輸出結果是
A)12 B)11 C)10 D)9
(19)有以下程序
#include
main()
{ int s;
scanf(“%d”,s);
while(s0)
{ switch(s)
{ case1:printf(“%d”,s+5);
case2:printf(“%d”,s+4); break;
case3:printf(“%d”,s+3);
default:printf(“%d”,s+1);break;
}
scanf(“%d”,s);
}
}
運行時,若輸入1 2 3 4 5 0回車,則輸出結果是
A)6566456 B)66656 C)66666 D)6666656
(20)有以下程序段
int i,n;
for(i=0;i8;i++)
{ n=rand()%5;
switch (n)
{ case 1:
case 3:printf(“%d\n”,n); break;
case 2:
case 4:printf(“%d\n”,n); continue;
case 0:exit(0);
}
printf(“%d\n”,n);
}
以下關於程序段執行情況的敘述,正確的是
A)for循環語句固定執行8次 B)當產生的隨機數n為4時結束循環操作
C)當產生的隨機數n為1和2時不做任何操作D)當產生的隨機數n為0時結束程序運行
(21)有以下程序
#include
main()
{ char s[]=”012xy\08s34f4w2″;
int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]=’0’s[i]=’9′) n++;
printf(“%d\n”,n);
}
程序運行後的輸出結果是
A)0 B)3 C)7 D)8
(22)若i和k都是int類型變量,有以下for語句
for(i=0,k=-1;k=1;k++) printf(“*****\n”);
下面關於語句執行情況的敘述中正確的是
A)循環體執行兩次B)循環體執行一次C)循環體一次也不執行D)構成無限循環
(23)有以下程序
#include
main()
{ char b,c; int i;
b=’a’; c=’A’;
for(i=0;i6;i++)
{ if(i%2) putchar(i+b);
else putchar(i+c);
} printf(“\n”);
}
程序運行後的輸出結果是
A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef
(24)設有定義:doublex[10],*p=x;,以下能給數組x下標為6的元素讀入數據的正確語句是
A)scanf(“%f”,x[6]); B)scanf(“%lf”,*(x+6));
C)scanf(“%lf”,p+6); D)scanf(“%lf”,p[6]);
(25)有以下程序(說明:字母A的ASCII碼值是65)
#include
void fun(char *s)
{ while(*s)
{ if(*s%2) printf(“%c”,*s);
s++;
}
}
main()
{ char a[]=”BYTE”;
fun(a); printf(“\n”);
}
程序運行後的輸出結果是
A) BY B) BT C) YT D) YE
(26)有以下程序段
#include
main()
{ …
while( getchar()!=’\n’);
…
}
以下敘述中正確的是
A)此while語句將無限循環
B) getchar()不可以出現在while語句的條件表達式中
C)當執行此while語句時,只有按回車鍵程序才能繼續執行
D)當執行此while語句時,按任意鍵程序就能繼續執行
(27)有以下程序
#include
main()
{ int x=1,y=0;
if(!x) y++;
else if(x==0)
if (x) y+=2;
else y+=3;
printf(“%d\n”,y);
}
程序運行後的輸出結果是
A)3 B)2 C)1 D) 0
(28)若有定義語句:chars[3][10],(*k)[3],*p;,則以下賦值語句正確的是
A)p=s; B)p=k; C)p=s[0]; D)k=s;
(29)有以下程序
#include
void fun(char *c)
{ while(*c)
{ if(*c=’a’*c=’z’) *c=*c-(‘a’-‘A’);
c++;
}
}
main()
{ char s[81];
gets(s); fun(s); puts(s):
}
當執行程序時從鍵盤上輸入Hello Beijing回車,則程序的輸出結果是
A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing
(30)以下函數的功能是:通過鍵盤輸入數據,為數組中的所有元素賦值。
#include
#define N 10
void fun(int x[N])
{ int i=0;
while(i
}
在程序中下劃線處應填入的是
A)x+i B)x[i+1]C)x+(i++) D)x[++i]
(31)有以下程序
#include
main()
{ char a[30],b[30];
scanf(“%s”,a);
gets(b);
printf(“%s\n %s\n”,a,b);
}
程序運行時若輸入:
how are you? I am fine回車
則輸出結果是
A)how are you? B)how I am fine are you? I am fine
C)how are you? I am fine D)row are you?
(32)設有如下函數定義
int fun(int k)
{ if (k1) return 0;
else if(k==1) return 1;
else return fun(k-1)+1;
}
若執行調用語句:n=fun(3);,則函數fun總共被調用的次數是
A)2 B)3 C)4 D)5
(33)有以下程序
#include
int fun (int x,int y)
{ if (x!=y) return ((x+y);2);
else return (x);
}
main()
{ int a=4,b=5,c=6;
printf(“%d\n”,fun(2*a,fun(b,c)));
}
程序運行後的輸出結果是 A)3 B)6 C)8 D)12
(34)有以下程序
#include
int fun()
{ static int x=1;
x*=2;
return x;
}
main()
{ int i,s=1;
for(i=1;i=3;i++) s*=fun();
printf(“%d\n”,s);
}
程序運行後的輸出結果是 A)0 B)10 C)30 D)64
(35)有以下程序
#include
#define S(x) 4*(x)*x+1
main()
{ int k=5,j=2;
printf(“%d\n”,S(k+j));
}
程序運行後的輸出結果是 A)197 B)143 C)33 D)28
(36)設有定義:struct {charmark[12];int num1;double num2;} t1,t2;,若變量均已正確賦初值,則以下語句中錯誤的是
A)t1=t2; B)t2.num1=t1.num1;C)t2.mark=t1.mark; D)t2.num2=t1.num2;
(37)有以下程序
#include
struct ord
{ int x,y;}dt[2]={1,2,3,4};
main()
{
struct ord *p=dt;
printf(“%d,”,++(p-x));printf(“%d\n”,++(p-y));
}
程序運行後的輸出結果是 A)1,2 B)4,1 C)3,4 D)2,3
(38)有以下程序
#include
struct S
{ int a,b;}data[2]={10,100,20,200};
main()
{ struct S p=data[1];
printf(“%d\n”,++(p.a));
}
程序運行後的輸出結果是 A)10 B)11 C)20 D)21
(39)有以下程序
#include
main()
{ unsigned char a=8,c;
c=a3;
printf(“%d\n”,c);
}
程序運行後的輸出結果是 A)32 B)16 C)1 D)0
(40)設fp已定義,執行語句fp=fopen(“file”,”w”);後,以下針對文本文件file操作敘述的選項中正確的是
A)寫操作結束後可以從頭開始讀 B)只能寫不能讀
C)可以在原有內容後追加寫 D)可以隨意讀和寫
二、填空題
(1)有序線性表能進行二分查找的前提是該線性表必須是 【1】 存儲的。
(2)一棵二叉樹的中序遍歷結果為DBEAFC,前序遍歷結果為ABDECF,則後序遍歷結果為 【2】 。
(3)對軟件設計的最小單位(模塊或程序單元)進行的測試通常稱為【3】 測試
。
(4)實體完整性約束要求關係數據庫中元組的 【4】 屬性值不能為空。
(5)在關係A(S,SN,D)和關係B(D,CN,NM)中,A的主關鍵字是S,B的主關鍵字是D,則稱 【5】 是關係A的外碼。
(6)以下程序運行後的輸出結果是 【6】。
#include
main()
{ int a;
a=(int)((double)(3/2)+0.5+(int)1.99*2);
printf(“%d\n”,a);
}
(7)有以下程序
#include
main()
{ int x;
scanf(“%d”,x);
if(x15) printf(“%d”,x-5);
if(x10) printf(“%d”,x);
if(x5) printf(“%d\n”,x+5);
}
若程序運行時從鍵盤輸入12回車,則輸出結果為 【7】 。
(8)有以下程序(說明:字符0的ASCII碼值為48)
#include
main()
{ char c1,c2;
scanf(“%d”,c1);
c2=c1+9;
printf(“%c%c\n”,c1,c2);
}
若程序運行時從鍵盤輸入48回車,則輸出結果為 【8】 。
(9)有以下函數
void prt(char ch,int n)
{ int i;
for(i=1;i=n;i++)
printf(i%6!=0?”%c”:”%c\n”,ch);
}
執行調用語句prt(‘*’,24);後,函數共輸出了 【9】 行*號。
(10)以下程序運行後的輸出結果是 【10】。
#include
main()
{ int x=10,y=20,t=0;
if(x==y)t=x;x=y;y=t;
printf(“%d %d\n”,x,y);
}
(11)己知a所指的數組中有N個元素。函數fun的功能是,將下標k(k0)開始的後續元素全部向前移動一個位置。請填空。
void fun(int a[N],int k)
{ int i;
for(i=k;i
}
(12)有以下程序,請在 【12】 處填寫正確語句,使程序可正常編譯運行。
#include
【12】 ;
main()
{ double x,y,(*p)();
scanf(“%lf%lf”,x,y);
p=avg;
printf(“%f\n”,(*p)(x,y));
}
double avg(double a,double b)
{ return((a+b)/2);}
(13)以下程序運行後的輸出結果是 【13】。
#include
main()
{ int i,n[5]={0};
for(i=1;i=4;i++)
{ n[i]==n[i-1]*2+1; printf(“%d”,n[i]); }
printf(“\n”);
}
(14)以下程序運行後的輸出結果是 【14】。
#include
#include
#include
main()
{ char *p; int i;
p=(char *)malloc(sizeof(char)*20);
strcpy(p,”welcome”);
for(i=6;i=0;i–) putchar(*(p+i));
printf(“\n-“); free(p);
}
(15)以下程序運行後的輸出結果是 【15】。
#include
main()
{ FILE *fp; int x[6]={1,2,3,4,5,6},i;
fp=fopen(“test.dat”,”wb”);
fwrite(x,sizeof(int),3,fp);
rewind(fp);
fread(x,sizeof(int),3,fp);
for(i=0;i6;i++) printf(“%d”,x[i]);
printf(“\n”);
fclose(fp);
}
2011年3月全國計算機等級考試二級筆試試卷
C語言程序設計答案
一.選擇題1-5 ABDDB
6-10 ACDCB 11-15 ADBAA
16-20 ADCAD 21-25 BDBCD
26-30 CDCCC 31-35 BBBDB
36-40 CDDCB
二,填空題
1) 順序 2) DEBFCA 3) 單元測試 4) 主鍵 5) D 6) 3 7) 1217
8) 09 9) 4 10) 20 0 11) i-1 12) double avg(doublea,double b) 13) 13715
14) e(E)moclew 15) 123456
2010年9月全國計算機等級考試二級C筆試試卷答案
一、選擇題
1~5: BCDAA 6~10:DDCCA 11~15:CBBAD 16~20: DAACB
21~25: BCBDC 26~30 :CBDDA 31~35:ACBCD 36~40 :BACBD
二、填空
1.1DCBA2345 2.n-1 3.25 4.結構化 5.物理設計 6.2008
7.15 8.非0 9. 1 4 13 40 10.i 11.2
12.a[row][col] 13.3 14.*s 15.FILE
求一份大一c語言考試試卷,加答案
附件上傳失敗…
C語言期末考試題及答案(1)
1、構成C語言的基本單位是___B____。
過程?
函數?
語句?
命令?
2、設x為整型變量,不能正確表達數學關係:5×10的c語言表達式是__B___。
5
x5x10?
x==6||x==7||x==8||x==9?
!(x=5)(x10)?
3、在C語言中,邏輯運算符的優先級從高到低的排列順序為__D___。
、||、!?
||、、!?
、!、||?
!、、||?
4、下面語句中,正確的是__D___。
printf(”%c\n”,”student”);?
printf(”%c\n”,”c”);?
printf(”%s\n”,a);?
printf(”%s\n”,”hello”);?
5、對於for(表達式1;;表達式3)可以理解為__B___。
for(表達式1;0;表達式3)?
for(表達式1;1;表達式3)?
for(表達式1;表達式1;表達式3)?
for(表達式1;表達式3;表達式3)?
6、執行下面程序段的結果是__B___。 main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf(“a=%d,b=%d”,a,b); }
a=1,b=1?
a=2,b=1?
a=1,b=0?
a=2,b=2?
7、執行下面程序段的結果是__D___。 int x=0; do { printf(“%2d”,x–); }while(x);
打印出321?
打印出23?
不打印任何結果?
陷入死循環?
8、設x=10,y=5;z=15,執行下面一段程序後z的結果是__C___。 If(xy) if(yz)x=y; else z=y;
7?
6?
5?
4?
9、如果一個函數被說明為static,那麼__B___。
該函數只能被main函數調用?
該函數能被當前文件的函數調用,但不能被其他文件的函數調用?
該函數不能被當前文件的函數調用,可以被其他文件的函數調用?
任何文件的函數都可以調用該函數?
10、下面關於局部變量的描述中,錯誤的是__D___。
函數的局部變量的有效範圍只能在本函數?
函數的形式參數也是局部變量?
局部變量的名稱不能和函數同名稱?
不同的函數中不能定義相同名稱的局部變量?
11、下列初始化字符數組的語句中,錯誤的是__A___。
char str[5]=”hello”;?
char str[]={‘h’,’e’,’l’,’l’,’o’,’\0′};?
char str[5]={“hi”};?
char str[100]=””;?
12、引用數組元素時,數組下標可以是__D___。
整型常量?
整型變量?
整型表達式?
以上均可?
13、 已知:char str[10],*p=str; 下面的語句中正確的是__B___。
str=”ABC”;?
p=”ABC”;?
*str=”ABC”;?
*p=”ABC”;?
14、下面語句中,錯誤的是___D__。
int i;int *p;p=i;?
int i,*p;p=a;?
int i,*p=a;?
int i,*p;*p=i;?
15、下面對於結構體類型的描述正確的是__A___。
結構體類型的大小為各成員變量所佔內存的總和?
結構體類型變量與簡單數據類型變量的引用規則一致。?
結構體類型的大小為其成員中所佔內存空間最大的變量的大小?
結構體類型的大小為其最後一個成員中所佔內存空間的大小?
16、C語言規定:在一個源程序中,main函數的位置____C____。
必須在最開始?
必須在系統調用的庫函數的後面?
可以任意?
必須在最後?
17、表達式18/4*sqrt(4.0)/8值的數據類型是 ___C____。
int?
float?
double?
不確定?
18、在c語言中,char型數據在內存中的存儲形式是 ___D___。
補碼?
反碼?
原碼?
ASCII碼?
19、閱讀以下程序,當輸入的數據形式為:25,13,10CR時,正確的輸出結果為___D___。 main() { int x,y,z; scanf(“%d%d%d”,x,y,z); printf(“x+y+z=%d\n”,x+y+z); }
x+y+z=48?
x+y+z=35?
x+z=35?
不能確定?
20、有如下程序 void main() { float x=2.0,y; if(x0.0) y=0.0; else if(x10.0) y=1.0/x; else y=1.0; printf(“%f\n”,y); } 該程序的輸出結果是( C )。
0.000000?
0.250000?
0.500000?
1.000000?
21、判斷char型變量s是否為小寫字母的正確表達式是__C____。
‘a’=s=’z’?
(s=’a’)(s=’z’)?
(s=’a’)(s=’z’)?
(‘a’=s)and(‘z’=s)?
22、執行以下語句後,y 的值為___A___。 int x,y,z; x=y=z=0; ++x || ++y ++z;
0?
1?
2?
不確定值?
23、有如下程序段: int number=0; while(number++=3) printf(“%d\n”,number++); 則正確的執行結果是___C___。
2 3 4?
0 1 2?
1 3?
2 4?
24、有如下程序 void main() { int n=9; while(n6) { n–; printf(“%d”,n); } } 該程序段的輸出結果是__B___。
987?
876?
8765?
9876?
25、要使以下程序段輸出10個整數,請在空格中填入一個整數。 for(i=0;i=___B___;printf(“%d\n”,i+=2));
15?
18?
20?
10?
26、設函數fun的定義形式為: fun(char ch,float x){…} 則以下對函數fun的調用語句中正確的是___B___。
fun(“abc”,3)?
t=fun(‘D’,5)?
fun(‘ab’,3)?
fun(‘78’,1)?
27、函數求sum(int n)的功能是計算自然數1到n的和,即1+2+…+n。 Main() { printf(“The sum=%d\n”,sum (10)); } int sum(int n){ int s=0,i; for(i=0;i=n;i++) _____B_____ } 請從備選答案中選擇一答案,補全程序。
s=s+n;return s;?
s=s+i;return s;?
return s;?
return s+=I;?
28、設函數fun的定義形式為 int fun(int a[],int n) { int s=0,i=0; for(i=0;in;i++)s+=a[i]; return s; } main() { int a[10]={1,2,3,4,5}; printf(“sum=%d”, fun(a[2],2)); } 則程序的運行結果為___C___。
3?
5?
7?
9?
29、若有說明:int a[10];則對數組元素的正確引用是___D____。
a[10]?
a[3,5]?
a(5)?
a[10-10]?
30、以下不正確的定義語句是___B___。
double x[5]={2.0,4,0,6,0,8,0,10.0};?
int y[5]={0,1,3,5,7,9};?
char c1[]={‘1′,’2′,’3′,’4′,’5’};?
char c2[]={‘\x10′,’\xa’,’\x8′};?
31、下面程序的運行結果是___B____。 #include “stdio.h” main() { char str[]=”SWLIA”,c; int k; for(k=0;(c=str[k])!=’\0′;k++) { switch(c) { case ‘I’:++k;break; c
SWA?
SW*?
SW*A?
SW?
32、以下能正確進行字符串賦值操作的是___D___。
char s[5]={“12345”};?
char s[5]={‘1′,’2′,’3′,’4′,’5’,‘6’};?
char *s;*s=”12345″;?
char *s=”12345″;?
33、以下程序段的運行結果是___C___。 Char a[ ]=”program”, *p; p=a; while (*p!=’g’) { printf(“%c”, *p-32); p++; }
PROgram?
PROGRAM?
PRO?
proGRAM?
34、若有說明:char *pc[ ]={“aaa”, “bbb”, “ccc”, “ddd”};,則以下敘述正確的是__C____。
*pc[0]代表的是字符串”aaa”的首地址?
*pc[0]代表的是字符’a’的首地址?
pc[0]代表的是字符串”aaa”的首地址?
pc[0]代表的是字符’a’的首地址?
35、下列程序的運行結果是___B___。 #include stdio.h #include string.h void f (char *s, int n) { char a,*q1,*q2; q1=s;q2=s+n-1; while(q1q2) { a=*q1++; *q1=*q2–; *q2=a;} } main() { char b[]=”ABCDEFG”; f(b, s
GAGGAGA?
AGAAGAG?
GFEDCBA?
AGADAGA?
36、定義如下的結構體描述同學信息 struct Student { unsigned long id; char name[30]; char class[30]; }s; 假設此同學的序號為1002,姓名為黎明,班級為冶金3班,則描述正確的為___C__。
id=1002; name=黎明; class=冶金3班;?
id=1002; name=”黎明”; class=”冶金3班”;?
s.id=1002; s.name=”黎明”; s.class=”冶金3班”;?
s.id=1002; s.name=黎明; s.class=冶金3班;?
37、用來描述C程序中注釋的是__C___。
//?
?
**?
38、下列變量中合法的定義是__A___。
short _a=2-1?
long if=0xabcL?
double 1_d=1.5e2?
float a=1.5e2.7?
39、當c的值不為0時,能夠將c的值賦給變量a和b的是__C___
c=b=a?
(a=c)||(b=c)?
(a=c)(b=c)?
a=c=b?
40、設有以下程序段,執行後的輸出結果是___B__ int x=100,y=200; printf(”%d”,(x,y));
100?
200?
100,200?
編譯出錯
C語言期末考試題及答案(2)
1、若執行下面的程序時從鍵盤輸入10,則輸出是__B__ main( ) { int a; scanf(“%d”,a); if(a++10) printf(“%d\n”,++a); else printf(“%d\n”,a–); }
12?
11?
10?
9?
2、執行下面程序段的結果是__D___ int x=0; do { printf(“%2d”,x–); }while(x);
打印出321?
打印出23?
不打印任何結果?
陷入死循環?
3、執行與句:for(n=0;n++4; ); 後,變量n的值是__C__。
3?
4?
5?
不定?
4、以下關於循環的描述中,錯誤的是__D___。
可以用for語句實現的循環一定可以用while語句實現?
可以用while語句實現的循環一定可以用for語句實現?
可以用do…while語句實現的循環一定可以用while語句實現?
do…while語句與while語句的區別僅僅是關鍵字while的位置不同?
5、下面的描述錯誤的是__C__。
函數可以有多個形式參數?
函數可以沒有返回值?
函數內可以嵌套定義函數?
函數可以被其他函數調用?
6、函數返回值的類型是由__A__決定的。
定義函數時指定的返回類型?
函數中return語句的表達式類型?
主調函數的實際參數類型?
主調函數的返回值類型?
7、定義了一維int型數組a[10]後,下面錯誤的引用是__B__。
a[0]=1;?
a[10]=2;?
a[0]=5*2;?
a[1]=a[2]*a[0];?
8、定義了int型二維數組a[6][7]後,數組元素a[3][4]前的數組元素個數為__B__。
24?
25?
18?
17?
9、下面語句中,錯誤的是__D__。
int i; int *p; p=i;?
int i,*p; p=a;?
int i,*p=a;?
int i,*p; *p=i;?
10、 已知int型二維數組a[3][4],數組元素a[1][2]的地址不能表達為__C__。
a[1][2]?
a[1]+2?
*a[1]+2?
*(a+1)+2?
11、C語言中,5種基本數據類型的存儲空間長度的排列順序為___A___。
char
char=int
char
char=int=long int=float
12、假設所有變量均為整型,則表達式(a=2,b=5,b++,a+b)的值是 ___B___。
7?
8?
6?
2?
13、若有說明語句:char c=’\72′;則變量c ___A___。
包含1個字符?
包含2個字符?
包含3個字符?
說明不合法,c的值不確定?
14、若x,y均定義為整型,z定義為double型,以下不合法的scanf函數調用語句是___C___。
scanf(“%d%lx,%le”,x,y,z);?
scanf(“%2d * %d%lf”,x,y,z);?
scanf(“%x%*d%o”,x,y,z);?
scanf(“%x%o%6.2f”,x,y,z);?
15、若輸入字符串:abcde回車,則以下while循環體將執行___A___次。 while((ch=getchar())==’e’) printf(“*”);
1次?
死循環?
0次?
5次?
16、執行下面的程序段後,k的值是___C___。 k=1;n=263; do{k*=n%10;n/=10;}while(n);
3?
63?
36?
2?
17、下面程序段中循環的執行次數是___B___。 a=10;b=0; do{b+=2;a-=2+b;}while(a=0);
10?
3?
5?
4?
18、下面程序段的運行結果是__D____。 x=2; do{printf(“*”);x–;}while(!x==0);
*?
***?
沒有輸出?
**?
19、下面程序段的運行結果是___B___。 i=1;s=1;a=0; do{a=a+s*i;s=-s;i++;}while(i=10); printf(“%d”,a);
2?
-2?
3?
0?
20、有如下程序 void main() { int a=2,b=-1,c=2; if(a) if(b0) c=0; else c++; printf(“%d\n”,c); } 該程序的輸出結果是___A___。
0?
1?
2?
3?
21、程序中對fun函數有如下說明 void fun(); 下面說明是錯誤的是___B___。
fun函數無返回值?
fun函數的返回值可以是任意的數據類型?
fun函數沒有形式參數?
void 可以省略?
22、函數求sum(int n)的功能是計算自然數1到n的和,即1+2+…+n。 main() { printf(“The sum=%d\n”,sum (10)); } int sum(int n){ int s=0,i; for(i=0;i=n;i++) _____B_____ } 請從備選答案中選擇一答案,補全程序。
s=s+n; return s;?
s=s+i; return s;?
return s;?
return s+=i;?
23、 有以下程序 int f1(int x,int y){return xy?x:y;} int f2(int x,int y){return xy?y:x;} main() { int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d)); f=f1(f2(a,b),f2(c,d)); g=a+b+c+d-e-f; printf()__A___
4,3,7?
3,4,7?
5,2,7?
2,5,7?
24、若有說明:int a[][3]={1,2,3,4,5,6,7};則數組a第一維的大小是___B___。
2?
3?
4?
無確定值?
25、判斷字符串s1是否大於字符串s2,應當使用___D____。
if(s1s2)?
if(strcmp(s1,s2))?
if(strcmp(s2,s1)0)?
if(strcmp(s1,s2)0)?
26、當運行以下程序時,從鍵盤輸入:AhaMA AhaCR CR表示回車,則下面程序的運行結果是___A____。 #include “stdio.h” main() { char s[80],c=’a’; int i=0; scanf(“%s”,s); while(s[i]!=’\0′) { if(s[i]==c)
ahAMa?
AhAMa?
AhAMa ahA?
ahAMa ahA?
27、以下程序執行後a的值為___C____。main( ) { int a,m=2, k=1, *p=k; a=p!=m; printf(“%d\n”,a); }
-1?
0?
1?
2?
28、以下能正確讀入字符串的程序段是____C___。
char *p;scanf(“%s”, p);?
char str[10];scanf(“%s”, str);?
char str[10], *p;p=str; scanf(“%s”, p);?
char str[10], *p=str;scanf(“%s”, p[1]);?
29、若有定義:int i, x[3][4];,則不能將x[1][1]的值賦給變量i的語句是___B___。
i=x[1][1] ?
i=*(*(x+1))?
i=*(*(x+1)+1)?
i=*(x[1]+1)?
30、下面程序的運行結果是____A___。 # include stdio.h # include string.h fun(char *s) { char t,*a,*z; a=s; z=s+strlen(s)-1; while(a++z–) { t=*a++; *a=*z–; *z=t;} } main() { char *p; p=”a
abdddfg?
afcdebg?
gbedcfa?
gfedcba?
31、用來描述C程序中注釋的是__C___
/ /?
?
* *?
32、對於”xy\n\102\\\'”字符串的長度是__B___
7?
6?
12?
13?
33、已知:int x=10;執行語句x-=x+x;後x的值是__A___
-10?
10?
-20?
20?
34、下列描述中,正確的是__A___
所有的輸入/輸出都是通過調用庫函數處理的?
所有的輸入/輸出都是通過輸入/輸出語句實現的?
getchar和putchar可以省略#include?
在輸入/輸出格式中的*表示跳過數據的含義?
35、設x=10,y=5;z=15,執行下面一段程序後z的結果是__C___ if(xy) if(yz)x=y; else z=y;
7?
6?
5?
4?
36、執行下面程序段的結果是__D___ int x=0; do { printf(“%2d”,x–); }while(x);
打印出321?
打印出23?
不打印任何結果?
陷入死循環?
37、以下關於switch語句和break語句的描述正確的是__D___
在switch語句中必須使用break語句?
break語句只能用於switch語句體中?
break語句只能用於循環語句中?
在switch語句中可以使用break語句?
38、與語句while(!x)等價的語句是__A___
while(x==0)?
while(x!=0)?
while(x!=1)?
while(~x)?
39、下面的描述錯誤的是__C___
?函數可以有多個形式參數?
?函數可以沒有返回值?
?函數內可以嵌套定義函數?
?函數可以被其他函數調用?
40、 下面關於局部變量的描述中,錯誤的是__D___
?函數的局部變量的有效範圍只能在本函數?
?函數的形式參數也是局部變量?
?局部變量的名稱不能和函數同名稱?
?不同的函數中不能定義相同名稱的局部變
計算機二級C語言筆試題和面試題答案目
如下這份計算機二級C語言筆試題目對於要考基計算機二級證書的朋友來說,應該會很有幫助,需要的朋友趕緊收藏吧!
一、選擇題((1)-(10),(21)-(40)每題2分,(11)-(20)每題1分,共70分)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填塗在答題卡相應位置上,答在試卷上不得分。
1. 下列敘述中正確的是
A 線性表的鏈式存儲結構與順序存儲結構所需要的存儲空間是相同的
B 線性表的鏈式存儲結構所需要的存儲空間一般要多於順序存儲結構
C 線性表的鏈式存儲結構所需要的存儲空間一般要少於順序存儲結構
D 上述三種說法都不對 答案:B
2. 下列敘述中正確的是
A 在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態變化
B 在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態變化
C 在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態變化
D 上述三種說法都不對 答案:C
3. 軟件測試的目的是
A 評估軟件可靠性 B 發現並改正程序中的錯誤 C 改正程序中的錯誤
D 發現程序中的錯誤 答案:B
4. 下面描述中,不屬於軟件危機表現的是
A 軟件過程不規範 B 軟件開發生產率低 C 軟件質量難以控制
D 軟件成本不斷提高 答案:A
5. 軟件生命周期是指
A 軟件產品從提出、實現、使用維護到停止使用退役的過程
B 軟件從需求分析、設計、實現到測試完成的過程 C 軟件的開發過程
D 軟件的運行維護過程 答案:A
6. 面向對象方法中,繼承是指
A 一組對象所具有的相似性質 B 一個對象具有另一個對象的性質 C 各對象之間的共同性質 D 類之間共享屬性和操作的機制 答案:D
7. 層次型、網狀型和關係型數據庫劃分原則是
A 記錄長度 B 文件的大小 C 聯繫的複雜程度
D 數據之間的聯繫方式 答案:D
8. 一個工作人員可以使用多台計算機,而一台計算機可被多個人使用,則實體工作人員、與實體計算機之間的聯繫是
A 一對一B 一對多C 多對多D 多對一 答案:C
9. 數據庫設計中反映用戶對數據要求的模式是
A 內模式B 概念模式C 外模式D 設計模式 答案:C
10. 有三個關係R、S和T如下:則由關係R和S得到關係T的操作是
A 自然連接B 交C 投影D 並 答案:A
11. 以下關於結構化程序設計的敘述中正確的是
A 一個結構化程序必須同時由順序、分支、循環三種結構組成
B 結構化程序使用goto語句會很便捷 C 在C語言中,程序的模塊化是利用函數實現的
D 由三種基本結構構成的程序本文由論文聯盟收集整理只能解決小規模的問題 答案:C
12. 以下關於簡單程序設計的步驟和順序的說法中正確的是
A 確定算法後,整理並寫出文檔,最後進行編碼和上機調試
B 首先確定數據結構,然後確定算法,再編碼,並上機調試,最後整理文檔
C 先編碼和上機調試,在編碼過程中確定算法和數據結構,最後整理文檔
D 先寫好文檔,再根據文檔進行編碼和上機調試,最後確定算法和數據結構 答案:D
13. 以下敘述中錯誤的是
A C程序在運行過程中所有計算都以二進制方式進行 B C程序在運行過程中所有計算都以十進制方式進行 C 所有C程序都需要編譯鏈接無誤後才能運行
D C程序中整型變量只能存放整數,實型變量只能存放浮點數 答案:B
14. 有以下定義:inta; longb; doublex,y;則以下選項中正確的表達式是
A a%(int)(x-y) B a=x!=y; C (a*y)%b D y=x+y=x 答案:C
15. 以下選項中能表示合法常量的是
A 整數:1,200 B 實數:1.5E2.0 C 字符斜杠:‘\’ D 字符串:”\007″ 答案:C
16. 表達式a+=a-=a=9的值是
A 9 B _9 C 18 D 0 答案:D
17. 若變量已正確定義,在if (W)printf(“%d\n,k”);中,以下不可替代W的是
A ab+c B ch=getchar() C a==b+c D a++ 答案:A
18. 有以下程序
#include
main()
{inta=1,b=0;
if(!a) b++;
elsEif(a==0)if(a)b+=2;
elseb+=3;
printf(”%d\n”,b);
}
程序運行後的輸出結果是
A 0 B 1 C 2 D 3 答案:C
20. 有以下程序
#include
main()
{int a=1,b=2;
while(a6){b+=a;a+=2;b%二10;}
printf(”%d,%d\n”,a,b);
}
程序運行後的輸出結果是
A 5,11 B 7,1 C 7,11 D 6,1 答案:D
21. 有以下程序
#include
main()
{int y=10;
while(y–);
printf(”Y=%d\n”,Y);
}
程序執行後的輸出結果是
A y=0 B y= -1 C y=1 D while構成無限循環 答案:B
22. 有以下程序
#include
main()
{char s[」=”rstuv”;
printf(”%c\n”,*s+2);
}
程序運行後的輸出結果是
A tuv B 字符t的ASCII碼值 C t D 出錯 答案:D
23. 有以下程序
#include
#include
main()
{char x[]=”STRING”;
x[0」=0;x=’\0’;x[2」=’0’;
printf(”%d%d\n”,sizeof(x),strlen(x));
}
程序運行後的輸出結果是
A 61 B 70 C 63 D 71 答案:B
24. 有以下程序
#include
Int f(intx);
main()
{intn=1,m;
m=f(f(f(n)));printf(”%d\n”,m);
}
intf(intx)
{returnx*2;}
程序運行後的輸出結果是
A 1 B 2 C 4 D 8 答案:D
25. 以下程序段完全正確的是
A int *p;scanf(“%d”,p); B int *p;scanf(“%d”,p);
C int k, *p=k;scanf(“%d”,p); D int k, *p:;*p= k; scanf(“%d”,p); 答案:D
26. 有定義語句:int *p[4];以下選項中與此語句等價的是
A intp[4]; B int**p; C int*(p「4」); D int (*p)「4」; 答案:D
27. 下列定義數組的語句中,正確的是
A B C intx[0..10]; D int x[]; 答案:B
28. 若要定義一個具有5個元素的整型數組,以下錯誤的定義語句是
A inta[5]=﹛0﹜; B intb[]={0,0,0,0,0}; C intc[2+3]; D inti=5,d[i]; 答案:A
29. 有以下程序
#include
voidf(int *p);
main()
{inta[5]={1,2,3,4,5},*r=a;
f(r);printf(”%d\n”;*r);
}
void f(int *p)
{p=p+3;printf(”%d,”,*p);}
程序運行後的輸出結果是
A 1,4 B 4,4 C 3,1 D 4,1 答案:D
30. 有以下程序(函數fun只對下標為偶數的元素進行操作)
# include
void fun(int*a;int n)
{int i、j、k、t;
for (i=0;i
C語言考試試題答案
1. 11,12.
2. { ,}, 變量聲明,函數體.
3. int,float,double.
4. 存儲空間.
5. 將10賦值給變量s.
6. ;
7. 1,0.
8. 高
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/196296.html