溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C重點基礎自測第一部分(精華)

發布時間:2020-07-31 10:53:08 來源:網絡 閱讀:346 作者:zheng_feng 欄目:編程語言

*答案在末尾!

1、寫出bool、float、指針變量與“零值”比較的if語句;

2、在linux32位操作系統下,計算sizeof的值;

char str[] = “heoll”;

char* p = str;

int n;

void fun(int arr[])

{}

void* ptr = malloc(168);

sizeof(str);sizeof(p);sizeof(n);sizeof(arr);sizeof(ptr);

3、給出下列的定義

a、一個有10個指針的數組,該指針的是指向一個整型的;

b、一個指向有10個整型數組的指針;

c、一個指向函數的指針,該函數有一個整數參數并返回整型;

d、一個有10個指針的數組,指針指向一個函數,該函數有一個整型參數并返回整型;

4、以下代碼有什么問題?

int main()

    char a;

    char* str = &a;

    strcpy(str,“hello”);

    printf(str);

    return 0;

5、以下代碼有什么問題?

str = “aaa”;

printf("%s\n",str);

str[0] = 'A';

printf("%s\n",str);

6、C/C++中的struct有什么不同?

7、以下代碼有什么問題?

void getmetmemory(char *p)

{

    p = (char*)malloc(100);

    strcpy(p,"hello world");

}

int main()

{

    char* str = NULL;

    getmemory(str);

    printf("%s\n"str);

    free(str);

    return 0;

}

8、以下代碼會產生什么結果,為什么?

char str[10];

strcpy(str."0123456789");

9、volatile關鍵字的作用;

/*************************************************************

答案

/*************************************************************

1、一般規范的:

bool:if(falg) if(!flag)

float:const float EPS = 0.000001;    if((x >= -EPS )&&(x <= EPS))

指針:if(p == NULL) if(p != NULL)

2、6、4、4、4、4;

3、int* a[10];    int(*a)[10];    int (*a)(int);  int (*a[10])(int);  

4、沒有為str分配內存空間,將一個字符串拷貝到一個字符變量指針所指地址??梢猿鲱A期結果

但是越界進行讀寫導致程序崩潰。

5、“aaa”是字符串常量,str是指針,指向這個字符串常量,所以聲明str的時候就有問題了。

又const char* str = “aaa”;是常量對str[0]的賦值操作是不合法的。

6、重要區別是C中struct不可以包含成員函數,而在C++中它就是一個類只是默認是public的罷了。

7、p傳給getmemory函數的是p的一個副本,在函數體為p開辟了空間超了函數體p還給還給操作系統了,

p所指向的內存空間沒有釋放導致內存泄漏。

8、str越界寫入數據,會導致段錯誤。

9、一個定義為volatile的變量表示該變量會經常被改變。多用于下面三個地方

(1)、中斷服務程序中修改的供其它程序檢測的變量需要加volatile;

(2)、多任務環境下各任務間共享的標志應該加volatile;
(3)、存儲器映射的硬件寄存器通常也要加volatile說明,因為每次對它的讀寫都可能由不同意義;



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女