c語言作業(六)

1、以下對二維數組 a 的正確說明是(c)。

A.int a[3][]

B.float a(3,4)

C.double a[1][4]

D.float a(3)(4)

2、判斷字符串a是否大於b,應當使用(D )

A.if (a>b)

B.if (strcmp(a,b))

C.if (strcmp(b,a)>0)

D.if (strcmp(a,b)>0)

3、有以下程序

main()
{ 
    int a=666,b=888;
    printf("%d\n",a,b);
}

程序運行後的輸出結果是( 666 )。

錯誤信息

666

888

666,888
3、下列選項中,不能用作標識符的是(D )。
標識符首位不能是數字

A._1234_

B._1_2

C.int_2_

D.2_int_

4、在 C++ 中,用於實現動態多態性的是(虛函數)。

內聯函數

重載函數

模板函數

虛函數

動態多態性:編譯時無法立即確定其所要調用的同名函數,注意是同名函數,這纔是多態的體現!要在運行時才能確定其要調用同名函數!
另一種靜態多態:是在編譯時就能被確定其要調用同名函數。
是能通過設立一個虛函數的方法,來動態確定要調用的同名函數。

5、下列標識符錯誤的是(c)
標識符首位不能是數字

A.xly

B._123

C.2ab

D._ab

6、以下不符合 C 語言語法的賦值語句是(D)。

A.a=1,b=2

B.++j;

C.a=b=5;

D.y=(a=3,6*5);

7、以下對C語言函數的描述中,正確的是(A)。


A.C程序必須由一個或一個以上的函數組成

B.C 函數既可以嵌套定義又可以遞歸調用

C.函數必須有返回值,否則不能使用函數

D.C 程序中有調用關係的所有函數必須放在同一個程序文件中

8、設 x,y,t 均爲 int 型變量,執行下列語句後,y的值爲(3)。
x=y=3; t=++x||++y;

不確定

4

3

1
9、下列程序段,循環體執行次數是:2次

y = 2;
while (y <= 8)
    y = y + y;

2
16
4
3
10、用變量a給出下面的定義:一個有10個指針的數組,該指針指向一個函數,該函數有一個整形參數並返回一個整型數

A.int *a[10];

B.int (*a)[10];

C.int (*a)(int);

D.int (*a[10])(int);

11、下面有關java和c++的描述,錯誤的是?(B)

JAVA不支持多繼承

A.java是一次編寫多處運行,c++是一次編寫多處編譯

B.c++和java支持多繼承

C.Java不支持操作符重載,操作符重載被認爲是c++的突出特徵

D.java沒有函數指針機制,c++支持函數指針

12、不能把字符串”HELLO!”賦給數組b的語句是(B)

A.char b[10]={‘H’,’E’,’L’,’L’,’O’,’!’,’\0’};

B.char b[10];b=”HELLO!”;//這裏的b是地址,數組首地址

C.char b[10];strcpy(b,”HELLO!”);

D.char b[10]=”HELLO!”;
13、*p++ 自增p 還是 p 所指向的變量?//自增P,然後指向之前所指向的變量

自增p

自增p所指向的變量

和機器相關
14、下面程序會輸出什麼:1 2 2 2

static int a=1;
void fun1(void){    a=2;  }
void fun2(void){    int a=3;  }
void fun3(void){   static int a=4;  }
int main(int argc,char** args)
{
    printf(“%d”,a); 
    fun1( ); 
    printf(“%d”,a); 
    fun2( ); 
    printf(“%d”,a);
    fun3( );
    printf(“%d”,a); 
}

1 2 3 4

1 2 2 2

1 2 2 4

1 1 1 4
15、已知一運行正常的程序中有這樣兩個語句:int p1,*p2=&a; p1=b; 由此可知,變量a和b的類型分別是(C)。

A.intint

B.int*和int

C.intint*

D.int*和int*

16、c++中,聲明const int i,是在哪個階段做到 i只可讀的(編譯的時候)

編譯

鏈接

運行

以上都不對
17、以下程序的運行結果是(B)
int main(void)
{
printf(“%s , %5.3s\n”,”computer”,”computer”);
return 0;
}

A.computer , puter

B.computer , com

C.computer , computer

D.computer , compu.ter

18、運行下面這段C語言程序之後,輸出在屏幕上的結果是:A

void foobar(int a, int *b, int **c)
{
    int *p = &a;
    *p = 101;
    *c = b;
    b = p;
}

int main()
{
    int a = 1;
    int b = 2;
    int c = 3;
    int *p = &c;
    foobar(a, &b, &p);
    printf("a=%d, b=%d, c=%d, *p=%d\n", a, b, c, *p);
    return (0);
}
A.a=1, b=2, c=3, *p=2

B.a=101, b=2, c=3, *p=2

C.a=101, b=101, c=2, *p=3

D.a=1, b=101, c=2, *p=3

19、下列程序的運行結果是3,5,請爲橫線處選擇合適的程序( )

#include<stdio.h>
 struct S
 {
    int n;
    char c[10];
 } *p;
 main()
 {
    struct S a[3]={{3,"abc"},{5,"def"},{7,"ghi"}};
    p=a;
    printf("%d,",(*p).n);
    printf("%d\n",((*)(p+1)).n);
 }

20、在 C 語言中下面那個語句的結果是 1 ?B

A.main 函數正常結束的返回值

B.return 7&1;

C.char *p="hello"; return p == "hello";

D.上面都不對

21、下列給定程序中,函數fun的功能是:把形參a所指數組中的奇數按原順序依次存放到a[0]、a[1]、a[2]…中,把偶數從數組中刪除,奇數個數通過函數值返回。 例如,若a所指數組中的數據最初排列爲:9,1,4,2,3,6,5,8,7,刪除偶數後,a所指數組中的數據爲:9,1,3,5,7,返回值爲5。
函數原型:int cnt_array_oushu(int *a, int len)

#include<stdio.h>
#define N 9;
int cnt_array_oushu(int *a, int len) 
{
    int *p = a;
    int arr[];
    int i = 0;
    int j = 0;
    for(i=0;i<len;i++)
    {
        if((a[i]%2) == 0)
        {
            arr[j] = a[i];
        }
        else
        {
            p = p + 1;
        }
    }

}
int main(void)
{
    int a[] = {9,1,4,2,3,6,5,8,7};
    int sum;
    sum = cnt_array_oushu(a, N) 
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章