- 相關(guān)推薦
全國計(jì)算機(jī)二級c語言題庫試題及答案
計(jì)算和模擬作為一種新的研究手段,常使一些學(xué)科衍生出新的分支學(xué)科。以下是關(guān)于全國計(jì)算機(jī)二級c語言題庫試題及答案,歡迎大家參考!
一、選擇題(每小題1分,共40分)
1). 設(shè)有定義: struct {char mark[12]; int num1; double num2;} t1,t2; 若變量均已正確賦初值,則以下語句中錯(cuò)誤的是 ( )
A.t2.num1=t1.num1;
B.t2.mark=t1.mark;
C.t1=t2;
D.t2.num2=t1.num2;
正確答案:B
答案解析:這個(gè)題目主要涉及到結(jié)構(gòu)體的定義與賦值操作。根據(jù)題意結(jié)構(gòu)體變量t1,t2的成員變量mark是字符數(shù)組,對于字符數(shù)組之間的賦值操作應(yīng)該使用循環(huán)語句對每個(gè)字符進(jìn)行賦值,而選項(xiàng)A是用數(shù)組名實(shí)現(xiàn)字符數(shù)組之間的賦值操作,是錯(cuò)誤的。
2). 若各選項(xiàng)中所用變量已正確定義,函數(shù)fun中通過return語句返回一個(gè)函數(shù)值,以下選項(xiàng)中錯(cuò)誤的程序是( )
A.main() { …… x=fun(2,10); ……} float fun(int a,int B{……}
B.float fun(int a,int B{……} main() { …… x=fun(i,j); ……}
C.float fun(int ,int); main() { …… x=fun(2,10); …… } float fun(int a,int B{……}
D.main() { float fun(int i,int j); …… x=fun(i,j); …… } float fun(int a,int B{……}
正確答案:A
答案解析:C語言規(guī)定,函數(shù)必須先定義,后調(diào)用(函數(shù)的返回值類型為int或char時(shí)除外)。在選項(xiàng)A中,調(diào)用的子函數(shù)在調(diào)用后面定義,所以不正確。在選項(xiàng)B、C中,被調(diào)用函數(shù)在主函數(shù)之前定義,再在主函數(shù)中調(diào)用,所以是正確的;在選項(xiàng)D中,在主函數(shù)中先對子函數(shù)float fun(int i,int j)進(jìn)行了聲明,然后進(jìn)行調(diào)用。
3). 數(shù)據(jù)庫設(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
答案解析:數(shù)據(jù)庫設(shè)計(jì)包括數(shù)據(jù)庫概念設(shè)計(jì)和數(shù)據(jù)庫邏輯設(shè)計(jì)兩個(gè)方面的內(nèi)容。
4). 在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是
A.不限制goto語句的使用
B.減少或取消注解行
C.程序越短越好
D.程序結(jié)構(gòu)應(yīng)有助于讀者理解
正確答案:D
答案解析:濫用goto 語句將使程序流程無規(guī)律,可讀性差,因此A不選;注解行有利于對程序的理解,不應(yīng)減少或取消,B也不選;程序的長短要依照實(shí)際情況而論,而不是越短越好,C也不選。
5). 關(guān)系表中的每一行記錄稱為一個(gè)( )。
A.字段
B.元組
C.屬性
D.關(guān)鍵碼
正確答案:B
答案解析:在關(guān)系表中,每一列稱為一個(gè)屬性,對應(yīng)表中的一個(gè)字段;每…行稱為一個(gè)元組,對應(yīng)表中的一條記錄。
二、操作題
【真題1】 下列給定程序中,函數(shù)fun()的功能是:通過某種方式實(shí)現(xiàn)兩個(gè)變量值的
交換,規(guī)定不允許增加語句和表達(dá)式。例如變量a初值為8,b 初值為3,程序運(yùn)行
后a 中的值為3,b 中的值為8。 試題程序:
#include < conio.h >
#include < stdio.h >
int fun(int *x,int y)
{ __1___ t;
t=*x;*x=y;
return(t)__2__
}
main()
{int a=3,b=8;
printf("%d %d\n ",a,b);
b=fun(__3__,b);
printf("%d %d\n ",a,b);
}
解析: 填空1:根據(jù)題目的意思,這里應(yīng)該是聲名一個(gè)新的變量t,由后面的賦
值語句以及返回語句可以明白這個(gè)變量應(yīng)該是整型的(因?yàn)楹瘮?shù)的返回值類型
是int)。
填空2:根據(jù)題目的意思,此處是子函數(shù)的返回語句,由C 語言的知識,每個(gè)
語句的結(jié)尾都應(yīng)該使用";" 。
填空3:fun()函數(shù)的調(diào)用方式說明fun()函數(shù)的參數(shù)應(yīng)當(dāng)為指針類型,即應(yīng)該
把變量的地址作為參數(shù)傳遞(符號"&"是取地址操作)。
答案:【1】int 【2】; 【3】&a
【真題2】 給定程序modi.c 中函數(shù)fun的功能是:求兩個(gè)形參的乘積和商數(shù),并
通過形參返回調(diào)用程序。 例如輸入:61.82 和 12.65,輸出為: c =
782.023000 d = 4.886957。 請改正 fun 函數(shù)中的錯(cuò)誤,使它能得出正確的結(jié)
果。 注意:不要改動 main 函數(shù),
#include < stdio.h >
#include < conio.h >
/**********found**********/
void fun ( double a, b, double x,y )
{/**********found**********/
x = a * b; y = a / b;
}
main ( )
{ double a, b, c, d;
clrscr( );
printf ( "Enter a , b : ");
scanf ( "%lf%lf", &a, &b );
fun ( a , b, &c, &d ) ;
printf (" c = %f d = %f\n ", c, d );
}
解析: 本題的考核點(diǎn)是C語言中函數(shù)的入口參數(shù)和指針的使用。
函數(shù)的參數(shù)表是由逗號分隔的變量表,變量表由變量類型和變量名組成,與普
通的變量說明不同,函數(shù)參數(shù)必須同時(shí)具有變量類型和變量名,因此應(yīng)該把程
序中"void fun ( double a, b, double x,y )"語句改為"void fun ( double a,
double b, double *x, double *y )"或相同作用的語句。
從主函數(shù)里的" fun ( a , b, &c, &d ) ; "語句可以看出,fun 函數(shù)后兩個(gè)參數(shù)
應(yīng)為長浮點(diǎn)型數(shù)據(jù)的指針,因此應(yīng)該把程序中"x = a * b; y = a / b;"語句改
為"*x = a * b; *y = a / b;"或相同作用的語句。
【全國計(jì)算機(jī)二級c語言題庫試題及答案】相關(guān)文章:
2017年全國計(jì)算機(jī)二級c語言題庫試題03-26
2017年計(jì)算機(jī)二級c語言題庫試題及答案03-28
計(jì)算機(jī)二級《C語言》模擬試題及答案03-29
2017年全國計(jì)算機(jī)二級c語言考試題庫03-11
計(jì)算機(jī)C語言試題及答案02-25