程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C 小復習,復習

C 小復習,復習

編輯:C++入門知識

C 小復習,復習


C語言 signed 與 unsigned:

  C語言中,當表達式中存在有符號類型和無符號類型時所有的操作數都自動轉換為無符號類型

signed int a = -110;
unsigned int b = 2;
cout << a + b << endl;

  浮點數來說,浮點數(float,double)實際上都是有符號數,unsigned 和signed前綴不能加在float和double之上,當然就不存在有符號數根無符號數之間轉化的問題了。




 

有符號和無符號整數的主要區別是如何看待最高位:
  對於單字節二進制數01010110,無符號整數為86,有符號數也為86,因為最高位為0,所以二者間沒有區別。
  對於二進制數10101100來說,無符號數為172,有符號數則為-84。二者區別很大。

    unsigned char a = -1;
    cout << (unsigned)a;

上面輸出255,應該是這樣的:-1有符號,應該是11111111,然後把這個賦值給a,輸出unsigned a時解釋為255




 

數組初始化:

  看代碼與結果:

 1 #include <iostream>
 2 
 3 using std::cout;
 4 using std::endl;
 5 using std::cin;
 6 
 7 int a[10];
 8 
 9 void show(int arr[], int len)
10 {
11     for (int i = 0; i < len; ++i)
12         cout << arr[i] << " ";
13     cout << endl;
14 }
15 
16 int main(void)
17 {
18     int b[10];
19     int c[10] = { 1, 2 };
20     show(a, 10);
21     show(b, 10);
22     show(c, 10);
23     cin.get();
24 }

其實這種東西要看編譯器與具體系統環境,因為C標准從沒定義“未初始化的int類型的默認值”。一般全局變量會初始化為0,b數組在在棧裡面,都是髒數據,c數組初始化了前幾個,那麼後幾個也被初始化了。所以初始化的工作程序員還是不要逃避吧。


c語言小練習

#include<stdio.h>
#include<stdlib.h>
int main()
{
void mystrcpy(char a[]);
char ch[19]="abcdefghijklm";
mystrcpy(ch);
return 0;
}
void mystrcpy(char a[])
{
int i;
char *p=a;
char b[20];
char *pb=b;
for(i=0;*(p+i)!='\0';i++)
*(pb+i)=*(p+i);
*(pb+i)='\0';
printf("The string after copy is %s\n",pb);
}
 

c語言怎復習?

最直接的方法就是做往年二級C筆試試卷,真的很有效果,不過前十題選擇題別做,因為學C的時候沒學到,二級試卷難度不大,四十分鐘就可以解決了,所以一套試卷下來耗的時間不過,然後做完之後不懂的對照課本看看,補補,這樣考試的時候基本沒問題了,我就是這樣的!!!效果真的不錯!
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved