- 相關(guān)推薦
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言考試試題帶答案(精選10份)
無(wú)論是在學(xué)習(xí)還是在工作中,我們會(huì)經(jīng)常接觸并使用考試題,考試題可以幫助學(xué);蚋髦鬓k方考察參試者某一方面的知識(shí)才能。大家知道什么樣的考試題才是好考試題嗎?下面是小編為大家收集的計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言考試試題帶答案,希望對(duì)大家有所幫助。
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言考試試題帶答案 1
一、填空題(每空2分,共40分)
請(qǐng)將每一個(gè)空的正確答案寫在答案卡上,答在試卷上不得分。
(1) 為了要將當(dāng)前盤目錄中的可執(zhí)行程序ABC.EXE的輸出結(jié)果存放到當(dāng)前盤當(dāng)前目錄中的文件OUT.TXT中,則應(yīng)使用的DOS命令為【1】 。
(2) 計(jì)算機(jī)網(wǎng)絡(luò)分為廣域網(wǎng)和局域網(wǎng),因特網(wǎng)屬于【2】 。
(3) 要想在當(dāng)前目錄下方便地執(zhí)行C盤\UCDOS目錄中的程序,就應(yīng)該先執(zhí)行預(yù)設(shè)搜索路徑的命令,該DOS命令為【3】 。
(4) 要查看當(dāng)前目錄中擴(kuò)展名為.DAT的所有文件目錄,應(yīng)該使用的DOS 命令為【4】 。
(5) 在Windows環(huán)境下,當(dāng)進(jìn)行復(fù)制操作時(shí),其復(fù)制的內(nèi)容將存放在【5】中
(6) 若從鍵盤輸入58,則以下程序輸出的結(jié)果是 【6】 。
main()
{ int a;
scanf("%d",&a);
if(a>50) printf("%d",a);
if(a>40) printf("%d",a);
if(a>30) printf("%d",a);
}
(7) 以下程序的輸出結(jié)果是【7】 。
main()
{ int a=177;
printf("%o\n",a);
}
(8) 以下程序的輸出結(jié)果是【8】 。
main()
{ int a=0
a+=(a=8);
printf("%d\n",a);
}
(9) 以下程序輸出的結(jié)果是【9】 。
main()
{ int a=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
(10) 以下定義的結(jié)構(gòu)體類型擬包含兩個(gè)成員,其中成員變量info用來(lái)存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針.請(qǐng)將定義補(bǔ)充完整。
struct node
{int info;
【10】 link;
}
(11) 以下程序的輸出結(jié)果是【11】 。
main()
{int s,i;
for(s=0,i=1;i<3;i++,s+=i);
printf("%d\n",s);
}
(12) 以下程序的輸出結(jié)果是【12】 。
main()
{ char *p="abcdefgh",*r;
long *q;
q=(long*)p;
q++;
r=(char*)q;
printf("%s\n",r);
}
(13) 以下程序的輸出結(jié)果是【13】 。
main()
{ char s[]="abcdef";
s[3]=‘\0;
printf("%s\n",s);
}
(14) 以下程序的輸出結(jié)果是【14】 。
main()
{ int x=0;
sub(&x,8,1);
printf("%d\n",x);
}
sub(int *a,int n,int k)
{ if(k<=n) sub(a,n/2,2*k);
*a+=k;
}
(15) 設(shè)有如下宏定義
#define MYSWAP(z,x,y) {z=x; x=y; y=z;}
以下程序段通過(guò)宏調(diào)用實(shí)現(xiàn)變量a、b內(nèi)容交換,請(qǐng)?zhí)羁铡?/p>
float a=5,b=16,c;
MYSWAP( 【15】 ,a,b);
(16) 以下程序用來(lái)統(tǒng)計(jì)文件中字符個(gè)數(shù)。請(qǐng)?zhí)羁铡?/p>
#include "stdio.h"
main()
{ FILE *fp; long num=0L;
if((fp=fopen("fname.dat","r"))==NULL)
{ pirntf("Open error\n"); exit(0);}
while( 【16】 )
{ fgetc(fp); num++;}
printf("num=%1d\n",num-1);
fclose(fp);
}
(17) 以下程序中,select 函數(shù)的功能是:在N行M列的二維數(shù)組中,選出一個(gè)最大值作為函數(shù)值返回,并通過(guò)形參傳回此最大值所在的行下標(biāo)。請(qǐng)?zhí)羁铡?/p>
#define N 3
#define M 3
select(int a[N][M],int *n)
{ int i,j,row=1,colum=1;
for(i=0;i
for(j=0;j
if(a[i][j]>a[row][colum]){row=i;colum=j;}
*n= 【17】;
return 【18】;
}
main()
{int a[N][M]={9,11,23,6,1,15,9,17,20},max,n;
max=select(a,&n);
printf("max=%d,line=%d\n",max,n);
}
(18) mystrlen函數(shù)的功能是計(jì)算str所指字符串的長(zhǎng)度,并作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>
int mystrlen(char *str)
{ int i;
for(i=0; 【19】!=‘\0;i++);
return(【20】);
}
二、選擇題((1)—(40)題每小題1分,(41)—(50)題每小題2分,共和60分)
下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1) 在計(jì)算機(jī)中,一個(gè)字長(zhǎng)的二進(jìn)制位數(shù)是
A) 8 B) 16 C) 32 D) 隨CPU的型號(hào)而定
(2) 計(jì)算機(jī)網(wǎng)絡(luò)的突出優(yōu)點(diǎn)是
A) 速度快 B) 資源共享 C) 精度高 D) 容量大
(3) 計(jì)算機(jī)網(wǎng)絡(luò)能傳送的信息是:
A) 所有的多媒體信息 B) 只有文本信息
C) 除聲音外的所有信息 D) 文本和圖像信息
(4) 切斷計(jì)算機(jī)電源后,下列存儲(chǔ)器中的信息會(huì)丟失的是:
A) RAM B) ROM C) 軟盤 D) 硬盤
(5) 十進(jìn)制數(shù)127轉(zhuǎn)換成二進(jìn)制數(shù)是
A) 11111111 B) 01111111 C) 10000000 D) 11111110
(6) 要想打印存放在當(dāng)前盤當(dāng)前目錄上所有擴(kuò)展名為.TXT 的文件內(nèi)容, 應(yīng)該使用的DOS命令為
A) DIR *.TXT>PRN B) TYPE *.TXT>PRN
C) COPY *.TXT PRN D) COPY *.TXT>PRN
(7) 將當(dāng)前盤當(dāng)前目錄及其子目錄中的全部文件 (總量不足1.2MB) 復(fù)制到一張空的A盤的根目錄下,應(yīng)該使用的DOS命令為
A) XCOPY *.*A:\ /M B) XCOPY *.*A:\ /S
C) XCOPY *.*A:\ /P D) XCOPY *.*A:\ /A
(8) 在C盤根目錄下執(zhí)行PROMPT $p$g命令之后,DOS的提示符變?yōu)?/p>
A) C:> B) C:\> C) C> D) C:\
(9) DOS命令 "COPY CON DISP"中的CON代表
A) 子目錄 B) 磁盤文件 C) 鍵盤 D) 顯示器
(10) 結(jié)構(gòu)化程序設(shè)計(jì)所規(guī)定的三種基本控制結(jié)構(gòu)是
A) 輸入、處理、輸出 B) 樹形、網(wǎng)形、環(huán)形
C) 順序、選擇、循環(huán) D) 主程序、子程序、函數(shù)
(11) 要把高級(jí)語(yǔ)言編寫的源程序轉(zhuǎn)換為目標(biāo)程序,需要使用
A) 編輯程序 B) 驅(qū)動(dòng)程序 C) 診斷程序 D) 編譯程序
(12) 英文小寫字母d的ASCII碼為100,英文大寫字母D的ASCII碼為
A) 50 B) 66 C) 52 D) 68
(13) Windows環(huán)境下,PrintScreen鍵的作用是
A) 復(fù)制當(dāng)前窗口到剪貼板 B) 打印當(dāng)前窗口的內(nèi)容
C) 復(fù)制屏幕到剪貼板 D) 打印屏幕內(nèi)容
(14) 在Windows環(huán)境下,為了終止應(yīng)用程序的運(yùn)行,應(yīng)
A) 關(guān)閉該應(yīng)用程序窗口 B) 最小化該應(yīng)用程序窗口
C) 雙擊該應(yīng)用程序窗口的標(biāo)題欄 D) 將該應(yīng)用程序窗口移出屏幕
(15) 下列各帶有通配符的文件名中,能代表文件XYZ.TXT的是
A) *Z.? B) X*.* C) ?Z,TXT D) ?.?
(16) 若有定義:int a=8,b=5,C;,執(zhí)行語(yǔ)句C=a/b+0.4;后,c的值為
A) 1.4 B) 1 C) 2.0 D) 2
(17) 若變量a是int類型,并執(zhí)行了語(yǔ)句:a=‘A+1.6;,則正確的敘述是
A) a的值是字符C B) a的值是浮點(diǎn)型
C) 不允許字符型和浮點(diǎn)型相加 D) a的值是字符‘A’的ASCII值加上1。
(18) 以下程序段的輸出結(jié)果是
int a=1234;
printf("%2d\n",a);
A) 12 B) 34 C) 1234 D) 提示出錯(cuò)、無(wú)結(jié)果
(19) 以下選項(xiàng)中不屬于C語(yǔ)言的類型的是
A) signed short imt B) unsigned long int
C) unsigned int D) long short
(20) 若有說(shuō)明語(yǔ)句:int a,b,c,*d=&c;,則能正確從鍵盤讀入三個(gè)整數(shù)分別賦給變量a、b、c的語(yǔ)句是
A) scanf("%d%d%d",&a,&b,d); B) scanf("%d%d%d",&a,&b,&d);
C) scanf("%d%d%d",a,b,d); D) scanf("%d%d%d",a,b,*d);
(21) 在16位C編譯系統(tǒng)上,若定義long a; ,則能給a賦40000的正確語(yǔ)句是
A) a=20000+20000; B) a=4000*10;
C) a=30000+10000; D) a=4000L*10L;
(22) 以下敘述正確的是
A) 可以把define和if定義為用戶標(biāo)識(shí)符
B) 可以把define定義為用戶標(biāo)識(shí)符,但不能把if定義為用戶標(biāo)識(shí)符
C) 可以把if定義為用戶標(biāo)識(shí)符,但不能把define定義為用戶標(biāo)識(shí)符
D) define和if都不能定義為用戶標(biāo)識(shí)符
(23) 若定義:int a=511,*b=&a;, 則printf("%d\n",*b);的輸出結(jié)果為
A) 無(wú)確定值 B) a的地址 C) 512 D) 511
(24) 以下程序的輸出結(jié)果是
main()
{ int a=5,b=4,c=6,d;
printf("%d\n",d=a>b?(a>c?a:c):(b));
}
A) 5 B) 4 C) 6 D) 不確定
(25) 以下程序中,while循環(huán)的循環(huán)次數(shù)是
main()
{ int i=0;
while(i<10)
{ if(i<1) continue;
if(I==5) break;
i++;
}
......
}
A) 1 B) 10
C) 6 D) 死循環(huán),不能確定次數(shù)
(26) 以下程序的輸出結(jié)果是
main()
{ int a=0,i;
for(i=;i<5;i++)
{ switch(i)
{ case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default:a+=5;
}
}
printf("%d\n",a);
}
A) 31 B) 13 C) 10 D) 20
(27) 以下程序的輸出結(jié)果是
main()
{ int a=4,b=5,c=0,d;
d=!a&&!b||!c;
printf("%d\n",d);
}
A) 1 B) 0 C) 非0的數(shù) D) -1
(28) 以下程序的輸出結(jié)果是
#include
main()
{ int i=0,a=0;
while(i<20)
{ for(;;)
{ if((i%10)==0) break;
else i--;
}
i+=11; a+=i;
}
printh("%d\n",a);
}
A) 21 B) 32 C) 33 D) 11
(29) 以下程序的輸出結(jié)果是
char cchar ch)
{
if(ch>=‘A’&&ch<=‘Z) ch=ch-‘A+‘a(chǎn);
return ch;
}
main()
{ char s[]="ABC+abc=defDEF",*p=s;
while(*p)
{ *p=c*p);
p++;
}
printf("%s\n",s);
}
A) abc+ABC=DEFdef B) abc+abc=defdef
C) abcaABCDEFdef D) abcabcdefdef
(30) 以下程序的輸出結(jié)果是
int f()
{ static int i=0;
int s=1;
s+=i; i++;
return s;
}
main()
{ int i,a=0;
for(i=0;i<5;i++) a+=f();
printf("%d\n",a);
}
A) 20 B) 24 C) 25 D) 15
(31) 以下程序段的輸出結(jié)果是
char s[]="\\141\141abc\t";
printf ("%d\n",strlen(s));
A) 9 B) 12 C) 13 D) 14
(32) 若有以下程序
#include
void f(int n);
main()
{ void f(int n);
f(5);
}
void f(int n)
{ printf("%d\n",n); }
則以下敘述中不正確的是
A) 若只在主函數(shù)中對(duì)函數(shù)f進(jìn)行說(shuō)明,則只能在主函數(shù)中正確調(diào)用函數(shù)f
B) 若在主函數(shù)前對(duì)函數(shù)f進(jìn)行說(shuō)明,則在主函數(shù)和其后的其它函數(shù)中都可以正確調(diào)用函數(shù)f
C) 對(duì)于以上程序,編譯時(shí)系統(tǒng)會(huì)提示出錯(cuò)信息:提示對(duì)對(duì)f函數(shù)重復(fù)說(shuō)明
D) 函數(shù)f無(wú)返回值,所以可用void將其類型定義為無(wú)值型
(33) 以下程序調(diào)用findmax函數(shù)返回?cái)?shù)組中的最大值
findmax(int *a,int n)
{ int *p,*s;
for(p=a,s=a; p-a
if ( ) s=p;
return(*s);
}
main()
{ int x[5]={12,21,13,6,18};
printf("%d\n",findmax(x,5));
}
在下劃線處應(yīng)填入的是
A) p>s B) *p>*s C) a[p]>a[s] D) p-a>p-s
(34) 以下程序的輸出結(jié)果是
main()
{ char cf[3][5]={"AAAA","BBB","CC"};
printf("\"%s\"\n",ch[1]);
}
A) "AAAA" B) "BBB" C) "BBBCC" D) "CC"
(35) 在C語(yǔ)言中,形參的缺省存儲(chǔ)類是
A) auto B) register C) static D) extern
(36) 若指針p已正確定義,要使p指向兩個(gè)連續(xù)的整型動(dòng)態(tài)存儲(chǔ)單元,不正確的.語(yǔ)句是
A) p=2*(int*)malloc(sizeof(int));
B) p=(int*)malloc(2*sizeof(int));
C) p=(int*)malloc(2*2);
D) p=(int*)calloc(2,sizeof(int));
(37) 以下程序的輸出結(jié)果是
main()
{ char x=040;
printf("%0\n",x<<1);
}
A) 100 B) 80 C) 64 D) 32
(38) 若要打開A盤上user子目錄下名為abc.txt的文本文件進(jìn)行讀、寫操作,下面符合此要求的函數(shù)調(diào)用是
A) fopen("A:\user\abc.txt","r") B) fopen("A:\\user\\abc.txt","r+")
C) fopen("A:\user\abc.txt","rb") C) fopen("A:\\user\\abc.txt","w")
(39) 以下不能正確進(jìn)行字符串賦初值的語(yǔ)句是
A) char str[5]="good!"; B) char str[]="good!";
C) char *str="good!"; D) char str[5]={‘g,‘o,‘o,‘d};
(40) 若有下面的說(shuō)明和定義:
struct test
{ int ml; char m2; float m3;
union uu {char ul[5]; int u2[2];} ua;
} myaa;
則sizeof(struct test )的值是
A) 12 B) 16 C) 14 D) 9
(41) 若有定義:int aa[ 8];。則以下表達(dá)式中不能代表數(shù)組元aa[1]的地址的是
A) &aa[0]+1 B) &aa[1] C) &aa[0]++ D) aa+1
(42) 以下程序的輸出結(jié)果是
f(int b[],int m,int n)
{ int i,s=0;
for(i=m;i
return s;
}
main()
{int x,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
printf("%d\n",x);
}
A) 10 B) 18 C) 8 D) 15
(43) 若有以下定義和語(yǔ)句:
int s[4][5],(*ps)[5];
ps=s;
則對(duì)s數(shù)組元素的正確引用形式是
A) ps+1 B) *(ps+3) C) ps[0][2] D) *(ps+1)+3
(44) 以下程序的輸出結(jié)果是
main()
{ int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;
for(i=0;i<3;i++)
for(j=i;j<=i;j++) t=t+b[i][b[j][j]];
printf("%d\n",t);
}
A) 3 B) 4 C) 1 D) 9
(45) 以下程序的輸出結(jié)果是
#include
#include
main()
{ char b1[8]="abcdefg",b2[8],*pb=b1+3;
while (--pb>=b1) strcpy(b2,pb);
printf("%d\n",strlen(b2));
}
A) 8 B) 3 C) 1 D) 7
(46) 在說(shuō)明語(yǔ)句:int *f();中,標(biāo)識(shí)符f代表的是
A) 一個(gè)用于指向整型數(shù)據(jù)的指針變量
B) 一個(gè)用于指向一維數(shù)組的行指針
C) 一個(gè)用于指向函數(shù)的指針變量
D) 一個(gè)返回值為指針型的函數(shù)名
(47) 不合法的main函數(shù)命令行參數(shù)表示形式是
A) main(int a,char *c[]) B) main(int arc,char **arv)
C) main(int argc,char *argv) D) main(int argv,char *argc[])
(48) 以下程序的輸出的結(jié)果是
int x=3;
main()
{ int i;
for (i=1;i
}
ncre()
{ staic int x=1;
x*=x+1;
printf(" %d",x);
}
A) 3 3 B) 2 2 C) 2 6 D) 2 5
(49) 若以下定義:
struct link
{ int data;
struck link *next;
}a,b,c,*p,*q;
且變量a和b之間已有如下圖所示的鏈表結(jié)構(gòu):
a b
data next data next
┌──┬──┐ ┌──┬──┐
│ 5 │ ┼──→ │ 9 │ \0 │
└──┴──┘ └──┴──┘
↑p
c
data next
┌──┬──┐
│ 7 │ │
└──┴──┘
↑q
指針p指向變量a,q指向變量c。則能夠把c插入到a和b 之間并形成新的鏈表的語(yǔ)句組是:
A) a.next=c; c.next=b; B) p.next=q; q.next=p.next;
C) p->next=&c; q->next=p->next; D) (*p).next=q; (*q).next=&b;
(50) 設(shè)有以下說(shuō)明語(yǔ)句
typedef struct
{ int n;
char ch[8];
}PER;
則下面敘述中正確的是
A) PER 是結(jié)構(gòu)體變量名 B) PER是結(jié)構(gòu)體類型名
C) typedef struct 是結(jié)構(gòu)體類型 D) struct 是結(jié)構(gòu)體類型名
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言考試試題帶答案 2
1. 以下程序執(zhí)行后sum 的值是
main()
{ int i , sum;
for(i=1;i<6;i++) sum+=i;
printf("%d ",sum);
}
A)15
B)14
C) 不確定
D)0
你所選擇的答案是:C,正確答案是:C √
2. 當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是
A) 數(shù)組的長(zhǎng)度
B) 數(shù)組的'首地址
C) 數(shù)組每一個(gè)元素的地址
D) 數(shù)組每個(gè)元素中的值
你所選擇的答案是:B,正確答案是:B √
3. 以下只有在使用時(shí)才為該類型變量分配√
4. 以下程序的輸出結(jié)果是
main()
{ int i, x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++) printf("%d,",x[i][2-i]);
}
A) 1,5,9
B) 1,4,7
C) 3,5,7
D)3,6,9
你所選擇的答 案是:C,正確答案是:C √
5. 以下程序的輸出結(jié)果是
#define SQR(X) X*X
main()
{ int a=16, k=2, m=1;
a/=SQR(k+m)/SQR(k+m);
printf("d ",a);
}
A) 16
B) 2
C) 9
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言考試試題帶答案 3
1.C語(yǔ)言編譯程序的功能是()。
A.執(zhí)行一個(gè)C語(yǔ)言編寫的源程序
B.把C源程序翻譯成ASCII碼
C.把C源程序翻譯成機(jī)器代碼
D.把C源程序與系統(tǒng)提供的庫(kù)函數(shù)組合成一個(gè)二進(jìn)制執(zhí)行文件
【答案】C
【解析】編譯程序的功能是將“高級(jí)語(yǔ)言”翻譯為“機(jī)器語(yǔ)言”。每條C語(yǔ)言語(yǔ)句,經(jīng)過(guò)編譯最終都將轉(zhuǎn)換成二進(jìn)制的機(jī)器指令。答案選擇C選項(xiàng)。
2.計(jì)算機(jī)高級(jí)語(yǔ)言程序的運(yùn)行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的是()。
A. C語(yǔ)言程序僅可以編譯執(zhí)行
B. C語(yǔ)言程序僅可以解釋執(zhí)行
C. C語(yǔ)言程序既可以編譯執(zhí)行,又可以解釋執(zhí)行;
D.以上說(shuō)法都不對(duì)
【答案】A
【解析】編譯執(zhí)行是指程序執(zhí)行前需要一個(gè)專門的編譯過(guò)程把程序編譯成機(jī)器語(yǔ)言的文件,再次運(yùn)行時(shí)不需要重新翻譯,執(zhí)行效率高;解釋執(zhí)行是指每個(gè)語(yǔ)句都是執(zhí)行的時(shí)候才翻譯,執(zhí)行效率低。用C語(yǔ)言編寫的程序必須經(jīng)過(guò)編譯器編譯后,轉(zhuǎn)換為二進(jìn)制的機(jī)器指令來(lái)運(yùn)行。答案選擇A選項(xiàng)。
3.以下敘述中錯(cuò)誤的是()。
A. C語(yǔ)言中的每條可執(zhí)行語(yǔ)句和非執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令
B. C程序經(jīng)過(guò)編譯、鏈接步驟之后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件
C.用C語(yǔ)言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個(gè)文本文件中
D. C語(yǔ)言源程序經(jīng)編譯后生成后綴為的目標(biāo)程序
【答案】A
【解析】A項(xiàng)錯(cuò)誤,注釋語(yǔ)句不會(huì)被翻譯成二進(jìn)制的機(jī)器指令。C源程序經(jīng)過(guò)C編譯程序編譯之后生成后綴為的二進(jìn)制文件(稱為目標(biāo)文件),然后由“鏈接程序”(Link)的軟件把文件與各種庫(kù)函數(shù)連接起來(lái)生成一個(gè)后綴為的可執(zhí)行文件。答案選擇A選項(xiàng)。
4.以下敘述中錯(cuò)誤的是()
A.C語(yǔ)言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的
B.用C語(yǔ)言編寫的源程序不能直接在計(jì)算機(jī)上運(yùn)行
C.通過(guò)編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行
D.在沒(méi)有安裝C語(yǔ)言集成開發(fā)環(huán)境的機(jī)器上不能運(yùn)行C源程序生成的exe文件
【答案】D
【解析】A項(xiàng)正確,C語(yǔ)言的可執(zhí)行程序是由一系列機(jī)器指令組成的;BC項(xiàng)正確,用C語(yǔ)言編寫的源程序必須經(jīng)過(guò)編譯,生成二進(jìn)制目標(biāo)代碼,再經(jīng)過(guò)連接才能運(yùn)行;D項(xiàng)錯(cuò)誤,C語(yǔ)言經(jīng)過(guò)編譯鏈接后的二進(jìn)制目標(biāo)代碼可以脫離C語(yǔ)言集成開發(fā)環(huán)境獨(dú)立運(yùn)行。答案選擇D選項(xiàng)。
5.以下敘述正確的是()。
A. C編譯程序把文件后綴為.c的源程序文件編譯成文件后綴為的二進(jìn)制文件
B. C編譯程序把文件后綴為.c的源程序文件編譯成文件后綴為的可執(zhí)行文件
C. C編譯程序把文件后綴為的二進(jìn)制文件編譯成文件后綴為的可執(zhí)行文件
D.鏈接程序把文件后綴為.c的源程序文件鏈接成文件后綴為的可執(zhí)行文件
【答案】A
【解析】C編譯程序把文件后綴為C的源程序文件編譯成文件后綴為的二進(jìn)制文件,鏈接將一個(gè)或多個(gè)目標(biāo)文件與程序用到的庫(kù)文件連接起來(lái),形成一個(gè)可以在操作系統(tǒng)直接運(yùn)行的.執(zhí)行程序,故排除B、C、D項(xiàng),答案選擇A選項(xiàng)。
6.以下敘述中正確的是(A.在C語(yǔ)言程序中,main函數(shù)必須放在其他函數(shù)的最前面
B.每個(gè)后綴為.c的C語(yǔ)言源程序都可以單獨(dú)進(jìn)行編譯
C.在C語(yǔ)言程序中,只有main函數(shù)才可以單獨(dú)進(jìn)行編譯
D.每個(gè)后綴為.c的C語(yǔ)言源程序都應(yīng)該包含一個(gè)main函數(shù)
【答案】B
【解析】main函數(shù)可以在程序的任何位置。每一個(gè)可執(zhí)行的C程序都必須有一個(gè)且只能有一個(gè)主函數(shù)。后綴名為.c的C語(yǔ)言源程序都可以單獨(dú)進(jìn)行編譯。main函數(shù)只是讓執(zhí)行程序的系統(tǒng)知道該從哪里開始執(zhí)行程序(從主函數(shù)處執(zhí)行),其他有關(guān)這個(gè)程序的子函數(shù)是通過(guò)函數(shù)調(diào)用來(lái)實(shí)現(xiàn)其功能(不需main函數(shù))。答案選擇B選項(xiàng)。
7.以下敘述中錯(cuò)誤的是()。
A. C語(yǔ)言編寫的函數(shù)源程序,其文件名后綴可以是.c
B. C語(yǔ)言編寫的函數(shù)都可以作為一個(gè)獨(dú)立的源程序文件
C. C語(yǔ)言編寫的每個(gè)函數(shù)都可以進(jìn)行獨(dú)立的編譯并執(zhí)行;
D.一個(gè)C語(yǔ)言程序只能有一個(gè)主函數(shù)
【答案】C
【解析】C源程序經(jīng)過(guò)C編譯程序編譯之后生成一個(gè)后綴為的二進(jìn)制文件(稱為目標(biāo)文件),然后由稱為“連接程序”(Link)的軟件,把此文件與C語(yǔ)言提供的各種庫(kù)函數(shù)連接起來(lái)生成一個(gè)后綴為的可執(zhí)行文件。只有含有main函數(shù)的經(jīng)過(guò)編譯鏈接才能執(zhí)行。答案選擇C選項(xiàng)。
8.以下敘述中錯(cuò)誤的是(A.一個(gè)C程序可以包含多個(gè)不同名的函數(shù)
B.一個(gè)C程序只能有一個(gè)主函數(shù)
C. C程序在書寫時(shí),有嚴(yán)格的縮進(jìn)要求,否則不能編譯通過(guò)
D. C程序的主函數(shù)必須用main作為函數(shù)名
【答案】C
【解析】一個(gè)C程序有且只有一個(gè)主函數(shù)main。一個(gè)C程序可以包含多個(gè)不同名字的子函數(shù)。C程序在書寫時(shí)沒(méi)有嚴(yán)格的縮進(jìn)要求。答案選擇C選項(xiàng)。
9.以下敘述中正確的是()。
A. C語(yǔ)言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行
B.可以在程序中由用戶指定任意一個(gè)函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行
C. C語(yǔ)言程序?qū)脑闯绦蛑械谝粋(gè)函數(shù)開始執(zhí)行;
D. main的各種大小寫拼寫形式都可以作為主函數(shù)名,如:MAIN,Main等
【答案】A
【解析】用戶不能指定某函數(shù)為主函數(shù),C語(yǔ)言規(guī)定,程序從main函數(shù)開始執(zhí)行,從main函數(shù)退出,C語(yǔ)言函數(shù)名區(qū)別大小寫。答案選擇A選項(xiàng)。
10.下列敘述中錯(cuò)誤的是()。
A. C程序可以由一個(gè)或多個(gè)函數(shù)組成
B. C程序可以由多個(gè)程序文件組成
C.一個(gè)C語(yǔ)言程序只能實(shí)現(xiàn)一種算法
D.一個(gè)C函數(shù)可以單獨(dú)作為一個(gè)C程序文件存在
【答案】C
【解析】一個(gè)C程序可以有一個(gè)或多個(gè)程序文件,也可以有一個(gè)或多個(gè)函數(shù),所以一個(gè)C語(yǔ)言程序可以實(shí)現(xiàn)多種算法,答案選擇C選項(xiàng)。
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言考試試題帶答案 4
1: 第1題請(qǐng)編寫函數(shù)fun,其功能使:將兩個(gè)兩位正整數(shù)a b合并形成一個(gè)整數(shù)放在c中。合并的方式使:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上。
答案:
void fun(int a,int b,long *c)
{*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;}
2: 第2題請(qǐng)編寫一個(gè)函數(shù)fun,它的功能使:計(jì)算n門課程的平均分,計(jì)算結(jié)果作為函數(shù)值返回。
答案:
float fun(float *a,int n)
{float ave=0.0;
int i;
for(i=0;i
ave+=a;
ave/=n;
return ave;}
3: 第3題假定輸入的'字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,它的功能使:將字符串尾部的*號(hào)全部刪除,前面和中間的*號(hào)不刪除。
答案:
void fun(char *a)
{int i=0;
char *p,*q;
p=q=a;
while(*p)
p++;
p--;
while(*p==‘*’)
p--;
while(q<=p)
{a=*q;
i++;
q++;}
a=‘’;}
4: 第4題請(qǐng)編寫函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)的正整數(shù)a b合并形成一個(gè)整數(shù)放在c中,合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c的個(gè)位和百位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上。
答案:
void fun(int a,int b,long *c)
{c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;}
5: 第5題 n名學(xué)生的成績(jī)已在主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請(qǐng)編寫函數(shù)fun,它的功能是:求出平均分,由函數(shù)值返回。
答案:
double fun(strec *h)
{double aver=0.0;
while(h!=null)
{aver+=h->s;
hy=h->next;}
aver/=n;
return aver;}
6: 第6題請(qǐng)編寫函數(shù)fun,計(jì)算并輸出給定10個(gè)數(shù)的方差。
答案:
double fun(double x[10])
{int i,j;
double s=0.0,s1=0.0;
for(i=0;i<10;i++)
s1+=x;
s1/=10;
for(j=0;j<10;j++)
s+=(x[j]-s1)*(x[j]-s1);
s/=10;
s=pow(s,0.5);
return s;}
7: 第7題請(qǐng)編寫函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)的正整數(shù)a b合并形成一個(gè)整數(shù)放在c 中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的個(gè)位和百位上。
答案:
void fun(int a,int b,long *c)
{*c=(a/10)*1000+(a%10)*10+(b%10)*100+b/10;}
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言考試試題帶答案 5
1.若有以下數(shù)組說(shuō)明,則i=10;a[a[i]]元素?cái)?shù)值是(C )。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A、10
B、9
C、6
D、5
先算a[a[i]]內(nèi)層的a[i],由于i=10,因此a[i]即a[10].
a[10]對(duì)應(yīng)下面數(shù)組中的元素為9.因此a[a[i]]即為a[9]
a[9]對(duì)應(yīng)下面數(shù)組中的元素為6.因此a[9]即為6
2.若有說(shuō)明:int a[][3]={{1,2,3},{4,5},{6,7}};則數(shù)組a的第一維的大小為: ( B )
A、2
B、3
C、4
D、無(wú)確定值
5 7
D、3 6 9
二維數(shù)組的一維大小,即指二維數(shù)組的行數(shù),在本題中,按行對(duì)二維數(shù)組賦值,因此內(nèi)層有幾個(gè)大括號(hào),數(shù)組就有幾行
3.對(duì)二維數(shù)組的正確定義是(C )
詳見教材P149~152,二維數(shù)組的定義、初始化
類型符數(shù)組名[常量表達(dá)式][常量表達(dá)式]
二維數(shù)組可以看做是矩陣
類型符是指數(shù)組中數(shù)組元素的類型;數(shù)組名要符合標(biāo)識(shí)符命名規(guī)則;第一個(gè)常量表達(dá)式是指數(shù)組的`行數(shù);第二個(gè)常量表達(dá)式是指數(shù)組的列數(shù);常量表達(dá)式的值只能是整數(shù),不可以是變量,而且從1開始計(jì)數(shù)。
一維數(shù)組初始化時(shí)可以省略數(shù)組長(zhǎng)度
二維數(shù)組初始化時(shí)可以省略行數(shù),但不能省略列數(shù)
選項(xiàng)A,B,都省略了列數(shù)
選項(xiàng)D,不符合二維數(shù)組定義的一般形式,行、列常量表達(dá)式應(yīng)該放在不同的[]中
A、int a[ ][ ]={1,2,3,4,5,6};
B、int a[2] []={1,2,3,4,5,6};
C、int a[ ] [3]={1,2,3,4,5,6};
D、int a[2,3]={1,2,3,4,5,6};
4.已知int a[3][4];則對(duì)數(shù)組元素引用正確的是__C___
A、a[2][4]
B、a[1,3]
C、a[2][0]
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言考試試題帶答案 6
一 選擇題(7分,每小題0.5分)
1.C語(yǔ)言源程序的基本單位是( )。
A 過(guò)程 B 函數(shù) C 子程序 D 標(biāo)識(shí)符
2.下列程序的輸出結(jié)果是( )。
main( )
{ int a=7,b=5;
printf("%d ",b=b/a);
}
A 5 B 1 C 0 D不確定值
3.假設(shè)變量a,b均為整型,表達(dá)式(a=5,b=2,a>b?a++:b++,a+b)的值是( )。
A 7 B 8 C 9 D 2
4.設(shè)a為int型變量,執(zhí)行下列賦值語(yǔ)句后,a的取值分別是( )。
a=125.534; a=(int)125.521%4; a=5<<2;
A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20
5.設(shè)有如下程序段,下面描述中正確的是 ( )。
int k=10; while(k=0) k=k-1;
A 循環(huán)執(zhí)行一次 B循環(huán)是無(wú)限循環(huán) C循環(huán)體語(yǔ)句一次也不執(zhí)行 D循環(huán)體語(yǔ)句執(zhí)行一次
6.以下程序的輸出結(jié)果為( )。
int i;
void prt( )
{ for(i=5;i<8;i++) printf("%c",*);
printf(" ");
}
main( )
{ for(i=5;i<=8;i++) prt( );
}
A *** B *** *** *** *** C *** *** D * * *
7.在C語(yǔ)言程序中,以下說(shuō)法正確的是( )。
A函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套
B函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套
C函數(shù)的定義和函數(shù)的調(diào)用都不可以嵌套
D函數(shù)的定義和函數(shù)的調(diào)用都可以嵌套
8.以下函數(shù)調(diào)用語(yǔ)句中含有( )個(gè)實(shí)參。
func((e1,e2),(e3,e4,e5));
A 2 B 3 C 5 D 語(yǔ)法錯(cuò)誤
9.以下程序的輸出結(jié)果為( )。
#define ADD(x) x*x
main( )
{ int a=4,b=6,c=7,d=ADD(a+b)*c;
printf("d=%d",d);
}
A d=70 B d=80 C d=140 D d=700
10.已知職工記錄描述如下,在Turbo C中,系統(tǒng)為變量w分配( )字節(jié)的空間。
struct worker
{ int no;
char name[20];
char sex;
union
{ int day; int month; int year;}birth;
} w;
A 29 B 20 C 25 D 6
11.設(shè)有以下定義,值為5的枚舉常量是( )。
enum week{sun,mon=4,tue,wed,thu,fri,sat} w;
A tue B sat C fri D thu
12.下面選項(xiàng)中正確的賦值語(yǔ)句是(設(shè) char a[5],*p=a;)( )。
A p="abcd"; B a="abcd"; C *p="abcd"; D *a="abcd";
13.設(shè)有以下程序段,則值為6的表達(dá)式是( )。
struct st { int n; struct st *next;};
static struct st a[3]={5,&a[1],7,&a[2],9,0 },*p;
p=&a[0];
A p++->n B ++p->n C p->n++ D (*p).n++
14.C語(yǔ)言中的文件類型只有( )。
A 索引文件和文本文件兩種 B 文本文件一種
C 二進(jìn)制文件一種 D ASCII碼文件和二進(jìn)制文件兩種
二 判斷對(duì)錯(cuò),對(duì)的劃“√”,錯(cuò)的劃“×”(5分,每小題0.5分)
1.在Turbo C中,整型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié)。( )
2.int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的輸出結(jié)果為A。( )
3.break語(yǔ)句用在循環(huán)體中,可結(jié)束本層循環(huán),continue語(yǔ)句用在循環(huán)體中,可結(jié)束本次循環(huán)。( )
4.函數(shù)的'遞歸調(diào)用不過(guò)是一個(gè)函數(shù)直接或間接地調(diào)用它自身。( )
5.函數(shù)strlen("ASDFG ")的值是7。( )
6.通過(guò)return語(yǔ)句,函數(shù)可以帶回一個(gè)或一個(gè)以上的返回值。( )
7.結(jié)構(gòu)體類型只有一種。 ( )
8.char *p="girl";的含義是定義字符型指針變量p,p的值是字符串"girl"。( )
9.若有定義:char *p(char a[10]);則p是函數(shù)名。( )
10.用fopen("file","r+");打開的文件"file"可以進(jìn)行修改。 ( )
三 寫出下列程序的運(yùn)行結(jié)果(10分,每小題2分)
1.float average (float array[10])
{ int i;
float aver,sum=array[0];
for (i=1;i<10;i++)
sum=sum+array[i];
aver=sum/10;
return(aver);
}
main( )
{ float score[10]={89,67.5,78,91,56,82.5,65,70,79,88},aver;
int i;
aver=average (score);
printf (“average score is %5.2f ”,aver);
}
2.main( )
{ char a[5]={‘A’,‘B’,‘C’,‘D’,‘E’},*p=a,**pa;
printf(“%2c”,*p);
printf(“ ”);
printf(“%2c ”,**(pa=&p));
}
3.main( )
{ int a,b,s=0;
for(a=1,b=1;a<=100;a++)
{ if(b>=20) break;
if(b%3==1)
{ b+=3; continue; }
b-=5;
}
printf(“a=%d b=%d ”,a,b);
}
4.main()
{ printf(“main( ) :%d ”,fact(5));
fact(-5);
}
fact(int value)
{ int f;
if(value<0)
{ printf(“Arg error ");
return(-1);
}
else if(value==1||value==0) f=1;
else f=value*fact(value-1)+1;
printf(“This called value=%d ”,f);
return f;
}
5.main( )
{ int a=012,b=0x12,k=12;
char c=‘102’,d=‘ ’;
printf(“a=%d b=%d k=%d ”,a,b,k);
printf(“c=%c,d=%c%o ”,c,d,a);
a=‘A’; c=49;
printf(“a=%d c=%c ”,a,c);
}
四 閱讀下列程序,在 處填入適當(dāng)內(nèi)容,使程序完整(8分,每個(gè)空1分)
1.有一個(gè)3*4矩陣,求其中的最大元素。
max_value( (1) )
{ int i,j,max;
max=array[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(array[i][j]>max)
max=array[i][j];
(2) ;
}
main( )
{ int a[3][4], i,j;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
(3) ;
printf(“max value is %d ”,max_value(a));
}
2.輸入x、y兩個(gè)整數(shù),按先大后小的順序輸出x、y。
#include “stdio.h”
main( )
{ int x,y, *px,*py, (4) ;
scanf(“%d%d”,&x,&y);
(5) ; (6) ;
if(x
{ p=px; px=py; py=p; }
printf(“x=%d,y=%d ”,x,y);
printf(“MAX=%d,MIN=%d ”,*px,*py);
}
3.用選擇排序法對(duì)任意10個(gè)整數(shù)按照由小到大排序。
main()
{ int a[11],i,j,k,t;
printf("Please input 10 numbers: ");
for(i=1;i<11;i++) scanf("%d",&a[i]);
printf(" ");
for(i=1;i<=9;i++)
{ (7) ;
for(j=i+1; (8) ;j++)
if(a[j]>a[k]) k=j;
if(k!=i)
{ t=a[k]; a[k]=a[i]; a[i]=t;}
}
printf("The sorted numbers: ");
for(i=1;i<11;i++) printf("%d ",a[i]);
}
答案
一 選擇題(7分,每小題0.5分)
1. B 2. C 3. B 4. B 5. C
6. A 7. B 8. A 9. A 10. C
11. A 12. A 13. B 14. D
二 判斷對(duì)錯(cuò),對(duì)的劃“√”,錯(cuò)的劃“×”(5分,每小題0.5分)
1.× 2.× 3.√ 4.√ 5.×
6.× 7.× 8.× 9.√ 10.√
三 寫出下列程序的運(yùn)行結(jié)果(10分,每小題2分)
1. 2. 3.
4. 5.
四 閱讀下列程序,在 處填入適當(dāng)內(nèi)容,使程序完整(8分,每個(gè)空1分)
1.(1)int array[3][4](int array[][4]) (2)return(max) (3)scanf(“%d”,&a[i][j])
2.(4)*p (5)px=&x(py=&y) (6)py=&y(px=&x)
3.(7) (8)
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言考試試題帶答案 7
一 選擇題(24分,每小題2分)
1.已知函數(shù)fread的調(diào)用形式為fread(buffer,size,count,fp),其中buffer代表的是( )。
A 存放讀入數(shù)據(jù)項(xiàng)的存儲(chǔ)區(qū) B 存放讀入數(shù)據(jù)的地址或指向此地址的指針
C 一個(gè)指向所讀文件的文件指針 D 一個(gè)整形變量,代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)
2.以下程序的輸出結(jié)果為( )。
main( )
{ int i=010,j=10;
printf("%d,%d ",i++,j--);
}
A 11,9 B 9,10 C 8,10 D 9,9
3.設(shè)a為int型變量,執(zhí)行下列賦值語(yǔ)句后,a的取值分別是( )。a=125.534;a=20.0/3;a=(int)125.521%4;a=5<<2;
A 125,6,31,1 B 125,6,1,20 C 125,6.666666,31,20 D 125.534,6.666666,2,20
4.設(shè)i和k都是int類型,則for循環(huán)語(yǔ)句( )。
for(i=0,k=-1;k=1;i++,k++) printf("****");
A 循環(huán)結(jié)束的條件不合法 B 循環(huán)體一次也不執(zhí)行 C 循環(huán)體只執(zhí)行一次 D 是無(wú)限循環(huán)
5.以下程序的輸出結(jié)果為( )。
main( )
{ char c;
int i;
for(i=65;i<68;i++)
{ c=i+32;
switch(c)
{ case a:case b:case c:printf("%c,",c);break; default:printf("end");}
}
}
A a,b,c,end B a,a,a,end C a,a,a, D a,b,c,
6.函數(shù)調(diào)用語(yǔ)句:fseek(fp,-10L,2);的含義是( )。
A 將文件位置指針從文件末尾處向文件頭的方向移動(dòng)10個(gè)字節(jié)
B 將文件位置指針從當(dāng)前位置向文件頭的方向移動(dòng)10個(gè)字節(jié)
C 將文件位置指針從當(dāng)前位置向文件末尾方向移動(dòng)10個(gè)字節(jié)
D 將文件位置指針移到距離文件頭10個(gè)字節(jié)處
7.以下程序的輸出結(jié)果為( )。
main( )
{ char s1[40]="country",s2[20]="side";
int i=0,j=0;
while(s1[i]!=) i++;
while(s2[j]!=) s1[i++]=s2[j++];
s1[i]=0;
printf("%s ",s1);
}
A side B country C sidetry D countryside
8.下列說(shuō)法不正確的是( )。
A 主函數(shù)main中定義的變量在整個(gè)文件或程序中有效
B 不同函數(shù)中,可以使用相同名字的變量
C 形式參數(shù)是局部變量
D 在一個(gè)函數(shù)內(nèi)部,可以在復(fù)合語(yǔ)句中定義變量,這些變量只在本復(fù)合語(yǔ)句中有效
9.在下列程序段中,枚舉變量 c1的值是( )。
enum color { red,yellow,blue=4,green,white}c1; c1=yellow; c1=white;
A 1 B 3 C 5 D 6
10.設(shè)有說(shuō)明 int (*ptr)();其中標(biāo)識(shí)符ptr是( )。
A 是一個(gè)指向整形變量的指針 B 是一個(gè)指針,它指向一個(gè)函數(shù)值是int的函數(shù)
C 是一個(gè)函數(shù)名 D定義不合法
11.定義由n個(gè)指向整形數(shù)據(jù)的指針組成的數(shù)組p,其正確的方式為( )。
A int p; B int (*p)[n]; C int *p[n]; D int (*p)( );
12.具有相同類型的指針類型變量p與數(shù)組a,不能進(jìn)行的操作是( )。
A p=a; B *p=a[0]; C p=&a[0]; D p=&a;
二 判斷對(duì)錯(cuò),對(duì)的劃“√”,錯(cuò)的劃“×”(20分,每小題2分)
1.參加位運(yùn)算的數(shù)據(jù)可以是任何類型的數(shù)據(jù)。( )
2.若有定義和語(yǔ)句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通過(guò)鍵盤輸入:10,A,12.5,則a=10,c=‘A’,f=12.5。( )
3.C語(yǔ)言把文件看作是一個(gè)字符(字節(jié))的'序列。( )
4.若有宏定義:#define S(a,b) t=a;a=b;b=t由于變量t沒(méi)定義,所以此宏定義是錯(cuò)誤的。( )
5.在Turbo C中,下面的定義和語(yǔ)句是合法的:file *fp;fp=fopen("a.txt","r");( )
6.若有定義:char s[ ]="china";則Turbo C系統(tǒng)為數(shù)組s開辟6個(gè)字節(jié)的內(nèi)存單元。( )
7.若有定義和語(yǔ)句:int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i<3;i++) sum+=a[i][2-i];則sum=21。( )
8.若有定義和語(yǔ)句:struct student { int num; char name[10]; float score;} s[5]={{1,"lili",98.5},{9,"xiaohua",66}},*p=s;printf("%d",*p++);輸出結(jié)果是1。( )
9.在程序中定義了一個(gè)結(jié)構(gòu)體類型后,可以多次用它來(lái)定義具有該類型的變量。( )
10.在Turbo C中,此定義和語(yǔ)句是合法的:enum aa{ a=5,b,c}bb;bb=(enum aa)5;( )
三 寫出下列程序的運(yùn)行結(jié)果(36分,每小題6分)
1.main( )
{ int i=29,j=6,k=2,s;
s=i+i/j%k-9;
printf(“s=%d ”,s);
}
2.main( )
{ int x=31,y=2,s=0;
do
{ s-=x*y;
x+=2;
y-=3;} while( x%3==0);
printf(“x=%d y=%d s=%d ”,x,y,s);
}
3.main( )
{ int a[6]={10,20,30,40,50,60},i;
invert(a,0,5);
for(i=0;i<6;i++) printf(“%d,”,a[i]);
printf(“ ”);
}
invert(int s[ ],int i,int j)
{ int t;
if(i
{ invert(s,i+1j-1);
t=s[i];s[i]=s[j];s[j]=t;
}
}
4.#include
main()
{ char str[ ]=“The C program”,c;
int i;
for(i=2;(c=str[i])!=‘’;i++)
{ switch(c)
{ case ‘g’: ++i; break;
case ‘o’: continue;
default: printf(“%c”,c); continue;
}
printf(“*”);
}
printf(“ ”);
}
5.struct w
{ char low;
char high;
};
union u
{ struct w byte;
short word;
}uw;
main( )
{ int result;
uw.word=0x1234;
printf(“word value:%04x ”,uw.word);
printf(“high byte:%02x ”,uw.byte.high);
printf(“l(fā)ow byte:%02x ”,uw.byte.low);
uw.byte.low=0x74;
printf(“word value:%04x ”,uw.word);
result=uw.word+0x2a34;
printf(“the result:%04x ”,result);
}
6.main()
{ char *s2=“I love China!”,**s1=&s2;
char *s3,c,*s4=“w”;
s3=&c;
*s3=‘H’;
s2=s2+2;
printf(“%s %c %s %c ”,s2,*s3,s4,**s1);
}
四 閱讀下列程序,在 處填入適當(dāng)內(nèi)容,使程序完整(20分,每個(gè)空2分)
1. 百馬百擔(dān)問(wèn)題:有100匹馬,馱100擔(dān)貨,大馬馱3擔(dān),中馬馱2擔(dān),兩匹小馬馱1擔(dān),問(wèn)大、中、小馬各多少匹?
main( )
{ int hb,hm,hl,n=0;
for(hb=0;hb<=100;hb+= (1) )
for(hm=0;hm<=100-hb;hm+= (2) )
{ hl=100-hb- (3) ;
if(hb/3+hm/2+2* (3) ==100)
{ n++;
printf("hb=%d,hm=%d,hl=%d ",hb/3,hm/2,2*hl);
}
}
printf("n=%d ",n);
}
2.用“起泡法”對(duì)輸入的10個(gè)字符排序后按從小到大的次序輸出。
#define N 10
char str[N];
main()
{ int i,flag;
for(flag=1;flag==1;)
{ scanf("%s",str);
flag=0;
printf(" ");
}
sort(___(4)___);
for(i=0;i
printf("%c",str[i]);
printf(" ");
}
sort(char str[N])
{ int i,j;
char t;
for(j=1;j
for(i=0;(i
if(str[i]>str[i+1])
{ t=str[i];
____(5)____;
____(6)____;
}
}
3.以下程序是一個(gè)函數(shù),功能是求二階矩陣(m行n列矩陣)的所有靠外側(cè)的各元素值之和。(本程序中二階矩陣用一維數(shù)組來(lái)表示。)
例如,矩陣為:
3 0 0 3
2 5 7 3
1 0 4 2
則所有靠外側(cè)的各元素值之和為3+0+0+3+2+3+1+0+4+2=18。
add(int m,int n,int arr[])
{ int i,j,sum=0;
for(i=0;i
for(j=0;j
sum=sum+ (7) ;
for(j=0;j
for(i=1; (8) ;i++)
sum=sum+arr[i*n+j];
return(sum);
}
4.用指針作函數(shù)參數(shù),編程序求一維數(shù)組中的最大和最小的元素值。
#define N 10
main()
{ void maxmin(int arr[],int *pt1,int *pt2,int n);
int array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;
p1=&a; p2=&b;
maxmin(array,p1,p2,N);
printf("max=%d,min=%d",a,b);
}
void maxmin(int arr[],int *pt1,int *pt2,int n)
{ int i;
*pt1=*pt2=arr[0];
for(i=1;i
{ if(arr[i]>*pt1) (9) ;
if(arr[i]<*pt2) (10) ;
}
}
答案
一 選擇題(24分,每小題2分)
1.( B ) 2.( C ) 3.( B ) 4.( D ) 5.( D ) 6.( A )
7.( D ) 8.( A ) 9.( D ) 10.( B ) 11.( C ) 12.( D )
二 判斷對(duì)錯(cuò),對(duì)的劃“√”,錯(cuò)的劃“×”(20分,每小題2分)
1.( × ) 2.( √ ) 3.( √ ) 4.( × ) 5.( × )
6.( √ ) 7.( √ ) 8.( × ) 9.( √ ) 10.( √ )
三 寫出下列程序的運(yùn)行結(jié)果(36分,每小題6分)
1. s=20 2.x=35 y=-4 s=-29 3.60,50,40,30,20,10,
4.e C pr*am 5.word value:1234 6.love China! H w l
high byte:12
low byte:34
word value:1274
the result:3ca8
四 閱讀下列程序,在 處填入適當(dāng)內(nèi)容,使程序完整(20分,每個(gè)空2分)
1.(1) 3 (2) 2 (3)hm hl
2.(4) str (5) str[i]=str[i+1] (6) str[i+1]=t
3.(7) arr[i*n+j](或者arr[i*10+j])
(8) i
4.(9) *ptr1=arr[i] (10) *ptr2=arr[i]
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言考試試題帶答案 8
(1)算法的時(shí)間復(fù)雜度是指_______。
A)執(zhí)行算法程序所需要的時(shí)間
B)算法程序的長(zhǎng)度
C)算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)
D)算法程序中的指令條數(shù)
答案:C
評(píng)析:所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。
(2)下列敘述中正確的是________。
A)線性表是線性結(jié)構(gòu)B)棧與隊(duì)列是非線性結(jié)構(gòu)
C)線性鏈表是非線性結(jié)構(gòu)D)二叉樹是線性結(jié)構(gòu)
答案:A
評(píng)析:一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。
(3)下面關(guān)于完全二叉樹的敘述中,錯(cuò)誤的是_________。
A)除了最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值
B)可能缺少若干個(gè)左右葉子結(jié)點(diǎn)
C)完全二叉樹一般不是滿二叉樹
D)具有結(jié)點(diǎn)的完全二叉樹的深度為[log2n]+1
答案:B
評(píng)析:滿二叉樹指除最后一層外每一層上所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)的二叉樹。完全二叉樹指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一層上只缺少右邊的若干子結(jié)點(diǎn)(葉子結(jié)點(diǎn))的二叉樹。
C語(yǔ)言筆試題答案篇
(1)結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是_________。
A)程序的規(guī)模B)程序的易讀性
C)程序的執(zhí)行效率D)程序的`可移植性
答案:B
評(píng)析:結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是結(jié)構(gòu)化程序清晰易讀,可理解性好,程序員能夠進(jìn)行逐步求精、程序證明和測(cè)試,以保證程序的正確性。
(2)在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是________。
A)概要設(shè)計(jì)B)詳細(xì)設(shè)計(jì)C)可行性分析D)需求分析
答案:D
評(píng)析:需求分析是對(duì)待開發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義,即準(zhǔn)確地確定軟件系統(tǒng)的功能。編寫軟件規(guī)格說(shuō)明書及初步的用戶手冊(cè),提交評(píng)審。
(3)數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是_________。
A)控制流B)加工C)數(shù)據(jù)存儲(chǔ)D)源和潭
答案:A
評(píng)析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲(chǔ)文件(數(shù)據(jù)源)、源和潭。
(4)軟件需求分析一般應(yīng)確定的是用戶對(duì)軟件的__________。
A)功能需求B)非功能需求C)性能需求D)功能需求和非功能需求
答案:D
評(píng)析:軟件需求分析中需要構(gòu)造一個(gè)完全的系統(tǒng)邏輯模型,理解用戶提出的每一功能與性能要求,是用戶明確自己的任務(wù)。因此,需求分析應(yīng)確定用戶對(duì)軟件的功能需求和非功能需求。
C語(yǔ)言筆試題答案篇
(1)下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘述中正確的是________。
A)數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余
B)數(shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余
C)數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致
D)數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
答案:A
評(píng)析:由數(shù)據(jù)的共享自身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲(chǔ)空間,更為重要的是可以避免數(shù)據(jù)的不一致性。所謂數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的值。
(2)關(guān)系表中的每一橫行稱為一個(gè)________。
A)元組B)字段C)屬性D)碼
答案:A
評(píng)析:在關(guān)系數(shù)據(jù)庫(kù)中,關(guān)系模型采用二維表來(lái)表示,簡(jiǎn)稱“表”。二維表是由表框架及表元組組成。在表框架中,按行可以存放數(shù)據(jù),每行數(shù)據(jù)稱為元組。
(3)數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是________。
A)概念設(shè)計(jì)和邏輯設(shè)計(jì)B)模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)
C)內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D)結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)
答案:A
評(píng)析:數(shù)據(jù)庫(kù)設(shè)計(jì)可分為概念設(shè)計(jì)與邏輯設(shè)計(jì)。概念設(shè)計(jì)的目的是分析數(shù)據(jù)間內(nèi)在語(yǔ)義關(guān)聯(lián),在此基礎(chǔ)上建立一個(gè)數(shù)據(jù)的抽象模型。邏輯設(shè)計(jì)的主要工作是將ER圖轉(zhuǎn)換為指定的RDBMS中的關(guān)系模型。
(4)請(qǐng)讀程序:
#include
main
{
int a;float b,c;
scanf(“%2d%3P%4f’,&a,&b,&C);
printf(” a=%d,b=%ec。%f ”,a,b,C);
}
若運(yùn)行時(shí)從鍵盤上輸入9876543210l,則上面程序的輸出結(jié)果是________。
A)a=98,b=765,c=432 1
B)a=1 0,b=432,c=8765
C)a=98,b=765.000000,c=432 1.000000
D)a=98,b=765.0,c=432 1.0
答案:C
評(píng)析:scanf把用戶從鍵盤錄入的數(shù)字的第1、2位存入整型變量a;把第3、4、5位存入單精度實(shí)型變量b,把第6、7、8、9位存入單精度實(shí)型變量c,用戶錄入的第10位被scanf遺棄。這時(shí)變量a、b、c的值分別為:98、765.000000、4321.000000。
(5)一個(gè)良好的算法由下面的基本結(jié)構(gòu)組成,但不包括__________。
A)順序結(jié)構(gòu)B)選擇結(jié)構(gòu)C)循環(huán)結(jié)構(gòu)D)跳轉(zhuǎn)結(jié)構(gòu)
答案:D
評(píng)析:1966年,Bohra和Jacopini提出了以下三種基本結(jié)構(gòu),用這三種基本結(jié)構(gòu)作為表示一個(gè)良好算法的基本單元:1、順序結(jié)構(gòu);2、選擇結(jié)構(gòu);3、循環(huán)結(jié)構(gòu)。
(6)請(qǐng)選出以下程序的輸出結(jié)果________。
#include
sub(x,y,z)
int x,y,星符號(hào)z:
{星符號(hào)z變化,所以此次函數(shù)被調(diào)用后,a的值為y-x=-5,同理可知,在sub(7,a,&b)后,b的值發(fā)生變化,其值為-5-7=-12,在sub(a,b,&C)后,c的值發(fā)生變化,其值為-12-(-5)=-7。
(7)下面程序在屏幕上的輸出是________。
main
{
printf(”ab c”);
}
A)ab c B)a c C)abc D)ab c
答案:B
評(píng)析:c語(yǔ)言中允許使用一種特殊形式的字符常量,、就是以一個(gè)“”開頭的字符序列,這樣的字符稱為“轉(zhuǎn)義字符”。常用的轉(zhuǎn)義字符有: ,換行;,水平制表;,退格;,回車。
(8)若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達(dá)式是_______。
A)pb=&x; B)pb=x; C)星符號(hào)pb=星符號(hào)、/)還包括自增自減運(yùn)算符(++、–),在c語(yǔ)言解析表達(dá)式時(shí),它總是進(jìn)行貪婪咀嚼,這樣,該表達(dá)式就被解析為i++ ++ +i,顯然該表達(dá)式不合c語(yǔ)言語(yǔ)法。
(10)若要用下面的程序片段使指針變量p指向一個(gè)存儲(chǔ)整型變量的動(dòng)態(tài)存儲(chǔ)單元
int星符號(hào)int) D)(int星符號(hào))
答案:D
評(píng)析:不論p是指向什么類型的指針變量,都可以通過(guò)強(qiáng)制類型轉(zhuǎn)換的方法使之類型一致,強(qiáng)制類型轉(zhuǎn)換的格式為(數(shù)據(jù)類型+)。
(11)下面程序輸出的結(jié)果是__________。
main
{
int i=5,J=9,x;
x=(I==j?i:(j=7));
printf(” %d,%d”,I,J);
}
A)5,7 B)5,5 C)語(yǔ)法錯(cuò)誤D)7,5
答案:A
評(píng)析:條件表達(dá)式的一般形式為:表達(dá)式I?表達(dá)式2:表達(dá)式3;先求解表達(dá)式1,若為真則求解表達(dá)式2;若表達(dá)式l的值為假,則求解表達(dá)式3。本題中先判斷i==j,不等,執(zhí)行j=7;然后執(zhí)行x=7。故本題為A。
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言考試試題帶答案 9
1.下面對(duì)軟件特點(diǎn)描述不正確的是()。
A.軟件是一種邏輯實(shí)體,具有抽象性
B.軟件開發(fā)、運(yùn)行對(duì)計(jì)算機(jī)系統(tǒng)具有依賴性
C.軟件開發(fā)涉及軟件知識(shí)產(chǎn)權(quán)、法律及心理等社會(huì)因素
D.軟件運(yùn)行存在磨損和老化問(wèn)題
【答案】D
【解析】軟件具有以下特點(diǎn):①軟件具有抽象性,是一種邏輯實(shí)體;②軟件沒(méi)有明顯的制作過(guò)程;③軟件在使用期間不存在磨損、老化問(wèn)題,④對(duì)硬件和環(huán)境具有依賴性;⑤軟件復(fù)雜性高,成本昂貴;⑥軟件開發(fā)涉及諸多的社會(huì)因素。D項(xiàng)描述是硬件存在的問(wèn)題。答案選擇D選項(xiàng)。
2.下面描述不屬于軟件特點(diǎn)的是()。
A.軟件是一種邏輯實(shí)體,具有抽象性
B.軟件在使用中不存在磨損、老化問(wèn)題
C.軟件復(fù)雜性高
D.軟件使用不涉及知識(shí)產(chǎn)權(quán)
【答案】D
【解析】軟件具有以下特點(diǎn):①軟件是一種邏輯實(shí)體,具有抽象性;②軟件沒(méi)有明顯的制作過(guò)程,③軟件在使用期間不存在磨損、老化問(wèn)題;④軟件對(duì)硬件和環(huán)境具有依賴性;⑤軟件復(fù)雜性高,成本昂貴,⑥軟件開發(fā)涉及諸多的社會(huì)因素,如知識(shí)產(chǎn)權(quán)等。答案選擇D選項(xiàng)。
3.下面對(duì)軟件特點(diǎn)描述錯(cuò)誤的是()
A.軟件沒(méi)有明顯的制作過(guò)程
B.軟件是一種邏輯實(shí)體,不是物理實(shí)體,具有抽象性
C.軟件的開發(fā)、運(yùn)行對(duì)計(jì)算機(jī)系統(tǒng)具有依賴性
D.軟件在使用中存在磨損、老化問(wèn)題
【答案】D
【解析】軟件的特點(diǎn)有:①具有抽象性,是邏輯實(shí)體;②沒(méi)有明顯的制作過(guò)程;③在使用期間不存在磨損、老化問(wèn)題;④對(duì)硬件和環(huán)境具有依賴性;⑤復(fù)雜性高,成本昂貴;⑥開發(fā)涉及諸多的社會(huì)因素。答案選擇D選項(xiàng)。
4.軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是()。
A.編輯軟件
B.操作系統(tǒng)
C.教務(wù)管理系統(tǒng)
D.瀏覽器
【答案】B
【解析】系統(tǒng)軟件是控制和協(xié)調(diào)計(jì)算機(jī)及外部設(shè)備,支持應(yīng)用軟件開發(fā)和運(yùn)行的軟件,操作系統(tǒng)是系統(tǒng)軟件;支撐軟件是支撐各種軟件的開發(fā)與維護(hù)的軟件,又稱為軟件開發(fā)環(huán)境,瀏覽器屬于支撐軟件;應(yīng)用軟件是用戶可以使用的各種程序設(shè)計(jì)語(yǔ)言,以及用各種程序設(shè)計(jì)語(yǔ)言編制的應(yīng)用程序的集合,編輯軟件、教務(wù)管理軟件屬于應(yīng)用軟件。答案選擇B選項(xiàng)。
5.軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件),下面屬于應(yīng)用軟件的是()。
A.學(xué)生成績(jī)管理系統(tǒng)
B. C語(yǔ)言編譯程序
C. UNIX操作系統(tǒng)
D.數(shù)據(jù)庫(kù)管理系統(tǒng)
【答案】A
【解析】應(yīng)用軟件是為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件,如事務(wù)處理軟件,工程與科學(xué)計(jì)算軟件,學(xué)生成績(jī)管理系統(tǒng)、教務(wù)管理系統(tǒng)、瀏覽器、編輯軟件等應(yīng)用性質(zhì)不同的各種軟件。系統(tǒng)軟件是計(jì)算機(jī)管理自身資源,提高計(jì)算機(jī)使用效率并服務(wù)于其他程序的軟件,如操作系統(tǒng),編譯程序,匯編程序,數(shù)據(jù)庫(kù)管理系統(tǒng)等。支撐軟件是介于系統(tǒng)軟件和應(yīng)用軟件之間,協(xié)助用戶開發(fā)軟件的工具性軟件,包括輔助和支持開發(fā)和維護(hù)應(yīng)用軟件的工具軟件,如需求分析工具軟件,設(shè)計(jì)工具軟件,編碼工具軟件,測(cè)試工具軟件,維護(hù)工具軟件等。答案選擇A選項(xiàng)。
6.數(shù)據(jù)庫(kù)管理系統(tǒng)是()。
A.操作系統(tǒng)的一部分
B.在操作系統(tǒng)支持下的系統(tǒng)軟件
C.一種編譯系統(tǒng)
D.一種操作系統(tǒng)
【答案】B
【解析】系統(tǒng)軟件主要包括:①操作系統(tǒng)軟件;②各種語(yǔ)言的解釋程序和編譯程序;③各種服務(wù)性程序;④各種數(shù)據(jù)庫(kù)管理系統(tǒng)。數(shù)據(jù)庫(kù)管理系統(tǒng)是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)組操縱、數(shù)據(jù)維護(hù)、控制和保護(hù)以及數(shù)據(jù)服務(wù)等。答案選擇B選項(xiàng)。
7.數(shù)據(jù)庫(kù)管理系統(tǒng)是()。
A.操作系統(tǒng)的一部分
B.在操作系統(tǒng)支持下的系統(tǒng)軟件
C.一種編譯系統(tǒng)
D.一種通信軟件系統(tǒng)
【答案】B
【解析】系統(tǒng)軟件主要包括:①操作系統(tǒng)軟件;②各種語(yǔ)言的解釋程序和編譯程序;③各種服務(wù)性程序;④各種數(shù)據(jù)庫(kù)管理系統(tǒng)。數(shù)據(jù)庫(kù)管理系統(tǒng)是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)組操縱、數(shù)據(jù)維護(hù)、控制和保護(hù)以及數(shù)據(jù)服務(wù)等。答案選擇B選項(xiàng)。
8.下列選項(xiàng)中,不屬于數(shù)據(jù)管理員(DBA)職責(zé)的`是()。
A.數(shù)據(jù)庫(kù)維護(hù)
B.數(shù)據(jù)庫(kù)設(shè)計(jì)
C.改善系統(tǒng)性能,提高系統(tǒng)效率
D.數(shù)據(jù)類型轉(zhuǎn)換
【答案】D
【解析】數(shù)據(jù)庫(kù)管理員對(duì)數(shù)據(jù)庫(kù)進(jìn)行規(guī)劃、設(shè)計(jì)、維護(hù)、監(jiān)視等,其主要工作有:①數(shù)據(jù)庫(kù)設(shè)計(jì),主要是對(duì)數(shù)據(jù)模式進(jìn)行設(shè)計(jì),②數(shù)據(jù)庫(kù)維護(hù),對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)安全性、完整性、并發(fā)控制及系統(tǒng)恢復(fù)、數(shù)據(jù)定期轉(zhuǎn)儲(chǔ)等進(jìn)行實(shí)施與維護(hù);③改善系統(tǒng)性能,不斷調(diào)整內(nèi)部結(jié)構(gòu),提高系統(tǒng)效率。答案選擇D選項(xiàng)。
9.數(shù)據(jù)庫(kù)系統(tǒng)的核心是()。
A.數(shù)據(jù)模型
B.軟件開發(fā)
C.數(shù)據(jù)庫(kù)設(shè)計(jì)
D.數(shù)據(jù)庫(kù)管理系統(tǒng)
【答案】D
【解析】數(shù)據(jù)庫(kù)系統(tǒng)包括四個(gè)部分:數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)應(yīng)用程序、數(shù)據(jù)庫(kù)管理員。其中DBMS是為數(shù)據(jù)庫(kù)的建立、使用和維護(hù)而配置的軟件,是數(shù)據(jù)庫(kù)系統(tǒng)的核心。答案選擇D選項(xiàng)。
10.下列敘述中正確的是()。
A.數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持
B.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題
C.數(shù)據(jù)庫(kù)管理系統(tǒng)就是數(shù)據(jù)庫(kù)系統(tǒng)
D.數(shù)據(jù)庫(kù)系統(tǒng)由數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)組成。
【答案】B
【解析】A項(xiàng)錯(cuò)誤,數(shù)據(jù)庫(kù)需要調(diào)用操作系統(tǒng)的接口,需要操作系統(tǒng)的支持;C項(xiàng)錯(cuò)誤,數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是數(shù)據(jù)庫(kù)系統(tǒng)的核心,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)據(jù)操作、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等;D項(xiàng)錯(cuò)誤,數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)再加上應(yīng)用軟件及應(yīng)用界面這三者所組成,具體包括:數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)管理員、硬件平臺(tái)、軟件平臺(tái)、應(yīng)用軟件、應(yīng)用界面。答案選擇B選項(xiàng)。
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言考試試題帶答案 10
1.下列敘述中正確的是()。
A.所有數(shù)據(jù)結(jié)構(gòu)必須有根結(jié)點(diǎn)
B.所有數(shù)據(jù)結(jié)構(gòu)必須有終端結(jié)點(diǎn)(即葉子結(jié)點(diǎn))
C.只有一個(gè)根結(jié)點(diǎn),且只有一個(gè)葉子結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)一定是線性結(jié)構(gòu)
D.沒(méi)有根結(jié)點(diǎn)或沒(méi)有葉子結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)一定是非線性結(jié)構(gòu)
【答案】D
【解析】D項(xiàng)正確,線性結(jié)構(gòu)的特點(diǎn)是:①集合中必存在“第一個(gè)元素"且惟一②集合中必存在“最后一個(gè)元素”且惟一;③除最后一個(gè)元素外,其他數(shù)據(jù)元素均有惟一的“后繼”,④除第一個(gè)元素外,其他數(shù)據(jù)元素均有惟一的“前驅(qū)”。所以沒(méi)有根結(jié)點(diǎn)或沒(méi)有葉子結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)一定是非線性結(jié)構(gòu)。AB兩項(xiàng)錯(cuò)誤,不是所有數(shù)據(jù)結(jié)構(gòu)都必須有根結(jié)點(diǎn)和葉子結(jié)點(diǎn);C項(xiàng)錯(cuò)誤,數(shù)據(jù)結(jié)構(gòu)中若有中間結(jié)點(diǎn)不滿足只有一個(gè)前件或者后件的條件,就不是線性結(jié)構(gòu)。答案選擇D選項(xiàng)。
2.以下敘述中錯(cuò)誤的是()。
A. C語(yǔ)言中的每條可執(zhí)行語(yǔ)句和非執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令
B. C程序經(jīng)過(guò)編譯、鏈接步驟之后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件
C.用C語(yǔ)言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個(gè)文本文件中
D. C語(yǔ)言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序
【答案】A
【解析】A項(xiàng)錯(cuò)誤,注釋語(yǔ)句不會(huì)被翻譯成二進(jìn)制的機(jī)器指令。C源程序經(jīng)過(guò)C編譯程序編譯之后生成后綴為.obj的二進(jìn)制文件(稱為目標(biāo)文件),然后由“鏈接程序”(Link)的軟件把.obj文件與各種庫(kù)函數(shù)連接起來(lái)生成一個(gè)后綴為.exe的可執(zhí)行文件。答案選擇A選項(xiàng)。
3. C語(yǔ)言主要是借助以下()功能來(lái)實(shí)現(xiàn)程序模塊化的。
A.定義函數(shù)
B.定義常量和外部變量
C.三種基本結(jié)構(gòu)語(yǔ)句
D.豐富的數(shù)據(jù)類型
【答案】A
【解析】C程序的模塊化主要通過(guò)函數(shù)來(lái)實(shí)現(xiàn)。C語(yǔ)言允許對(duì)函數(shù)單獨(dú)進(jìn)行編譯,從而可以實(shí)現(xiàn)模塊化。答案選擇A選項(xiàng)。
4.有以下程序段:
char ch;
int k;
ch='a';
k=12;
print("%c,%d,",h,ch,k);
printf("k=%d",k);
已知字符a的ASCII碼十進(jìn)制值為97,則執(zhí)行上述程序段后輸出的結(jié)果是()。
A.因變量類型與格式描述符的類型不匹配輸出無(wú)定值
B.輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值
C.a,97,12k=12
D. a,97,k=12
【答案】D
【解析】字符變量的值是該字符的ASCII碼值,可以參與整型變量所允許的任何運(yùn)算。"ch='a",%c表示以字符格式輸出ch的值,所以輸出為a;%d表示以十進(jìn)制代碼的形式輸出ch的值,為97;k沒(méi)有對(duì)應(yīng)的輸出格式,不輸出。在第二個(gè)語(yǔ)句中,首先輸出"k=",然后以十進(jìn)制代碼輸出k的值,為12。答案選擇D選項(xiàng)。
5.下列敘述中正確的是()。
A.棧是“先進(jìn)先出”的線性表
B.隊(duì)列是“先進(jìn)后出"的線性表
C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)
D.有序線性表既可以采用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
【答案】D
【解析】有序的線性表既可采用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。A項(xiàng)錯(cuò)誤,棧是“先進(jìn)后出"的線性表B項(xiàng)錯(cuò)誤,隊(duì)列是“先進(jìn)先出"的線性表;C項(xiàng)錯(cuò)誤,循環(huán)隊(duì)列是線性結(jié)構(gòu)的`,有序的線性表既可采用順序存儲(chǔ)結(jié)構(gòu),也可采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
6.某二叉樹的中序序列為DCBAEFG,后序序列為DCBGFEA,則該二叉樹的深度(根結(jié)點(diǎn)在第1層)為()。
A. 5
B. 40
C.3
D. 2
【答案】B
【解析】二叉樹的后序序列為DCBGFEA,則A為根結(jié)點(diǎn)。中序序列為DCBAEFG,則DCB為左子樹結(jié)點(diǎn),EFG為右子樹結(jié)點(diǎn)。同理B為C父結(jié)點(diǎn),C為D父結(jié)點(diǎn)。根據(jù)分析,可畫出左子樹,同理E為F父結(jié)點(diǎn),F(xiàn)為G父結(jié)點(diǎn)。根據(jù)分析,可畫出右子樹,故二叉樹深度為4層。答案選擇B選項(xiàng)。
7.設(shè)有定義:struct{intn;floatx;}s[2],m[2]={{10,2.8},{0,0.0}};,則以下賦值語(yǔ)句中正確的是()。
A. s[0]=m[1];
B. s=m;
C.s.n=m.n;
D. s[2].x=m[2].x;
【答案】A
【解析】定義了結(jié)構(gòu)體類型數(shù)組s,長(zhǎng)度為2,結(jié)構(gòu)體類型數(shù)組m,長(zhǎng)度為2,并對(duì)數(shù)組m進(jìn)行了初始化。同類型的結(jié)構(gòu)體可以直接用變量名實(shí)現(xiàn)賦值,A項(xiàng)正確;數(shù)組名為數(shù)組首地址,地址常量之間不可以相互賦值,B項(xiàng)錯(cuò)誤;數(shù)組名為地址常量不是結(jié)構(gòu)體變量,不能引用成員,C項(xiàng)錯(cuò)誤;s[2]與m[2]數(shù)組越界,D項(xiàng)錯(cuò)誤。答案選擇A選項(xiàng)。
8.關(guān)于C語(yǔ)言標(biāo)識(shí)符,以下敘述錯(cuò)誤的是()。
A.標(biāo)識(shí)符可全部由數(shù)字組成
B.標(biāo)識(shí)符可全部由下劃線組成
C.標(biāo)識(shí)符可全部由小寫字母組成
D.標(biāo)識(shí)符可全部由大寫字母組成
【答案】A
【解析】C語(yǔ)言標(biāo)識(shí)符只能由字母、數(shù)字、下劃線構(gòu)成,且只能以字母、下劃線開頭,故答案選擇A選項(xiàng)。
9.以下程序段中的變量已定義為int類型,則
sum=pAd=5;
pAd=sum++,++pAd,pAd++;
printf("%d",pAd);
程序段的輸出結(jié)果是()。
A. 6
B. 4
C. 5
D. 7
【答案】D
【解析】自增和自減運(yùn)算符的兩種用法:前置運(yùn)算,運(yùn)算符放在變量之前,規(guī)則是先使變量的值增(或減)1,然后以變化后表達(dá)式的值參與其他運(yùn)算;后置運(yùn)算,運(yùn)算符放在變量之后,規(guī)則是變量先參與其他運(yùn)算,然后再使變量的值增(或減)1。執(zhí)行pAd=sum++,sum++是后置自增,執(zhí)行完后,pAd=5,sum=6。++pAd和pAd++語(yǔ)句中沒(méi)有其他運(yùn)算,即效果相同,pAd分別加1,兩句執(zhí)行完后,pAd7。答案選擇D選項(xiàng)。
10.設(shè)循環(huán)隊(duì)列為Q(1:m),其初始狀態(tài)為front=rear=m。經(jīng)過(guò)一系列入隊(duì)與退隊(duì)運(yùn)算后,front=20,rear=15。現(xiàn)要在該循環(huán)隊(duì)列中尋找最小值的元素,最壞情況下需要比較的次數(shù)為()。
A. 5
B. 6
C.m-5
D. m-6
【答案】D
【解析】循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu),用隊(duì)尾指針rear指向隊(duì)列中的隊(duì)尾元素,用隊(duì)首指針指向隊(duì)首元素的前一個(gè)位置,因此,從隊(duì)首指針front指向的后一個(gè)位置直到隊(duì)尾指針rear指向的位置之間所有的元素均為隊(duì)列中的元素,隊(duì)列初始狀態(tài)為front=rear=m,當(dāng)front=20,rear=15時(shí),隊(duì)列中有m-20+15=m-5個(gè)元素,最壞情況下需要比較次數(shù)為m-6次。答案選擇D選項(xiàng)。
【計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言考試試題帶答案10份】相關(guān)文章:
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言試題及答案10-31
2017計(jì)算機(jī)等級(jí)考試二級(jí)c語(yǔ)言考試試題08-22
2017計(jì)算機(jī)等級(jí)C語(yǔ)言考試試題及答案07-10
計(jì)算機(jī)二級(jí)考試C語(yǔ)言試題及答案10-11
計(jì)算機(jī)二級(jí)考試C語(yǔ)言試題與答案10-27
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)c語(yǔ)言考試試題08-26
2017計(jì)算機(jī)等級(jí)考試二級(jí)c++試題及答案08-19