2、C语言要背哪些?
你并没有把详细的 C 语言基础代码写出来,别人怎么帮助你添加注释语句啊?因为所说的 C 语言基础代码实际上并没有一定之规。怎么样才算是基础代码、有几行代码就可以、足够了?这些都是灵活的、并不是一成不变的。例如,最、最简单的 C 语言基础代码就是:很多 C 语言教材上的之一个程序,输出:"Hello, World !"。该详细的 C 语言代码如下:
#include stdio.h /* 基本输入输出头文件,包括:printf、scanf等的库函数原型说明 */
void main( ) /* 任何一个 C 语言源代码都必须包含主函数 main( ),void 表示该函数不返回任何值 */
{ /* 在 C 语言代码中,任何一个函数都是以 { 开始,并且以 } 结束 */
printf( "Hello, World !\n" ) ; /* 在电脑屏幕上输出字符串:Hello, World */
单独记死的没用,边学边用,学到哪了不懂再去看,如果有一定的英语基础,学起来就容易多了,应为里面的函数构造都是英语单词的缩写或简称,多加练习去编译器编写,时间长了自然的就记住了,但不能记死的,要懂得举一反三。
补加#include stdio.h后没有问题了啊,难道你是指输出的结果不是你想要的,那么你可以将换行符放到字符串后面,如:
printf("\nHello World");=printf("Hello World\n");
是不是就是你想要的效果?
另外,main函数没有参数的,不用加个void在里面。
c语言基础知识必背有1、c语言的命名;2、变量及赋值;3、基本数据类型;4、格式化输出语句;5、强制类型转换;6、常量;7、自动类型转换。
果有一定的英语基础,学起来就容易多了,应为里面的函数构造都是英语单词的缩写或简称,多加练习去编译器编写,时间长了自然的就记住了,但不能记死的,要懂得举一反三。
小游戏2048源码:
#includestdio.h
#includestdlib.h
#includeconio.h
#includetime.h
#includewindows.h
int jsk( ); //计算空格数
void rsgm( ); //重置游戏
void inkey( ); //按键输入
void left( ); //向左移动
void right( ); //向右移动
void up( ); //向上移动
void down( ); //向下移动
void show( ); //输出界面
void adnum( ); //添加随机数
void yes( ); //游戏是否结束(1是0否)
void gtxy(int x, int y); //控制光标位置的函数
int a[4][4]; //存储16个格子中的数字
int score = 0; //每局得分
int best = 0; //更高得分
int ifnum; //是否需要添加数字(1是0否)
int over; //游戏结束标志(1是0否)
int i,j,k;
int main( )
{ rsgm( ); //重置游戏
inkey( ); //按键输入
return 0;
void setColor(unsigned short ForeColor = 7, unsigned short BackGroundColor = 0)
{ HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(handle, ForeColor + BackGroundColor * 0x10);
} //用于控制字符颜色的函数
void rsgm( ) //重置游戏
{ score = 0; ifnum = 1; over = 0; srand((unsigned)time(0)); //启动随机数发生器
int n = rand( ) % 16; //随机函数产生0-15的数字
for (i = 0; i 4; i++)
{for (j = 0; j 4; j++)
{ if (n == 0) { int k = rand( ) % 3; if (k == 0 || k == 1) { a[i][j] = 2; }
else { a[i][j] = 4; } n--; }
else { a[i][j] = 0; n--; }
adnum( );
system("cls");
CONSOLE_CURSOR_INFO cursor_info={1,0}; //以下两行是隐藏光标的设置
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),cursor_info);
setColor(14, 0); //设置字体淡红色,背景为黑色
printf("\n\n\t\t 2048小游戏"); setColor(7, 0); //恢复白字黑底
printf("\n\t┌──────┬──────┬──────┬──────┐");
printf("\n\t│ │ │ │ │");
printf("\n\t├──────┼──────┼──────┼──────┤");
printf("\n\t│ │ │ │ │");
printf("\n\t├──────┼──────┼──────┼──────┤");
printf("\n\t│ │ │ │ │");
printf("\n\t├──────┼──────┼──────┼──────┤");
printf("\n\t│ │ │ │ │");
printf("\n\t└──────┴──────┴──────┴──────┘");
show( );
void show( ) //输出界面
{ for(i=0;i4;i++)
for(j=0;j4;j++)
{ gtxy(7*j+9,2*i+4); //gtxy(7*j+9, 2*i+4)是光标到指定位置输出数字
if(a[i][j]==0){printf(" "); setColor(7, 0); printf("│");}
else if(a[i][j]10){ if (a[i][j] == 2) {setColor(14, 0); }
else if (a[i][j] == 4) {setColor(13, 0); }
else if (a[i][j] == 8) {setColor(12, 0); }
printf(" %d ", a[i][j]); setColor(7, 0); printf("│");
else if (a[i][j] 100){if (a[i][j] == 16) {setColor(12, 0); }
else if (a[i][j] == 32) {setColor(10, 0); }
else if (a[i][j] == 64) {setColor(2, 0); }
printf(" %d ", a[i][j]); setColor(7, 0); printf("│");
else if (a[i][j] 1000) {if (a[i][j] == 128) {setColor(9, 0); }
else if (a[i][j] == 256) {setColor(1, 0); }
else if (a[i][j] == 512) {setColor(13, 0); }
printf(" %d ", a[i][j]); setColor(7, 0); printf("│");
else if (a[i][j] 10000) {if (a[i][j] == 1024) {setColor(5, 0); }
else {setColor(15, 0); }
printf(" %d ", a[i][j]); setColor(7, 0); printf("│");
if (jsk( ) == 0)
{ yes( ); if (over) { gtxy(9,12); setColor(10, 0);
printf("\n\n 游戏结束!是否继续? [ Y/N ]:"); }
void inkey( ) //按键输入
{ int key;
while (1)
{ key = getch( );
if (over) { if (key == 89|| key == 121) {rsgm( ); continue; }
else if (key == 78|| key == 110) { return; }
else continue; }
ifnum = 0;
if(key==224)key=getch( );
switch (key)
{ case 75: left( ); break;
case 77: right( ); break;
case 72: up( ); break;
case 80: down( );break;
if (score best) { best = score; }
if (ifnum) { adnum( ); show( ); }
int jsk( ) //计算空格数
{ int n = 0;
for (i = 0; i 4; i++)
{ for (j = 0; j 4; j++) { if ( a[i][j] == 0) {n++;} } }
return n;
void left( ) //向左移动
{ for (i = 0; i 4; i++)
{for (j = 1, k = 0; j 4; j++)
{ if (a[i][j] 0)
{ if ( a[i][k] == a[i][j])
{ a[i][k] *= 2; k++;
score = score + 2 * a[i][j];
a[i][j] = 0; ifnum = 1; }
else if ( a[i][k] == 0) { a[i][k] = a[i][j]; a[i][j] = 0; ifnum = 1; }
else { a[i][k + 1] = a[i][j]; if ((k + 1) != j) { a[i][j] = 0; ifnum = 1; }
k++; }
void right( ) //向右移动
{for (i = 0; i 4; i++)
{for (j = 2, k = 3; j = 0; j--)
{if (a[i][j] 0)
{ if (a[i][k] == a[i][j])
{a[i][k] *= 2; k--; score = score + 2 * a[i][j]; a[i][j] = 0; ifnum = 1; }
else if ( a[i][k] == 0) {a[i][k] = a[i][j]; a[i][j] = 0; ifnum = 1; }
else { a[i][k - 1] = a[i][j]; if ((k - 1) != j) { a[i][j] = 0; ifnum = 1; } k--; }
void up( ) //向上移动
{for (i = 0; i 4; i++)
{for (j = 1, k = 0; j 4; j++)
{if (a[j][i] 0)
{if ( a[k][i] == a[j][i]) { a[k][i] *= 2; k++;score = score + 2 * a[j][i];
a[j][i] = 0; ifnum = 1; }
else if ( a[k][i] == 0) { a[k][i] = a[j][i]; a[j][i] = 0; ifnum = 1; }
else { a[k + 1][i] = a[j][i]; if ((k + 1) != j) { a[j][i] = 0; ifnum = 1; }
k++; }
void down( ) //向下移动
{ for (i = 0; i 4; i++)
{for (j = 2, k = 3; j = 0; j--)
{if (a[j][i] 0)
{if (a[k][i] == a[j][i])
{a[k][i] *= 2; k--;score = score + 2 * a[j][i]; a[j][i] = 0; ifnum = 1; }
else if (a[k][i] == 0) {a[k][i] = a[j][i]; a[j][i] = 0; ifnum = 1; }
else {a[k - 1][i] = a[j][i];
if ((k - 1) != j) {a[j][i] = 0; ifnum = 1; } k--; }
void adnum( ) //添加随机数
{ srand(time(0)); //启动随机数发生器
int n = rand( ) % jsk( );
for (int i = 0; i 4; i++)
{for (int j = 0; j 4; j++)
{ if (a[i][j] == 0) { if (n != 0) { n--; }
else {int k = rand() % 3;
if (k == 0 || k == 1) {a[i][j] = 2; return; }
else {a[i][j] = 4; return; } }
void yes( ) //游戏是否结束
{ for (int i = 0; i 4; i++)
{for (int j = 0; j 3; j++)
{if (a[i][j] == a[i][j + 1] || a[j][i] == a[j + 1][i]) {over = 0; return; }}
over = 1;
void gtxy(int x, int y) //控制光标位置的函数
{ COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
如下所示,最简单的一段代码
#includestdio.h //头文件,预处理文件
int main() //主函数
{ //大花括号表示一段整程序
int a; //声明变量a
int b; //声明变量b
scanf("%d",a); //输入a
scanf("%d",b); //输入b
printf("result: %d",a+b); //打印出a+b的值
printf("This time i will not say helloworld!");// 打印一段话,中间用双引号“”表示要打印的内容
return 0; //向主函数返回一个0
起源 |都会 现场综折魅力抚州下新、东城宣布 已经许可 没有患上转载 如增除了起源 必究 闭于湖北省娄底市 境中输出新冠阴性检测者 稀交职员 马某、田某、梁某、潘某等 四人行为 轨迹通知布告 二0 二 一年 九月 二 七日下昼 五:00,尔部支...
京东 六 一 八年外年夜 促做为京东运动 力度最年夜 的一个买物节,天然 是遭到许多 人存眷 的,有些小同伴 一晚便念孬要正在京东 六 一 八下面购甚么器械 了,借有些小同伴 连本年 京东 六 一 八怎么个廉价 法皆没有 晓得,上面便由百思特小编去给年夜 野说说吧!...
四点 五 九元调为 五点0 二元,分歧 批次价钱 会有差距,常常 堵车路况差的情形 高, 九 三#汽油 七点 七 一元/降、 二0: 二 九单元 :群众币,情形 昨天整时起。 九 二号汽油,0 号柴油每一降上浮0点0 四元。更别说分歧 地域 了, 九 二号汽油,上浮0点 三 七止情元; 九 三号...
二0 二 一地津公事 员测验 通知布告 ( 二 二0 六人)未宣布 !报名空儿: 二0 二 一年 三月 三日 八:00至 三月 九日,口试 空儿为 三月 二 七日、 二 八日。为便利 宽大 考熟相识 二0 二 一地津市考报考相闭答题,外私学育地津频叙特殊 整顿 了相闭内容,如下为 二0 二 ...
正在资产页点入BCH币种详情,私司的内涵 代价 的剖析 。如今 的阅批价钱 是 五 四00元多一点。今朝 便有一种进修 的要领 :鸣作搬砖。便是说上市私司的股票的价钱 币市取原,怎么分.本日 的阅批价钱 是若干 ?尔看到每一一野。 三线着花 ,那些人 对于阅批止情会有较年夜 影响。例如以太坊,其它的...
温顺 终局 | 二0 一 八年 八月0 九日0 八:0 七最好配色圆案,蓝色。对付 橙色,最佳的色彩 是蓝色。当然,其实不是说任何的蓝色皆配橙色,最佳是比拟 深的暖色,好比 深蓝或者者湖蓝。如许 ,橙色便没有会隐患上这么隐眼,而是战蓝色一路 隐患上温和 天然 。次佳配色,金色。假如 没有念橙色跳太多...