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

三、Hello World

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

四、转义符

//单行注释

/*
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");
}

五、占位符

#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");
}

六、俄罗斯方块游戏

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语言简介的更多相关文章

  1. 第一章.C语言简介

    C语言第一章 C语言简介   目录 一.C语言介绍 二.C语言特点 三.Hello World 四.转义符 五.占位符 六.俄罗斯方块游戏 七.文件下载 一.C语言介绍 C是一种通用的编程语言,广泛用 ...

  2. 第一章C语言简介及输出函数 上机部分

    第一章C语言简介及输出函数 上机1 #include "stdio.h" void main() { printf("南方学院,你好!\n"); printf( ...

  3. 第一章. ActionScript 语言基础

    第一章. ActionScript 语言基础 1.0. ActionScript 3.0 Cookbook 概述 1.1. 新建一个 ActionScript project 1.2. 自己定义应用程 ...

  4. javaSE习题 第一章 JAVA语言概述

    转眼就开学了,正式在学校学习SE部分,由于暑假放视频过了一遍,略感觉轻松,今天开始,博客将会记录我的课本习题,主要以文字和代码的形式展现,一是把SE基础加强一下,二是课本中有很多知识是视频中没有的,做 ...

  5. Linux内核分析——第一章 Linux内核简介

    第一章   Linux内核简介 一.Unix的历史 1.Unix系统成为一个强大.健壮和稳定的操作系统的根本原因: (1)简洁 (2)在Unix中,很多东西都被当做文件对待.这种抽象使对数据和对设备的 ...

  6. 第一章:Druid简介

    第一章:Druid简介 声明 公司的项目中用到了Druid(不是阿里的连接池),由于网上没有中文的文档,所以只好阅读官方文档.本人第一次阅读英文的文档,非常吃力,借助翻译工具和自己的理解阅读了Duri ...

  7. C语言——第一章,程序设计和C语言

    第一章,程序设计和C语言 一,程序和程序语言 程序:完成某项事物所预设的活动方式和活动过程 程序设计:人们描述(指程序)计算机要做的工作 程序设计语言及发展 1,机器语言    2,汇编语言    3 ...

  8. C基础入门 - 第一章 - C语言绪言

    第1章 C语言绪言 1.1 C语言概述 1.1.1 C语言世界 1.1.2 C语言学习, 能当饭吃吗 1.2 开发环境构建 1.2.1 visual studio安装使用 1.2.2 visual s ...

  9. [编程笔记]第一章 C语言概述

    //C语言学习笔记 第一讲 C语言概述 第二讲 基本编程知识 第三讲 运算符和表达式 第四讲 流程控制 第五讲 函数 第六讲 数组 第七讲 指针 第八讲 变量的作用域和存储方式 第九讲 拓展类型 第十 ...

随机推荐

  1. 05.DOM

    DOM基础 什么是DOM 标签元素节点浏览器支持情况  火狐支持最好 谷歌其次 ie最差 尤其是ie6-8DOM节点节点分为:元素节点和文本节点 测试节点的类型用nodeTypenodeType 为3 ...

  2. 线程处理模型 由于 SynchronizationContext 引起的死锁问题解决

    由于GUI 应用程序 不能使用线程池的线程更新UI,只能使用 GUI 线程更新,所以在 await 前后需要保证是同一个 GUI 线程 ASP.NET 程序 的线程处理客户端请求的时候,需要假定客户端 ...

  3. STL之priority_queue

    下面以 long long 型队列介绍: Q.empty() // 判断队列是否为空 返回ture表示空 返回false表示空 bool Q.top() // 返回顶端元素的值 元素还在队列里 lon ...

  4. vim的配置与使用

    经历了一次source insight 一言不合就崩溃之后,决定还是花点时间好好配置和学习以下vim 于是找到大神的配置 https://github.com/humiaozuzu/dot-vimrc ...

  5. [LeetCode] All solution

    比较全的leetcode答案集合: kamyu104/LeetCode grandyang

  6. WebClient 数据传输

    数据提交 post  ,get public string WebClientPost(string PostData, string PostUrl, string Type) { string p ...

  7. 用c#创建支持多语言的WinForm应用程序

    实现多语言的方法可能有使用资源文件,或者配置xml两种方法吧.没时间研究过多,学习了一下使用资源文件的方法,成功了. 在.net2.0 中,m$ 为我们提供了一种简单方便的方法, 使用资源文件 1.新 ...

  8. nlp

    http://blog.sina.com.cn/s/blog_574a437f01019poo.html

  9. 迷你MVVM框架avalon在兼容旧式IE做的努力

    很多时候,写代码就像砌砖头,只要我们不关心盖楼的原因.建筑的原理.土木工程基础和工程经验,就算我们砌了100栋高楼,我们也就只是一个砌砖工人,永远也成为不了一个工程师,更别说建筑师了.而那些包工头也只 ...

  10. 仅此一文让你明白ASP.NET MVC 之Model的呈现(仅此一文系列三)

    本文目的 我们来看一个小例子,在一个ASP.NET MVC项目中创建一个控制器Home,只有一个Index: public class HomeController : Controller { pu ...