free性ⅴideo另类重口,欧美激情视频一区二区三区免费,国内精品国产三级国产av,国产激情久久久久久熟女老人av,欧美成人乱码一区二区三区

大學生新聞網,大學生新聞發(fā)布平臺
大學生新聞網
大學生新聞大學生活校園文學大學生村官
社會實踐活動社會實踐經歷社會實踐報告社會實踐總結社會實踐心得
全國排名校友會版軟科排名分類排名本科排名一本排名二本排名?婆琶
求職簡歷職場法則面試技巧職場故事求職招聘大學生就業(yè)
英語學習計算機學習電氣工程機械工程經濟管理建筑設計財務會計
申請書證明書檢討書自薦信演講稿心得體會調查報告讀后感求職信推薦信其它范文
 

計算機二級考試試題樣卷-C語言程序設計

一、選擇題((1)~(10)、(21)~(40)每題2分,(11)~(20)每題2分,共70分)

下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。

(1)下列選項中不符合良好程序設計風格的是

A) 源程序要文檔化      B) 數據說明的次序要規(guī)范化

C) 避免濫用goto語句   D) 模塊設計要保證高耦合、高內聚

(2)從工程管理角度,軟件設計一般分為兩步完成,它們是

A) 概要設計與詳細設計  B) 數據設計與接口設計

C) 軟件結構設計與數據設計  D) 過程設計與數據設計

(3)下列選項中不屬于軟件生命周期開發(fā)階段任務的是

A)軟件測試     B)概要設計 C)軟件維護 D)詳細設計

(4)在數據庫系統中,用戶所見的數據模式為

A) 概念模式    B)外模式  C)內模式   D)物理模式

(5)數據庫設計的四個階段是:需求分析、概念設計、邏輯設計和

A) 編碼設計    B) 測試階段    C)運行階段 D)物理設計

(6)設有如下三個關系表

計算機二級考試試題樣卷-C語言程序設計
下列操作中正確的是

A)T=R∩S      B)T=R∪S

C)T=R×S      D)T=R/S

(7)下列敘述中正確的是

A)一個算法的空間復雜度大,則其時間復雜度也必定大

B)一個算法的空間復雜度大,則其時間復雜度必定小

C)一個算法的時間復雜度大,則其空間復雜度必定小

D)上述三種說法都不對

(8)在長度為64的有序線性表中進行順序查找,最壞情況下需要比較的次數為

A)63   B)64   C)6    D)7

(9)數據庫技術的根本目標是要解決數據的

A)存儲問題 B)共享問題 C)安全問題 D)保護問題

(10)對下列二叉樹

計算機二級考試試題樣卷-C語言程序設計

進行中序遍歷的結果是

A)ACBDFEG  B)ACBDFGE  C)ABDCGEF  D)FCADBEG

(11)下列敘述中錯誤的是

A)一個C語言程序只能實現一種算法

B)C程序可以由多個程序文件組成

C)C程序可以由一個或多個函數組成

D)一個C函數可以單獨作為一個C程序文件存在

(12)下列敘述中正確的是

A)每個C程序文件中都必須要有一個main()函數

B)在C程序中main()函數的位置是固定的

C)C程序中所有函數之間都可以相互調用,與函數所在位置無關

D)在C程序的函數中不能定義另一個函數

(13)下列定義變量的語句中錯誤的是

A)int  _int;       B)double  int_;      C)char  For;            D)float  US$;

(14)若變量x、y已正確定義并賦值,以下符合C語言語法的表達式是

A)++x,y=x--        B)x+1=y          C)x=x+10=x+y         D)double(x)/10

(15)以下關于邏輯運算符兩側運算對象的敘述中正確的是

A)只能是整數0或1                B)只能是整數0或非0整數

C)可以是結構體類型的數據         D)可以是任意合法的表達式

(16)若有定義int  x,y; 并已正確給變量賦值,則以下選項中與表達式(x-y)?(x++) : (y++)中的條件表達式(x-y) 等價的是

A)(x-y>0)      B)(x-y<0) C)(x-y<0||x-y>0)   D)(x-y==0)

(17)有以下程序

main()

