C语言 第一章 C语言简介

时间:2023-03-09 04:06:35
C语言 第一章 C语言简介

一、C语言介绍

C是一种通用的编程语言,广泛用于系统软件与应用软件的开发。于1969年至1973年间,为了移植与开发UNIX操作系统,由丹尼斯·里奇与肯·汤普逊,以B语言为基础,在贝尔实验室设计、开发出来。
C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序员中备受青睐,成为最近25年使用最为广泛的编程语言[2]。目前,C语言编译器普遍存在于各种不同的操作系统中,例如Microsoft Windows, Mac OS X, Linux, Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言的标准。二十世纪八十年代至今的有关程序开发工具,一般都支持匹配ANSI C的语法。

C语言 第一章 C语言简介

二、C语言特点

C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
不同的变量类型可以用结构体(struct)组合在一起。
只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
部分的变量类型可以转换,例如整型和字符型变量。
通过指针(pointer),C语言可以容易的对内存进行低级控制。
编译预处理(preprocessor)让C语言的编译更具有弹性。

三、Hello World

C语言 第一章 C语言简介

#include "stdio.h"
void main()
{
printf("Hello World!");
}

C语言 第一章 C语言简介

四、转义符

//单行注释

/*
1、多行注释、单行注释
2、C语言是由函数组成 函数名()
*/ //3、包含头文件,printf函数处在stdio.h
#include "stdio.h" //4、定义主函数,有且仅有一个,是程序的入口
void main()
{
//5、向屏幕输出信息,调用函数
printf("Hello World!\n"); //6、转义符
//\n 转行
//\t 制表位
//\" 双引号
//\' 单引号
//\b 退格
//\a 蜂鸣
printf("张果老师说\t\t");
printf("\"Hello S1SR139!\'");
printf("\a\a\a");
}

C语言 第一章 C语言简介

五、占位符

#include "stdio.h"
void main()
{
/**
%c 单个字符
%d 十进制整数
%f 十进制浮点数
%o 八进制数
%s 字符串
%u 无符号十进制数
%x 十六进制数
%% 输出百分号%
一个格式说明可以带有几个修饰符,用来指定显示宽度,小数尾书及左对齐等:
- 左对齐
+ 在一个带符号数前加"+"或"-"号
0 域宽用前导零来填充,而不是用空白符
*/ printf("%10s%s的成绩是%lf分,全班第%d名,性别%c。\n","","张3",98.5,,'M'); printf("%10s\n","Hello");
printf("%10s\n","Good");
printf("%10s\n","Boy");
}

C语言 第一章 C语言简介

六、俄罗斯方块游戏

