- 相關(guān)推薦
2017全國計算機二級C語(yǔ)言檢測試題
C語(yǔ)言已先后被移植到大、中、小及微型機上,它可以作為工作系統設計語(yǔ)言,編寫(xiě)系統應用程序,也可以作為應用程序設計語(yǔ)言,編寫(xiě)不依賴(lài)計算機硬件的應用程序。下面是小編收集的全國計算機二級C語(yǔ)言檢測試題,希望大家認真閱讀!

一、選擇題
1). 下列敘述中正確的是( )。
A.調用printf( )函數時(shí),必須要有輸出項
B.使用putchar( )函數時(shí),必須在之前包含頭文件stdio.h
C.在C語(yǔ)言中,整數可以以二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出
D.調節getchar( )函數讀入字符時(shí),可以從鍵盤(pán)上輸入字符所對應的ASCII碼
正確答案:B
答案解析:選項A,若printf函數沒(méi)有輸出項,且格式字符串中不含格式信息,則輸出的是格式字符串本身,若格式字符串含有格式信息,運行時(shí)則出現錯誤提示;選項C,在C語(yǔ)言中,整數可以十進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出;選項D,getchar函數是從標準輸入設備讀取一個(gè)字符。
2). 以下結構體類(lèi)型說(shuō)明和變量定義中正確的是( )
A.typedef struct { int n; char c; } REC; REC t1,t2;
B.struct REC ; { int n; char c; }; REC t1,t2;
C.typedef struct REC; { int n=0; char c=′A′; } t1,t2;
D.struct { int n; char c; } REC; REC t1,t2;
正確答案:A
答案解析:定義結構體類(lèi)型的一般形式為:struct 結構體名 {成員列表};struct 結構體名后不能加″;″號,所以選項B、C)錯誤,選項D中定義無(wú)名稱(chēng)的結構體類(lèi)型同時(shí)定義結構體變量形式應為struct t1,t2;選項A為用戶(hù)自定義類(lèi)型,其為正確的定義形式。
3). 若實(shí)體A和B是一對多的聯(lián)系,實(shí)體B和C是一對一的聯(lián)系,則實(shí)體A和C的聯(lián)系是( )
A.一對一
B.一對多
C.多對一
D.多對多
正確答案:B
答案解析:由于B和C有一一對應的聯(lián)系,而A和B只間有一對多的聯(lián)系,則通過(guò)關(guān)系之間的傳遞,則A和C之間也是一對多的聯(lián)系。
4). 關(guān)于C語(yǔ)言的變量,以下敘述中錯誤的是( )
A.所謂變量是指在程序運行過(guò)程中其值可以被改變的量
B.變量所占的存儲單元地址可以隨時(shí)改變
C.程序中用到的所有變量都必須先定義后才能使用
D.由三條下劃線(xiàn)構成的符號名是合法的變量名
正確答案:B
答案解析:變量是指在程序運行過(guò)程中其值可以改變的值,一個(gè)變量實(shí)質(zhì)上是代表了內存中的某個(gè)存儲單元。在程序中對某個(gè)變量的操作實(shí)際上就是對這個(gè)存儲單元的操作,程序運行期間,這個(gè)分配的存儲單元不會(huì )改變,但是其值可以變化。變量命名要符合標識符的規定,其中下劃線(xiàn)是標識符的組成字符。程序中所有變量都必須先定義后使用。
5). 當變量c的值不為2、4、6時(shí),值也為″真″的表達式是( )
A.(c==2)||(c==4)||(c==6)
B.(c>=2 && c<=6)&& !(c%2)
C.(c>=2 && c<=6)&&(c%2!=1)
D.(c>=2 && c<=6) || (c!=3) || (c!=5)
正確答案:D
答案解析:邏輯或運算中,只要有一項為真,表達式的值就為真,故選項D中c的值不為2、4、6時(shí),那么表達式(c>=2 && c<=6)以及(c!=3)、(c!=5)必有一個(gè)成立,表達式的值也為真。
6). 在C語(yǔ)言中,函數返回值的類(lèi)型最終取決于
A.函數定義時(shí)在函數首部所說(shuō)明的函數類(lèi)型
B.return語(yǔ)句中表達式值的類(lèi)型
C.調用函數時(shí)主調函數所傳遞的實(shí)參類(lèi)型
D.函數定義時(shí)形參的類(lèi)型
正確答案:A
答案解析:在C語(yǔ)言中,應當在定義函數時(shí)指定函數值的類(lèi)型,凡不加類(lèi)型說(shuō)明的函數,一律按整型處理。在定義函數時(shí),對函數值說(shuō)明的類(lèi)型一般應該和return語(yǔ)句中的表達式類(lèi)型一致。如果函數值的類(lèi)型和return語(yǔ)句中的表達式類(lèi)型不一致,則以函數類(lèi)型為主,即函數類(lèi)型決定返回值的類(lèi)型。
二、操作題
1: 第1題請編寫(xiě)函數fun,其功能是:將兩個(gè)兩位數的正整數a b合并形成一個(gè)整數放在c中。合并的方式是:將a數的十位和個(gè)位數依次放在c的十位和千位上,b數的十位和個(gè)位數依次放在c數的個(gè)位和百位上。
答案:
void fun(int a, int b, long *c)
{
*c=(a%10)*1000+(b%10)*100+(a/10)*10+b/10;
}
2: 第2題請編寫(xiě)函數fun,它的功能是計算:s=(ln(1)+ln(2)+ln(3)+…+ln(m))(0.5),s作為函數值返回。
答案:
double fun(int m)
{
int I;
double s=0.0, log(double x);
for(i=1;i<=m;i++)
s=s+log(i);
s=sqrt(s);
return s;
}
3: 第3題請編寫(xiě)函數fun,它的功能是計算下列級數和,和值由函數值返回。
S=1+x+x(2)/2!+x(3)/3!+…x(n)/n!
答案:
double fun(double x, int n)
{
double s=1.0, p=1.0;
int I,j,t;
for(i=1;i<=n;i++)
{
t=1;
for(j=1;j<=i;j++)
t=t*j;
p=p*x;
s=s+p/t;
}
return s;
}
4: 第4題規定輸入字符串中只包含字母和*號。請編寫(xiě)函數fun,它的功能是:將函數字符串中的前導*號全部刪除,中間和尾部的*號不刪除。
答案:
void fun(char *a)
{
int i=0;
char *p=a;
while(*p&&*p==‘*’)
p++;
while(*p)
{
a[i]=*p;
i++;
p++;
}
a[i]=‘\0’;
}
5: 第5題假定輸入的字符串中只包含字母和*號。請編寫(xiě)函數fun,它的功能是:使字符串的前導*號不得多于n個(gè);若多于n個(gè),則刪除多于的*號;若少于或等于n個(gè),則什么也不做。字符串中間和尾部的*號不刪除。
答案:
void fun(char *a, int n)
{
int i=0,k=0;
char *t=a;
while(*t==‘*’)
{
k++;
t++;
}
t=a;
if(k>n)
t=a+k-n;
while( *t)
{
a[i]=*t;
i++;
t++;
}
a[i]=‘\0’;
}
6: 第6題請編寫(xiě)函數fun,其功能使:計算并輸出給定數組(長(cháng)度為9)中每相鄰兩個(gè)元素之平均值的平方根之和。
答案:
double fun(double x[9])
{
double sum=0.0;
int I,j=1;
for(i=0;i<9;i++)
if(j<=8)
{
sum+=sqrt((x[i]+x[i+1])/2.0);
j++;
}
return sum;
}
【全國計算機二級C語(yǔ)言檢測試題】相關(guān)文章:
2017全國計算機二級C語(yǔ)言考試試題及答案09-07
計算機二級C語(yǔ)言模擬試題及答案08-25
2016最新計算機二級C語(yǔ)言試題06-28
計算機二級c語(yǔ)言試題(精選4套)11-15
計算機二級C語(yǔ)言沖刺試題及答案10-29