{ int  x, y, z;

x=y=1;

z=x++,y++,++y;

printf("%d,%d,%d\n",x,y,z);

}

程序運行后的輸出結果是

A)2,3,3            B)2,3,2              C)2,3,1          D)2,2,1

(18)設有定義:int  a;    float  b;    執(zhí)行 scanf("%2d%f",&a,&b); 語句時,若從鍵盤輸入876  543.0<回車>,a和b的值分別是

A)876和543.000000               B)87和6.000000

C)87和543.000000                D)76和543.000000

(19)有以下程序

main()

{ int  a=0, b=0;

a=10;                     /*  給a賦值

b=20;                         給b賦值     */

printf("a+b=%d\n",a+b);   /*  輸出計算結果 */

}

程序運行后的輸出結果是

A)a+b=10           B)a+b=30       C)30          D)出錯

(20)在嵌套使用if語句時,C語言規(guī)定else總是

A)和之前與其具有相同縮進位置的if配對

B)和之前與其最近的if配對

C)和之前與其最近的且不帶else的if配對

D)和之前的第一個if配對

(21)下列敘述中正確的是

A)break語句只能用于switch語句

B)在switch語句中必須使用default

C)break語句必須與switch語句中的case配對使用

D)在switch語句中,不一定使用break語句

(22)有以下程序

main()

{ int  k=5;

while(--k)  printf("%d",k -= 3);

printf("\n");

}

執(zhí)行后的輸出結果是

A)1           B)2            C)4              D)死循環(huán)

(23)有以下程序

main()

{ int  i;

for(i=1; i<=40; i++)

{ if(i++%5==0)

if(++i%8==0)  printf("%d ",i);

}

printf("\n");

}

執(zhí)行后的輸出結果是

A)5            B)24             C)32             D)40

(24)以下選項中,值為1的表達式是

A)1 –'0'          B)1 - '\0'       C)'1' -0         D)'\0' - '0'

(25)有以下程序

fun(int  x, int  y){ return (x+y); }

main()

{ int  a=1, b=2, c=3, sum;

sum=fun((a++,b++,a+b),c++);

printf("%d\n",sum);

}

執(zhí)行后的輸出結果是

A)6            B)7             C)8            D)9

(26)有以下程序

main()

{  char  s[]="abcde";

s+=2;

printf("%d\n",s[0]);

}

執(zhí)行后的結果是

A)輸出字符a的ASCII碼         B)輸出字符c的ASCII碼

C)輸出字符c                    D)程序出錯

(27)有以下程序

fun(int  x, int  y)

{ static int  m=0, i=2;

i+=m+1;    m=i+x+y;    return m;

}

main()

{ int  j=1, m=1, k;

k=fun(j,m);    printf("%d,",k);

k=fun(j,m);    printf("%d\n",k);

}

執(zhí)行后的輸出結果是

A)5, 5         B)5, 11            C)11, 11       D)11, 5

(28)有以下程序

fun(int  x)

{ int  p;

if(x==0||x==1)  return(3);

p=x-fun(x-2);

return p;

}

main()

{  printf("%d\n",fun(7)); }

執(zhí)行后的輸出結果是

A)7            B)3            C)2            D)0

(29)在16位編譯系統上,若有定義int  a[]={10,20,30}, *p=&a;,當執(zhí)行p++;后,下列說法錯誤的是

A)p向高地址移了一個字節(jié)        B)p向高地址移了一個存儲單元

C)p向高地址移了兩個字節(jié)        D)p與a+1等價

(30)有以下程序

main()

{ int  a=1, b=3, c=5;

int  *p1=&a, *p2=&b, *p=&c;

*p =*p1*(*p2);

printf("%d\n",c);

}

執(zhí)行后的輸出結果是

A)1            B)2            C)3            D)4

(31)若有定義:int w[3][5]; ,則以下不能正確表示該數組元素的表達式是

A)*(*w+3)      B)*(w+1)[4]        C)*(*(w+1))        D)*(&w[0][0]+1)

(32)若有以下函數首部

int  fun(double  x[10], int  *n)

則下面針對此函數的函數聲明語句中正確的是

