考研论坛

 
查看: 1098|回复: 2
打印 上一主题 下一主题

[软件] 记录贴~东北大学~今年考不上 来年再战 死磕软件学院

[复制链接]

1

主题

7

帖子

51

积分

新手上路

Rank: 1

精华
0
威望
12
K币
39 元
注册时间
2015-6-16
跳转到指定楼层
楼主
发表于 2015-8-18 14:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zyj8822 于 2015-8-24 13:42 编辑

C语言程序设计考查要点
(一) 掌握常量、变量的概念,掌握常见数据类型(字符型、整型和浮点型)变量的定义和使用。
(二) 掌握各种运算符的使用方法并理解运算符的优先级和关联性。
(三) 掌握各种数据类型的输入、输出,掌握数据类型之间的转换规则。
(四) 掌握分支结构程序设计方法,熟练使用if语句、switch语句。
(五) 掌握循环结构程序设计方法,熟练使用for语句、while语句和do-while语句。
(六) 熟练掌握一维数组、二维数组的定义和使用,熟练掌握字符串的定义和使用、掌握字符串处理函数的定义和使用。
(七) 熟练掌握函数的定义和调用,理解函数的递归和嵌套调用,了解不同类型存储变量的定义、使用范围和生命周期。
(八) 熟练掌握结构体的定义和使用,掌握结构体数组的定义和使用。
(九) 理解指针的定义,掌握通过指针访问数组、字符串和结构体的方法。
(十) 掌握文件的定义及处理方法。

第一天:掌握常量、变量的概念,掌握常见数据类型(字符型、整型和浮点型)变量的定义和使用。
这个没得说吧,强类型语言中必有东西,常量,变量,char,short,byte,int,long,double 真正在开发过程中,都会用到。多敲下代码就好了~!相信考试也不会出这么容易的问题,直接过~!

第二天:掌握各种运算符的使用方法并理解运算符的优先级和关联性。
C运算符优先级完整口诀(摘自网络)
C语言常用运算符的优先级口诀是:“单算关逻条赋逗”;
如果加入位运算符,完整口诀是:“单算移关与,异或逻条赋”。
■“单”表示单目运算符:逻辑非(!),按位取反(~),自增(++),自减(--),取地址(&),取值(*);
■“算”表示算术运算符:乘、除和求余(*,/,%)级别高于加减(+,-);
■“移”表示按位左移(<<)和位右移(>>);
■“关”表示关系运算符:大小关系(>,>=,<,<=)级别高于相等不相等关系(==,!=);
■“与”表示按位与(&);
■“异”表示按位异或(^);
■“或”表示按位或(|);
■“逻”表示逻辑运算符:逻辑与(&&)级别高于逻辑或(||);
■“条”表示条件运算符(? :);
■“赋”表示赋值运算符(=,+=,-=,*=,/=,%=,>>=,<<=,&=,^=, |=,!=);
◆另,逗号运算符(,) 级别最低,口诀中没有表述,需另加记忆...

运算符优先级别指定包含多个运算符的表达式中的运算顺序。 运算符关联性指定,在包含多个具有相同优先级别的运算符的表达式中,操作数与其左侧还是右侧的操作数组合。关联性也可以理解为从最高优先级别到最低优先级别

第三天:掌握各种数据类型的输入、输出,掌握数据类型之间的转换规则。

输入 scanf  %d,  %c,  %f ,%s 等
输出 printf %d %c %f %s   等  其它函数基本不常用(getchar putchar)
数据类型转换    隐式和显式   隐式转为精度更高的    注意精度丢失情况

第四天:掌握分支结构程序设计方法,熟练使用if语句、switch语句。
用switch情况不多,基本可以用if解决,有时也可以借用三目运算 ? : 的形式处理。

第五天:掌握循环结构程序设计方法,熟练使用for语句、while语句和do-while语句。

虽然有while和do-while  基本上用for就可以搞掂。一 for走天下~!

第六天:熟练掌握一维数组、二维数组的定义和使用,熟练掌握字符串的定义和使用、掌握字符串处理函数的定义和使用。

数组的一个特点 内存必须是连续的,所以在开发中,尽量少用多维数组int a[5] 使用时下标从0开始 数组长度可以用 strlen() 这个方法来自于string.h   具体可以参考string.h
二维数组,可以简单的理解为数组的数组 int a[10][9]   遍历用两个嵌套的循环
字符中  其实就是char数组  只不过为了结束字符串 在最后自动加一个‘\0’ 如果怕麻烦 char a= "This is C";字符串的话也参考string.h
(PS:由于权限,帖子不让发引用链接,以后回顾的时候只能再google一下啰,对了google现在还是被墙中,只好百度或者yahoo或者bing)


第七天:熟练掌握函数的定义和调用,理解函数的递归和嵌套调用,了解不同类型存储变量的定义、使用范围和生命周期。
函数还是比较好理解的
返回类型    函数名    参数列表             函数体
void            test     ( int a,   float b ){     }
例如  int  plus (int a,   int  b) {     return  a + b; }  
递归调用和嵌套调用都是调用函数,只不过递归是调用自身,嵌套是调用其它函数  当然函数不能无限调用下去,栈会不够用的。
存储变量主要是全局变量和局部变量, 当然还有静态变量或常量等。作用域就看修饰符和大括号的范围了呗。
在C语言,由于没有垃圾回收机制,所以内存呢,申请并用完后,就得手动释放内存哦~!

第八天:熟练掌握结构体的定义和使用,掌握结构体数组的定义和使用。
定义: struts 类型名{成员列表};定义结构体时同时定义变量:struts 类型名{成员列表}变量名A,变量名B;当然也可以初始化变量
使用时,变量名打点调属性名即可
结构体数组用法类似,变量名后面加[]就可以了,注意长度。

