C语言结构和高二的知识,c语言基础知识复习.pdf
1. int n=10 ,a[n]; 這種寫法為什么不對
是變量!不能作為下標使用! 因為在編譯的時候,數組需要一個指定的大小。 n
必須是常數,在編譯的時候編譯器并不知道 n 到底是多少,運行時候才知道,所
以編譯不通過。
2. 在 C 語言中,一個字母字符占一個字節。所以表面上看是占了 1 個字節。
然而 C 語言中規定,字符串結束后必須跟一個結束字符 '\0' ,因此總共應該是
占了 2 個字節
依次類推 “abc ”就是占 4 個字節
例子: c 語言中 "\\sfds" 的字節數是多少?為什么?
6 個(前提是一個字符占一個字節)
是 1 個,第一個是轉義字符,故兩個作為一個“ ”
sfds 是 4 個
另外雙引號內的字符串,默認有個” \0 “作為結尾,雖然沒有寫出來
所以一共占 1+4+1=6個字節
3. 若有定義: inta[3][4]={{1,2},{0},{4,6,8,10}} ;則初始化后, a[1][2] 得到的
初值是 _0_a[2][1] 得到的初值是 _6 。
{1,2} 對應第 0 行 1 是 0 行 0 列 [0][0],2 是 0 行 1 列 [0][1]
{0} 對應第 1 行 0 是 1 行 0 列[1][0]
{4,6,8,10} 對應第 2 行, 4 是 2 行 0 列[2][0] ,6 是 2 行 1 列[2][1] ,
8 是 2 行 2 列[2][2] ,10 是 2 行 3 列[2][3]
4. a<<2 表示 a 左移兩位,數值上相當于 a 的十進制數乘以 4 ,在把他的值賦給
b
a<
a>>n 數值上相當于 a 的十進制數 除以 2 的 n 次方
5.數據轉換類型:隱式類型轉換,低級向高級轉換
Int a; float b; double c
a+b+c 先將變量 a 和變量 b 都轉換為 double ,然后計算,得到結果 double
強制類型轉換: (double)a 將 a 轉換為 double 型
(int)(x+y) 將 x+y 的值轉換為整型
(int)a+y 將 x 轉換為整型,然后與 y 相加
6.在 c 語言中 逗號運算符的優先級最低。
7.int a,b;
a=10%3,b=5;
printf( %%%d,%%%d“ ”,a,b);
a=%1,b=%5
注意: %% 輸出 %
8.十進制與二進制轉換
9. 八進制與二進制轉換
10. 閏年
普通年 :能被 4 整除但不能被 100 整除的年份為普通閏年。 (如 2004 年就
是閏年, 1999 年不是閏年);
世紀年 :能被 400 整除的為世紀閏年。 (如2000 年是閏年, 1900 年不是
閏年);
11. int a,b,c;a=b=c=1;++a||++b&&++c; 求 a,b,c 的值?
在 c 語言中 ,&& 的優先級比 ||高 ,所以當這兩個一起出現的時候 ,是先算 && 再算 ||, 當然 ,||在 c 語
言也有個陷阱 .就是當 ||的前半部分為真的時候 ,就不執行后半部 ,只有前半部分為假的時候才執行
后半部分 . 本題中: a=b=c=1; 于是 a,b,c 的值都是 1, ++a||++b&&++c; 中,&& 的優先級高 ,所以先
算++b&&++c, 再跟 ++a 做 ||運算 . 于是 ++a 是 ||的前半部分 .而 ++a 的值此時是 2,a 的值就是 2, 即為
真.于是
總結
以上是生活随笔為你收集整理的C语言结构和高二的知识,c语言基础知识复习.pdf的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win7如何使用自带防火墙(使用N2N搭
- 下一篇: [语法探索]ABAP新语法 COND/S