A)int  fun(double x, int *n);      B)int  fun(double  , int );

C)int  fun(double *x, int n);      D)int  fun(double *,  int *);

(33)有以下程序

void change(int k[ ]){ k[0]=k[5]; }

main()

{ int  x[10]={1,2,3,4,5,6,7,8,9,10},n=0;

while( n<=4 ) { change( &x[n]) ; n++; }

for(n=0; n<5; n++) printf("%d ",x[n]);

printf("\n");

}

程序運行后輸出的結果是

A)6 7 8 9 10       B)1 3 5 7 9       C)1 2 3 4 5       D)6 2 3 4 5

(34)有以下程序

main()

{ int  x[3][2]={0}, i;

for(i=0; i<3; i++) scanf("%d",x[i]);

printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);

}

若運行時輸入:2 4 6<回車>,則輸出結果為

A)2  0  0      B)2  0  4      C)2  4  0      D)2  4  6

(35)有以下程序

int add( int  a,int  b){ return (a+b);  }

main()

{ int  k, (*f)(), a=5,b=10;

f=add;



}

則以下函數調用語句錯誤的是

A)k=(*f)(a,b);                 B)k=add(a,b);

C)k= *f(a,b);                      D)k=f(a,b);

(36)有以下程序

#include

main( int  argc, char  *argv[ ])

{ int  i=1,n=0;

while (i

printf("%d\n",n);

}

該程序生成的可執(zhí)行文件名為:proc.exe。若運行時輸入命令行:

proc  123  45  67

則程序的輸出結果是

A)3            B)5            C)7            D)11

(37)有以下程序

# include

# define    N    5

# define    M    N+1

# define    f(x)   (x*M)

main()

{ int  i1, i2;

i1 = f(2) ;

i2 = f(1+1) ;

printf("%d  %d\n", i1, i2);

}

程序的運行結果是

A)12  12       B)11  7        C)11  11       D)12  7

(38)有以下結構體說明、變量定義和賦值語句

struct STD

{ char  name[10];

int  age;

char  sex;

} s[5],*ps;

ps=&s[0];

則以下scanf函數調用語句中錯誤引用結構體變量成員的是

A)scanf("%s",s[0].name);          B)scanf("%d",&s[0].age);

C)scanf("%c",&(ps->sex));         D)scanf("%d",ps->age);

(39)若有以下定義和語句

union data

{  int  i;   char  c;   float  f; } x;

int  y;

則以下語句正確的是

A)x=10.5;      B)x.c=101;     C)y=x;         D)printf("%d\n",x);

(40)有以下程序

#include

main()

{ FILE  *fp;    int  i;

char  ch[]="abcd",t;

fp=fopen("abc.dat","wb+");

for(i=0; i<4; i++) fwrite(&ch[i],1,1,fp);

fseek(fp,-2L,SEEK_END);

fread(&t,1,1,fp);

fclose(fp);

printf("%c\n",t);

}

程序執(zhí)行后的輸出結果是

A)d            B)c            C)b            D)a

二、填空題(每空2分,共30分)

請將每一個空的正確答案寫在答題卡【1】至【15】序號的橫線上,答在試卷上不得分。

(1)下列軟件系統結構圖

的寬度為  【1】  。

(2)  【2】  的任務是診斷和改正程序中的錯誤。

(3)一個關系表的行稱為   【3】   。

(4)按“先進后出”原則組織數據的數據結構是  【4】    。

(5)數據結構分為線性結構和非線性結構,帶鏈的隊列屬于  【5】   。

(6)設有定義:float  x=123.4567;,則執(zhí)行以下語句后的輸出結果是 【6】 。

printf("%f\n",(int)(x*100+0.5)/100.0);

(7)以下程序運行后的輸出結果是 【7】 。

main()

{ int  m=011,n=11;

printf("%d  %d\n",++m, n++);

}

(8)以下程序運行后的輸出結果是 【8】 。

main()

