2017下半年計算機二級c語言基礎試題
任何設計活動都是在各種約束條件和相互矛盾的需求之間尋求一種平衡,程式設計也不例外。下面是小編收集的關於計算機二級的文章" target="_blank" >計算機二級C語言基礎試題,希望大家認真閱讀!
一.選擇:
1.給出以下定義:
char acX[ ]= "abcdefg";
char acY[ ]= {'a','b','c','d','e','f','g'};
則正確的敘述為( )
A) 陣列acX和陣列acY等價 B) 陣列acX和陣列acY的長度相同
C) 陣列acX的長度大於陣列acY的長度 D) 陣列acX的長度小於陣列acY的長度
答案:C
2.
void example(char acHello[])
{
printf("%d", sizeof(acHello));
return;
}
void main()
{
char acHello[] = "hello";
example(acHello);//陣列名稱作引數,傳的是地址,一個地址佔四個位元組
return;
}
的輸出是
A 4 B 5 C 6 D不確定
答案:A
3. 有以下程式段
char acArr[]= "ABCDE";
char *pcPtr;
for(pcPtr = acArr; pcPtr < acArr + 5; pcPtr++)
{
printf("%s/n", pcPtr);
}
return;
輸出結果是( )
A) ABCD B) A C) E D) ABCDE
B D BCDE
C C CDE
D B DE
E A E
答案:D
4.在中斷中,不能同步獲取訊號量,但是可以釋放訊號量。
A.正確 B.錯誤
答案:A
5.以下敘述中不正確的是( )
A) 在不同的函式中可以使用相同名字的變數
B) 函式中的形式引數是區域性變數
C) 在一個函式內定義的變數只在本函式範圍內有效
D) 在一個函式內的複合語句中定義的變數在本函式範圍內有效(複合語句指函式中的成對括號構成的程式碼)
答案:D
6.設有如下定義:
unsigned long pulArray[] = {6, 7, 8, 9, 10};
unsigned long *pulPtr;
則下列程式段的輸出結果為( )
pulPtr = pulArray;
*(pulPtr + 2) += 2;
printf ("%d,%d/n", *pulPtr, *(pulPtr + 2));
A)8,10 B)6,8 C)7,9 D)6,10
答案:D
7. 定義結構體時有下面幾種說法,請指出正確的(多選):______
A、結構體中的每個部分,最好進行四位元組對齊;
B、結構體的總長度最好是四位元組對齊;
C、結構中成員的存放不用考慮位元組對齊情況;
答案:A、B
example()
{
int i;
char acNew[20];
for(i = 0; i < 10; i++)
{
acNew[i] = '0';
}
printf("%d/n", strlen(acNew));
return;
}
的輸出為( )
A 0 B 10 C 11 D不確定
答案:D
ch(c)中的c的資料型別可以是char、long、float、unsigned、bool. ( )
A. 正確 B. 錯誤
答案:B
10. 網路上傳輸的位元組序預設是大位元組的',如果主機是小位元組序,在網路通訊時則須進行位元組序轉換;如果主機是
大位元組序,為了程式的一致性及可移植性,最好也在程式中加上位元組序轉換的操作(空操作)。
A. 正確 B.錯誤
答案:A
二、 填空題
1、 C語言函式返回型別的預設定義型別是
2、 函式的實參傳遞到形參有兩種方式: 和
3、在一個函式內部呼叫另一個函式的呼叫方式稱為 。在一個函式內部直接或間接呼叫該函式成為函式 的呼叫方式
4、C語言變數按其作用域分為 和
5、凡在函式中未指定儲存類別的區域性變數,其預設的儲存類別為
三、 看程式寫結果
1、#include
Int abc(int u,int v);
Void main()
{int a=24,b=16,c;
c=abc(a,b);
printf(“value=%d”,c);
}
Int abc(int u, int v)
{int w;
While(v)
{w=u%v;
u=v;
v=w;
}
Return u;
}
2、#include
int x1=30,x2=40;
main()
{int x3=10,x4=20;
sub(x3,x4);
sub(x2,x1);
printf(“%d,%d,%d,%dn”,x3,x4,x1,x2);
}
sub(int x,int y)
{x1=x;x=y;y=x1;}
3、#include
Main()
{int i=5;
Printf(“%dn”,sub(i));
}
sub(int n)
{int a;
If(n==1) return 1;
a=n+sub(n-1);
return (a);
}
4、#include
Void fun()
{static int m;
m+=2;
printf(“%d ”,m);
}
Main()
{int a;
For(a=1;a<=4;a++) fun();
Printf(“n”);
}
四、 程式設計題
1、 編寫一個函式,判斷任一整數是否為素數,用main()函式呼叫並測試之。
2、 用遞迴方法求n!
3、 有一個一維陣列,內放10個學生成績,寫一個函式,求出平均分,最高分和最低分