第1題/共5題【單選題】
C程序常見的錯誤分類不包含:( )
A.編譯錯誤
B.鏈接錯誤
C.棧溢出
D.運行時錯誤
回答正確
答案解析:
棧溢出是運行時錯誤的一種,因此C程序不會將棧溢出錯誤單獨列出來,棧溢出包含在運行時錯誤中。
因此:選擇C
第2題/共5題【單選題】
以下關于指針的說法,正確的是( )
A.int *const p與int const *p等價
B.const int *p與int *const p等價
C.const int *p與int const *p等價
D.int *p[10]與int (*p)[10]等價
回答正確
答案解析:
A:錯誤,int* const p中,const修飾指針變量p本身,表示p的指向不能改變,
int const *p中,const修飾p指針解引用之后的結果,表示p指向的內容不能改變
因此,不等價
B:錯誤,同上
C:正確,const都修飾p指針解引用之后的結果,表示p指向的內容不能改變
D:錯誤,int p[10]定義了一個指針數組,數組中10個元素,每個元素都是int類型的指針
int (*p)[10]定義了一個數組指針,該指針只能指向存儲10個整形元素的數組
因此:選擇C
第3題/共5題【單選題】
C語言中哪一種形式聲明了一個指向char類型變量的指針p,p的值不可修改,但p指向的變量值可修改?( )
A.const char *p
B.char const p
C.charconst p
D.const char *const p
回答正確
答案解析:
A:錯誤,const修飾*p,表示p指向的內容不能修改
B:錯誤,同上
C:正確,const修飾p本身,表示p的指向不能修改,p指向的空間中內容可以修改
D:錯誤,第一個const表示p指向的內容不能修改,第二個const表示p不能指向其他變量
因此,選擇C
第4題/共5題【編程題】(這道題我想不出來方法怎么解決)
描述
KiKi學習了循環,BoBo老師給他出了一系列打印圖案的練習,該任務是打印用“*”組成的X形圖案。
輸入描述:
多組輸入,一個整數(2~20),表示輸出的行數,也表示組成“X”的反斜線和正斜線的長度。
輸出描述:
針對每行輸入,輸出用“*”組成的X形圖案。
//參考答案
#include <stdio.h>int main()
{int n = 0;while(scanf("%d", &n) != EOF){int i = 0;int j = 0;for(i=0; i<n; i++){