运行c语言环境codeblocks.

codeblocks的安装:

安装地址:http://www.codeblocks.org/downloads/26

codeblocks-16.01mingw-setup.exe

1.了解框架:#include<stdio.h>

int main(){

// 这里是要写的代码;

return 0;

}

这里main是主函数,有且只有一个。int是函数类型,也可以是void,char等等。

return是返回执行程序后的结果,可写可不写。

2.c语言做计算

实例:

#include<stdio.h>

int main(){

int a,b,c;

a = 10;

b = 20;

c = a + b;

printf("%d",c);

return 0;

}

3.存储变量的数据类型int,char,float,doubler

int:存数字的                         %d表示数字类型

char:装字符的                      %c表示字符

float:装小数的                      %f表示小数

doubler:装更高精度的小数

4.c语言算法+ - * / %  加 减 乘 除 求余

11+4*5-9%3

#include<stdio.h>

int main(){

int a,b,c,d,e,f;

a = 11;

b = 4;

c =5;

d = 9;

e = 3;

f = a+b*c-d/e;

printf("%d",f);

return 0;

}

5.printf=输出函数格式

printf("只要不是变量的内容用引号括起来",a,b,c)。

6.c语言的注释和一些规则

/*......*/表示多行注释

//  表示单行注释

/n:表示换行,实例:printf("a小于b\n");

printf后必须加分号(;)。

7.c语言比较运算符>,<,==,>=,<=,!=

一个等号是赋值=,两个等号是相等==。

#include<stdio.h>

int main(){

int a=10,b=20;

if(a<b){

printf("a小于b");
}
}

8.逻辑运算符,判断真假&&,||,!

实例:#include<stdio.h>

int main(){

int a=10,b=20;

if(a<b){

printf("a小于b\n");
        }
             if(!(a>b)){
             printf("a不比b大");
      }
}

9.if语句

实例:#include<stdio.h>

int main(){
int score=67;
if(score<=100&&score>80){
printf("优秀");
}
else{
if(score<=80&&score>60){
printf("良好");
}
else{
printf("不及格");
}
}
}

10.星期查询,switch  case语句,switch:开关,转换器。case:情况,实例。

#include<stdio.h>

int main(){
int weekday = 2;
switch(weekday){
case 1:
printf("today is monday\n");
break;

case 2:
printf("today is Tuesday\n");
break;

3,4,5,6,7;省略

default:
printf("number is wrong");
}
}

11.判断并赋值

y=(条件?‘A’:‘B’);条件满足结果为A,否则为B。

实例:

#include<stdio.h>

int main(){
int x = 20;
char y;
y = (x > 0 ?'A':'B');
printf("%C",y);

}

12.while循环语句

格式:while(条件表达式){循环体}

实例:#include<stdio.h>

int main(){
int i = 1;
int sum = 0;
while(i<=6){
sum=sum+3*i;
i++;
}
printf("%d",sum);

}

13.do.....while

格式:do{循环体}while(条件表达式)

实例:

#include<stdio.h>
int main(){
int i,sum;
i=1;
sum=0;
do{
sum=sum+3*i;
i++;
}
while(i<6);
printf("%d",sum);
}

14.for循环,可以取代while和do..while语句

格式:for(循环变量的赋值;循环条件;循环变量的自加){printf}

实例:

#include<stdio.h>
int main(){
int sum=0,i;
for(i=1;i<=100;i++){
sum=sum+i;
}
printf("%d",sum);
}

15.for,while,do...while与if搭配使用

实例:

#include<stdio.h>
int main(){
int i;
for(i=1;i<16;i++){

if((i%2)==1){
printf("%d\n",i);
}
}
}

16.九九乘法表

实例1:

#include<stdio.h>
int main(){
int a,b,c;
for(a=1;a<10;a++){
for(b=1;b<=a;b++){
c=a*b;
printf("%d*%d=%d\n",b,a,c);
}
}
}

实例2:

#include<stdio.h>
int main(){
int i,j;
for(i=1;i<8;i++){
for(j=1;j<=i;j++){
printf("*");
}
printf("*\n");
}
}

17.break,continue终止循环和跳过本次循环。

实例:

#include<stdio.h>
int main(){
int i;
for(i=1;i<10;i++){
if(i==3){
continue;
}
printf("%d循环次数",i);
}
}

