一個考生的快樂,不是因為他備考的時間多,而是因為他的選擇對。選擇考無憂題庫,做二級C語言試題,助你備考輕松!
二級C語言試題
【1】
1.若有以下數組說明,則i=10;a[a[i]]元素數值是(C)。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A、10
B、9
C、6
D、5
2. 以下對結構變量stul中成員age的非法引用是( B)。
struct student
{ int age;
int num;
}stu1,*p;
p=&stu1;
A、 stu1.age
B、 student.age
C、 p->age
D、(*p).age
3.設有如下定義:
struck sk
{ int a;
float b;
}data;
int *p;
若要使P指向data中的a域,正確的賦值語句是( C)。
A、 p=&a;
B、 p=datA、a;
C、p=&datA、a;
D、*p=datA、a;
4.已知int a[3][4];則對數組元素引用正確的是( C )
A、a[2][4]
B、a[1,3]
C、a[2][0]
D、a(2)(1)
5.C語言中函數返回值的類型是由(A )決定的.
A、函數定義時指定的類型
B、 return語句中的表達式類型
C、 調用該函數時的實參的數據類型
D、形參的數據類型
6. 在C語言中,函數的數據類型是指(A )
A、 函數返回值的數據類型
B、 函數形參的數據類型
C、 調用該函數時的實參的數據類型
D、任意指定的數據類型
7.在函數調用時,以下說法正確的是( B)
A、函數調用后必須帶回返回值
B、實際參數和形式參數可以同名
C、函數間的數據傳遞不可以使用全局變量
D、主調函數和被調函數總是在同一個文件里
8. 在C語言中,表示靜態存儲類別的關鍵字是: ( C )
A、 auto
B、 register
C、static
D、extern
9.未指定存儲類別的變量,其隱含的存儲類別為(A )。
A、auto
B、static
C、extern
D、register
10. 若有以下說明語句:
struct student
{ int num;
char name[ ];
float score;
}stu;
則下面的敘述不正確的是: (D )
A、 struct是結構體類型的關鍵字
B、 struct student 是用戶定義的結構體類型
C、 num, score都是結構體成員名
D、 stu是用戶定義的結構體類型名
11.若有以下說明語句:
struct date
{ int year;
int month;
int day;
}brithday;
則下面的敘述不正確的是( C)。
A、 struct是聲明結構體類型時用的關鍵字
B、 struct date 是用戶定義的結構體類型名
C、 brithday是用戶定義的結構體類型名
D、year,day 都是結構體成員名
12.設有以下說明語句:
typedef struct stu
{ int a;
float b;
} stutype;
則下面敘述中錯誤的是( D )。
A、struct是結構類型的關鍵字
B、struct stu是用戶定義的結構類型
C、a和b都是結構成員名
D、stutype是用戶定義的結構體變量名
13.語句int *p;說明了( C)。
A、p是指向一維數組的指針
B、p是指向函數的指針,該函數返回一int型數據
C、p是指向int型數據的指針
D、p是函數名,該函數返回一指向int型數據的指針
【2】
1、以下語句的輸出結果是()。
int a=-1,b=4,k;
k=(+ +a<0)&&!(b - -<=0);
printf("%d,%d,%d\n",k,a,b);
A. 1,0,4
B. 1,0,3
C. 0,0,3
D. 0,0,4
答案:D
2、下列程序的輸出結果是()。
char *p1="abcd", *p2="ABCD", str[50]="xyz";
strcpy(str+2,strcat(p1+2,p2+1));
printf("%s",str);
A. xyabcAB
B. abcABz
C. ABabcz
D. xycdBCD
答案:D
3、執行下面的程序后,a的值是()。
#define SQR(X) X*X
main()
{ int a=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf("%d\n",a); }
A. 10
B. 1
C. 9
D. 0
答案:B
4、設A為存放(短)整型的一維數組,如果A的首地址為P,那么A中第i 個元素的地址為()。
A.P+i*2
B. P+(i-1)*2
C. P+(i-1)
D. P+i
答案:B
5、下列程序執行后輸出的結果是()。
int d=1;
fun (int p)
{ int d=5;
d + =p + +;
printf("%d,",d); }
main()
{ int a=3;
fun(a);
d + = a + +;
printf("%d\n",d); }
A. 8, 4
B. 9, 6
C. 9, 4
D. 8, 5
答案:A
6、表達式:10!=9的值是()。
A. true
B. 非零值
C. 0
D. 1
答案:D
7、若有說明: int i,j=7, *p=&i;, 則與i=j; 等價的語句是()。
A. i= *p;
B. *p=*&j;
C. i=&j;
D. i=* *p;
答案:B
8、不能把字符串:Hello!賦給數組b的語句是()。
A. char b[10]={’H’,’e’,’l’,’l’,’o’,’!’};
B. char b[10]; b="Hello!";
C. char b[10]; strcpy(b,"Hello!");
D.char b[10]="Hello!";
答案:B
9、在C程序中有如下語句:char *func(int x,int y); 它是()。
A. 對函數func的定義。
B. 對函數func的調用。
C.對函數func的原型說明。
D. 不合法的。
答案:C
10、以下程序的輸出結果是()。
char str[15]=”hello!”;
printf(“%d\n”,strlen(str));
A. 15
B. 14
C. 7
D. 6
答案:D
【3】
1[單選題] 如果定義
float a[10],x;
則以下敘述中正確的是
A.語句a=&x;是非法的
B.表達式a+1是非法的
C.三個表達式a[1]、*(a+1)、*&a[1]表示的意思完全不同
D.表達式,&a[1]是非法的,應該寫成+(&(a[1]))
答案:A
2[單選題] 以下敘述中正確的是()
A.'\0'表示字符O
B."a"表示一個字符常量
C.表達式:'a'>'b'的結果是”假”
D.'\"'是非法的
答案:C
3[單選題] 下列關于數據庫設計的敘述中,正確的是( )。
A.在需求分析階段建立數據字典
B.在概念設計階段建立數據字典
C.在邏輯設計階段建立數據字典
D.在物理設計階段建立數據字典
答案:A
4[單選題] 軟件設計中劃分模塊的一個準則是( )。
A.低內聚低耦合
B.高內聚低耦合
C.低內聚高耦合
D.高內聚高耦臺
答案:B
5[單選題] 在一個C源程序文件中所定義的全局變量,其作用域為( )。
A.由具體定義位置和extem說明來決定范圍
B.所在程序的全部范圍
C.所在函數的全部范圍
D.所在文件的全部范圍
答案:A
6[單選題] 若有C語言表達式2+3*4+7/3,以下選項中敘述正確的執行順序是
A.先執行3*4得12,再執行2+12得14,再執行7/3得2,最后執行14+2得16
B.先執行3*4得12,再執行7/3得2.5,最后執行2+12+2.5得16.5
C.先執行7/3得2,再執行3*4得12,再執行12+2得l4,最后執行2+14得l6
D.先執行2+3得5,再執行5*4得20,再執行20+7得27,最后執行27/3得9
答案:A
7[單選題] 以下敘述中正確的是( )。
A.c語言規定必須用main作為主函數名,程序將從此開始執行
B.可以在程序中由用戶指定任意一個函數作為主函數,程序將從此開始執行
C.c語言程序將從源程序中第一個函數開始執行、
D.main的各種大小寫拼寫形式都可以作為主函數名,如MAIN,Main等
答案:A
8[單選題] 設變量已正確定義并賦值,以下正確的表達式是( )。
A.X=Y+z+5,++Y
B.int(15.8%5)
C.X=Y*5=X+Z
D.X=25%5.0
答案:A
9[單選題] 設文件指針fp已定義,執行語句fp=fopen(”61e”,”W”);后,以下針對文本文件file操作敘述的選項中正確的是( )。
A.只能寫不能讀
B.寫操作結束后可以從頭開始讀
C.可以在原有內容后追加寫
D.可以隨意讀和寫
答案:A
10[單選題] 設Z.X樹中共有31個結點,其中的結點值互不相同。如果該二叉樹的后序序列與中序序列相同,該二叉樹的深度為( )。
A.31
B.16
C.17
D.5
答案:A
【4】
1.(A )是構成C語言程序的基本單位。
A、函數
B、過程
C、子程序
D、子例程
2.C語言程序從 ( C ) 開始執行。
A、 程序中第一條可執行語句
B、 程序中第一個函數
C、 程序中的main函數
D、包含文件中的第一個函數
3、以下說法中正確的是( C )。
A、C語言程序總是從第一個定義的函數開始執行
B、在C語言程序中,要調用的函數必須在main( )函數中定義
C、C語言程序總是從main( )函數開始執行
D、C語言程序中的main( )函數必須放在程序的開始部分
4.下列關于C語言的說法錯誤的是( B ) 。
A、 C程序的工作過程是編輯、編譯、連接、運行
B、 C語言不區分大小寫。
C、 C程序的三種基本結構是順序、選擇、循環
D、C程序從main函數開始執行
5.下列正確的標識符是(C)。
A、-a1
B、a[i]
C、a2_i
D、int t
6.下列C語言用戶標識符中合法的是(B )。
A、3ax
B、x
C、case
D、-e2 E)union
7.下列四組選項中,正確的C語言標識符是( C )。
A、 %x
B、a+b
C、a123
D、123
8、下列四組字符串中都可以用作C語言程序中的標識符的是( A)。
A、print _3d db8 aBc
B、I\am one_half start$it 3pai
C、str_1 Cpp pow while
D、Pxq My->book line# His.age
9.C語言中的簡單數據類型包括(D )。
A、整型、實型、邏輯型
B、整型、實型、邏輯型、字符型
C、整型、字符型、邏輯型
D、整型、實型、字符型
10.在C語言程序中,表達式5%2的結果是 ( C ) 。
A、2.5
B、2
C、1
D、3
【5】
1.C語言中,關系表達式和邏輯表達式的值是( B ) 。
A、0
B、 0或1
C、 1
D、‘T’或’F’
2. 下面( D )表達式的值為4.
A、 11/3
B、 11.0/3
C、 (float)11/3
D、 (int)(11.0/3+0.5)
3.設整型變量 a=2,則執行下列語句后,浮點型變量b的值不為0.5的是( B)
A、b=1.0/a
B、b=(float)(1/A、
C、b=1/(float)a
D、b=1/(a*1.0)
4. 若“int n; float f=13.8;”,則執行“n=(int)f%3”后,n的值是(A)
A、1
B、4
C、4.333333
D、4.6
5. 以下對一維數組a的正確說明是:( D )
A、char a(10);
B、 int a[];
C、int k=5,a[k];
D、char a[3]={‘a’,’b’,’c’};
6.以下能對一維數組a進行初始化的語句是:( C )
A、int a[5]=(0,1,2,3,4,)
B、 inta(5)={}
C、 int a[3]={0,1,2}
D、 int a{5}={10*1}
7.在C語言中對一維整型數組的正確定義為( D )。
A、int a(10);
B、int n=10,a[n];
C、int n;a[n];
D、#define N 10
8、已知:int a[10]; 則對a數組元素的正確引用是( D )。
A、a[10]
B、a[3.5]
C、a(5)
D、a[0]
9.若有以下數組說明,則i=10;a[a[i]]元素數值是(C)。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A、10
B、9
C、6
D、5
10.若有說明:int a[][3]={{1,2,3},{4,5},{6,7}}; 則數組a的第一維的大小為: ( B )
A、2
B、3
C、4
D、無確定值
你所關心的最新計算機等級考試題庫、考前注意事項、考試答題技巧、成績查詢通知、領證通知等資訊將在你最關心的時間段推出,敬請期待!記得刷完以上的二級C語言試題!
文章推薦:
溫馨提示:
考試想拿高分嗎?更多計算機等級考試題庫二級ms office試題請點擊查看>>>二級ms office
想要了解更多的計算機等級考試題庫請點擊下載>>>計算機等級考試題庫
想知道更多關于計算機等級考試題庫的近期資訊嗎?點擊進入>>>計算機等級考試題庫資訊
本文網址:http://www.k51.com.cn/info/jsjdjks/1906/1454426.html