C語言自我檢測試題
引導語:檢測自己的C語言學習程度,做一下相關的練習題就見分曉了,以下是小編整理的C語言自我檢測試題,歡迎參考閲讀!
一、填空題:(24分每空1.5分)
1.已知:int *p,a; 則語句 p=&a;中的運算符&的含義是( 1 )。
2.凡在函數體內沒有明顯存儲類別説明的變量是( 2 )。
3.已知:
struct
{ int k;
char c;
floata;}test;
則sizeof(test)的值是(3 )。
4.程序填空:
(1)下面的程序是main函數利用函數abcd來交換main中的兩個變量的值。
# include
main()
{floatx=10,y=20;
abcd( 4 );
printf("%f,%f",x,y);
}
abcd(x,y)
( 5 );
{
floattemp;
temp=( 6 );
( 7);
( 8);
}
(2)下面的程序是使用冒泡法對輸入的10個數據從小到大排序。排好序的10個數分兩行輸出。
#include
main()
{
( 9);
int j,k;
printf(" input 10 numbers please");
for(j=0;( 10 );j++)
scanf("%f",&a[j]);
printf("");
for(j=0;( 11 );j++)
for(k=0;( 12 );k++)
if( 13 )
{ x=a[k];
( 14 );
a[k+1]=x;
}
printf("The sorted 10 numbers:");
for(j=0;( 15 );j++)
{ if( 16 )
printf("");
printf("%f ",a[j]);
}
printf("");
}
二、單項選擇題:(20分每題2分)
1.C語言中基本數據類型包括( )。
A. 整型、實型、邏輯型
B. 整型、實型、字符型
C. 整型、字符型、邏輯型
D. 整型、實型、邏輯型、實型
2.已知int i,a;執行語句”i=(a=2*3,a*5),a+6;”後,變量a的值是()。
A.6
B.12
C. 30
D. 36
3.C語言中規定函數的返回值的類型是由()。
A. return語句中的表達式類型所決定
B. 調用該函數時的主調用函數類型所決定
C. 調用該函數時系統臨時決定
D. 在定義該函數時所指定的函數類型所決定
4.不能進行++和--運算的數據類型是()。
A. 指針
B. double
C. int
D. long
5.為了判斷兩個字符串s1和s2是否相等,應當使用( )。
(s1==s2)
B. if(s1=s2)
C. if(strcpy(s1,s2))
Dif (strcmp(s1,s2))
6.若有以下説明和語句:
struct stu
{
int no;
char *name;}student,*p=&student;
則以下引用方法不正確的是( )。
B. (*p)
C. p->no
D. student->no
7.以下不是死循環的語句為( )。
(; ; x+=k);
e(1){x++};
(k=10; ;k--)sum+=k;
(;(c=get))!=’’;)printf(“%c”,c);
8.以下錯誤的描述是( )。
A. 不同的.函數中可以使用相同的變量名
B. 形式參數是局部變量
C. 一個函數內部定義的變量只能在本函數範圍內有效
D. 在一個函數內部的複合語句中定義的變量可以在 本函數範圍內有效
9.若用數組名作為函數調用時實參,則實際上傳遞給形參的是()。
A.數組首地址
B. 數組的第一個元素值
C.數組中全部元素的值
D. 數組元素的個數
10.已知 int a,*p=&a; 則為了得到變量a的值,下列錯誤的表達式是()。
A.*&p
B.*p
C.p[0]
D.*&a
三、判斷下列問題描述及語句正確與否,正確的打“√”。(16分每題2分)
1.C的關鍵字都是小寫的。
2.一個複合語句是作為一個語句處理的且在邏輯上相互關聯的一組語句。
3.# definePI=3.14159
4.局部變量在進入代碼塊時生成,退出代碼塊時消失。
5.inta=123456;
6.函數可以嵌套定義,也可嵌套調用。
7. switch與if不同,switch只能測試是否相等,而if中還能測試關係和邏輯表達式。
8.break和continue語句都可用於選擇結構和循環結構中。
四、讀程序,寫出運行結果:(20分每題5分)
1.
main()
{ int a=5,b=4,x,y;
x=a++*a++*a++;
printf("a=%d,x=%d",a,x);
y=--b*--b*--b;
printf("b=%d,y=%d",b,y);
}
2.
#include
main()
{
struct s1
{char c[4],*s;}s1={"abc","def"};
struct s2
{char *cp;
struct s1ss1;}s2={"ghi",{"jkl","mno"}};
printf("%c%c",s1.c[0],*s1.s);
printf("%s%s",s1.c,s1.s);
printf("%s%s",,1.s);
printf("%s%s",++,++1.s);
}
3.
#include
func(int b[])
{ int j;
for(j=0;j<4;j++)
b[j]=j;
}
main()
{int a[4],k;
func(a);
for(k=0;k<4;k++)
printf("%d",a[k]);
}
4.
voidfun()
{ static int a=5;
a++;
printf("a=%d",a);
}
main()
{
int m;
for(m=0;m<=1;m++)
fun();
}
五、編程(20分)
1.有一個3*4的矩陣,找出最大值及該值所在位置。(10分)
2.寫一個函數,計算x的n次方。(10分)
-
2017年計算機二級C語言考前訓練題及答案
計算機二級對於很多考生來説還是比較有難度的,那麼怎樣順利通過二級考試呢?這就需要大家平時多練習和找方法了。以下是本站小編整理的2017年計算機二級C語言考前訓練題及答案,希望對大家有幫助!考前訓練題一1:第1題m個人的成績存放在score數組中,請編寫函數fun,它...
-
2017年計算機二級C語言考點習題
計算機二級考試知識點的掌握對考生來説是比較重要的,下面是本站小編為各位考生整理的2017年計算機二級C語言考點習題,希望你的的考試有所幫助!1.在深度為5的滿二叉樹葉中,葉子結點的個數為()。A.32B.31C.16D.152.軟件生命週期中,花費最多的階段是()。A.詳細設計B....
-
C語言編程中的聯合體union入門學習教程詳解
聯合體(union)在C語言中是一個特殊的數據類型,能夠存儲不同類型的數據在同一個內存位置。可以定義一個聯合體使用許多成員,但只有一個部件可以包含在任何時候給定的值。聯合體會提供使用相同的存儲器位置供多用途的有效方式。定義聯合體要定義聯合體,必須使用unio...
-
c語言如何控制硬件
你們知道在C語言中如何控制計算機的硬件嗎?下面是應屆畢業生小編帶來的關於c語言如何控制硬件的內容,歡迎閲讀!c語言如何控制硬件?C語言是沒辦法控制硬件的首先,C語言不能夠直接對硬件進行操作。從本質上來説,連彙編語言都不可以。只有機器語言能夠直接操作硬件。...