18:数组类型:int,float,char

格式:int 数组名[5],其中5表示数组的个数。

引入变量1直接引入:比如int array[5] = {'t','o','m','c','a','t'},5可写可不写。

引入变量2先定义再引入.比如:int array[5],i;

for(i=0;i<5;i++){

array[i]=i;

}

float ,char同int格式一样。

实例:

#include<stdio.h>
int main(){
char array[] = {'t','o','m','c','a','t'};
int i = 0;
for(i=0;i<6;i++){
printf("%c",array[i]);
}
}

19.数组的使用规则:

1.往数组中存储时可以存一部分,后面的元素会自动赋值0.0表示结束。比如:int a[5] = {0,1}

2.数组名后中括号内的数字可加可不加,结果一样。比如:int a[5]和int a[];

3.字符数组赋值时中括号中可以不用写入数字。比如:char b[] = "lovec"和char b[5] = {'l','o','v','e','c'}效果差不多。

实例:

#include<stdio.h>
int main(){
int i,max,a[]={10,5,20,31,4};
max=a[0];
for(i=0;i<5;i++){
if(a[i]>max)
max=a[i];
}
printf("%d",max);
}

20.字符数组和字符串,sizeof是计算长度的语句sizeof(数组名)

字符串的长度比字符数组的长度多一个,比如char a[]=['l','o','v','e']

char b[]="love";a[]的长度是4,b[]的长度是5.

实例:

#include<stdio.h>
int main(){
char a[]={'l','o','v','e'};
char b[]="love";
int i,j;
i=sizeof(a);
j=sizeof(b);
printf("%d\n%d",i,j);
}

21.二维数组并赋值a[3][4]表示有三个数组,每个数组有四个值。

赋值方式:1.按行分段赋值:int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

2.按行连续赋值:int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

实例:

#include<stdio.h>
int main(){
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int sum =0,v,i,j;
for(i=0;i<3;i++){
for(j=0;j<4;j++){
sum=sum+a[i][j];
}
}
v=sum/12;
printf("%d\n %d",sum,v);
}

22.指针

格式:“*”+ 变量名=指针(声明一个指针变量)

类型:int*p1;指向整数变量的指针变量p1

float*p2;指向浮点型变量的指针变量p2

char*p3;指向字符型变量的指针变量p3

“&”:  叫取地址运算符。比如int a,&a就是取得变量a所存放的地址。

注意:p1=&a,声明指针变量后必须对其进行初始化,否则就是野指针危害很大。

int a=88,*p1=&a,指针初始化时只能指向地址,不能指向数据。

实例:声明三个变量并进行初始化。

#include<stdio.h>
int main(){
int a=0,*p1=&a;
float b=0.11,*p2=&b;
char c='a',*p3=&c;

printf("a=%d,b=%d,c=%d,",*p1,*p2,*p3);
}

23.使用指针

p代表的是地址,*p代表这个地址中存放的内容

用指针取变量的值 比如:int a=11,b,*p;

方法1:取值  p=&a;  b=a;

方法2:取值  p=&a;  b=*p;

b就成功取得a的值11。

实例:

#include<stdio.h>
int main(){
int x=100,y=200,*p1=&x,*p2=&y;
printf("%d",*p1+*p2);
}

24.指针的奇妙   数值的交换和指针的交换                                                                                                                        指针的交换同数值的交换方式一样。

#include<stdio.h>
int main(){
int *p1,*p2,c,a=10,b=20;
p1=&a;
p2=&b;

if(a<b){
c=a;
a=b;
b=c;
printf("%d,%d\n",a,b);
printf("%d,%d",*p1,*p2);
}
}

25.野指针和null

分配类型的函数p=(char*)malloc(100);

释放内存:free(p)      malloc和free成对出现。

char括号中的类型必须和p的类型一致,(100)分配类型的大小。

实例:

#include<stdio.h>
#include<stdlib.h>
int main(void){
int *p;
p = (int*)malloc(4);
if(p == NULL){
printf("内存分配失败。");
exit(-1);
}
*p=100;
printf("p的指针内容=%d",*p);
free(p);
}

?26.数组的指针

数组名是所占内存的首地址,比如:int a[],指针变量指向首地址,p=&a[0]或者p=a.

