『壹』 c語言編程用的符號有哪些是什麼意思
1、C語言常用編程符號:
%取余數 5%3=2
&位的和 2&3=2
|位或 2|3=3
!非 !2=0
&&和 3&&5為真 4&&0 為假
||或 3||0為真 0||0為假
+= 相當於 a+=b a=a+b,其他相似 如*= -= /=
<< 位向左移
>>位向右移
sizeof 確定占的空間大小 sizeof(int)
>< >= <=這就是大於小於大於等於,小於等於
a?b:c判斷,如果a為真,則返回b,否則返回c
!=不等於
++ ——自增自減,a--相當於a=a-1
2、運算符優先順序:
『貳』 C語言是什麼意思
c語言
C語言是目前世界上流行、使用最廣泛的高級程序設計語言。
C語言對操作系統和系統使用程序以及需要對硬體進行操作的場合,用C語言明顯優於其它高級語言,許多大型應用軟體都是用C語言編寫的。
C語言具有繪圖能力強,可移植性,並具備很強的數據處理能力,因此適於編寫系統軟體,三維,二維圖形和動畫它是數值計算的高級語言。
常用的編譯軟體有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++, Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++, Lccwin32 C Compiler 3.1,Microsoft C,High C,TurboC等等......
C語言的發展歷史
C語言的發展頗為有趣。它的原型ALGOL 60語言。(也成為A語言)
1963年,劍橋大學將ALGOL 60語言發展成為CPL(Combined Programming Language)語言。
1967年,劍橋大學的Matin Richards 對CPL語言進行了簡化,於是產生了BCPL語言。
1970年,美國貝爾實驗室的Ken Thompson將BCPL進行了修改,並為它起了一個有趣的名字「B語言」。意思是將CPL語言煮干,提煉出它的精華。並且他用B語言寫了第一個UNIX操作系統。
而在1973年,B語言也給人「煮」了一下,美國貝爾實驗室的D.M.RITCHIE在B語言的基礎上最終設計出了一種新的語言,他取了BGPL的第二個字母作為這種語言的名字,這就是C語言。
為了使UNIX操作系統推廣,1977年Dennis M.Ritchie 發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。
1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》,從而使C語言成為目前世界上流行最廣泛的高級程序設計語言。
1988年,隨著微型計算機的日益普及, 出現了許多C語言版本。由於沒有統一的標准,使得這些C語言之間出現了一些不一致的地方。為了改變這種情況,美國國家標准研究所(ANSI)為C語言制定了一套ANSI標准, 成為現行的C語言標准 3.C語言的主要特點 。C語言發展迅速, 而且成為最受歡迎的語言之一, 主要因為它具有強大的功能。許多著名的系統軟體, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 語言編寫的。用C語言加上一些匯編語言子程序, 就更能顯示C語言的優勢了,象PC- DOS 、WORDSTAR等就是用這種方法編寫的。
C語言的特點
1. 簡潔緊湊、靈活方便
C語言一共只有32個關鍵字,9種控制語句,程序書寫自由,主要用小寫字母表示。它把高級語言的基本結構和語句與低級語言的實用性結合起來。 C 語言可以象匯編語言一樣對位、位元組和地址進行操作, 而這三者是計算機最基本的工作單元。
2. 運算符豐富
C的運算符包含的范圍很廣泛,共有種34個運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C的運算類型極其豐富表達式類型多樣化,靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。
3. 數據結構豐富
C的數據類型有:整型、實型、字元型、數組類型、指針類型、結構體類型、共用體類型等。能用來實現各種復雜的數據類型的運算。並引入了指針概念,使程序效率更高。另外C語言具有強大的圖形功能, 支持多種顯示器和驅動器。且計算功能、邏輯判斷功能強大。
4. C是結構式語言
結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰, 便於使用、維護以及調試。C語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。
5. C語法限制不太嚴格、程序設計自由度大
一般的高級語言語法檢查比較嚴,能夠檢查出幾乎所有的語法錯誤。而C語言允許程序編寫者有較大的自由度。
6. C語言允許直接訪問物理地址,可以直接對硬體進行操作
因此既具有高級語言的功能,又具有低級語言的許多功能,能夠象匯編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元,可以用來寫系統軟體。
7. C語言程序生成代碼質量高,程序執行效率高
一般只比匯編程序生成的目標代碼效率低10へ20%。
8. C語言適用范圍大,可移植性好
C語言有一個突出的優點就是適合於多種操作系統, 如DOS、UNIX,也適用於多種機型。
當然,C語言也有自身的不足,比如:C語言的語法限制不太嚴格,對變數的類型約束不嚴格,影響程序的安全性,對數族下標越界不作檢查等。從應用的角度,C語言比其他高級語言較難掌握。
總之,C語言既有高級語言的特點,又具有匯編語言的特點;既是一個成功的系統設計語言,有時一個使用的程序設計語言;既能用來編寫不依賴計算機硬體的應用程序,又能用來編寫各種系統程序;是一種受歡迎、應用廣泛的程序設計語言。
『叄』 c語言,如圖,我打波浪線的符號要怎麼用是什麼意思
第一個%是求模的意思,也就是兩個整數的除法得到的余數比如5%3=2, 1%3=1
!= 就是不等於,靠這個不說了,自己看去
>>是右移運算(相當於除以2),<<為左移同理,~按位取反,不如~3(0011)=12(1100)括弧中的是2進製表示,&是邏輯與,|是邏輯或,^按位運算符 異或0 ^ 1 得 1,所有的位運算是針對2進制
&&邏輯與,比如3&&2=1;3&&0=0;
&是指針運算中的取地址*是取地址中的內容
sizeof是運算一個結構體或者變數等大小(位元組表示)的運算符
比如char a[20] ;sizeof(a)=20; int b[20]; sizeof(b)=4*20=80
『肆』 C4430: 缺少類型說明符 - 假定為 int。注意: C++ 不支持默認 int
因為每一個函數運行都需要一個返回值。返回值類型必須在聲名該函數時指定。void表示空裂州類型,可以省略return,猜源慶如果把函數返回值設定為int,那在函數最後應穗握該顯示的加入return命令,一般return 0 表示程序運行成功 。黑框閃過說明程序運行結束自動跳出了。可以加入庫#include<stdlib>,return命令前加入system(「pause」)就行。
『伍』 電腦出現水波紋是怎麼回事
電腦顯悉侍示器出現知陸攜水波紋,主要是由於供電系統太多的雜波干擾造成的。買一個高質量的電源濾波器可以解決問題。或直接買一個帶濾波器的排插。
1、把顯示器邊上地音箱、耳麥、手機等一切有磁性的東西都弄走,應該會好的!!
2、顯示器里有一項設置叫搭伏:摩爾紋,分橫向和縱向。你調一調它!!這個設置就在顯示器的面板上,跟調亮度和,對比度一樣的調法!!
3。還有一種可能就是你的顯卡驅動沒有裝好,你把驅動重新裝下再看看
『陸』 如何給Imageview 設置水波紋效果
水波紋效果:
1.標准正餘弦水波紋;
2.非標准圓形液柱水波紋;
雖說都是水波紋,但兩者在實現上差異是比較大的,一個通過正餘弦函數模擬水波紋效果,另外一個會運用到圖像的混合模式(PorterDuffXfermode);
先看效果:
自定義View根據實際情況可以選擇繼承自View、TextView、ImageView或其他
這次的實現我們都選擇繼承view,在實現的過程中我們需要關注如下幾個方法:
1.onMeasure():最先回調,用於控制項的測量;
2.onSizeChanged():在onMeasure後面回調,可以拿襪哪畢到view的寬高等數據,在橫豎屏切換時也會回調;
3.onDraw():真正的繪制部分,繪制的代碼都寫到這裡面;
既然如此,我們先復寫這三個方法,然後來實現如上兩個效果;
一:標准正餘弦水波紋
這種水波紋可以用具體函數模擬出具體的軌跡,所以思路基本如下:
1.確定水波函數方程
2.根據函數方程得出每一個波紋上點的坐標;
3.將水波進行平移,即將水波上的點不斷的移動;
4.不斷的重新繪制,生成動態水波紋;
有了上面的思路,我們一步一步進行實現:
正餘弦函數方程為:
y=Asin(wx+b)+h,這個公式里:w影響周期,A影響振幅,h影響y位置,b為初相;
根據上面的方程選取自己覺得中意的波紋效果,確定對應參數的取值;
然後根據確定好的方程得出所有的方程上y的數值,並將所有y值保存在數組里:
//將周期定為view總寬度
mCycleFactorW=(float)(2*Math.PI/mTotalWidth);
//根據view總寬度得出所有對應的y值
for(inti=0;i<mTotalWidth;i++){
mYPositions[i]=(float)(STRETCH_FACTOR_A*Math.sin(mCycleFactorW*i)+OFFSET_Y);緩禪
}
根據得出的所有y值,則可以在onDraw中通過如下代碼繪制兩條靜態波紋:
for(inti=0;i<mTotalWidth;i++){
//減400隻是為了控制波紋繪制的y的在屏幕的位置,大家可以改成一個變數,然後動態改變這個變數,從而形成波紋上升下降效果
//繪制第一條水波紋
canvas.drawLine(i,mTotalHeight-mResetOneYPositions[i]-400,i,
mTotalHeight,
mWavePaint);
//繪制第二條水波紋
canvas.drawLine(i,mTotalHeight-mResetTwoYPositions[i]-400,i,
mTotalHeight,
mWavePaint);
}
這種方式類似於數學裡面的細分法,一條波紋,如果橫向以一個像素點為單位進行細分,則形成view總寬度條直線,並且每條直線的起點和終點我們都能知道,在此基礎上我們只需要循環繪制出所有細分出來的直線(直線都是縱向的),則形成了一條靜態的水波紋;
接下來我們讓水波告芹紋動起來,之前用了一個數組保存了所有的y值點,有兩條水波紋,再利用兩個同樣大小的數組來保存兩條波紋的y值數據,並不斷的去改變這兩個數組中的數據:
privatevoidresetPositonY(){
//mXOneOffset代表當前第一條水波紋要移動的距離
intyOneInterval=mYPositions.length-mXOneOffset;
//使用System.array方式重新填充第一條波紋的數據
System.array(mYPositions,mXOneOffset,mResetOneYPositions,0,yOneInterval);
System.array(mYPositions,0,mResetOneYPositions,yOneInterval,mXOneOffset);
intyTwoInterval=mYPositions.length-mXTwoOffset;
System.array(mYPositions,mXTwoOffset,mResetTwoYPositions,0,
yTwoInterval);
System.array(mYPositions,0,mResetTwoYPositions,yTwoInterval,mXTwoOffset);
}
如此下來只要不斷的改變這兩個數組的數據,然後不斷刷新,即可生成動態水波紋了;
刷新可以調用invalidate()或postInvalidate(),區別在於後者可以在子線程中更新UI
整體代碼如下:
packagecom.csdn.csdnblog2.ui;
importcom.csdn.csdnblog2.utils.UiUtils;
importandroid.content.Context;
importandroid.graphics.Canvas;
importandroid.graphics.DrawFilter;
importandroid.graphics.Paint;
importandroid.graphics.Paint.Style;
importandroid.graphics.PaintFlagsDrawFilter;
importandroid.util.AttributeSet;
importandroid.view.View;
{
//波紋顏色
privatestaticfinalintWAVE_PAINT_COLOR=0x880000aa;
//y=Asin(wx+b)+h
_FACTOR_A=20;
privatestaticfinalintOFFSET_Y=0;
//第一條水波移動速度
_X_SPEED_ONE=7;
//第二條水波移動速度
_X_SPEED_TWO=5;
privatefloatmCycleFactorW;
privateintmTotalWidth,mTotalHeight;
privatefloat[]mYPositions;
privatefloat[]mResetOneYPositions;
privatefloat[]mResetTwoYPositions;
privateintmXOffsetSpeedOne;
privateintmXOffsetSpeedTwo;
privateintmXOneOffset;
privateintmXTwoOffset;
privatePaintmWavePaint;
privateDrawFiltermDrawFilter;
publicDynamicWave(Contextcontext,AttributeSetattrs){
super(context,attrs);
//將dp轉化為px,用於控制不同解析度上移動速度基本一致
mXOffsetSpeedOne=UiUtils.dipToPx(context,TRANSLATE_X_SPEED_ONE);
mXOffsetSpeedTwo=UiUtils.dipToPx(context,TRANSLATE_X_SPEED_TWO);
//初始繪制波紋的畫筆
mWavePaint=newPaint();
//去除畫筆鋸齒
mWavePaint.setAntiAlias(true);
//設置風格為實線
mWavePaint.setStyle(Style.FILL);
//設置畫筆顏色
mWavePaint.setColor(WAVE_PAINT_COLOR);
mDrawFilter=newPaintFlagsDrawFilter(0,Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG);
}
@Override
protectedvoidonDraw(Canvascanvas){
super.onDraw(canvas);
//從canvas層面去除繪制時鋸齒
canvas.setDrawFilter(mDrawFilter);
resetPositonY();
for(inti=0;i<mTotalWidth;i++){
//減400隻是為了控制波紋繪制的y的在屏幕的位置,大家可以改成一個變數,然後動態改變這個變數,從而形成波紋上升下降效果
//繪制第一條水波紋
canvas.drawLine(i,mTotalHeight-mResetOneYPositions[i]-400,i,
mTotalHeight,
mWavePaint);
//繪制第二條水波紋
canvas.drawLine(i,mTotalHeight-mResetTwoYPositions[i]-400,i,
mTotalHeight,
mWavePaint);
}
//改變兩條波紋的移動點
mXOneOffset+=mXOffsetSpeedOne;
mXTwoOffset+=mXOffsetSpeedTwo;
//如果已經移動到結尾處,則重頭記錄
if(mXOneOffset>=mTotalWidth){
mXOneOffset=0;
}
if(mXTwoOffset>mTotalWidth){
mXTwoOffset=0;
}
//引發view重繪,一般可以考慮延遲20-30ms重繪,空出時間片
postInvalidate();
}
privatevoidresetPositonY(){
//mXOneOffset代表當前第一條水波紋要移動的距離
intyOneInterval=mYPositions.length-mXOneOffset;
//使用System.array方式重新填充第一條波紋的數據
System.array(mYPositions,mXOneOffset,mResetOneYPositions,0,yOneInterval);
System.array(mYPositions,0,mResetOneYPositions,yOneInterval,mXOneOffset);
intyTwoInterval=mYPositions.length-mXTwoOffset;
System.array(mYPositions,mXTwoOffset,mResetTwoYPositions,0,
yTwoInterval);
System.array(mYPositions,0,mResetTwoYPositions,yTwoInterval,mXTwoOffset);
}
@Override
protectedvoidonSizeChanged(intw,inth,intoldw,intoldh){
super.onSizeChanged(w,h,oldw,oldh);
//記錄下view的寬高
mTotalWidth=w;
mTotalHeight=h;
//用於保存原始波紋的y值
mYPositions=newfloat[mTotalWidth];
//用於保存波紋一的y值
mResetOneYPositions=newfloat[mTotalWidth];
//用於保存波紋二的y值
mResetTwoYPositions=newfloat[mTotalWidth];
//將周期定為view總寬度
mCycleFactorW=(float)(2*Math.PI/mTotalWidth);
//根據view總寬度得出所有對應的y值
for(inti=0;i<mTotalWidth;i++){
mYPositions[i]=(float)(STRETCH_FACTOR_A*Math.sin(mCycleFactorW*i)+OFFSET_Y);
}
}
}
二:非標准圓形液柱水波紋
前面的波形使用函數模擬,這個我們換種方式,採用圖進行實現,先用PS整張不像波紋的波紋圖;
為了銜接緊密,首尾都比較平,並高度一致;
思路:
1.使用一個圓形圖作為遮罩過濾波形圖;
2.平移波紋圖,即不斷改變繪制的波紋圖的區域,即srcRect;
3.當一個周期繪制完,則從波紋圖的最前面重新計算;
全部代碼如下
//初始化bitmap
privatevoidinitBitmap(){
mSrcBitmap=((BitmapDrawable)getResourceswww.yingtaow.com?getDrawable(R.drawable.wave_2000))
.getBitmap();
mMaskBitmap=((BitmapDrawable)getResources().getDrawable(
R.drawable.circle_500))
.getBitmap();
}
//初始化畫筆paint
privatevoidinitPaint(){
mBitmapPaint=newPaint();
//防抖動
mBitmapPaint.setDither(true);
//開啟圖像過濾
mBitmapPaint.setFilterBitmap(true);
mPicPaint=newPaint(Paint.ANTI_ALIAS_FLAG);
mPicPaint.setDither(true);
mPicPaint.setColor(Color.RED);
}
@Override
protectedvoidonSizeChanged(intw,inth,intoldw,intoldh){
super.onSizeChanged(w,h,oldw,oldh);
mTotalWidth=w;
mTotalHeight=h;
mCenterX=mTotalWidth/2;
mCenterY=mTotalHeight/2;
mSrcRect=newRect();
mDestRect=newRect(0,0,mTotalWidth,mTotalHeight);
intmaskWidth=mMaskBitmap.getWidth();
intmaskHeight=mMaskBitmap.getHeight();
mMaskSrcRect=newRect(0,0,maskWidth,maskHeight);
mMaskDestRect=newRect(0,0,mTotalWidth,mTotalHeight);
}
}
『柒』 C4430: 缺少類型說明符 - 假定為 int。注意: C++ 不支持默認 int
#include <stdio.h> void main() { int a; float m,money,x,y; scanf("%d%f%f",&a,&m,&money); switch(a) { case 1: {x=5.50*m;break;} case 2: {x=4.20*m;break;} case 3: {x=3.00*m;break;} case 4: {x=2.50*m;break;} default:printf("Data Error"); } if (money<櫻鍵x) printf("Data Error!!!!!!!!"脊灶巧) ; else {y=money-x; printf("辯敗a=%d,m=%f,x=%f,y=%f",a,m,x,y);} }
『捌』 單片機c語言中波浪號是什麼意思
都解釋的很清楚
『玖』 解釋水波紋為什麼是圓的
解釋水波紋為什麼是圓的?
因為它分散出去的力是相等的
為什麼水波紋是圓的
首先水波是由振動產生的一種波。
理論上講,波源傳遞出來的波是球面,在均勻介質中向各個方向勻速傳播。
水波是由水作為介質的一種傳播形式。
忽略其他因素碧並搭,可以視水平面為一個平面,所以球面波蔽纖反映到水平面上就是一個個圓環了。
空氣中也有波存在,只是你看不見。
水面的波紋為什麼是圓形的?
水面上的波紋是以同樣的速度向四周擴充套件開來的。因此,在經過一定的
時間之後,那些擴充套件開來的波紋就變成了圓形。
當然,如果水面上落下來的物體形狀是方形的話,那麼,水面上波紋的
最初的形狀也是方形的。可是,當波紋一擴充套件開來,最初的形狀就開始變了,
最後總成為圓形。
用圓的知識解釋為什麼波紋是圓的
同樣的表面積下,圓管的過流量最大,也就是截面積最大。
這個是幾何問題。同樣的周長下,圓形面積最大。也就是說在同樣原材料量下,生產出的圓管的過流能力最大。
下水井蓋和水波紋為什麼是圓的
圓形的井蓋不易傾斜,能夠較好的保護好行人和車輛的安全.使用圓形,主要是考慮到圓形的井蓋通過其圓心的每條直徑長度都是一樣的,這樣如果井蓋被經過的車輛軋起時,因為不論如何軋起,其直徑都會比下面的井口略寬,井蓋不會掉到井口裡去.
井口的使用取決於井口的大小,如果非要在上面安裝個面積遠遠大於井口的其他形狀井蓋,那麼材料的利用和實用價值自然沒有直接使用圓形的井蓋更有效,既節約井蓋的材料,也保證了井口的安全.
北京泛亞電通井蓋為您解答,望採納
北京市內開摩托需要什麼條件?
呵呵!我剛考完!
摩托要考E照!
A,B,C,都是開汽車用的!
D:三輪摩托 E:兩輪摩托 F:輕便摩托!
養路費1海170RMB!我開的春蘭虎125,月耗油100RMB!
上市區摩托牌照大概要4000RMB的竟標費!有效期10年!悔拿
池塘中投入石子,擴散的水波紋為什麼呈圓形
與聲音擴散的原理一樣 當一個物體對液體施加壓力 受力是平均的 所以會產生波動 因為平均所以是圓形