game.cpp  C++代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<time.h>
#include<conio.h> #define MOD 28
#define SIZE_N 19
#define SIZE_M 12 int cur_x,cur_y;
int score,mark,next,map[SIZE_N][SIZE_M],Gamespeed=; int shape[][]={
{,-,,-,,}, {,,,,,}, {-,,,,,}, {,-,-,,-,},
{,-,,,-,}, {,,,,-,}, {,,,-,,}, {,,-,,,-},
{-,,,,,}, {,-,,,,}, {-,,,-,,-}, {-,-,-,,,},
{-,,,,,}, {,,,-,,}, {-,,,,,}, {,,,-,,},
{-,,,-,,-}, {-,,-,,,}, {,,,,,}, {,-,,,,},
{,,,,,}, {,-,,,,-}, {-,,,-,-,-}, {-,,-,,,},
{,,,,,}, {,,,,,}, {,-,,-,,-}, {-,,-,,-,}
}; void gotoxy(int x,int y){
COORD c;
c.X=x-; c.Y=y-;
SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}
void Gameover(){
int i,j,flag=;
for(j=;j<SIZE_M-;j++){
if(map[][j]!=){
flag=;break;
}
}
if(flag==){
for(i=;i<SIZE_N-;i++){
gotoxy(,i+);
for(j=;j<SIZE_M-;j++){
printf("□");
}puts("");
}
gotoxy(,);
printf("GAME OVER!");
gotoxy(,SIZE_N+);
exit();
}
}
void ShowMap(int id){
int i,j;
gotoxy(,);
if(id!=-){
for(i=;i<SIZE_N;i++){
for(j=;j<SIZE_M;j++){
if(i==&&j== || i==&&j==SIZE_M- || j==&&i==SIZE_N- || j==SIZE_M-&&i==SIZE_N-)printf(" ");
else if(i== || i==SIZE_N-)printf("--");
else if(j== || j==SIZE_M-)printf("|");
else if(map[i][j]==) printf("■");
else if(i==cur_x+shape[id][] && j==cur_y+shape[id][] ||
i==cur_x+shape[id][] && j==cur_y+shape[id][] ||
i==cur_x+shape[id][] && j==cur_y+shape[id][] ||
i==cur_x && j==cur_y)
printf("■");
else if(map[i][j]==) printf(" ");
}
if(i==)printf(" 下一个 :");
if(i==)printf(" 等分 : %d",score);
if(i==)printf(" 速度 : %d",score/+);
puts("");
}
}
else {
mark=;
for(i=;i<SIZE_N;i++){
for(j=;j<SIZE_M;j++){
if(i==&&j== || i==&&j==SIZE_M- || j==&&i==SIZE_N- || j==SIZE_M-&&i==SIZE_N-)printf(" ");
else if(i== || i==SIZE_N-)printf("--");
else if(j== || j==SIZE_M-)printf("|");
else if(map[i][j]==) printf("■");
else if(map[i][j]==) printf(" ");
}
if(i==)printf(" next:");
if(i==)printf(" score : %d",score);
if(i==)printf(" speed : %d",score/+);
puts("");
}
} gotoxy(,); printf(" ");
for(i=;i<;i=i+){
gotoxy(+*shape[id][i+],+shape[id][i]); printf(" ");
}
gotoxy(,); printf("■");
for(i=;i<;i=i+){
gotoxy(+*shape[next][i+],+shape[next][i]); printf("■");
}
Sleep(Gamespeed);
} void init(int id){
int i,j;
memset(map,,sizeof(map));
for(i=;i<SIZE_N;i++){
for(j=;j<SIZE_M;j++)
if(i==SIZE_N- || j== || j==SIZE_M-)
map[i][j]=-;
}
cur_x=; cur_y=;
ShowMap(id);
} int judge_in(int x,int y,int id){
int i;
if(map[x][y]!=)return ;
for(i=;i<;i=i+){
if(map[ x+shape[id][i] ][ y+shape[id][i+] ]!=)return ;
}return ;
} void fun_score(){
int i,j,ii,jj;
for(i=;i<SIZE_N-;i++){
int flag=;
for(j=;j<SIZE_M-;j++){
if(map[i][j]!=){ flag=;break; }
}
if(flag==){
int k=;
while(k--){
gotoxy(,i+);
for(ii=;ii<SIZE_M-;ii++){
if(map[i][ii]==){
if(k%==)printf(" ");
else printf("■");
}
}Sleep();
}
for(ii=i;ii>;ii--){
for(jj=;jj<SIZE_M-;jj++) map[ii][jj]=map[ii-][jj];
}
ShowMap(-);
score+=;
if(score%== && score!=)Gamespeed-=;
}
}
} int main(){
int i,id,set=; srand(time(NULL));
id=rand()%MOD; id=(id+MOD)%MOD;
next=rand()%MOD; next=(next+MOD)%MOD; init(id); while(){
Here: mark=;
if(set==){
id=next;
next=rand()%MOD; next=(next+MOD)%MOD;
cur_x=;cur_y=;
set=;
} while(!kbhit()){
Gameover();
if(judge_in(cur_x+,cur_y,id)==) cur_x++;
else {
map[cur_x][cur_y]=;
for(i=;i<;i=i+)
map[ cur_x+shape[id][i] ][ cur_y+shape[id][i+] ]=;
fun_score();
set=;
}
if(mark!=)ShowMap(id);
goto Here;
} char key;
key=getch(); if(key==){
int tmp=id;
id++;
if( id%== && id!= )id=id-;
if(judge_in(cur_x,cur_y,id)!=)id=tmp;
}
else if(key== && judge_in(cur_x+,cur_y,id)==)cur_x++;
else if(key== && judge_in(cur_x,cur_y-,id)==)cur_y--;
else if(key== && judge_in(cur_x,cur_y+,id)==)cur_y++;
else if(key==){gotoxy(,SIZE_N+);exit();}
}
getch();
return ;
}

C语言 第一章 C语言简介

C语言 第一章 C语言简介

七、文件下载

帮助与示例点击下载

开发工具点击下载