一、1 陣列可以在定義時整體賦初值,但不能在賦值語句中整體賦值
2. 取陣列a的第5個元素的位址,正確的寫法是
a) *a[4] b) &a[4] c) a[4] d) *(a+4)
3. 程式段輸出結果是
int main()
12345 b) 12345 c) 12345d) 12345
12345.1234612345.12345 12345.12345 12345.1235
4、若x為整形變數,p是基型別為整形的指標變數,則正確的賦值表示式 ( )
a p=&x b p=x c *p=&x d *p=*x
5,設p1和p2均為指向同乙個int型一維陣列的指標變數,k為int型變數,下列不正確的語句是( )
a k=*p1+*p2 b k=*p1*(*p2) c p2=k d p1=p2
6.對於相同型別的指標變數,不能進行( )運算。
a, + b, - c, = d, ==
7.有函式定義如下,則其返回值為( )
int *f(int a)
a 乙個不可用的儲存單元位址值
b乙個不可用的儲存單元位址值
c n中的值
d 形參a中得值
8,下列關於字串的描述中,錯誤的是( )
a,一維字元陣列可以存放乙個字串
b,可以用乙個字串給二維字元陣列賦值
c,二維字元陣列可以存放多個字串
d;可以用乙個字串給二維字元陣列進行初始化
9;下列關於字元陣列的描述中,錯誤的是( )
a.字元陣列中得每乙個元素都是字元
b,字元陣列可以使用初始值表進行初始化
c,字元陣列可以存放字串
d 字元陣列就是字串
10;下列關於陣列下標的描述中,錯誤的是( )
a;c++中,陣列元素的下標是從0開始的
b,陣列元素下標是乙個整型常量表示式
c,陣列元素可以用下標來表示
d,陣列元素的某維數下標值應小於該維的大小
11,下面能正確地將字串「c++」進行完整賦值操作語句的是( )
a char s【3】= d,char s【3】; s【0】=『c』;s 【1】=『+』;s【2】=『+』;
12,在c++中,二維陣列元素在記憶體中的存放順序為( )
a.按行存放b。按列存放
c,有使用者自己定義d,有編譯器決定
二、解釋下列語句含義(10分)
(1) int *p(); 語句含義
(2) int (*p)(); 語句含義
(3) int (*p)[3]; 語句含義
(4) int *p[4]; 語句含義
(5) int **p; 語句含義
三、閱讀程式選擇正確答案填空
程式功能:檢查給定字串s是否滿足下列兩條件:
1、從字串首字元起,在順序檢查s中的字元的過程中,遇到的右括號「)」的個數在任何時候均不超過所遇到的左括號「(」的個數;
2、字串s中左括號「(」的個數與右括號「)」的個數相同。
若字串s同時滿足上述條件1和條件2,函式返回非0值,否則返回0值。
int check( (1
4 }
return ((lp != rp) ? 0 : 1);
}(1) a. char *s b. char sc. char sd. char s
(2) a. *sb. *s == 0c. *s != 0 d. s
(3) a. rp > lp b. rp < lpc. rp == lp d. rp != lp
(4) a. sb. (*sc. ++(*sd. ++s
四、閱讀程式(22分)
(1) 下面程式執行會出錯嗎?如果會,請改正。(4分)
#include <>
main()
printf("%s", buffer);
}(2) 給下面程式找錯。請標註在程式上,並給予恰當的文字說明。(6分)
#include <>
main()
(3) 輸入一行字元(最多80個),統計其中的大寫字母,小寫字母,數字,空格及其它字元的個數。
#include <>
#define ucase 0
#define lcase 1
#define num 2
#define space 3
#define other 4
int main()
;while(temp=getchar()!=』\n』)
printf(「upper case: %d\nlower case: %d\nnumber: %d\n\space: %d\n\);
return 0;
}(4) 使用者輸入若干個(不超過20個)小於100的正整數,程式設計求出這些數的最大值、最小值和平均值。使用者輸入乙個負數表示輸入結束。
/*這題……讓輸入正整數,負數表示結束,輸入0咋整……*/
#include <>
main()
if(i==0)printf(「no input.\n」);
else
}(5) 利用memcpy()函式實現char* my_strcpy(char* dst, char* src)函式,把字串src拷貝到dst內,並返回dst。
char* my_strcpy(char *dst,char *src)
(6) 使用者輸入一行字串,可能輸入的字元個數不定,以回車作為結束標誌。統計使用者的輸入中一共有多少個單詞。單詞之間以空格或者\t作為分隔。
#include
#include
using namespace std;
int main()
if(input[ 』||input[
cout }(7). 分析下面的程式,請找到並改正其中的任意五行錯誤或不當的**,不改正不得分(可以在題目上直接改)。 統計字元數。判斷乙個由』0』 ~ 『9』這10個字元組成的字串中哪個字元出現的次數最多。 輸入資料:第一行是測試資料的組數m,每組測試資料佔1行,每行資料不超過1000個字元且非空。 陣列指標 也稱行指標 定義 int p n 優先順序高,首先說明p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。如要將二維陣列賦給一指標,應這樣賦值 int a 3 4 int p 4 該語句是定義乙個陣列指標,指向... 學號 姓名 時間 1 目的 1.做實驗的目的 2.2.撰寫實驗報告的目的 2 內容 1.說明實驗次數及實驗內容 本次實驗用乙個實驗課時完成。實驗內容 1.編寫函式strassign strcopy strlenth strcompare strconcat substring replace 完成串... cpp 字元陣列,字元指標,sizeof,strlen總結 對於字元陣列與字元指標 1.以字串形式出現的,編譯器都會為該字串自動新增乙個0作為結束符,如在 中寫 abc 那麼編譯器幫你儲存的是 abc 0 2.字串直接量作為字元指標的初始值 hello 是乙個字串直接量,編譯器將其作為const c...指標陣列與陣列指標的區別
實驗總結報告 串和陣列
字元陣列,字元指標,sizeof,strlen總結