#include<stdio.h>
#include<stdlib.h>
int main(void){
int a[5],*p=a,i;
for(i=0;i<5;i++){
*p=i;
p++;
}
p=p-5;
for(i=0;i<5;i++,p++)
printf("%d\n",*p);
}

?27.使用数组的指针

实例:

#include<stdio.h>

int main(void){

int a[5],i;
for(i=0;i<5;i++)
*(a+i)=i;
printf("%d\n",*(a+i));
}

? 28.二维数组的指针

int a[2][3]分解成int a[0][3]和int a[1][3]

a指向a[0][0]即a的首地址,a+1指向a[1][0].

同样p=a,指向a[0][0],p+1指向a[1][0].

*(P+1)+1指向a[1][1].

实例:

?29:字符串的指针

实例:

?30:指针数组

实例:

?31.指向指针的指针

实例:

?32.指针的长度

实例:

33.函数

定义新的函数并调用。

实例:

#include<stdio.h>
void hello(){
printf("hello\n");
}
void myfun(){
printf("欢迎来到这里学习");
}
int main(){
hello();            //调用的函数
myfun();         //调用的函数
}

34.带参数的函数

多个参数之间用逗号分开,参数可以是多个类型的变量,参数必须有数据类型。

非void函数中一般会有return语句。return是结束此函数,所以用return不用printf.

而exit是结束整个程序详细见:25.野指针和null

实例:

#include<stdio.h>
int min(int a,int b){
if(a>b)
return b;
else
return a;
}
int main(){
int a=4,b=6,c;
c=min(a,b);
printf("%d",c);
}

35.函数的结束

#include<stdio.h>
int a(){
printf("我们在测试return的语句.\n");
return 0;
}
int b(){
printf("我们在测试exit的语句");
exit(0);
}
int main(){
a();
printf("return之后程序还能执行到这儿\n");
b();
printf("exit之后,程序不能执行到这里");

}

36.函数的声明和调用

函数的声明在main函数的前面,具体定义的函数要写在main函数的后面,遵循main函数在最前面的规则。

实例:

#include<stdio.h>
int a(void);int b(void);
int main(){
a();
printf("return之后程序还能执行到这儿\n");
b();
printf("exit之后,程序不能执行到这里");

}
int a(){
printf("我们在测试return的语句.\n");
return 0;
}
int b(){
printf("我们在测试exit的语句");
exit(0);
}

37.函数的递归调用

调用自身的函数叫递归函数

实例:

#include<stdio.h>
int sum(int);
int main(){
int n=100,s=0;
s=sum(n);
printf("%d",s);
}
int sum(int n){
if(n==1)
return 1;
else
return n+sum(n-1);
}

38.全局变量和局部变量

全局变量:在函数外定义的变量叫全局变量。

局部变量:在函数内定义的变量叫局部变量。

实例:

#include<stdio.h>
int max=100;
void pt();
int main(){
int min=10;
if (max>min)
pt();
}
void pt(){
printf("max值是:%d",max);max 是全局变量此处可用。
//printf("min值是:%d",min);min是局部变量此处不可用。
}

39.static变量   修饰局部变量

static+局部变量,变量的存在期间会延长,直到函数结束依然存在。

实例:

#include<stdio.h>
void fun();
int main(){
int i;
for(i=0;i<3;i++)
fun();
}
void fun(){
int b=1;
static int c=3;
b=b+1;
c=c+1;
printf("b=%d,c=%d",b,c);
}

40.extern变量    修饰全局变量

extern+全局变量=外部变量

#include<stdio.h>
int main(){
extern a,b;      a和b在函数后面定义若想调用加extern,从此处往后a和b就是全局变量
int c;
if(a>b)
c=a;
else
c=b;
printf("%d",c);
}
int a=13,b=8;

41.普通变量做参数

实例:swap数值置换后并没有传到main函数中去,因为return才能把结果返回到函数中。

#include<stdio.h>
void swap(int a,int b);
int main(){
int a=10,b=20;
printf("置换前a=%d,b=%d\n",a,b);
swap(a,b);
printf("置换后a=%d,b=%d\n",a,b);
}
void swap(int a,int b){
int c;
c=a;
a=b;
b=c;
printf("swap函数置换后a=%d,b=%d\n",a,b);
}

42.指针做参数

用指针做参数和调用参数

43.数组名做参数

c语言学习目标

 

(1)数据结构、算法的概念和作用

