-
#include <stdio.h>
int main(int argc,char **argv)
{
??? printf("Hello World!\n");
??? return 0;
}
C++第一種表述方式
#include <iostream>
int main(int argc,char **argv)
{
??? std::cout << "Hello World!\n" << std::endl;
??? return 0;
}
C++第二種表述方式查看全部 -
include <stdio.h>
?int main(int argc,char **argv)
?{
? ? ?for(int i=0;i<5;i++){
? ? ? ? ?for(int j=0;j<8;j++){
? ? ? ? ? ? ?printf("* ");
? ? ? ? ?}
? ? ? ? ?printf("\n");
? ? ?}
? ? ?return 0;
?}用的是for的循環(huán)
因?yàn)槭菑?開始,所以可以小于8
查看全部 -
當(dāng)程序執(zhí)行到 while 之后,會發(fā)生下面的事情:
1. 先執(zhí)行"表達(dá)式A",判斷"表達(dá)式A"的返回值是否是 true,如果它的值為真(非0),則執(zhí)行循環(huán)體,否則結(jié)束循環(huán)。
2. 重復(fù)執(zhí)行 1可以發(fā)現(xiàn),do-while 和 while 是非常像的,不一樣的是,這里多了一個 do,而且 while 放到了后面。
而 do-while 和 while 最不一樣的地方,就是 do-while 無論條件是否成立,都會先執(zhí)行一次循環(huán)體內(nèi)的內(nèi)容。
do-while 是一種 while 的重要補(bǔ)充,由 while 的先判斷再循環(huán),變成先循環(huán)再判斷。
我們來看這樣一段程序
這段程序中,我們直接在 while 的判斷條件中寫了一個 false。那么我們這樣做了,事實(shí)上是無法構(gòu)成一個循環(huán)的。既然不是循環(huán),那么我們?yōu)槭裁匆@樣做呢?
因?yàn)槲覀冞@里要利用一個循環(huán)的語法,來實(shí)現(xiàn)非循環(huán)的用途。
我們在寫程序的時(shí)候,有時(shí)候會想要做一個跳過一段程序的功能。
do {
? ?if(a == 12){
? ? ? ?break;
? ?}
? ?b = a + b;
} while(false);
b = a - b;查看全部 -
當(dāng)程序執(zhí)行到 while 之后,會發(fā)生下面的事情:
1. 先執(zhí)行"表達(dá)式A",判斷"表達(dá)式A"的返回值是否是 true,如果它的值為真(非0),則執(zhí)行循環(huán)體,否則結(jié)束循環(huán)。
2. 重復(fù)執(zhí)行 1查看全部 -
hile循環(huán)和for循環(huán)最顯著不一樣的地方,就是while循環(huán) 沒有那么多前置規(guī)則,看上去更加靈活一些。
while 和 for 的用途也不太一樣,for循環(huán)更適合循環(huán)次數(shù)比較確定的場景,例如數(shù)組遍歷等,而while 循環(huán)更適合不確定循環(huán)次數(shù)不確定的場景。
當(dāng)程序執(zhí)行到 while 之后,會發(fā)生下面的事情:
1. 先執(zhí)行"表達(dá)式A",判斷"表達(dá)式A"的返回值是否是 true,如果它的值為真(非0),則執(zhí)行循環(huán)體,否則結(jié)束循環(huán)。
2. 重復(fù)執(zhí)行 1查看全部 -
這種用法,也是 for 循環(huán)最常見的用法。因?yàn)?for 可以在括號內(nèi)申明局部變量(變量 i 只在循環(huán)內(nèi)有效),不容易干擾其他部分的代碼,而變量 i 處理當(dāng)作判定條件之外,還恰巧可以當(dāng)作數(shù)組的角標(biāo)。
int array[100];
for(int i=0;i<100;i++){
? ?printf("array[%d]: %d\n", i, array[i]);
}查看全部 -
編譯C++程序時(shí),編譯器要用g++.exe而不是gcc.exe查看全部
-
?#include <stdio.h>
?int main(int argc,char **argv)
?{
? ? ?int g = 85;
先輸入成績,然后if(括號中是條件){
? ? ?if(g >= 90){
? ? ? ? ?printf("優(yōu)\n");
? ? ?}
? ? ?else if(g >= 75 && g <= 89){
? ? ? ? ?printf("良\n");
? ? ?}
? ? ?else if(g >= 60 && g <= 74){
? ? ? ? ?printf("中\(zhòng)n");
? ? ?}
? ? ?else{
? ? ? ? ?printf("差\n");
? ? ?}
? ? ?return 0;
?}else if? 是分開來寫的
最后一步不用寫條件,直接是else
查看全部 -
執(zhí)行的結(jié)果似乎和我們預(yù)期的結(jié)果有出入, switch 在匹配到 5 的 case 之后,不但執(zhí)行了 5 的 case 從句,還把 5 之后所有的 case 從句連同 default 從句一起輸出了。
這就是 switch case 的特殊的地方,他在匹配到相應(yīng)的 case 之后,會將后面所有的 case 從句都執(zhí)行一次,直到碰到一個 break 語句。如果想讓這段程序符合預(yù)期,我們就要這么寫:
#引入源碼
int main()
{int main(int argc,char **arg)
? ?int s = 5;
? ?switch (s) {
? ? ? ?case 1:
? ? ? ? ? ?printf("1\n");
? ? ? ? ? ?break;default:
? ? ? ? ? ?printf("unknow\n");查看全部 -
enum 變量名字
{
展開變量
};
int main()
{
if(week==大變量名::展開值){printf("mon\n")}
}
查看全部 -
truct Student
?{
? ? ?float math;
? ? ?float english;
? ? ?float chinese;
?}
enum Season
?{
? ? ?Spring,
? ? ?Summer,
? ? ?Autumn,
? ? ?Winter
?};查看全部 -
第一個等式右邊記得要是集合
結(jié)構(gòu)體是struct
枚舉enum
后面要加具體內(nèi)容,括號外面還有分號
查看全部 -
denjia
查看全部 -
除法分為兩種情況,一種是整數(shù),對于整數(shù)的除法,整數(shù)除法之后,得到的還是一個整數(shù),如下,輸出結(jié)果為 2,只保留整數(shù)部分,余數(shù)部分被舍去。
上面是整數(shù)除,下面是浮點(diǎn)數(shù)
a?=?5; ????int?b?=?2; ????int?c?=?a?/?b; ????printf("c:?\n",?c); ????return?0; ?????????a?=?5; ????float?b?=?2; ????float?c?=?a?/?b; ????printf("c:?\n",?c); ????return?0;
查看全部 -
#include<stdlib.h>
查看全部 -
我們在定義數(shù)組的時(shí)候,常常這樣定義,int arr[5];
?printf("array[0]: %p\n", &array[0]); // %p 用來打印數(shù)組的地址
array[0]: 0x7ffee9d81490
array[1]: 0x7ffee9d81494
array[2]: 0x7ffee9d81498
array[3]: 0x7ffee9d8149c
array[4]: 0x7ffee9d814a0指針的地址以16進(jìn)制的方式輸出,可以看出,這幾個地址中,每兩個相鄰的地址都相差 4 ,而每一個元素都是 int類型,int 占 4 個字節(jié)大小,說明他們確實(shí)是緊密相連的。
int main(int argc,char **argv)
{
? ?int array[5];
? ?printf("array: %p\n", array);
? ?printf("array[0]: %p\n", &array[0]); // %p程序運(yùn)行結(jié)果如下:
array: 0x7ffeefa29490
array[0]: 0x7ffeefa29490
array[1]: 0x7ffeefa29494
array[2]: 0x7ffeefa29498
array[3]: 0x7ffeefa2949c
array[4]: 0x7ffeefa294a0我們發(fā)現(xiàn),直接輸出 array 和首元素的地址,是一模一樣的,那么就可以得出一個結(jié)論:數(shù)組名是一個指向數(shù)組首元素的指針
代碼中的?*(array + 2) = 1;?就等價(jià)于?array[2] = 1;
*(數(shù)組名稱加下表跨度)=值
int*p=(int*)malloc(5*seizeof(int));分配五個int
free(p)
?p[2]和*(p + 2)在這里是等價(jià)的。
查看全部
舉報(bào)