9月全國計算機等級考試二級C語言筆試試卷及答案_第1頁
9月全國計算機等級考試二級C語言筆試試卷及答案_第2頁
9月全國計算機等級考試二級C語言筆試試卷及答案_第3頁
9月全國計算機等級考試二級C語言筆試試卷及答案_第4頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、20XX年 9 月全國計算機等級考試二級C 語言筆試試卷及答案一、選擇題( 1) - ( 10)每題 2 分,(11) - (50)每題 1 分,共 60 分)下列各題 A、B、 C、 D四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1) 軟件是指A 程序B 程序和文檔C算法加數(shù)據(jù)結(jié)構(gòu)D程序、數(shù)據(jù)與相關(guān)文檔的完整集合(2) 軟件調(diào)試的目的是(3) 在面向?qū)ο蠓椒ㄖ?,實現(xiàn)信息隱蔽是靠(4) 下列敘述中,不符合良好程序設(shè)計風格的是A 程序的效率第一,清晰第二B程序的可讀性好C程序中有必要的注釋D輸入數(shù)據(jù)前要有提示信息(5) 下列敘述中,正確的是A 程序的

2、執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)密切相關(guān)B 程序的執(zhí)行效率只取決于程序的控制結(jié)構(gòu)C 程序的執(zhí)行效率只取決于程序的數(shù)據(jù)量D 以上三種說法都不對(6) 下列敘述中,正確的是A 數(shù)據(jù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)必定是一一對應(yīng)的B 由于計算機的存儲空間是向量式的存儲結(jié)構(gòu),因此,數(shù)據(jù)的存儲結(jié)構(gòu)一定是線性結(jié)構(gòu)C 程序設(shè)計語言中的數(shù)組一般是順序結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu)D 以上三種說法都不對(7) 冒泡排序在最壞情況下比較次數(shù)是A n(n+1)/2B nlog2nC n(n-1)/2D n/2(8) 一棵二叉樹有70 個葉子結(jié)點和80 個度為1 的結(jié)點,則該二叉樹的總結(jié)點數(shù)為A 219 B 221 C 229 D

3、 231(9) 下列敘述中,正確的是A 數(shù)據(jù)庫系統(tǒng)是一個獨立的系統(tǒng),不需要操作系統(tǒng)的支持B 數(shù)據(jù)庫技術(shù)的根本目標是要解決數(shù)據(jù)的共享問題(10) 下列敘述中,正確的是A 為了建立一個關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系B 表示關(guān)系的二維表中的每一個分量還可以分成若干數(shù)據(jù)項(11) C 語言源程序名字的后綴是(12) 可在 C 程序中用作用戶標識符的一組標識符是A andB DateC HiD case_2007y-m-dDBig1(13) 以下選項中,合法的一組 C 語言數(shù)值常量是A 028B 12.C .177D 0x8A.5e-30Xa234e1.510,000-0xf4.5e00abc3.e5(

4、14) 下列敘述中,正確的是B 可在程序中指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行C C 語言規(guī)定必須用 main 作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行,將在此結(jié)束D main 可以用作用戶標識符,可指定任意一個函數(shù)作為主函數(shù)(15) 若在定義語句: int a,b,c,*p=&c;接著執(zhí)行以下選項中的語句,則能正確執(zhí)行的語句是A scanf(“%d” ,a,b,c);B scanf(“ %d%d%d” ,a,b,c);C scanf(“%d” ,p)Dscanf(“ %d” ,&p)(16)以下關(guān)于 long,int和 short占用內(nèi)存大小的敘述正確的是DA均占4個字節(jié)B

