- 相關推薦
C語言練習測試試題
引導語:編程語言是計算機獨有的,以下是小編整理的C語言練習測試試題,歡迎參考閱讀!
一、判斷題:(12分 每題2分)
1、C語言規(guī)定:在一個源程序中,main函數的位置必須在最開始。
2、假設所有變量均為整型,則表達式(a=2,b=5,b++,a+b)的值是8。
3、凡是函數中未指定存儲類別的局部變量,其隱含的存儲類別為靜態(tài)存儲。
4、C語言中規(guī)定函數的返回值的類型是由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.下面關于運算符優(yōu)先順序的描述中正確的是:
A)關系運算符<算術運算符< 賦值運算符< 邏輯與運算符
B)邏輯運算符<關系運算符< 算術運算符< 賦值運算符
C)賦值運算符<邏輯與運算符< 關系運算符< 算術運算符
D)算術運算符<關系運算符< 賦值運算符< 邏輯與運算符
3.以下正確的描述是。
A)continue語句的作用是結束整個循環(huán)的執(zhí)行
B)只能在循環(huán)體內和switch語句體內使用break語句
C)在循環(huán)體內使用break語句或continue語句的作用相同
D)從多層循環(huán)嵌套中退出時,只能使用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、下面程序的功能是:輸入一行字符,統(tǒng)計其中有多少個單詞,單詞之間
用空格分開。請?zhí)羁胀瓿伞?/p>
# 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個數據按由小到大排序。請?zhí)羁胀瓿伞?/p>
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: ”);
for(I=0;I<10;I++)
printf(“%d “,b[I]);
printf(“ ”);
}
3、判斷m是否是素數
#include
main()
{
int m,i,k;
scanf(“%d”,&m); (【9】 )
for(i=2;i<=k;i++)
if(m%i==0) (【10】 );
if(i>=k+1) printf(“%d is a primenumber ”,m);
else printf(“%d is not a prime number ”,m);
}
4、假設當年產值為100,工業(yè)產值的增長率分別為6%、8%、10%、12%時,求工業(yè)產值分別經過多少年可實現翻番。請?zhí)羁胀瓿伞?/p>
main()
{int y[4],i;
floats[4]={100,100,100,100},c[4]={.06,.08,.10,.12};
clrscr();
for(i=0;i<4;i++)
{y[i]=0;
while( 【11】 )
{s[i]=s[i]*(1+c[i]);
( 【12】 )}
printf(" y=%d s=%.2f c=%.2f",y[i],s[i],c[i]);
}
}
四、讀程序,寫出程序運行結果。(24分 每題4分)
1.
main()
{int x=10,y=10,I;
for(I=0;I>8;y=++I)
printf(“%d%d”,x--,y);
}
2.
main()
{int m=37,n=13;
while(m!=n)
{while(m>n)
m=m-n;
while(n>m)
n-=m;
}
printf(“m=%d ”,m);
}
3.
main()
{int x=9;
for(;x>0;x--)
{if(x%3==0) {printf(“%d”,--x);
continue; }
}
}
4.
main()
{ inta=7,b=2;
float x=2.5,y=4.7,z;
z=x+a%3*(int)(x+y)%2/4;
printf(“%f ”,z);
z=(a+b)/2+(int)x%(int)y;
printf(“%f”,z);
}
5.
main()
{int x[]={0,1,2,3,4,5,6,7,8,9};
ints,I,*p;
s=0;
p=&x[0];
for(I=1;I<10;I+=2)
s+=*(p+I);
printf(“sum=%d”,s);
}
6.
main()
{int k=4,m=1,p;
p=func(k,m);
printf("%d",p);
p=func(k,m);
printf("%d",p);
}
func(inta,int b)
{static int m=0,i=2;
i+=m+1;
m=i+a+b;
return(m);
}
五、編程題:(20分 每題10分)
1、利用指針完成。輸入兩個整數,按先大后小的順序輸出。
2、編程完成兩個字符串的連接。(不使用strcat( )函數)。
【C語言練習測試試題】相關文章:
C語言練習試題07-01
C語言模擬試題練習08-11
C語言測試試題及答案08-02
C語言測試題及答案07-03
C語言考前練習試題及答案09-16
C語言考試試題練習11-06
C語言臨考練習試題06-26
C語言測試題及答案解析11-04
常用C語言測試題及答案09-12
C語言考試模擬測試題10-21