引導語:程式語言是計算機獨有的,以下是小編整理的C語言練習測試試題,歡迎參考閱讀!
一、判斷題:(12分 每題2分)
1、C語言規定:在一個源程式中,main函式的位置必須在最開始。
2、假設所有變數均為整型,則表示式(a=2,b=5,b++,a+b)的值是8。
3、凡是函式中未指定儲存類別的區域性變數,其隱含的儲存類別為靜態儲存。
4、C語言中規定函式的返回值的型別是由return語句中的表示式型別所決定。
5、在C語言中對檔案操作必須先關閉當前檔案,然後再開啟一個新檔案。
6、C語言程式的基本單位是語句。
二、選擇題:(20分 每題2分)
1.假設已定義char a[10]和char *p=a, 下面的賦值語句中,正確的是:
A) a[10]=“Turbo C”;
B) a=“Turbo C”;
C) *p=”Turbo C”;
D) p=”Turbo C”;
2.下面關於運算子優先順序的描述中正確的是:
A)關係運算符<算術運算子< 賦值運算子< 邏輯與運算子
B)邏輯運算子<關係運算符< 算術運算子< 賦值運算子
C)賦值運算子<邏輯與運算子< 關係運算符< 算術運算子
D)算術運算子<關係運算符< 賦值運算子< 邏輯與運算子
3.以下正確的描述是。
A)continue語句的作用是結束整個迴圈的執行
B)只能在迴圈體內和switch語句體內使用break語句
C)在迴圈體內使用break語句或continue語句的作用相同
D)從多層迴圈巢狀中退出時,只能使用goto語句
4.用8位無符號二進位制數能表示的最大十進位制數為
A) 127 B) 128 C) 255D)256
5.下列敘述中正確的是:
A) C語言中既有邏輯型別也有集合型別
B) C語言中沒有邏輯型別但有集合型別
C) C語言中有邏輯型別但沒有集合型別
D) C語言中既沒有邏輯型別也沒有集合型別
6.以下對C語言函式的有關描述中,正確的是:
A) 呼叫函式時,只能把實參的值傳送給形參,形參的值不能傳送給實參
B) 函式既可以巢狀定義又可以遞迴呼叫
C) 函式必須有返回值,否則不能使用函式
D) 程式中有呼叫關係的所有函式必須放在同一個源程式檔案中
7.在C語言中,不正確的int型別的常數是:
A)32768 B) 0
C) 037 D) 0xaf
8.以下敘述中不正確的是:
A) 在不同的`函式中可以使用相同名字的變數
B) 函式中的形式引數是區域性變數
C) 在一個函式內定義的變數只在本函式範圍內有效
D) 在一個函式內的複合語句中定義的變數在本函式範圍內有效
9.以下說法中正確的是:
A) #define和printf都是C語句
B) #define是C語句,而printf不是
C) printf是C語句,但#define不是
D) #define和printf都不是C語句
10.若有以下定義和語句:doubler=99,*p=&r; *p=r;則以下正確的敘述是:
A) 以下兩處的*p含義相同,都說明給指標變數p賦值
B) 在“doubler=99,*p=&r;”中,把r的地址賦值給了p所指的儲存單元
C) 語句“*p=r;”把變數r的地址值賦給指標變數p
D) 語句“*p=r;”取變數r的值放回r中
三、填空題:(24分 每空2分)
1、下面程式的功能是:輸入一行字元,統計其中有多少個單詞,單詞之間
用空格分開。請填空完成。
# include
main()
{charstr[81];
int I,(【1】);
charc;
gats(str);
for(I=0;(【2】 )!=’’;I++)
if(c==’ ’)word=0;
elseif( 【3】 )
{word=1;
(【4】 )}
printf(“There are %d word in line. ”,num);
}
2、下面程式的功能是:用選擇排序法對陣列中10個數據按由小到大排序。請填空完成。
voidsort(int a[],int n)
{( 【5】 )
for(I=0;I<n-1;I++)
{ (【6】 )for(j=I+1;j<n;j++)
if(a[j]<a[k])k=j;
if( (【7】 )){t=a[k];a[k]=a[I];a[I]=t;}
}
}
main()
{intb[10],I;
printf(“enter the array ”);
for(I=0;I<10;I++)
scanf(“%d”.&b[I]);
( 【8】 )
printf(“the sorted array: ”);