第九天:理解指针的定义,掌握通过指针访问数组、字符串和结构体的方法。
定义:指向类型 * 变量名   
例如:int * p; float * f;struts Staff  staff,* sp=staff;
数组 字符串 结构体
定义 int a[5];
int *p=a;
char s="this is c pro";
char *p =s;
struts Staff stu;
stuts Staff *p=stu;
struts Staff stus[4];
*p = stus;

访问p++; printf("%s",s); (*p).成员名
p->成员名


指针的难度比较大,越来越多的开发语言已经没有指针了,所以个人仅学习一级指针(只一个*的)。
入个门吧~!


第十天:掌握文件的定义及处理方法。
在学习之前预估内容有:
文件定义
创建目录
创建文件
写文件内容
文件内容修改/追加
文件删除
目录删除

  代 码 开 始  
#include <stdio.h>
#include <stdlib.h>
#include <dir.h>
#include <direct.h>  
#include <malloc.h>
/**
* 创建目录,如果目录不存在  可以创建多级目录
* 返回0 代表成功  
*/
int createDir(char * path){
        int status = mkdir(path);
        printf("%s,%d\n",path,status);
        return status;
}

/**
* 删除目录
* 返回0 代表成功  
*/
int deleteDir(char * path){
        int status = rmdir(path);
        printf("%s,%d\n",path,status);
        return status;
}

/**
* 创建文件
*/
int createFile(char * filePath){
        FILE * fp;
        if((fp =fopen(filePath,"w+"))==NULL){
                printf("无法打开%s文件!\n",filePath);
        }else{
                fclose(fp);
        }
        return 0;
}
/**
*删除文件
*/
int removeFile(char * filePath){
        return remove(filePath);
}

/**
* 加内容文件
*/
int putContentFile(char * filePath, char * contents){
        FILE * fp;
        if((fp =fopen(filePath,"a"))==NULL){
                printf("无法打开%s文件!\n",filePath);
        }else{
                fputs(contents,fp);
                fputs("\n",fp);
                fclose(fp);
        }
        return 0;
}
/**
*顺序读取文件
*/
int readFile(char * filePath){
        FILE * fp;
        char * contents = (char *)malloc(100*sizeof(char));
        if((fp =fopen(filePath,"r"))==NULL){
                printf("无法打开%s文件!\n",filePath);
        }else{
                while(fgets(contents,100,fp)!= NULL){//读取一行
                        printf("%s",contents);
                }
                fclose(fp);
        }         
        return 0;
}

int randomReadFile(char * filePath,char * contents){
        
        return 0;
}

int main(){
        char * ppath = "c:/testpath";
        char * path = "c:/testpath/test";
        char * filename = "c:/testpath/test/test.txt";
        char * content = "中国test";
        createDir(path);//创建目录
        createFile(filename);//创建文件
        putContentFile(filename,content);//文件添加内容
        putContentFile(filename,content);//文件追加内容
        readFile(filename);
        removeFile(filename);
        deleteDir(path);
        deleteDir(ppath);
}

  代 码 结 束  




如有不对不妥之处,请多多指正~!欢迎交流共同进步~!






    评分

    参与人数 1威望 +12 收起 理由
    lhlxnm543 + 12 给力!坚持下去

    查看全部评分

    回复

    使用道具 举报

    104

    主题

    3055

    帖子

    0

    积分

    荣誉版主

    Rank: 8Rank: 8

    精华
    27
    威望
    32039
    K币
    33673 元
    注册时间
    2012-6-4

    2016年优秀版主2015年下半年优秀版主2015年上半年优秀版主2014年下半年优秀版主真题小王子

    沙发
    发表于 2015-8-18 22:16 | 只看该作者
    给你个建议,制定计划要合理。
    你是每天看8个小时专业课嘛?应该还有英语数学要看吧,每天应该最多分配3小时来看专业课。每天3小时的专业课时间就能看完---“理解指针的定义,掌握通过指针访问数组、字符串和结构体的方法。”?   我觉得可能性不大。2-3小时最多看遍书而已。

    我当时是2-3天看一章:书+课后习题+自己小结;
    一周只看两-三章,多余一天用于应变、调整、补充。
    C语言内容很多,很杂;要多整理,多做题才行,不怕计划慢,要有效地把知识变成自己的才行
    回复

    使用道具 举报

    6

    主题

    26

    帖子

    44

    积分

    新手上路

    Rank: 1

    精华
    0
    威望
    0
    K币
    44 元
    注册时间
    2015-3-9
    板凳
    发表于 2015-9-25 20:59 来自手机 | 只看该作者
    lhlxnm543 发表于 2015-8-18 22:16
    给你个建议,制定计划要合理。
    你是每天看8个小时专业课嘛?应该还有英语数学要看吧,每天应该最多分配3小 ...

    请问用的什么资料啊,有没有历年真题什么的

    来自Android客户端

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册 人人连接登陆

    本版积分规则   

    关闭

    您还剩5次免费下载资料的机会哦~

    扫描二维码下载资料

    使用手机端考研帮,进入扫一扫
    在“我”中打开扫一扫,
    扫描二维码下载资料

    关于我们|商务合作|小黑屋|手机版|联系我们|服务条款|隐私保护|帮学堂| 网站地图|院校地图|漏洞提交|考研帮

    GMT+8, 2025-12-6 19:24 , Processed in 0.079439 second(s), Total 11, Slave 10(Usage:6.75M, Links:[2]1,1_1) queries , Redis On.

    Powered by Discuz!

    © 2001-2017 考研 Inc.

    快速回复 返回顶部 返回列表
    × 关闭