5、根據(jù)數(shù)據(jù)的大小來決定所占的字節(jié)數(shù)C由用戶自己定義D由 C語言編譯系統(tǒng)決定(17)如果變量均已正確定義并賦值,以下合法的C 語言賦值語句是 AA x=y=5 B x=n%2.5 C x+n=i D x=5=4+1(18) 若有以下程序段 Bint j; float y; char name50;scanf( “ %2d%f%s” ,&j,&y,name);當執(zhí)行上述程序段,從鍵盤上輸入55566 777abc 后, y 的值為A 55566.0 B 566.0 C 7777.0 D 566777.0(19) 若變量已正確定義,有以下程序段i=0;do printf(“ %d,”

6、,i); while(i+);printf( “ %dn” ,i);其輸出結(jié)果是A0,0 B0,1 C1, 1 D程序進入無限循環(huán)狀態(tài)(20) 有以下計算公式x x>=0;yxx<0.若程序前面已在命令行中包含math.h文件,不能正確計算上述公式的程序段是BA if(x>=0)y=sqrt(x);B y=sqrt(x);else y=sqrt(-x);if(x<0)y=sqrt(-x);C if(x>=0)y=sqrt(x);D y=sqrt(x>=0?x:-x);ifif(x<0)y=sqrt(-x);(21)設(shè)有條件表達式: ( EXP) ?i+

7、:j-,則以下表達式中與(EXP)完全等價的是B(22) 有以下程序#include <stdio.h> main() int y=9;for( ; y>0; y-)if(y%3=0)printf(“%d” ,-y);C程序的運行結(jié)果是A 741 B 963 C 852 D 875421(23)已有定義: charc; ,程序前面已在命令行中包含ctype.h 文件,不能用于判斷c 中的字條為大寫字母的表達式是BA isupper(c);B A<=c<= ZC A <=c&&c<= ZD c<=(z -32)&&(

8、 a-32<=c)(24) 有以下程序#include <stdio.h> main()int m,j; for(j=1;j<=3;j+)m=m%j;printf("%dn",m); 程序的運行結(jié)果是A0B1C2D3(25)若函數(shù)調(diào)用時的實參為變量時,以下關(guān)于函數(shù)形參的敘述中正確的是DA 函數(shù)的實參和其對應(yīng)的形參共占同一存儲單元B 形參只是形式上的存在,不占用具體存儲單元C 同名的實參和形參占同一存儲單元D 函數(shù)的形參和實參分別占用不同的存儲單元(26)已知字符 A的 ASCII代碼值是65,字符變量c1 的值是 A, c2 的值是 D。執(zhí)行語句pr

9、intf(“ %d,%d” ,c1,c2-2);后,輸出結(jié)果是CA A,BB A,68C 65,66D 65 68(27) 以下敘述中錯誤的是 AA 改變函數(shù)形參的值,不會改變對應(yīng)實參的值B 函數(shù)可以返回地址值C可以給指針變量賦一個整數(shù)作為地址值D 當在程序的開頭包含文件stdio.h時,可以給指針變量賦(28)以下正確的字符串常量是DA “” B abc C Olympic Games D“”(29)設(shè)有定義: char p= 1,2, 3 ,*q=p,表達式是AA sizeof(p) B sizeof(char) C sizeof(*q)D sizeof(p0)NULL以下不能計算出一個c

10、har型數(shù)據(jù)所占字節(jié)數(shù)的(30) 有以下函數(shù)i nt aaa(char *s) char *t=s; while(*t+);t-;return(t-s);以下關(guān)于aaa 函數(shù)的功能的敘述正確的是AA 求字符串s 的長度B比較兩個串的大小C 將串 s 復(fù)制到串t D求字符串(31)若有定義語句:int a36;,按在內(nèi)存中的存入順序,a 數(shù)組的第A a04B a13C a03D a14s 所占字節(jié)數(shù) 10 個元素是D(32) 有以下程序#include <stdio.h>void fun(char *p)+p;printf(“ %sn” ,*p);main() char *a=“ M

11、oring ”, “ Afternoon ” , “Evening ” , “ Night ” ; fun(a);程序的運行結(jié)果是AA AfternoonB fternoonC MoringD oring(33)若有定義語句:int a23,*p3;,則以下語句中正確的是CA p=a;B p0=a;C p0=&a12;Dp1=&a;(34)有以下程序#include <stdio.h>void fun(int *a,int n)/* fun函數(shù)的功能是將a 所指數(shù)組元素從大到小排序 int t,i,j;for(i=0;i<n-1;i+)for(j=i+1; j