结构化程序设计的方法、三种基本结构
程序流程图和 N-S流程图

(2)C程序的一些特点、标识符和关键字的概念.
编译、 链接和运行的概念及应用
C程序开发流程、 学会至少一种环境下的 C程序开发

(3)常量、变量的概念和使用
如何声明和定义变量
printf函数和scanf函数的使用

(4)整型、字符型、浮点型数据类型的使用
使用printf函数和scanf函数处理各种类型致据
使用typedef自定义数据类型
限定词const 和 volatile的使用

(5)表达式和语句的概念及其关系

各种操作符语句的使用、操作符之间的优先级和结合性

了解语法分析中的分析法

(6)if语句三种形式的使用、使用 switch语句实现多路选择结构 else

if结构和 switch语句的使用范围 
条件表达式的使用,以及与if语句的比较
逻辑表达式的隐式选择

(7)for语旬、 where语句的结构和使用,两者的比较
do-while语句的使用, 以及与 while语句的比较
continue 语旬和break语句在循环结构中的作用
goto语句的局限性和功能、两种基本结构的嵌套使用

(8)一维数组的使用、具名变量的使用和数组越界的风险

二维数组、多维数组的使用

(9)字符数组的使用、字符串和字符数组的关系
字符串常量和字符串变量的使用
字符串终止符r\0'的作用
使用prinlf函数和 scanf函数处理字符串

(10)模块化编程思想

函数的作用、函数的声明、函数的形参列表
使用const形参 
main函数的标准形式、如何向main函数传值及取得main函数值

(11)理解文件和函数的关系、头文件和源文件的关系
学会组织多文件工程,在至少一种环境下开发多文件工程

递归函数的使用、内部函数和外部函数的使用

(12)生存期和作用域的概念

全局变量和局部变量的概念和区别
变量屏蔽的方式
存储变量的各个存储区的作用和区别
auto、 static、 register和extern变量的使用与区别

(13)putchar 函数和 getchar 函数的正确使用
puts 函数和 gets 函数的正确使用
strcpy函数和 strncpy函数的正确使用
strcat函数和strncat函数的正确使用
strncmp函数和 strcmp題数的正确使用
strupr函数和strlwr函数的正确使用

(14)指针的概念及指针变量的内存访问方式

指针变量的定义、赋值和初始化
使用指针作为函数形参和函数值
函数型指针的使用、 void型指针的使用

(15)指针和数组的区别
使用指针访问数组,使用指针作为形参在函数中传递数组
指针型数组和数组指针
使用指针访问二维数组,指针作为形参在函数中传递二维数组
使用字符指针来.处理字符
字符串数组和字符指针数组使用上的区别

(16)理解堆的概念
malloc函数和free函数的正确使用
memset函数的正确使用、 calloc 函数和realloc 函数的正确使用
动态数组的管理和使用

(17)字节和位的概念、原码与补码的转换

6种位操作特及其组成的位运算赋值操作符的使用
各个位操作特的特殊用途、位域的概念和位域的使用

(18)结构体的概念及用途、结构体类型的声明及其字长

结构体变量的定义、访问和赋值

结构体数组和结构指针的使用

(19)共用体变量、枚举变量、位域变量的定义和使用

(20)宏定义的分类

宏对象、宏函数的执行机制和适用场景

宏函数和函数的区别

条件编译的三种形式

文件包含的使用

