C語言學習筆記(用書 C Primer Plus)

2021-10-14 15:41:49 字數 1272 閱讀 9318

本文旨在記錄學習複試科目c語言中所遇到的問題或是一些知識點,以便加深印象以及以後複習

一、c語言概述

1、輸出已宣告但未賦值的引數

在vs2019下,無法通過編譯,會報錯「未初始化」;

在codeblocks下,能通過編譯,但結果是隨機數。

至於為什麼在vs2019下會報錯,可能是編譯器不同的原因吧,不太確定,但這側面反映出vs2019的強大。

2、關於形參和實參

顧名思義,形參僅代表這裡是乙個引數,但不是真正使用的引數,而實參才是具有實際含義的引數。

#include

void

main

(void

)int

sum(

int a,

int b)

3、c語言的bool型別

說來慚愧,接觸了這麼長時間才知道,以前手寫的偽**都是基於c++的,只有c++才支援「bool」的寫法,

而c語言的布林型別需要

1)、自己定義仿布林型

#define true 1

#define false 0

2)、c99引入關鍵字「_bool」 來定義布林型變數。_bool型別長度為1,只能取值範圍為0或1。將任意非零值賦值給_bool型別,都會先轉換為1,表示真。將零值賦值給_bool型別,結果為0,表示假。3)、在c99標準下,引入#include標頭檔案後使用

二、c語言基本資料型別

1、short型別的取值範圍

書中有一例:

long i=

65537;

printf

("i=%hd"

,i);

結果為i=1;

在書中得知當下最常見的計算機設定short為16位,下面又寫到short的取值範圍是[-32767,32767],因此若根據資料溢位的觀點可知65537超過了short型別可表示的上限,會重新從最小值-32767開始往上加,但我卻怎麼算都是2。

後來在vs2019和cb都執行了以下程式後:

int

main()

得到結果

因此可知,short型別的取值範圍實際是[-32768,32767]。後上網查閱後確實如此,書上這個地方有誤。

龍小樹 R語言學習參考用書推薦

剛剛去學習r語言的朋友來說,肯定是蒙的,甚至不知道該如何下手去學習,有些人甚至不知道論壇,甚至不知道給如何入門,然後逐步的放棄了r語言的學習,但我想說的是,入門r需要你沉心下來,然後好好的去閱讀書籍,然後邊學習,邊練習,隨時 目前,市面上r語言的書籍很多,中文英文都有。那麼,在眾多書籍中,應該從哪一...

C語言學習筆記

include include void swap int p1,int p2 void swapa int arr,int n void printfa int arr,int n int main int argc,char argv swap i,j printfa array,6 swapa...

C語言學習筆記

file 結構 包含在stdio.h裡 ifndef file defined struct iobuf typedef struct iobuf file define file defined endif fread 功 能 從乙個流中讀資料 函式原型 size t fread void buf...