12、<n; j+)*/if(ai<aj t=ai; ai=aj; aj=t;) main() int c10=1,2,3,4,5,6,7,8,9,0,i; fun(c+4,6);for(i=0;i<10;i+) printf(“ %d,” ci);printf(“ n ” );程序的運行結(jié)果是 DA 1, 2,3,4,5,6,7,8,9,0, B 0,9, 8, 7, 6, 5,1, 2, 3,4,C 0 ,9,8, 7,6,5,4,3,2,1, D 1, 2, 3, 4,9, 8, 7, 6, 5, 0,(35)有以下程序#include <stdio.h>int

13、fun(char s)int n=0;while(*s<= 9 &&*s>= 0 )n=10*n+*s- 0 ;s+;return(n);main()char s10=6, 1, * , 4, 9, * , 0, * ;Printf(“ %dn” ,fun(s);程序的運行結(jié)果是CA9B61490C61D5(36)當用戶要求輸入的字符串中含有空格時,應(yīng)使用的輸入函數(shù)是A scanf()B getchar()C gets()D getc()(37)以下關(guān)于字符串的敘述中正確的是DCB 兩個字符串中的字符個數(shù)相同時才能進行字符串大小的比較C 可以用關(guān)系運算符對字符串的大

14、小進行比較D 空串一定比空格打頭的字符串小(38) 有以下程序#include <stdio.h>(39) 39 缺少(40) 40 缺少(41) 缺少Return (a+)+c;main()inti,k=0;for(i=0;i<2,i+) int a=3; k+=f(a);k+=a;printf(“ %dn” ,k);程序的運行結(jié)果是A14B15C16D17(42) 有以下程序#include <stdio.h> void fun(int n, int *p) int f1,f2;if(n=1|n=2)*p=1;else fun(n-1,&f1); fu

15、n(n-2,&f2); *p=f1+f2;main()int s;fun(3 , &s);printf(“ %dn” ,s);程序的運行結(jié)果是 A2 B3 C4AD 5(43)43 若程序中有宏定義行:#define N 100則以下敘述中正確的是A 宏定義行中定義了標識符N 的值為整數(shù)100B 在編譯程序?qū) 源程序進行預(yù)處理時用100 替換標識符NC 對 C 源程序進行編譯時用100 替換標識符ND 在運行時用100 替換標識符NB(44) 以下關(guān)于 typedef 的敘述錯誤的是 AA 用 typedef可以增加新類型B typedef只是將已存在的類型用一個新的名字來代

16、表C 用 typedef 可以為各種類型說明一個新名,但不能用來為變量說明一個新名 D 用 typedef 為類型說明一個新名,通??梢栽黾映绦虻目勺x性(45) 有以下程序#include <stdio.h>struct tt int x; struct tt *y;*p;struct tt a4=20,a+1,15,a+2,30,a+3,17,a;main() int i;p=a;for(i=1;i<=2;i+)printf(“ %d,” ,p->x); p=p->y;程序的運行結(jié)果是DA 20,30B 30,17C 15,30,D 20,15,(46) 有以下

17、程序#include <stdio.h>#include <string.h>typedef struct char name9; char sex; float score2;STU;STU f(STU a) STU b= “ Zhao”, m ,85.0,90.0; int I; strcpy(,);a.sex=b.sex;for(i=0;i<2;i+) a.scorei=b.scorei; return a;main() STU c= “ Qian ”, f ,95.0,92.0,d; d=f(c);printf(“ %s,%c,%2

18、.0f,%2.0fn” ,,d.sex,d.score0,d.score1);程序的運行結(jié)果是A Qian, f,95,92B Qian,m,85,90C Zhao,m,85,90D Zhao,f,95,92(47) 設(shè)有以下定義Union data int d1; float d2; demo;則下面敘述中錯誤的是變量 demo與成員 d2 所占的內(nèi)存字節(jié)數(shù)相同、變量 demo中各成員的地址相同變量 demo和各成員的地址相同若給 demo.d1 賦 99 后, demo.d2 中的值是99.0(48) 有以下程序#include <stdio.h>main()int

19、 a=1,b=2,c=3,x;x=(ab)&c;printf(“ %dn” ,x);程序的運行結(jié)果是012(49)讀取二進制文件的函數(shù)調(diào)用形式為:3fread(buffer,size,count,fp);其中buffer代表的是A 一個文件指針,指向待讀取的文件B 一個整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)C 一個內(nèi)存塊的首地址,代表讀入數(shù)據(jù)存放的地址D 一個內(nèi)存塊的字節(jié)數(shù)(50) 有以下程序#include <stdio.h>FILE *fp;int a10=1,2,3,0,0,i;Fp=fopen( “ d2.dat ” , ” wb” );fwrite(a,sizeof(

