- 相關推薦
2017年計算機C語言試題答案
學習這件事不在于有沒有人教你,最重要的是在于你自己有沒有覺悟和恒心。以下是小編為大家搜索整理的2017年計算機C語言試題答案,希望對大家有所幫助!更多精彩內容請及時關注我們應屆畢業生考試網!
一、 選擇題
1、 下列敘述中正確的是( )。
A.循環隊列是隊列的一種順序存儲結構
B.循環隊列是隊列的一種鏈式存儲結構
C.循環隊列是非線性結構
D.循環隊列是一直邏輯結構
2、 下列敘述中正確的是( )。
A.棧是一種先進先出的線性表
B.隊列是一種后進先出的線性表
C.棧和隊列都是非線性結構
D.以上三種說法都不對
3、 一棵二叉樹共有25個節點,其中5個時子節點,那么度為1的節點數為( )。
A.4
B.6
C.10
D.16
4、 在下列模式中,能夠給出數據庫物理存儲結構與物理存取方法的是( )。
A.內模式
B.外模式
C.概念模式
D.邏輯模式
5、 在滿足實體完整性約束的條件下( )。
A、 一個關系中可以沒有候選關鍵詞
B、 一個關系中只能有一個候選關鍵詞
C、 一個關系中必須有多個候選關鍵詞
D、 一個關系中應該有一個或者多個候選關鍵詞
6、 有三個關系R、S和T如下:
則由關系R和S得到關系T的操作是( )。
A.自然連接
B.并
C.差
D.交
7、 軟件生命周期中的活動不包括( )。
A.軟件維護
B.市場調研
C.軟件測試
D.需求分析
8、 下面不屬于需求分析階段任務的是( )。
A.確定軟件系統的功能需求
B.確定軟件系統的系統的系能需求
B.制定軟件集成測試計劃
D.需求規格說明書審評
9、 在黑盒測試方式中,設計測試用例的主要根據是( )。
A.程序外部功能
B.程序內部邏輯
C.程序數據結構
D.程序流程圖
10、 在軟件設計中不使用的工具是( )。
A.系統結構圖
B.程序流程圖
C.PAD圖
D.數據流圖(DFD圖)
11、針對簡單程序設計,以下敘述的實施步驟正確的是( )。
A.確定算法和數據結構、編碼、調試、整理文檔
B.編碼、確定算法和數據結構、調試、整理文檔
C.整理文檔、確定算法和數據結構、編碼、調試
D.確定算法和數據結構、調試、編碼、整理文檔
12、關于C語言中數的表示,以下敘述正確的是( )。
A.只有整型數在允許范圍內能精確無誤的表示,實型數會有誤差
B.只要在在允許范圍內整型和實型都能精確表示
C.只有實型數在允許范圍內能精確無誤的表示,整型數會有誤差
D.只有八進制表示的數在不會有誤差
13、以下關于算法敘述錯誤的是( )。
A.算法可以用偽代碼、流程圖等多種形式來描述
B.一個正確的算法必須有輸入
C.一個正確的算法必須有輸出
D.用流程圖可以描述的算法可以用任何一種計算機高級語言編寫成程序代碼
14、以下敘述錯誤的是( )。
A.一個C程序可以包含多個不同名的函數
B.一個C程序只能有一個主函數
C.C程序在書寫時,有嚴格的縮進要求,否則不能編譯通過
D.C程序的主函數必須用main作為函數名
15、設有以下語句
Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2);
若要為變量ch1和ch2分別輸入字符A和B,正確的輸入形式應該是( )。
A.A和B之間用逗號間隔
B.A和B之間不能有任何間隔符
C.A和B之間可以用回車間隔
D.A和B之間用空格間隔
16、以下選項中非法的字符常量是( )。
A.’\102’
B.’\65’
C.’\xff’
D.’\019’
17、有以下程序
#include
Main()
{
Int A=0,B=0,C=0;
C=(A-=A-5);(A=B,B+=4);
Printf(“%d, %d, %d\n”,A,B,C)
}
程序運行后輸出的結果是( )。
A.0,4,5
B.4,4,5
C.4,4,4
D.0,0,0
18、設變量均已正確定義并且賦值,以下與其他三組輸出結構不同的一組語句是( )。
A.x++; printf((“%d\n”,x);
B.n=++x; printf((“%d\n”,n);
C.++x; printf((“%d\n”,x);
D.n=x++; printf((“%d\n”,n);
19、以下選項中,能表示邏輯值“假”的是( )。
A.1
B.0.000001
C.0
D.100.0
20、有以下程序
#include
Main()
{ int a;
Scanf(“%d”,&a);
If(a++<9) printf((“%d\n”,a);
Else printf((“%d\n”,a--);
}
程序運行時鍵盤輸入9<回車>,則輸出的結構是( )。
A.10
B.11
C.9
D.8
21、有以下程序
#include
Main()
{int s=0,n;
For (n=0;n<3;n<++)
{switch(s)
{ case 0;
Case 1;s+=1;
Case 2;s+=2;break;
Case 3;s+3;
Case 4;s+=4;
}
printf((“%d\n”,s);
}
}
程序運行后的結果是( )。
A.1,2,4
B.1,3,6
C.3,10,14
D.3,6,10
22、若k是int類型變量,且有以下for語句
For(k=-1;k<0;k++) printf(****\n”);
下面關于語句執行情況的敘述中正確的是( )。
A.循環體執行一次
B.循環體執行兩次
C.循環體一次也不執行
D.構成無限循環
23、有以下程序
#include
Main()
{char A,B,C;
B=’1’;C=’A’
For(A=0;A<6;A++)
{if(A%2) putchar(B+A);
Else putchar(C+A);
}
}
程序運行后輸出的結果是( )。
A.1B3D5F
B.ABCDFE
C.A2C4E6
D.123456
24、設有如下定義語句
Int m[ ]={2,4,6,8},*k=m;
以下選項中,表達式的值為6的是( )。
A.*(k+2)
B.k+2
C.*k+2
D.*k+=2
25、fun函數的功能是:通過鍵盤輸入給x所指的整型數組所有元素賦值。在下列劃線處應該填寫的是( )。
#include
#define N 5
Viod fun(int x[N])
{int m;
For(m=N-1;m>0;m--) scanf(“%d\n”, );
}
A.&x[++m]
B.&x[m+1]
C.x+(m++)
D.x+m
26、若有函數
Viod fun(double a[], int *n)
{………}
以下敘述中正確的是( )。
A、 調用fun函數時只有數組執行按值傳送,其他實參和形參之間執行按地址傳送
B、 形參a和n都是指針變量
C、 形參a是一個數組名,n是指針變量
D、 調用fun函數時將把double型實參數組元素一一對應地傳送給形參a數組
27、有以下程序
#include
Main()
{int a,b,k,m,*p1,*p2;
k=1,m=8;
p1=&k,p2=&m;
a=/*p1-m; b=*p1+*p2+6;
printf(“%d ”,a); printf(“%d\n”,b);
}
編譯時編譯器提示錯誤信息,你認為出錯的語句是( )。
A.a=/*p1-m
B.b=*p1+*p2+6
C.k=1,m=8;
D.p1=&k,p2=&m;
28、以下選項中有語法錯誤的是( )。
A char *str[ ]={“guest”};
B.char str[10 ]={“guest”};
C.char *str[3] *str[1]={“guest”};
D.char str[3][10];str[1]={“guest”};
29、avg函數的功能是求整型數組中的前若干個元素的平均值,設數組元素個數最多不超過10,則下列函數說明語句錯誤的是( )。
A.int avg(int *a,int n);
B.int avg(int a[10],int n);
C.int avg(int a,int n) ;
D.int avg(int a[],int n);
30、有以下函數
#include
#include
main()
{ printf(“%d\n”,strren”ATS\n012\1”) );}
程序運行后的輸出結果是( )。
A.3
B.8
C.4
D.9
31、有以下函數
#include
main()
{ char a[20],b[20],c[20];
scanf(”%s%s”,a,b);
get(c);
printf(”%s%s\n”,a,b,c);
}
程序運行時從第一行開始輸入 this is a cat!<回車>,則輸出結果是( )。
A.thisisacat!
B.this is a
C.thisis a cat!
D.thisisa cat!
32、有以下函數
#include
viod fun(char c)
{if(c>’x’) fun(c-1);
printf (“%c”,c);
}
main()
{fun”z”;}
程序運行輸出結果是( )。
A.xyz
B.wxyz
C.zyxw
D.zyx
33、有以下函數
#include
viod func(int n)
{int i;
for(i=0;i<=n;i++) printf(“*”);
printf(“#”);
main()
{ func(3); printf(“????”); func(4); printf(“\n”); }
程序運行輸出結果是( )。
A.****#????***#
B.***#????*****#
C.**#????*****#
D.****#????*****#
34、有以下函數
#include
viod fun(int *s)
{staic int j=0;
do {s[j]=s[j]+s[j+1];} wihle(++j<2);
}
main()
{int k,a[10]={1,2,3,4,5};
for(K+1;k<3;k++) fun(a);
for(K+1;k<5;k++) printf(“%d”,a[k]);
printf(“\n”);
}
程序運行輸出結果是( )。
A.12345
B.23445
C.34756
D.35745
35、有以下函數
#include
#define S(x) (x)*x*2
main()
{int k=5,j=2;
printf(“%d,”,S[k+j]); printf(“%d\n”,S(k-j)));
}
程序運行輸出結果是( )。
A.98,18
B.39,11
C.39,18
D.98,11
36、有以下函數
#include
Viod exch(int t[ ])
{t[0]=t[5];}
{int x[10]={1,2,3,4,5,6,7,8,9,10},i=0;
While(i<=4) {exch(&x[i])’i++;}
for(i=0;i<5;i++) printf(“%d”,x[i]);
printf(“\n”);
}
程序運行輸出結果是( )。
A.2 4 6 8 10
B.1 3 5 7 9
C.1 2 3 4 5
D.6 7 8 9 10
37、設有以下程序段
Struct MP3
{char name[20];
Char color;
Float price;
}std,*ptr;
ptr=& std;
若要引用結構體變量std中的color成員,寫法錯誤的是( )。
A.std.color
B.ptr-> color
C.std-> color
D.(*ptr) .color
38、有以下函數
#include
struct stu
{int mun; char name[10]; int age;};
viod fun(struct stu *p)
{ printf(“%s\n”,p->name);}
mian()
{ struct stu x[3]={{01,”zhang”,20},{02,”wang”,19},{03,”zhao”,18}};
fun(x+2);
}
程序運行輸出結果是( )。
A.zhang
B.zhao
C.wang
D.19
39、有以下函數
#include
mian()
{int a=12,c;
c=(a<<2)<<1;
printf(“%d\n”,c):
}
程序運行輸出結果是( )。
A.3
B.50
C.2
D.96
40、以下函數不能用于向文件寫入數據的是( )。
A.ftell
B.fwrite
C.fputc
D.fprintf
二、填空題
1、將長度為n的順序存儲在線性表中刪除一個元素,最壞情況下需要移動表中的元素個數為( )。
2、設循環隊列的存儲空間為Q(1:3),初始狀態為front=rear=30。現經過一系列入隊與退隊運算后,front=16,rear=15,則循環隊列中有( )個元素。
3、數據庫管理系統提供的數據語言中,負責數據的增、刪、改和查詢的是( )。
4、在將E-R圖轉換到關系模式時,實體和聯系都可以表示成( )。
5、常見的軟件工程方法有結構化方法和面向對象方法,類、繼承以及多態性等概念屬于( )。
6、設變量a和b已定義為int類型,若要通過scanf(”a=%d,b=%d”,&a,&b);語句分別給a和b輸入1和2,則正確的數據輸入內容是( )。
7、以下程序的輸出結果是( )。
#include
mian()
{ int a=37;
a+=a%=9; printf(“%d\n”,a);
}
8、設A.B.c都是整型變量,如果a的值為1,b的值為2,則執行c=a++||b++;語句后,變量b的值是( )。
9、有以下程序段
s=1.0;
for(k=1,k<=n;k++) s=s+1.0(k*(k+1));
printf(“%f\n”,s);
請填空,使以下程序段的功能與上面的程序段完全相同。
s=1.0; k=1;
while( )
{ s=s+1.0(k*(k+1)); k=k+1;}
printf(“%f\n”,s);
10、以下程序段的輸出結果是( )。
#include
mian()
{ char a,b;
for(a=0;a<20;a+=7) { b=a; putchar(b+’0’); }
}
11、以下程序段的輸出結果是( )。
#include
mian()
{ char *ch[4]={“red”,”green”,”blue”};
Int i=0;
While(ch[i]);
{ putchar(ch[i][0]; i++; }
}
12、有以下程序
#include
mian()
{int arr[]={1,3,5,7,2,4,6,8{, i, start;
Scanf(“%d”, &start);
For(i=0,i<3,i++)
printf(“%d”,arr[(start+i)%8]);
}
若在程序運行時輸入整數10 <回車>,則輸出結果為( )。
13、以下程序的功能是輸出a數組中的所有字符串,請填空
#include
mian()
{char *a[]={“ABC”,”DEFGH”,”IJ”,”KLMNOP”};
Int i=0;
For(;i<4;i++) printf(“%s\n”, );
}
14、以下程序的輸出結果是( )。
#include
#include
#include
mian()
{ char *p, *q, *r;
p=q=r=(char *)malloc(sizeof(char)*20);
strcpy(p,”attaboy,welcome!”);
printf(“%c%c%c\n”,p[11], q[3], r[4]);
free(p);
}
15、設文件test.txt中原已寫入字符串Begin,執行以下程序后,文件中的內容為( )。
#include
mian()
{ file *fp;
fp=fopen(“test.txt”,”w+”);
fputs(“test”,fp);
fclose(fp);
}
【計算機C語言試題答案】相關文章:
計算機二級C++C++語言概述03-30
計算機c語言的考點有哪些11-29
計算機c語言基礎知識06-06
計算機c語言的語法結構11-30
計算機C語言考試重點預測習題12-04
計算機考試C語言專題訓練12-05
關于計算機原理中C語言的應用04-02
計算機二級C語言真題09-30