原创 C語言基礎結構

一.順序結構程序設計 1.1格式化輸入輸出函數(printf函數以及scanf函數)    #include<stdio.h> int main() { int a; scanf("%d\n",&a); pri

原创 課堂問題1106

1  i++和++i的區別 ++i相當於下列代碼  i += 1; return i; i++相當於下列代碼 j = i; i += 1; return j;當然如果編譯器會將這些差別都優化掉,那麼效率就都差不多了。 #include <

原创 程序1031

#include<stdio.h> int main() { int i; int count=0; for(i = 5;i <= 100;i += 5) { count++; if(i%25==0) { cou

原创 指針

例如  int *p; *:取指針所指向變量的內容,單目運算符 &:取變量的地址,單目運算符; 指針變量的初始化: int *p=&a;或者 int *p; p=a; void swap(int p1,int p2) { in

原创 程序運行過程

1. 預處理 首先源代碼文件(.c/.cpp)和相關頭文件(.h/.hpp)被預處理器cpp預編譯成.i文件(C++爲.ii)。預處理命令爲: gcc –E hello.c –o hello.i 預編譯過程主要處理那些源代碼中以#開始的預

原创 C語言中的字符串

1.標準函數gets與puts分別用於字符串的整體輸入和輸出,且gets接收字符串時,字符串中可包含空格。 使用格式爲:gets(字符數組)或者puts(字符數組),由頭文件stdio.h支持 2.常用字符串處理函數(由頭文件strin

原创 頭文件和庫函數的區別

1.頭文件中有函數的申明,庫文件實現函數的定義。  比如,printf函數。使用時應包括stdio.h,打開stdio.h你只能看到,printf這  個函數的申明,卻看不到printf具體是怎麼實現的,而函數的實現在相應的C庫    

原创 指針的值傳遞和地址傳遞

值傳遞: 形參是實參的拷貝,改變形參的值並不會影響外部實參的值。從被調用函數的角度來說,值傳遞是單向的(實參->形參),參數的值只能傳入, 不能傳出。當函數內部需要修改參數,並且不希望這個改變影響調用者時,採用值傳遞。 指針傳遞:

原创 課堂問題1108

C語言特點: 1  C語言可以訪問硬件 2  C語言運行效率高 3  C語言具有出色的移植性 C語言是面向結構的語言,缺點:複用性較差,代碼維護性較差,拓展性較差,可讀性較差 提高效率的方法: 減少函數的調用,儘量使用靜態庫編譯 s

原创 用戶定義數據類型

1結構體: 實際變成中,處理批量數據是非常普遍的,對於同類型的批量數據;作爲一個整體; 例如定義一結構體描述學生的類型 struct Student {     char name[9];     unsigned No;     flo

原创 C語言函數

函數 1.函數的概念及種類 1.1 庫函數(系統函數) 由C系統提供,用戶無須定義,也不必在程序中做類型說明,只需在程序前包含有該函數的頭文件即可在程序中直接調用 例如:printf,scanf,getchar等 1.2用戶定義函數 用戶

原创 位運算

6種位運算: &按位與 |按位或 ^按位異或 ~取反 <<左移 >>右移 按位與運算 按位與運算符"&"是雙目運算符。 其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均爲1時,結果位才爲1 ,否則爲0。參與運算的

原创 C語言 循環程序設計

一.循環程序設計 1.  for語句實現循環  for語句格式如下: for(表達式1;表達式2;表達式3) 循環體 若循環體超過一條語句就要用大括號括起來; 執行過程:計算表達式1;判斷表達式2是否爲真(非0爲真,0爲假);若爲真,則執

原创 C語言數組

數組 1.1一維數組的定義及初始化 一維數組的定義格式:int a[10];         a爲整型數組,共10個元素; 初始化:例如: int a[5]={1,2,3,4,5}; 1.2 一維數組的應用  用冒泡法對鍵盤輸入的10個數

原创 二進制的源碼 補碼 反碼

二進制 我們常用的十進制是「逢十進一」的,我們只需要使用0、1、2、3、4、5、6、7、8、9這10個數字符號, 就能表示所有的自然數。與此類似,二進制是「逢二進一」的進位制,它只需要使用0、1這兩個數字符號,就能表示所有的自然數。 例如