c語言二級題庫-ag真人国际官网
a. 二級c語言全套題庫哪能下載
做題 繼續做題 還是做題=通過二級
呵呵,看這個網址就知道了,下面這個網站上全部是二級試題,有歷年真題,模擬試題等。
http://www.passtwo.com/
最後祝你考試順利通過!
b. 全國計算機等級考試二級c語言的考試題目都是從《c語言題庫》裡面抽取的題目嗎
全國計算機等級考試二級c語言的考試題目的小題不是從《c語言題庫》中抽取的,後面的大題即編程題全部是從最近的一年的《c語言題庫》中抽取的。考題大部分是c語言,少部分是演算法與數據結構裡面的東西。就算不是《c語言題庫》題庫里的題,但是題型都差不多的。
c語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用於底層開發。c語言具有高效、靈活、功能豐富、表達力強和較高的可移植性等特點,在程序設計中備受青睞。c語言編譯器普遍存在於各種不同的操作系統中,例如microsoft windows、macos、linux、unix等。c語言的設計影響了眾多後來的編程語言,例如c 、objective-c、java、c#等。
c. 計算機二級c語言考試是從題庫里抽嗎,想考過背題庫可行嗎
是。
無紙化考試,確實是從題庫裡面隨機抽題,但是,單選題一是題庫不泄露,外面沒人能弄到完整的題庫,二是即便弄得到,龐大的題庫也不是人能背的下來的。程序題倒是很容易弄到題庫,反正翻來覆去就是那100套300道題。
准確來說,每個人的試題都是不一樣的。上機之後,會從題庫中隨機抽取題目,題庫裡面大概有一百多套題。每一道題分為三道大題(不包括選擇題),隨機選到的這一套題就是你的考題。但是題庫只有一份。
分筆試和上機考:
一、筆試:選擇40題,前10題為公共基礎知識
(1)填空15題,前5題為公共基礎知識。
(2)只有c部分的前10題(即11~20)每題1分,其餘填空選擇都是2分,滿分100分,時間90分鍾。
二、上機:填空、改錯和程序設計題
(1)填空題一般有2到3個空,需要刪除對應的空後,在刪除的位置填上正確的答案(30分)。
(2)改錯題的錯誤在/********found******/下面,不要改動其它的地方(2~3個,30分)。
(3)然後就是程序設計題啦,40分,考試時間90分鍾,上機考試每題完成後一定記得運行。
d. 國家計算機二級c語言機試題庫
今年最新版的二級c題題庫 已經發給你了 注意查收啊 祝你考試順利通過! 題目的前一百題是題庫 後面的幾十題是補充的一些常見題型歸類。
e. 二級c語言每次都新增題庫嗎
不是,也沒有必要,他是在題庫抽題,抽到那道題還不一定呢,除非你全部看完題庫,新增的也不一定會抽到
f. 計算機二級c語言每年題庫在變嗎
題庫的變化不大,題型都是相同的。
二級定位為程序員,考核內容包括公共基礎知識和程序設計。所有科目對基礎知識作統一要求,使用統一的公共基礎知識考試大綱和教程。二級公共基礎知識在各科考試選擇題中體現。程序設計部分,主要考查考生對程序設計語言使用和編程調試等基本能力,在選擇題和操作題中加以體現。
拓展資料:
報名步驟:
分為網上報名和現場報名。
網上報名:考生在規定時間內登錄本省計算機資格網站,按照提示步驟完成注冊,使用身份證號碼報名。等待審核通過。目前,北京、河北、吉林、上海、江蘇、安徽、河南、湖南、海南、重慶、廣西、廣東、甘肅和西藏等11個省級承辦機構可實現網上報名。
現場報名:根據相關文件,按照文件指示。在規定時間內到規定地點報名。
繳費方式:
分為網上繳費和現場繳費。
網上繳費:審核通過後,通過支付寶支付或網銀支付繳費。北京、河北、上海、安徽、海南等8個省級承辦機構同時支持網上繳費。此外,部分考點在本考點內實現網上報名和網上繳費繳費。具體情況詳見各省級承辦機構公布的報名簡章或與相關考點確認。
現場繳費:審核通過後,在規定時間內到指定地點進行現場繳費。
准考證領取:
分為網上下載和現場領取
網上下載:繳費成功後,在考試前規定時間內,下載列印准考證。
現場領取:繳費後,在規定時間到指定地點領取准考證。
參考資料:網路:計算機二級
g. c語言二級題庫中的題請教大家~
int fun(int a[],int n)/* 從main函數中接收傳遞的2個參數 */
{int i,j=1,k=a[0];/* 將數組的首地址賦給k */
for(i=1;i
{a[j ]=a[i];/* 如果不相等就把a[i] 賦給a[j ](有些難理解,但知道賦值給的是自增後的j) */
k=a[i];/* 把a[i]賦給k */
}
a[j]=0;/* 否則a[j]就賦值為0 */
return j;/* 返回j */
}
別人沒解釋清楚的給你再解釋一下。
h. 計算機二級c語言題庫
網上有大把的題庫,都是歷年的考試真題,自己列印或者在線瀏覽都可以。
https://wenku..com/view/2bbea3ee6294dd88d0d26b77.html
i. 求二級c語言筆試題庫
2006年4月二級c語言筆試試題
一選擇題((1)-(10)每題2分,(11)-(50)每題1分,共60分)
下列各題a)、b)、c)、d)四個選項中,只有一個選項是正確的,請將正確選項塗寫在答題卡相應位置上,答在試卷上不得分。
1)下列選項中不屬於結構化程序設計方法的是
a) 自頂向下
b)逐步求精
c)模塊化
d)可復用
2)兩個或兩個以上模塊之間關聯的緊密程度稱為
a)耦合度
b)內聚度
c)復雜度
d)數據傳輸特性
3)下列敘述中正確的是
a)軟體測試應該由程序開發者來完成
b)程序經調試後一般不需要再測試
c)軟體維護只包括對程序代碼的維護
d)以上三種說法都不對
4)按照「後進先出」原則組織數據的數據結構是
a)隊列
b)棧
c)雙向鏈表
d)二叉樹
5)下列敘述中正確的是
a)線性鏈表是線性表的鏈式存儲結構
b)棧與隊列是非線性結構
c)雙向鏈表是非線性結構
d)只有根結點的二叉樹是線性結構
6)對如下二叉樹
進行後序遍歷的結果為
a) abcdef
b) dbeafc
c) abdecf
d) debfca
7)在深度為7的滿二叉樹中,葉子結點的個數為
a)32
b)31
c)64
d)63
8)「商品」與「顧客」兩個實體集之間的聯系一般是
a)一對一
b)一對多
c)多對一
d)多對多
9)在e-r圖中,用來表示實體的圖形是
a)矩形
b)橢圓形
c)菱形
d)三角形
10)資料庫db,資料庫系統dbs,資料庫管理系統dbms之間的關系是
a)db包含dbs和dbms
b)dbms包含db和dbs
c)dbs包含db和dbms
d)沒有任何關系
11)以下不合法的用戶標識符是
a)j2_key
b)double
c) 4d
d) _8_
12)以下不合法的數值常量是
a)011
b)lel
c) 8.0 e0.5
d) 0xabcd
13)以下不合法的字元常量是
a)'\018'
b '\」'
c) '\\'
d) 『\xcc'
14)表達式3.6-5/2 1.2 5%2的值是
a)4.3
b) 4.8
c) 3.3
d) 3.8
15)以下能正確定義字元串的語句是
a)char str[]={『\064'};
b) char str=」\x43」;
c) char str=」;
d) char str[]=」\0」;
16)以下數組定義中錯誤的是
a) int x[][3]={0};
b) int x[2][3]={{1,2},{3,4},{5,6}};
c) nt x[][3]={{1,2,3},{4,5,6}};
d)int x[2][3]={1,2,3,4,5,6};
17)若要求從鍵盤讀入含有空格字元的字元串,應使用函數
a)getc()
b) gets()
c) getchar()
d) scanf()
18) 下四個程序中,完全正確的是
a)#include b)#include
main(); main()
{/*programming*/ {/*/programming/*/
printf(「programming!\n」); } printf(「programming!\n」);}
c) #include d) include
main() main()
{/*/*programming*/*/ {/*programming*/
printf(「programming!\n」);} printf(「programming!\n」);}
19)若有定義:float x=1.5; int a=1,b=3,c=2;則正確的switch語句是
a)switch(x) b) switch((int)x);
{case 1.0: printf(「*\n」); {case 1: printf(「*\n」);
case 2.0: printf(「**\n」); } case 2: printf(「**\n」);}
c) switch(a b) d) switch(a b)
{ case 1: printf(「*\n」); {case 1: printf(*\n」);
case 2 1: printf(「**\n」);} case c: printf(「**\n」);}
20)若各選項中所用變數已正確定義,函數fun中通過return語句返回一個函數值,以下選項中錯誤的程序是
a)main() b) float fun(int a,int b){……}
{……x=fun(2,10);……} main()
float fun(int a,int b){……} {……x=fun(i,j);……}
c)float fun(int,int); d) main()
main() { float fun(int i,int j);
{……x=fun(2,10);……} ……x=fun(i,j);……}
float fun(int a,int b){……} float fun(int a,int b){……}
21)在以下給出的表達式中,與while(e)中的(e)不等價的表達式是
a)(!e=0)
b) (e>0||e<0)
c) (e==0)
d) (e!=0)
22)要求通過while循環不斷讀入字元,當讀入字母n時結束循環。若變數已正確定義,以下正確的程序段是
a) while((ch=getchar())!='n') printf(「%c」,ch);
b) while(ch=getchar()!='n') printf(「%c」,ch);
c) while(ch=getchar()==n') printf(「%c」,ch);
d) while((ch=getchar())=='n') printf(「%c」,ch);
23)已定義以下函數
int fun(int *p)
{return *p;}
fun 函數返回值是
a)不確定的值
b)一個整數
c)形參p中存放的值
d)形參p的地址值
24)若有說明語句:double *p,a;則能通過scanf語句正確給輸入項讀入數據的程序段是
a)*p=&a; scanf(「%lf」,p);
b)*p=&a; scanf(「%f」,p);
c) p=&a; scanf(「%lf」,*p);
d)p=&a; scanf(「%lf」,p);
25)現有以下結構體說明和變數定義,如圖所示,指針p,q,r分別指向一個鏈表中連續的三個結點。
struct node
{
char data;
struct node *next;
}*p,*q,*r;
現要將q和r所指結點交換前後位置,同時要保持鏈表的連續,以下不能完成此操作的語句是
a)q->next=r->next; p->next=r; r->next=q;
b) p->next=r; q->next=r->next; r-.next=q;
c) q->next=r->next; r->next=q; p->next=r;
d) r->next=q; p-next=r; q-next=r->next;
26)有以下程序段
struct st
{ int x; int *y;}*pt:
int a[]={1,2},b[]={3,4};
struct st c[2]={10,a,20,b};
pt=c;
以下選項中表達式的值為11的是
a) *pt->y
b) pt->x
c) pt->x
d) (pt )->x
27)設fp為指向某二進制文件的指針,且已讀到此文件末尾,則函數feof(fp)的返回值為
a)eof
b)非0值
c) 0
d)null
28)設有以下語句
int a=1,b=2,c;
c=a^(b<<2);
執行後,c的值為
a)6
b) 7
c) 8
d) 9
29)有以下程序
#include
main()
{
char c1,c2,c3,c4,c5,c6;
scanf(「%c%c%c%c」,&c1,&c2,&c3,&c4);
c5=getchar(); c6=getchar();
putchar(c1); putchar(c2);
printf(「%c%c\n」,c5,c6);
}
程序運行後,若從鍵盤輸入(從第1列開始)
123<回車>
45678<回車>
則輸出結果是
a)1267
b)1256
c) 1278
d)1245
30)若有以下程序
main()
{int y=10;
while(y- -); printf(「y=%d\n」y);
}
程序運行後的輸出結果是
a)y=0
b)y=-1
c) y=1
d)while構成無限循環
31)有以下程序
main()
{
int a=0,b=0,c=0,d=0;
if(a=1) b=1;c=2;
else d=3;
printf(「%d,%d,%d,%d\n」,a,b,c,d);
}
程序輸出
a)0,1,2,0
b) 0,0,0,3
c)1,1,2,0
d)編譯有錯
32)有以下程序
main()
{
int i,j,x=0;
for(i=0;i<2;i )
{ x ;
for(j=0;j<=3;j )
{
if(j%2) continue;
x ;
}
x ;
}
printf(「x=%d\n」,x);
}
程序執行後的輸出結果是
a)x=4
b) x=8
c) x=6
d) x=12
33)有以下程序
int fun1(oble a){return a*=a;}
int fun2(dpuble x,double y)
{
double a=0,b=0;
a=fun1(x); b=fun1(y); return (int)(a b);
}
main()
{double w; w=fun2(1.1,2.0);……}
程序執行後變數w中的值是
a)5.21
b) 5
c) 5.0
d) 0.0
34)有以下程序
main()
{
int i,t[][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<3;i ) printf(「%d」,t[2-i][i]);
}
程序的執行後的輸出結果是
a)7 5 3
b) 3 5 7
c)3 6 9
d)7 5 1
35)有以下程序
fun(char p[][10])
{int n=0,i;
for(i=0;i<7;i )
if(p[i][0]=='t') n ;
return n;
}
main()
{
char str[][10]={「mon」, 「tue」, 「wed」, 「thu」,」fri」,」sat」,」sun」};
printf(「%d\n」,fun(str));
}
程序執行後的輸出結果是
a)1
b) 2
c)3
d) 0
36有以下程序
main()
{
int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i =2) s =*(t i);
printf(「%d\n」,s);
}
程序執行後的輸出結果是
a)45
b)20
c)25
d)36
37)有以下程序
void fun1(char *p)
{
char *q;
q=p;
while(*q!='\0')
{ (*q) ; q ; }
}
main()
{ char a[]={「program」},*p;
p=&a[3]; fun1(p); printf(「%s\n」,a);
}
程序執行後的輸出結果是
a)p rohsbn
b)prphsbn
c)progsbn
d)program
38)有以下程序
void swap(char *x,char *y)
{
char t;
t=*x; *x=*y; *y=t;
}
main()
{
char *s1=」abc」,*s2=」123」;
swap(s1,s2); printf(「%s,%s\n」,s1,s2);
}
程序執行後的輸出結果是
a)123,abc
b) abc,123
c)1bc,a23
d) 321,cba
39)有以下程序
int fun(int n)
{
if(n==1) return 1;
else
return (n fun(n-1));
}
main()
{
int x;
scanf(「%d」,&x); x=fun(x); printf(「%d\n」,x);
}
程序執行時,給變數x輸入10,程序的輸出結果是
a)55
b) 54
c) 65
d) 45
40)有以下程序
int fun(int x[],int n)
{static int sum=0,i;
for(i=0;i sum =x[i];
return sum;
}
main()
{int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0;
s=fun(a,5) fun(b,4); printf(「%d\n」,s);
}
程序執行後的輸出結果是
a)45
b)50
c)60
d)55
41)有以下程序
main()
{
union {
char ch[2];
int d;
}s;
s.d=0x4321;
printf(「%x,%x\n」,s.ch[0],s.ch[1]);
}
在16位編譯系統上,程序執行後的輸出結果是
a)21,43
b)43,21
c)43,00
d)21,00
42)有以下程序
main()
{
char *p[]={「3697」,」2584」};
int i,j; long num=0;
for(i=0;i<2;i )
{j=0;
while(p[i][j]!='\0')
{ if((p[i][j]-『0')%2)num=10*num p[i][j]-『0';
j =2;
} }
printf(「%d\n」num);
}
程序執行後的輸出結果是
a)35
b)37
c)39
d)3975
43)執行以下程序後,test.txt文件的內容是(若文件能正常打開)
#include
main()
{
file *fp;
char *s1=」fortran」,*s2=」basic」;
if((fp=fopen(「test.txt」,」wb」))==null)
{ printf(「can't open test.txt file\n」); exit(1);}
fwrite(s1,7,1,fp); /*把從地址s1開始的7個字元寫到fp所指文件中*/
fseek(fp,0l,seek_set); /*文件位置指針移到文件開頭*/
fwrite(s2,5,1,fp);
fclose(fp);
}
a)basican
b)basicfortran
c)basic
d)fortranbasic
44)以下敘述中錯誤的是
a)c語言源程序經編譯後生成後綴為.obj的目標程序
b)c語言經過編譯、連接步驟之後才能形成一個真正可執行的二進制機器指令文件
c)用c語言編寫的程序稱為源程序,它以ascii代碼形式存放在一個文本文件中
d)c語言的每條可執行語句和非執行語句最終都將被轉換成二進制的機器指令
45)以下敘述中錯誤的是
a)演算法正確的程序最終一定會結束
b)演算法正確的程序可以有零個輸出
c)演算法正確的程序可以有零個輸入
d)演算法正確的程序對於相同的輸入一定有相同的結果
46)以下敘述中錯誤的是
a)c程序必須由一個或一個以上的函數組成
b)函數調用可以作為一個獨立的語句存在
c)若函數有返回值,必須通過return語句返回
d)函數形參的值也可以傳回對應的實參
47)設有以下定義和語句
char str[20]=」program」,*p;
p=str;
則以下敘述中正確的是
a)*p與str[0]中的值相等
b)str與p的類型完全相同
c)str數組長度和p所指向的字元串長度相等
d)數組str中存放的內容和指針變數p中存放的內容相同
48)以下敘述中錯誤的是
a)c程序中的#include和#define行均不是c語句
b)除逗號運算符外,賦值運算符的優先順序最低
c)c程序中,j ;是賦值語句
d)c程序中, 、-、*、/、%號是算術運算符,可用於整型和實型數的運算
49)以下敘述中正確的是
a)預處理命令行必須位於c源程序的起始位置
b)在c語言中,預處理命令行都以「#」開頭
c)每個c程序必須在開頭包括預處理命令行:#include
d)c語言的預處理不能實現宏定義和條件編譯的功能
50)以下敘述中錯誤的是
a)可以通過typedef增加新的類型
b)可以用typedef將已存在的類型用一個新的名字來代表
c)用typedef定義新的類型名後,原有類型名仍有效
d)用typedef可以為各種類型起別名,但不能為變數起別名
二:填空題(每空2分,共40分)
請將每一個空的正確答案寫在答題卡[1]至[20]序號的橫線上,答在試卷上不得分
1)對長度為10的線性表進行冒泡排序,最壞情況下需要比較的次數為_______[1]________。
2)在面向對象方法中,_____[2]______描述的是具有相似屬性與操作的一組對象。
3)在關系模型中,把數據看成是二維表,每一個二維表稱為一個___[3]_____。
4)程序測試分為靜態分析和動態測試,其中__[4]______是指不執行程序,而只是對程序文本進行檢查,通過閱讀和討論,分析和發現程序中的錯誤。
5)數據獨立性分為邏輯獨立性與物理獨立性,當數據的存儲結構改變時,其邏輯結構可以不變,因此,基於邏輯結構的應用程序不必修改,稱為_[5]______。
6)若變數a,b已定義為int類型並賦值21和55,要求用printf函數以a=21,b=55的形式輸出,請寫出完整的輸出語句__[6]____。
7)以下程序用於判斷a,b,c能否構成三角形,若能輸出yes,若不能輸出no。當a,b,c輸入三角形三條邊長時,確定a,b,c能構成三角形的條件是需要同時滿足三條件:a b>c,a c>b,b c>a。 請填空。
main()
{
float a,b,c;
scanf(「%f%f%f」,&a,&b,&c);
if(__[7]__)printf(「yes\n」);/*a,b,c能構成三角形*/
else printf(「no\n」);/*a,b,c不能構成三角形*/
}
8)以下程序的輸出結果是__[8]_____
main()
{ int a[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;
for(i=0;i<3;i ) s =a[i][i] a[i][3-i-1];
printf(「%d\n」,s);
}
9)當運行以下程序時,輸入abcd,程序的輸出結果是:_[9]____。
insert(char str[])
{ int i;
i=strlen(str);
while(i>0)
{ str[2*i]=str[i]; str[2*i-1]='*';i--;}
printf(「%s\n」,str);
}
main()
{char str[40];
scanf(「%s」,str ); insert(str);
}
10)以下程序的運行結果是:__[10]____
fun(int t[],int n)
{ int i,m;
if(n==1) return t[0];
else
if(n>=2) {m=fun(t,n-1); return m;}
}
main()
{
int a[]={11,4,6,3,8,2,3,5,9,2};
printf(「%d\n」,fun(a,10));
}
11)現有兩個c程序文件t18.c和myfun.c同時在tc系統目錄(文件夾)下,其中t18.c文件如下:
#include
#include」myfun.c」
main()
{ fun(); printf(「\n」); }
myfun.c文件如下:
void fun()
{ char s[80],c; int n=0;
while((c=getchar())!='\n') s[n ]=c;
n--;
while(n>=0) printf(「%c」,s[n--]);
}
當編譯連接通過後,運行程序t18時,輸入thank!則輸出的結果是:___[11] 。
12)以下函數fun的功能是返回str所指字元串中以形參c中字元開頭的後續字元串的首地址,例如:str所指字元串為hello!, c中的字元為e,則函數返回字元串:ello!的首地址。若str所指字元串為空串或不包含c中的字元,則函數返回null。請填空。
char *fun(char *str,char c)
{ int n=0;char *p=str;
if(p!=null)
while(p[n]!=c&&p[n]!='\0') n ;
if(p[n]=='\0' return null;
return (_[12]_);
}
13)以下程序的功能是:輸出100以內(不含100)能被3整除且個位數為6的所有整數,請填空。
main()
{ int i,j;
for(i=0;__[13]__;i )
{ j=i*10 6;
if(_[14]____) continue;
printf(「%d 」,j);
}
}
14)以下isprime函數的功能是判斷形參a是否為素數,是素數,函數返回1,否則返回0,請填空
int isprime(int a)
{ int i;
for(i=2;i<=a/2;i )
if(a%i==0) __[15]___;
__[16]___;
}
15)以下程序的功能是輸入任意整數給n後,輸出n行由大寫字母a開始構成的三角形字元陣列圖形,例如,輸入整數5時(注意:n不得大於10),程序運行結果如下:
a b c d e
f g h i
j k l
m n
o
請填空完成該程序。
main()
{ int i,j,n; char ch='a';
scanf(「%d」,&n);
if(n<11)
{
for(i=1;i<=n;i )
{ for(j=1;j<=n-i 1;j )
{ printf(「,」,ch);
___[17]____;
}
【18】
}
}
else printf(「n is too large!\n」);
printf(「\n」);
}
16)以下程序中函數fun的功能是:構成一個如圖所示的帶頭結點的單向鏈表,在結點數據域中放入了具有兩個字元的字元串。函數disp的功能是顯示輸出該單鏈表中所有結點中的字元串。請填空完成函數disp。
#include
typedef struct node /*鏈表結點結構*/
{ char sub[3];
struct node *next;
}node;
node fun(char s) /*建立鏈表*/
{ …… }
void disp(node *h)
{
node *p;
p=h->next;
while(【19】)
{
printf(「%s\n」,p->sub); p=【20】;}
}
main()
{
node *hd;
hd=fun(); disp(hd); printf(「\n」);
}
答案
一、選擇題
1-10 : dadba dcdac
11-20:ccadd bbbca
21-30:cabdd cbddd
31-40:dbcbb cacac
41-50:acadb dadba
二、填空題
1、45
2、類
3、關系
4、靜態分析
5、物理獨立性
6、printf("a=%d,b=%d",a,b)
7、(a b>c)&&(a c>b)&&(b c>a)
8、30
9、a*b*c*d*
10、11
11、!knaht
12、p n 或 str n
13、i<=9 或 i<10
14、j%3!=0
15、return 0
16、return 1
17、ch=ch 1
18、printf("\n")
19、p!=null
20、p->next