1. c語言是什麼意思,求詳細解釋
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言訂定了一套完整的國際標准語法,稱為ANSI C,作為C語言最初的標准。
參考網路:http://ke..com/link?url=BWa0Nq_VoyX1QTPCWReDSFHSiO-wxh55V9gq_U0B751Ex_
2. 對C語言程序的解釋
這一行代碼可以看做是一個逗號表達式,因此是正確的。
表達式格式:表達式1,表達式2,表達式3,...... ,表達式n
逗號表達式的要領:
(1) 逗號表達式的運算過程為:從左往右逐個計算表達式。
(2) 逗號表達式作為一個整體,它的值為最後一個表達式(也即表達式n)的值。
(3) 逗號運算符的優先順序別在所有運算符中最低。
例如 :int i = (1, 2, 3, 4);
其中,(1, 2,3, 4)就是一個含有4個表達式的逗號表達式,整個表達式的取值為第四個表達式:4,所以此語句相當於int i = 4;
注意:表達式可以是一個計算式,甚至是一個函數:
例如:int i = (1, a = 1, a= 3*4, fun(6));
其中,(1, a = 1, a= 3*4, fun(6))就是一個逗號表達式,此表達式的取值為函數fun(6)執行完畢後的返回值,所以最後結果相當於是:i = fun(6);
而fun(6),printf("\n"); 這條語句其實也是一個逗號表達式(fun(6),printf("\n")),表達式1為fun(6),表達式2為printf("\n");所以這樣來看,可以寫成表達式,編譯是不會出錯的,也可以執行。
3. C語言程序,求解釋
定義了結構體,主程序是 先定義一個結構體數組 ,使p指向結構體數組的第3個元素的最後一個地址+1,輸出 結構體 前三個元素佔有的地址空間 大小
個人理解 你可以運行一下看看是什麼結果
4. 什麼是C語言和C+語言
1、C語言。
C語言誕生得非常早,當時人們普遍還習慣用匯編語言編寫軟體,並且沒有什麼統一,通用的操作系統,基本上軟體都是從0開始寫的。C語言的方針便是比匯編方便易用,一起不要損失匯編的表達能力。所以C語言可以看成是「高級的匯編」語言。
C語言的源代碼基本上可以非常容易地對應到匯編代碼,並且可以不需要什麼運行時環境的支撐。C的特點,簡單容易編譯,靈活貼近底層。所以一向到現在,一些需要直接和硬體打交道的軟體都還是用C語言寫的,比如(但不限於)Linux Kernel和一些嵌入式領域。
2、C++ 語言
C++早期是基於C的,C++早期的編譯方法是將C++的代碼編譯成C代碼然後再調用C的編譯器來生成機器碼。C++的方針是進步編程人員的生產率,哪怕代價是增加編譯器的復雜度。
(4)c語言兼程解釋擴展閱讀
1、C語言中,如果一個函數沒有指定返回值類型,默認為int類型,並返回一個隨機數,一般為0XCCCCCCCC.
2、在C++中,如果函數沒有返回值則必須指定為void型,否則編譯不能通過。
5. C語言既可以編譯執行又可以解釋執行嗎 編譯執行怎麼解釋 解釋執行又怎麼解釋
C 語言程序僅可以解釋執行。
解釋程序是將源程序(如BASIC)作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。編譯程序是把高級語言(如FORTRAN、COBOL、Pascal、C等)源程序作為輸入,進行翻譯轉換,產生出機器語言的目標程序,然後再讓計算機執行這個目標程序,得到計算結果。
相對於編譯性語言,其優點是可移植性好,只要有解釋器環境,程序就可以在不同的操作系統上運行。
缺點是代碼需要有專門的解釋器,在程序運行時,除要給用戶程序本身分配內存空間外,解釋器也佔用系統資源,所以其運行速度較慢。另外,也很難達到像C、C++那樣操作系統底層操作的目的。
解釋型語言常用於,一是對運行速度要求不高(如一些網頁腳本等)的場合,二是對跨平台(操作系統的兼容性)有要求的場合。
(5)c語言兼程解釋擴展閱讀
1、Python和Java語言,專門有一個解釋器能夠直接執行Python程序,每個語句都是執行的時候才翻譯。
2、Python代碼在運行前,會先編譯成中間代碼,每個 .py 文件將被換轉成pyc 文件,pyc 就是一種位元組碼文件,它是與平台無關的中間代碼。不管放在 Windows 還是 Linux 平台都可以執行,運行時將由虛擬機逐行把位元組碼翻譯成目標代碼。
6. 簡單C語言程序求解釋
這么定義p是為了讓它與a的列數一致,*(*(p+i)+j)中p+i表示a這個數組第i行的地址,*(p+i)表示的是a數組第i行的首地址,也就是a[i][0]的地址;後面再加個j就是a[i][j]的地址,再加個*就是取a[i][j]的值了
再回到第一個問題,如果給p包含3個整型一維數組的話,p+i表示的就不是a的第i行的地址了,結果也就不同了
7. c語言簡單程序解釋一下
A處執行完畢後,數組c並不一定設置好。
以本題為例:
程序順次執行
c[0]=a[0],pc++,pa++;
c[1]=a[1],pc++,pa++;
c[2]=b[0],pc++,pb++;
c[3]=a[2],pc++,pa++;
到這一步pa-ay已經超過A_NUM了,所以while(pa-a<A_NUM && pb-b<B_NUM)的條件不滿足,循環終止。
在下來執行while(pb-b<B_NUM) //C處的循環來完成數組c的設置。
程序順次執行
c[4]=b[1],pc++,pb++;
c[5]=b[2],pc++,pb++;
完畢!
你明白了么?
8. C語言程序語句解釋
#include <stdio.h> #include是固定格式,意思是」包含「,<stdio.h>中的stdio.h,這是一個庫函數頭,用<>括起來,這句意思是把名為stdio.h的頭(其實是一個文件)包含到當前的程序中。在C語言中,有許多函數可以直接拿來用,比如printf函數(輸出函數),這些函數被稱為庫函數,要想調用這些函數,就要給出相應的庫函數頭,不同的庫函數需要給出不同的頭,庫函數頭的含義是」將這些函數的定義包含到程序中去「,因為你的程序中沒有這些庫函數的定義,所以你想要調用某些庫函數,就要給出相應的頭,將函數的定義包含到程序中是有編譯器完成的
#define CUBE(x) (x*x*x) 這是C語言中的宏定義,宏分為簡單的宏和帶參數的宏,宏有什麼作用?宏的一般格式是」#define 記號 替換列表「其中# define是「定義」的意思,也算是固定格式吧,記號可以是字母,符號等一切可能出現的東西,比如說#define CUBE(x) (x*x*x) 中的CUBE,一般用大寫字母(C語言程序員數十年遵循的規范,希望你不要打破哦);"替換列表「可以是表達式,語句等等(比如#define CUBE(x) (x*x*x) 中的(x*x*x),表示計算X的立方)。宏的作用是將程序中出現的所有記號用替換列表代替。比如說#define CUBE(x) (x*x*x)中,只要程序中出現CUBE(x) ,編譯器(這個工作是有編譯器完成的)就把CUBE(x) 替換為(x*x*x)。簡單的宏比如#define N 10,在程序中凡是有N的地方都將被替換為10.帶參數的宏比如說你的程序中的宏#define CUBE(x) (x*x*x),CUBE是記號,括弧中的x是參數,就像一個函數,在程序中用的時候,比如出現i=CUBE(10);那麼就將被替換為i=(10*10*10); i的值將被賦予10的立方。
main() 是C語言中的主函數,C語言是由函數組成的,其中主函數(或稱main函數)是必須有的,程序執行的時候是由主函數開始執行的,主函數內容要用{}括起來
int n=5; 定義變數n並賦與n值為5. int表示變數n的類型是整型,n=5是將n的值初始化為5(以後換可以改變),後面的分號是必須有的,C語言規定每條語句後都應該以分號結尾。
int s=CUBE(++n); 定義s為整型並賦予s的值為CUBE(++n),CUBE(++n)前面已經說過了,它將被替換為(++n*++n*++n),其中++n是一種算數運算符,就像乘除加減法一樣,++n的意義是將n自增1,整個表達式(即++n)不變,這里要分清變數和表達式,比如a+b,變數是a和b,表達式是a+b,。所以這里s就等於125.
printf(「%d」,s); 這是一個輸出函數,%d表示S的類型為整形,輸出s的值。