c语言学习目标的更多相关文章

  1. 20155206赵飞技能获取经验,C语言学习感想与对JAVA的学习目标

    自己较强的技能获取经验. 1:实话实说我自己是没有哪个技能可以超过90%的人的,只有自认为做的还可以的一些事情,例如打篮球,office软件的应用,一百米跑.至于其他方面就是很平庸了. 2:经验主要有 ...

  2. 20165315 C语言学习情况与Java学习目标

    20165315 C语言学习情况与Java学习目标 一.出色技能的获取经验 我从小便是一个中规中矩的人,在很多方面都是让成绩尽量保持在前百分之二十到三十这个范围内,比如我比较擅长的唱歌和乒乓球,但也不 ...

  3. 《手把手教你学C语言》学习笔记(2)---学习C语言的目标和方法

    一.学习C语言的目标主要是: 熟练掌握C语言的关键字,语法规则,程序控制等: 掌握基本的数据结构,数组.链表.栈和队列等: 掌握C语言中指针和内存.数组与指针.函数与指针.变量和指针.结构体和指针.硬 ...

  4. C 语言学习 第12次作业总结

    作业总结 本次课堂的内容为字符串相关的几个函数还有结构体. 字符串相关函数 在此之前的课程中,输入主要都是使用scanf这个函数.而在这节课上,冯老师讲解了字符串获取函数gets.在不需要控制符的情况 ...

  5. C语言学习 第八次作业总结

    本次作业其实没有新的内容,主要就是复习上一次的一维数组的相关内容.冯老师布置了5道题目,其中涉及到一些比较简单的排序或者是查找的方法.因为数据很少,所以直接使用for循环遍历就可以了. 关于本次作业, ...

  6. 技能收获与C语言学习

    你有什么技能比大多人(超过90%以上)更好? 我会的东西很多,喜欢的东西太多,但是很遗憾广而不专,会而不精.学了很多东西我都是为了娱乐,因为以前我们那里过于强调学习,很多爱好也都被扼杀在摇篮里.我觉得 ...

  7. HTML语言学习笔记(会更新)

    # HTML语言学习笔记(会更新) 一个html文件是由一系列的元素和标签组成的. 标签: 1.<html></html> 表示该文件为超文本标记语言(HTML)编写的.成对出 ...

  8. 20155229-付钰涵-分析自我技能延展到c语言学习状况

    我的小技能 我记得幼儿园时表演的舞蹈,也记得从水彩到素描的学习,还记得小学和初中获得的钢琴省级奖项. 舞蹈止于一年级,绘画止于三年级,钢琴从学前班到高一那十年的时间里有过断续. 03年-04年的那个冬 ...

  9. 20155306白皎 学习技能+C语言学习

    你有什么技能比大多数人更好 谈起技能,我还有感觉有微微拿得出手的也只有主持这一项才艺了吧.从小学到高中一直参加朗诵比赛,以及从小学到大学一直在所在学校有担任过主持工作. 上大学以来,也参加了院级朗诵比 ...

随机推荐

  1. 对数损失函数logloss详解和python代码

    python机器学习-乳腺癌细胞挖掘(博主亲自录制视频)https://study.163.com/course/introduction.htm?courseId=1005269003&ut ...

  2. tensorflow keras analysis

    目录 Q: where is Sequential defined? Q: where is compile()? tensorflow keras analysis code from keras. ...

  3. Electron 打开开发者工具 devtools

    转载:http://newsn.com.cn/say/electron-devtools.html 在electron开发的过程中,可以用代码控制打开自带chrome的devtools开发者工具,进而 ...

  4. redis报错OOM command not allowed when used memory > 'maxmemory'

    登录到redis上查询 ./redis-cli -h IP -p port -a passwd redis>info memory 查询,内存已耗尽 查询配置文件,发现之前配置最大内存的策略设置 ...

  5. VS找不到头文件但是系统路径已经设置

    有时候会出现打不开Include文件的问题,但是在系统包含include路径中已经设置,编译也没问题,就是一直有错误提示 这时候可以尝试在项目上点击右键,选择“下载项目”,然后再选择加载 如果还是不行 ...

  6. php-resque 队列简单使用

    一.安装 php-resque 进入项目根目录,composer 安装 php-resque composer require chrisboulton/php-resque 二.常用方法 1.连接 ...

  7. mavn jar包依赖冲突解决

    背景:使用maven很方便,但是引入冲突也很常见.后果很严重,各种不明实体找不到,所以需要对jar包的依赖有一个清晰的认识. 查看冲突 参考:用dependency:tree查看maven引入jar包 ...

  8. 快排 PAT 1101

    1101 Quick Sort (25 分)   There is a classical process named partition in the famous quick sort algor ...

  9. [SourceTree] - 提交代码失败 "git -c diff.mnemonicprefix=false -c core.quotepath=false" 之解决

    背景 使用 SourceTree 提交代码失败,尝试了重装 SourceTree 和 Git 问题依旧. 错误信息 git -c diff.mnemonicprefix=false -c core.q ...

  10. js中常见的字符串方法(3)

    match() match()方法只接受一个参数,要么是一个正则表达式,要么是一个 RegExp 对象. 调用这个方法本质上与调用RegExp的exec()方法相同, var text = " ...