關於C語言的題,推薦一些有關C語言陣列的練習題。

時間 2022-05-23 07:20:02

1樓:

第九題題目錯誤

1. 若已定義char s[10] ;則下面表示式中不表示s[1]的地址的是( b )。

2. 有定義 int a[ ]=,*p=a; 則*(p+1)所代表的陣列元素是( c )。

a.a[3] b.a[2] c.a[1] d.a[0]

3.已知有定義int a[5] ; a陣列中最後一個元素的地址可表示為( c )。

4. 若有定義int x[ ]=,*s; s=x+3;則表示式*(s+2)的值為( a )。

a.3 b. 4 c. 5 d. 6

5. 有定義char s[ ]="china",*p=s;則執行printf ("%s",p+1);的輸出結果為( c )。

a.無輸出 b.china c.hina d.ina

6. 已有定義 int a[10],*p; 則正確的賦值語句是( d )。

a. p=100; b.p=a[5]; c.p=a[2]+2; d.p=a+2;

7. 若有定義int a[10]=,*p=a; 則不能表示a陣列元素的表示式是 ( d )

a.*p b.a[1] c.*a d.a[10]

8. 設有定義int x[6]=,*p=x, i; 要求依次輸出x陣列6個元素中的值,不能完成此操作的語句是( d )。

a.for(i=0;i<6;i++) printf("%2d",*(p++)); b.for(i=0;i<6;i++) printf("%2d",*(p+i));

c.for(i=0;i<6;i++) printf("%2d",*p++); d.for(i=0;i<6;i++) printf("%2d",(*p)++);

9. 若有定義char *s1="12345",*s2="1234"; 則printf("%d\n",strlen(strcpy(s1,s2))); 的輸出結果是 ( 錯誤命題,s1指向常量 故strcpy(s1,s2)不成立 出題者的意思是a )。

a.4 b.5 c.9 d.10

10. 若定義int a=511,*b=&a; 則printf("%d\n",*b); 的輸出結果為( d ) 。

a.無確定值 b. a的地址 c. 512 d. 511

2樓:匿名使用者

c,c,c,a,c,d,d,d,a,d

3樓:看灰過來了

1、b2、c

3、c4、a

5、c6、d

7、d8、d

9、a10、d

推薦一些有關c語言陣列的練習題。

c語言有關題目?

4樓:晨曦露下

*,就是這個答案咯,如果是1的話,就是#&!

5樓:翟芙聊釵

你的這個語句是正確的賦值語句,但如果要編譯成功,必須先定義b和c,而且運算的結果要根據b的值來確定!如下面的程式:

#include

main()

輸出結果便是d=22.

運算方法是:c=22為定值,b++的值代入運算後再自加,所以運算中的b++即為b的值,所以運算可即為:

d=22-b。

6樓:章金蘭遲靜

b的初值是多少?這個語句是正確的。假設b的初值是1;則他等價於c=22

d=c-b=22-1=21;

b++這個句子比較特殊,他是先引用b的值,當b使用完後,再給b加1;

7樓:荀廷謙滕春

是。首先c=22

返回c的值,即是c

b++,這時應該在之前有初始化b,比如b=1則b++的值仍為1.

所以d=(c=22)-(b++)=22-1=21這是在b=1的情況下。

關於c語言的題

8樓:聽不清啊

*p是一個4個位元組的空間,把p指向b並賦值,這是越界使用記憶體了。

由於(258)10=(102)h,其中02h由於低位在前的緣故,就儲存在b中,所以,此時輸出b的值,就是 2 了。

9樓:匿名使用者

先問是不是,再問為什麼。它的結果是0 0

c語言有關的題目?

10樓:匿名使用者

#include

int main()

;printf("輸入一個數:");

scanf("%d",&num);

int i,len = sizeof(a)/4;

for(i=0;i

}printf("無此資料!");

return 0;}

關於c語言的題目。

關於c語言的問題

11樓:已存在這個名字