20、int),5,fp);fwrite(a,sizeof(int),5,fp);fclose(fp);fp=fopen(“ d2.dat ” , ” rb ” );fread(a,sizeof(int),10,fp);fclose(fp);for(i=0; i<10; i+)printf(“ %d,” ,ai);程序運行結(jié)果是 1,2,3,0,0,0,0,0,0,0 1,2,3,1,2,3,0,0,0,0 123,0,0,0,0,123,0,0,0,0 1,2,3,0,0,1,2,3,0,0,二、填空題 ( 每空 2 分,共 40 分 )(1) 軟件需求規(guī)格說明書應(yīng)具有完整性、無歧義性、正確

21、性、可驗證性、可修改性等特性,其中最重要的是_。(2) 在兩種基本測試方法中, _測試的原則之一是保證所測模塊中每一個獨立路徑至少要執(zhí)行一次。(3) 線性表的存儲結(jié)構(gòu)主要分為順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)。隊列是一種特殊的線性表,循環(huán)隊列是隊列的 _存儲結(jié)構(gòu)。(4) 對下列二叉樹進行中序遍歷的結(jié)果為_ 。(5) 在 E-R 圖中,矩形表示 _。(6) 執(zhí)行以下程序時輸入 1234567<CR>,則輸出結(jié)果是 _。 #include <stdio.h>main() int a=1,b;scanf( “ %2d%2d” ,&a,&b); printf(“ %d

22、%dn ” ,a,b);(7) 以下程序的功能是:輸出 a,b,c 三個變量中的最小值。請?zhí)羁铡?include <stdio.h>main()int a,b,c,t1,t2;scanf( “ %d%d%d” ,&a,&b,&c);t1=a<b? _;t2=c<t1? _;printf(“ %dn” ,t2);(8) 以下程序的輸出結(jié)果是 _ 。 #include <stdio.h>main() int n=12345,d;while(n!=0) d=n%10; printf(“ %d” ,d);n/=10;(9) 有以下程序段,且變

23、量已正確定義和賦值 for (s=1.0,k=1;k<=n;k+) s=s+1.0/(k*(k+1);printf(“s=%fnn ” ,s);請?zhí)羁?,使下面的程序段的功能與之完全相同s=1.0; k=1;while( _ ) s=s+1.0/(k*(k+1); _ ;printf(“ s=%fnn ” ,s);(10) 以下程序的輸出結(jié)果是 _。#include <stdio.h>main()int i;for(i= a ;i< f ;i+,i+) printf(printf(“ n ” );“%c” ,i- a + A );(11) 以下程序的輸出結(jié)果是 _。 #i

24、nclude <stdio.h>#include <string.h> char *fun(char *t) char *p=t; return(p+strlen(t)/2);main()char *str=” abcdefgh ” ;str=fun(str);puts(str);(12)以下程序中函數(shù) f 的功能是在數(shù)組 x 的 n 個數(shù)(假定 n 個數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)與第一個數(shù)對換,把最大的數(shù)與最后一個數(shù)對換。請?zhí)羁铡?include <stdio.h>void f(int x,int n) int p0,p1,i,j,t,m;

25、 i=j=x0; p0=p1=0;for(m=0; m<n; m+)if(xm>i) i=xm; p0=m;else if(xm<j) j=xm; p1=m;t=xp0; xp0=xn-1; xn-1=t;main()int a10,u;for(u=0; u<10;u+) scanf(“ %d” ,&au);f(a,10);for(u=0; u<10;u+) printf(“ %d” , au);printf(“ n ” );(13)以下程序統(tǒng)計從終端輸入的字符中大寫字母的個數(shù), num0 中統(tǒng)計字母 A 的個數(shù), num1 中統(tǒng)計字母的個數(shù),其它依次類推。用號結(jié)束輸入,請?zhí)羁铡?include <stdio.h>#include <ctpye.h>main()int num26=0,i;char c;while( _ )!= #if(is

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論