{ int  x,a=1,b=2,c=3,d=4;

x=(a   x=(x   x=(d>x) ? x : d;

printf("%d\n",x);

}

(9)有以下程序,若運行時從鍵盤輸入:18,11<回車>,則程序的輸出結果是 【9】 。

main()

{  int  a,b;

printf("Enter a,b:");   scanf("%d,%d",&a,&b);

while(a!=b)

{  while(a>b) a -= b;

while(b>a) b -= a;

}

printf("%3d%3d\n",a,b);

}

(10)以下程序的功能是:將輸入的正整數按逆序輸出。例如:若輸入135則輸出531。請?zhí)羁铡?br />
#include

main()

{ int  n,s;

printf("Enter a number : ");   scanf("%d",&n);

printf("Output:  ");

do

{  s=n%10;  printf("%d",s);  【10】 ;  }

while(n!=0);

printf("\n");

}

(11)以下程序中,函數fun的功能是計算x2-2x+6,主函數中將調用fun函數計算:

y1=(x+8)2-2 (x+8)+6

y2=sin2(x)-2sin(x)+6

請?zhí)羁铡?br />
#include   "math.h"

double fun(double  x){ return (x*x-2*x+6); }

main()

{ double  x,y1,y2;

printf("Enter x:");    scanf("%lf",&x);

y1=fun( 【11】 );

y2=fun( 【12】 );

printf("y1=%lf,y2=%lf\n",y1,y2);

}

(12)下面程序的功能是:將N行N列二維數組中每一行的元素進行排序,第0行從小到大排序,第1行從大到小排序,第2行從小到大排序,第3行從大到小排序,例如:

#define    N    4

void sort(int  a[][N])

{ int  i, j, k, t;

for (i=0; i

for (j=0; j

for (k=  【13】 ; k

/*判斷行下標是否為偶數來確定按升序或降序來排序*/

if ( 【14】 ? a[i][j]a[i][k])

{  t = a[i][j];

a[i][j]=a[i][k];

a[i][k] = t;

}

}

void outarr(int  a[N][N])

{    ……    }

main()

{ int  aa[N][N]={{2,3,4,1},{8,6,5,7},{11,12,10,9},{15,14,16,13}};

outarr(aa); /*以矩陣的形式輸出二維數組*/

sort(aa);

outarr(aa);

}

(13)下面程序的運行結果是:【15】  。

#include

int f(int  a[],int  n)

{ if(n>1)

return a[0] + f(a+1, n-1);

else

return a[0];

}

main()

{ int  aa[10]={1,2,3,4,5,6,7,8,9,10}, s;

s = f(aa+2,4);    printf("%d\n", s);

}
    作者:大學生新聞網 來源:大學生新聞網
    發(fā)布時間:2024-05-13 瀏覽:
  • 面對面學習總是比在線學習好嗎
  • 最近關于重新開放學校的激烈爭論主要取決于在線教學的質量。這是可以理解的。但是,關于在線指導的許多內容仍然被誤解。現在該改變這種
  • 06-09 關注:182
  • 在線學習的4條建議
  • 印第安納大學(IU)的新資源介紹了使在線學習成功的一些最重要因素。

    當IU關閉體育課并轉向在線教學時,電子學習研究與實踐實驗室開始
  • 06-09 關注:173
  • 激光視盤 可以自由放置和使用
  • 激光視盤采用丙烯酸塑料制成,大多數光盤直徑為30厘米(C12英寸),也有13厘 米(5英寸)的小型盤,盤的轉速為1500轉/分,但應指出,為
  • 09-18 關注:212
  • 數字技術用于語音信號高效多路傳輸
  • 欣賞聲音、喜愛音樂,這是音響的源點。為了滿足這一需要,音響系統需由兩個系統組成。其一是對音樂與人聲加以收音并加以調整,記錄在唱
  • 09-18 關注:200
  • 電腦正在進入有線電視網
  • 當前,隨著數字計算機和多媒體技術的發(fā)展,許多大的計算機制造公司都提出,在微型計算機上實現電視的功能,即利用計算機網絡來接收數字
  • 09-18 關注:187
  • 電視信號的傳輸過程
  • 當前,像高保真音響、高清晰度電視、VCD、數碼錄音等新詞匯大量充斥在我們身邊,它們一方面代表這新技術的涌現,另一方面也體現了這些
  • 09-18 關注:297