C語言問題 - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 技術分享 >

C語言問題

發表時(shí)間:2020-10-19

發布人(rén):融晨科技

浏覽次數:60

  1. 雙引号(字符串)可以(yǐ)賦值給一個(gè)char類型的(de)變量嗎?
    不(bù)行,會提示[Warning] initialization makes integer from pointer without a cast;初始化從指針生成整數而(ér)不(bù)進行強制轉換。
    也(yě)就(jiù)是(shì)說(shuō),對于(yú)字符串,其實際上(shàng)是(shì)一個(gè)指針,???
  2. 定義函數中有打印語句在(zài)進行調用時(shí)怎麽打印出(chū)來(lái)?
    直接進行調用即可
  3. 如何将字符串賦值給變量?
    方法1:
    char str[]=字符串"
    方法2:
    定義指針,c語言中j将一個(gè)字符串賦值給一個(gè)變量實際上(shàng)是(shì)将這(zhè)個(gè)字符串的(de)第一個(gè)地(dì / de)址賦值給了(le/liǎo)這(zhè)個(gè)變量,
# include <stdio.h>

int p1(){
	char b[] = "ceshi"
}

int test(){
	char *str = "ceshi";
	printf("%s", str);
	return 0;

	
}
int main(){
	p1();
	test();
}
  1. 字符串的(de)長度是(shì)否包括結尾的(de) \0?
    包括,測試結果如下
    在(zài)這(zhè)裏插入圖片描述

  2. 位運算符
    & 按位與運算
    | 按位或運算
    ^ 按位異或,異或就(jiù)是(shì)兩個(gè)不(bù)同才爲(wéi / wèi)1,兩個(gè)相同均爲(wéi / wèi)0
    ~求反運算,

  3. 運算符的(de)優先級
    在(zài)這(zhè)裏插入圖片描述

  4. 強制類型轉換
    如何将兩個(gè)整整型相除的(de)結果轉爲(wéi / wèi)浮點型:

int a,b;
float c;
c = (float) a/b;

整型變量 = 整型+浮點型—> 整型
浮點型變量 = 整型+浮點型—>浮點型
整型變量 = 整型*浮點型—>整型
整型變量 = 整型/浮點型—>整型
浮點型變量 = 整型*浮點型—>浮點型
8. ++i 和(hé / huò) i++ 的(de)區别

int i, j, m, n;
i = 2;
j = 5;
m = i++ /* 先進行m=i的(de)賦值操作,再進行i+1操作*/
n = ++j/*先進行j+1操作,再進行n = j的(de)賦值操作*/
/*
總結:++再前先++
++在(zài)後後++ 
*/

  1. 什麽是(shì)解引用?
    将取值運算符作用于(yú)一個(gè)地(dì / de)址上(shàng),将一個(gè)地(dì / de)址的(de)值取出(chū)來(lái)成爲(wéi / wèi)解引用
int a[3][4];
*(a+1)/*表示的(de)a[1]
  1. 什麽是(shì)語法糖?

語法糖(Syntactic sugar),也(yě)譯爲(wéi / wèi)糖衣語法,是(shì)由英國(guó)計算機科學家彼得·約翰·蘭達(Peter J. Landin)發明的(de)一個(gè)術語,指計算機語言中添加的(de)某種語法,這(zhè)種語法對語言的(de)功能并沒有影響,但是(shì)更方便程序員使用。通常來(lái)說(shuō)使用語法糖能夠增加程序的(de)可讀性,從而(ér)減少程序代碼出(chū)錯的(de)機會。
舉個(gè)例子(zǐ):在(zài)C語言裏用a[i]表示*(a+i),用a[i][j]表示*(*(a+i)+j),由此可見語法糖不(bù)是(shì)“現代語言”獨有,這(zhè)種寫法簡潔明了(le/liǎo),容易被人(rén)理解。

  1. 在(zài)數組中,如果有一個(gè)值被初始化了(le/liǎo),其他(tā)沒有指定初始化的(de)值會默認初始化爲(wéi / wèi)0;
  2. scanf 無法接受含有空格的(de)函數,隻能用gets()
  3. 頭函數string.h中,strcat(A,B)是(shì)将B字符串拼接在(zài)A字符串後面。
  4. 在(zài)字符串中,數字給某一位賦值0代表着将其變成了(le/liǎo)‘\0’,字符串在(zài)打印輸出(chū)時(shí),遇到(dào)第一個(gè)‘\0’就(jiù)會結束打印。
  5. 二維數組初始化問題:????

相關案例查看更多