&是取地址,*是取該地址的值。

第一個是錯誤的函式宣告,這是語法錯誤。

第二個是正確的函式宣告,引數型別是一個指向linklinst的指標。

12樓:暴孝不詞

1.自頂向下、逐步求精

2.空間複雜度

3.c語言

程式檔案的編譯錯誤分哪為兩類

4.可執行程式

5.機器語言

6.obj7.b

13樓:於悠逸呼縱

#include

"conio.h"

#include

"stdio.h"

main()

這樣就對了。

scanf裡面不要亂加空格和一些其他的東西。

14樓:時讓所香

inti=1;

i=(i++)+(++i);結果是i=3,當自增自減運算子用於算術運算時,採用集體統一原則,即i取值在開始時是相同的,在本題中,i集體等於1,第一個括號內結果為1,第二個括號內的結果為2,因此最終結果為3

15樓:牛良檀水

1、使用函式或過程

2、空間複雜度

3、4、機器語言

5、機器語言

6、obj7、b

16樓:蕭芙老婷

答案應該是4

先計算i++,這時候(i++)中的i為1,但是i自增長為2,再計算++i,(++i)中i為3,

所以i=

1+3=4

17樓:滿元修倫庚

答案不好說,這和編譯器有關,因為各個編譯器的運算規則是不一樣的。我機子的結果是4,還好理解。由於圓括號優先順序最高,而且運算順序為從左到右。。

i++是用完再加,++i是加完再用,所以(i++)運算後仍為1,(i++)運算結果為2,故最後相加結果為1+1=2

18樓:伯君雅陸香

www.csdn.net

是個學程式設計的好**,中國最大程式設計師**,註冊會員後就可以在裡面提問,測試自己的程式設計能力,拜師等等

歡迎採納!

一道有關c語言的題目?

19樓:蘇不醒兒

陣列是從0開始的,例如,a[5],分開後就是a[0],a[1],a[2],a[3],a[4]。所以賦值的時候應該是從0開始。

不同於樓上的改法

a[i]=i,改為a[i-1]=i

這樣改動最小

同理下面也是

因為沒有裝程式,不知道跑出來對不對,可以試下

20樓:爞爞爞丨爞爞爞

int a[10] 總共有10個數, 陣列角標為0~9 只要是超過9(或者小於0)的都會陣列越界

for(int i = 1; i<=10; i++) 改為 for(int i = 0; i<10; i++)

這樣改了之後 i是從 0迴圈到9,第10次是不會進迴圈的for(int i = 10; i>=1; i--) 改為 for(int i = 9; i>=0; i--)

這樣改了之後 i是從 9迴圈到0,第10次是不會進迴圈的

21樓:小莫灬逸

a[10]的下標範圍是0-9吧。

int main()

這些關於c語言的題怎麼做?

22樓:小黑哎啊

#include

#define pi 3.14159//定義圓周率int main()

————————————————————————————#include

#define pi 3.14159//定義圓周率int main()

有關c語言中指標的一些理解問題,不懂C語言關於指標中的指標的問題,有通俗易懂的解釋嗎

首先,你的基本理解都是正確的。指標本身也是一個變數。那麼就是你說的五個等式的含義了。首先是 b a 這個需要分情況的。如果是int b a 那麼就是表示b是指向a的指標。但如果沒有前面的int。b a 那麼就是表示b指向a的地址。也就是說是指標的指標。然後是b a 這個就是b的值是a的地址,也就是b...

c 的陣列問題,關於c語言陣列的一些疑惑?

include void main 正確寫法 include void main include void sum char array,int size void main 正確原因 這裡的char array是形參,sum a,10 中,引數的賦值過程是這樣的 array b,size 10 如...

關於c語言的一道題,關於C語言的一道題

龍 鳳 兩個for迴圈,再建立一個動態陣列,就可以了 include include include char submaxstring const char str1,const char str2 int size strlen str1 strlen str2 strlen str1 strl...