2017年C語言程序設計試題及答案
C語言是把高級語言的基本結構和語句與低級語言的實用性結合起來。以下是由陽光網(wǎng)小編整理關于C語言程序設計試題的內容,希望大家喜歡!
2017年C語言程序設計試題及答案(一)
1[單選題] 若有語句:int a[3][4],(。P)[4];P=a;,則以下選項中敘述錯誤的是()。
A.系統(tǒng)將開辟一個名為P的二維數(shù)組,“o][o]中的值即為a[o][o]中的值
B.P+1代表a[1][0]的地址
C.P中將存放a數(shù)組的首地址
D.P+2代表a數(shù)組最后一行的首地址
參考答案:A
參考解析:(+P)[4]定義了一個數(shù)組指針。P可以指向類似于arry[][4]的數(shù)組,題設中,P不是一個二維數(shù)組,只是可以指向這類二維數(shù)組,因此選項A錯誤。P+1代表了第一行第一個元素的地址,P=a指向數(shù)組a的首地址,則B、C選項正確,同理可知選項D也正確。故答案為A選項。
2[單選題] 以下敘述中正確的是()
A.在算法設計時,可以把復雜任務分解成一些簡單的子任務
B.在C語言程序設計中,所有函數(shù)必須保存在一個源文件中
C.只要包含了三種基本結構的算法就是結構化程序
D.結構化程序必須包含所有的三種基本結構.缺一不可
參考答案:A
參考解析:C語言的程序中,函數(shù)不一定都放在同一個源文件中,可以分別放在不同源文件中,通過#inClude命令來引用,所以B錯誤。結構化程序可以包含三種基本結構中的一種或幾種,所以C,D錯誤。
3[單選題] 有三個關系R、S和T如下:
則由關系R和S得到關系T的操作是( )。
A.自然連接 B.交 C.除 D.并
參考答案:C
參考解析:如果S=T/R,則s稱為T除以R的商。在除運算中s的域由T中那些不出現(xiàn)在R中的域所組成,對于s中的任一有序組,由它與關系R中每個有序組所構成的有序組均出現(xiàn)在關系T中。所以本題選擇C2017年計算機二級C語言練習題及答案2017年計算機二級C語言練習題及答案。
4[單選題] 以下敘述錯誤的是( )。
A.一個算法所包含的操作步驟應該是有限的
B.任何能通過編譯和運行的算法都一定能得到所期望的結果
C.算法中每一條指令必須有確切的含義
D.算法可以用各種描述方法來進行描述
參考答案:B
參考解析:算法的特點:零個或多個輸入,至少一個輸出,可行性(能編程實現(xiàn)),有窮性(有限步出結果),確定性(描述不能有歧義)?芍x項A,c,D正確。c語言中。通過編譯,可以運行的程序,不一定符合題目的本意,因此即使可以運行得到結果,也不一定和預期的結果一樣,否則就不需要調試和修改程序了,故B選項錯誤。答案為B選項。
5[單選題] 設有定義:
int a=1,b=2,C=3;
以下語句中執(zhí)行效果與其他三個不同的是( )。
A.if(a>B.C=a,a=b,b=C;
B.if(a>B.{C=a,a=b,b=C;}
C.if(a>B.C=a;a=b;b=c;
D.if(a>B.{C=a;a=b;b=c;}
參考答案:C
參考解析:由于a小于b,所以所有選項中的條件都為假,c選項中實際執(zhí)行了a=b;b=c;兩個操作。而A、B、D選項由于條件不成立,所以什么也沒有做,所以選擇c選項。
6[單選題] 以下敘述中正確的是
A.兩個字符串可以用關系運算符進行大小比較
B.函數(shù)調用strlen(s);會返回字符串S實際占用內存的大小(以字節(jié)為單位)
C.C語言本身沒有提供對字符串進行整體操作的運算符
D.當拼接兩個字符串時,結果字符串占用的內存空間是兩個原串占用空間的和
參考答案:C
參考解析:本題考查字符串處理函數(shù)strien、strcat、strcmp。B選項中strlen返回的是字符串s實際占用內存大小加上結尾符,A選項中不能用關系運算符進行大小比較,可以使用strcmp。D選項當使用連接函數(shù)strcat時,內存空間會減少一個字符位置。
7[單選題] 一個工作人員可以使用多臺計算機,而一臺計算機可被多個人使用,則實體工作人員與實體計算機之間的聯(lián)系是( )。
A.一對一 B.一對多 C.多對多 D.多對一
參考答案:C
參考解析:因為一個人可以操作多個計算機,而一臺計算機又可以被多個人使用,所以兩個實體之間是多對多的關系。
8[單選題] 對于while(!E)s;,若要執(zhí)行循環(huán)體s,則E的取值應為:
A.E等于1 B.E不等于0 C.E不等于1 D.E等于0
參考答案:D
參考解析:while語句的一般形式為:while(表達式)語句;其中表達式是循環(huán)條件,語句為循環(huán)體。while語句的語義是:計算表達式的值,當值為真(非0)時,執(zhí)行循環(huán)體語句。該題中如要執(zhí)行語句s,則!E應為真,因此E應等于0,D選項正確。
9[單選題] 在軟件設計中不使用的工具是( )。
A.系統(tǒng)結構圖 B.PAD圖 C.數(shù)據(jù)流圖(DFD圖) D.程序流程圖
參考答案:C
參考解析:系統(tǒng)結構圖是對軟件系統(tǒng)結構的總體設計的圖形顯示2017年計算機二級C語言練習題及答案計算機等級。在需求分析階段,已經從系統(tǒng)開發(fā)的角度出發(fā),把系統(tǒng)按功能逐次分割成層次結構,是在概要設計階段用到的
PAD圖是在詳細設計階段用到的。程序流程圖是對程序流程的圖形表示,在詳細設計過程中用到。數(shù)據(jù)流圖是結構化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型,是在可行性研究階段用到的而非軟件設計時用到,所以選擇C。
10[單選題] 若有定義語句:char a='\82';則變量a()
A.說明不合法 B.包含1個字符 C.包含2個字符 D.包含3個字符
參考答案:B
參考解析:char a='\82',定義字符量a,char型變量值為1個字節(jié)長度,并從右側開始運算,所以a的值應為'2'。因此B選項正確。
2017年C語言程序設計試題及答案(二)
一、單項選擇
1 下列數(shù)據(jù)中,為字符串常量的是()。 D
A、'A'
B、How do you do.
C、$abc
D、"house"
2 以下所列的C語言常量中,錯誤的是( )。 B
A、0xFF
B、1.2e0.5
C、2L
D、'\72'
3 以下程序的輸出結果是()。 D
main()
{float x=3.6;
int i;
i=(int)x;
printf("x=%f,i=%d\n",x,i);
}
A、x=3.600000,i=4
B、x=3 i=3.600000
C、x=3,i=3
D、x=3.600000,i=3
4 若k是整型,則以下程序段的執(zhí)行結果是:( ) B
k=-3;
if(k<=0) printf("####")
else printf("&&&&");
A、####
B、有語法錯誤,無結果
C、&&&&
D、####&&&&
5 若x=2,y=3則x||y的結果是( )。 C
A、3
B、0
C、1
D、2
6 針對下列程序段回答問題( B ).
for(t=1;t<=100;t++)
{
scanf("%d",&x);
if(x<0) continue;
printf("=",t);
}
A、x>=0時什么也不輸出
B、最多允許輸出100個非負整數(shù)
C、printf函數(shù)永遠也不執(zhí)行
D、當x<0時整個循環(huán)結束
7 以下程序的執(zhí)行結果是( )。 B
main()
{ int num = 0;
while( num <= 2 ) { num++; printf( "%d,",num ); } }
A、0,1,2
B、1,2,3,
C、1,2,3,4,
D、1,2,
8 選擇正確的輸入語句( D )。:(其中:char string[20];)使得string的內容為"I am student".
A、scanf("%s", string);
B、scanf("%c", &string);
C、scanf("%s", &string);
D、gets(string);
9 對以下說明語句 int a[10]={6,7,8,9,10}; 的正確理解是()。 B
A、將5個初值依次賦給a[6]至a[10]
B、將5個初值依次賦給a[0]至a[4]
C、因為數(shù)組長度與初值的`個數(shù)不相同,所以此語句不正確
D、將5個初值依次賦給a[1]至a[5]
10 以下標識符中可以作為用戶函數(shù)名的是( ). D
A、struct
B、int
C、union
D、go_to
11 以下敘述錯誤的是( ). B
A、函數(shù)調用可以出現(xiàn)在一個表達式中
B、函數(shù)調用可以作為一個函數(shù)的形參
C、函數(shù)調用可以作為一個函數(shù)的實參
D、函數(shù)允許遞歸調用
12 若用數(shù)組名作為函數(shù)的實參,傳遞給形參的是()。 B
A、數(shù)組第一個元素的值
B、數(shù)組的首地址
C、數(shù)組元素的個數(shù)
D、數(shù)組中全部元素的值
13 在C語言程序中()。 B
A、函數(shù)的定義可以嵌套,但函數(shù)的調用不可以嵌套
B、函數(shù)的定義不可以嵌套,但函數(shù)的調用可以嵌套
C、函數(shù)的定義和函數(shù)調用不可以嵌套
D、函數(shù)的定義和函數(shù)調用均可以嵌套
14 下列說法中正確的是( ). B
A、函數(shù)調用不占運行時間,只占編譯時間.
B、宏替換不占運行時間,只占編譯時間.
C、有參數(shù)的宏定義,就是函數(shù).
D、在定義宏時,宏名與帶參數(shù)的括弧之間可以加空格.
15 若有說明:int *p,m=5,n;以下正確的程序段是()。D
A、scanf("%d",&n);*p=n;
B、p=&n;scanf("%d",*p)
C、p=&n;scanf("%d",&p);
D、p=&n;scanf("%d",p);
16 對于下述定義,不正確的敘述是( ). B
union data
{int i;
char c;
float f;
}a,b;
A、變量a的地址和它的各成員地址都是相同的
B、可以在定義類型的同時定義變量a,并對a的任意成員初始化
C、變量a所占內存的長度等于成員f的長度
D、如果有定義語句 union data a={6};則對變量a的初始化是正確的
【2017年C語言程序設計試題及答案】相關文章: