计算机二级(C语言)都考哪些内容

计算机二级(C语言)都考哪些内容,第1张

根据《全国计算机二级考试c语言程序设计考试大纲(2018年版) 》,计算机二级C 语言主要考C 语言程序的结构、数据类型及其运算、基本语句、选择结构程序设计、循环结构程序设计、数组的定义和引用、函数、编译预处理、指针、结构体(即“结构”)与共同体(即“联合”)、位运算和文件 *** 作12大块内容。采用上机考试形式,考试时长120分钟,满分100分。

考试内容

一、C 语言程序的结构

1 程序的构成,main 函数和其他函数。

2 头文件,数据说明,函数的开始和结束标志以及程序中的注释。

3 源程序的书写格式。

4 C 语言的风格。

二、数据类型及其运算

1C 的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。

2 C 运算符的种类、运算优先级和结合性。

3 不同类型数据间的转换与运算。

4 C 表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。

三、基本语句

1 表达式语句,空语句,复合语句。

2 输入输出函数的调用,正确输入数据并正确设计输出格式。

四、选择结构程序设计

1 用 if 语句实现选择结构。

2 用 switch 语句实现多分支选择结构。

3 选择结构的嵌套。

五、循环结构程序设计

1 for 循环结构。

2 while 和 do-while 循环结构。

3 continue 语句和 break 语句。

4 循环的嵌套。

六、数组的定义和引用

1 一维数组和二维数组的定义、初始化和数组元素的引用。

2 字符串与字符数组。

七、函数

1 库函数的正确调用。

2 函数的定义方法。

3 函数的类型和返回值。

4 形式参数与实际参数,参数值的传递。

5 函数的正确调用,嵌套调用,递归调用。

6 局部变量和全局变量。

7 变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。

八、编译预处理

1 宏定义和调用(不带参数的宏,带参数的宏)。

2 “文件包含”处理。

九、指针

1 地址与指针变量的概念,地址运算符与间址运算符。

2 一维、二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义。通过指针引用以上各类型数据。

3 用指针作函数参数。

4 返回地址值的函数。

5 指针数组,指向指针的指针。

十、结构体(即“结构”)与共同体(即“联合”)

1 用 typedef 说明一个新类型。2 结构体和共用体类型数据的定义和成员的引用。

3 通过结构体构成链表,单向链表的建立,结点数据的输出、删除与插入。

十一、位运算

1 位运算符的含义和使用。

2 简单的位运算。

十二、文件 *** 作

只要求缓冲文件系统(即高级磁盘 I / O 系统),对非标准缓冲文件系统(即低级磁盘 I / O 系统)不要求。

1 文件类型指针(FILE 类型指针)。

2 文件的打开与关闭(fopen,fclose)。

3 文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf 函数的应用),文件的定位(rewind,fseek 函数的应用)。

参考资料

考试吧考试吧[引用时间2018-4-30]

#include <stdioh>

int IsPerfect(int m)

{

int i,k=0,s=0;

for(i=1;i<m;i++)

if(m%i==0) s+=i;

if(s==m) k=1;

return k;

}

//以上为函数IsPerfect,以下为主函数

void main(){

int n;

scanf("%d",&n);

if(IsPerfect(n))

printf("%d is a perfect number",n);

else

printf("%d is not a perfect number",n);

}

运行示例:

#include <stdioh>

#include <stdlibh>

#include <stringh>

#define MAX_NUM 50

#define MAX_LINE 256

struct student {

    char name[10];

    float math;

    float chinese;

    float eng;

    float aver;

    char  grade;

};

const char  student_file = "studenttxt";

const char  grade_file   = "gradetxt";

int init(struct student  s, int n);

int fun(struct student s[], int n);

void sort(struct student  s, int n);

void display(struct student  s, int n);

void save_student(struct student  s, int n, const char  file);

void load_student(const char  file);

int main(int argc, char argv[])

{

    int num = 0;

    struct student st[MAX_NUM];

    num = init(st, MAX_NUM);

    printf("\n等级为D的人数: %d\n", fun(st, num));

    save_student(st, num, student_file);

    sort(st, num);

    save_student(st, num, grade_file);

    display(st, num);

    printf("\n所有学生信息\n");

    load_student(student_file);

    printf("\n排序后的学生信息\n");

    load_student(grade_file);

    return 0;

}

/ 初始化 /

int init(struct student  s, int n)

{

    int num = 0, i = 0;

    if (0 == s || 0 >= n || MAX_NUM < n)

        return 0;

    printf("请输入学生数量[不大于50]: ");

    fflush(stdout);

    scanf("%d", &num);

    while (0 >= num || n < num)

    {

        fflush(stdin);

        printf("无效的参数,请输入学生数量[不大于50]: ");

        fflush(stdout);

        scanf("%d", &num);

    }

    for (i = 0; i < num; ++i)

    {

        printf("请输入第%d个学生的信息: ", i + 1);

        fflush(stdout);

        scanf("%9s %f %f %f", s[i]name, &s[i]math, &s[i]chinese, &s[i]eng);

        fflush(stdin);

    }

    return num;

}

/ 计算平均成绩并统计等级为D的人数 /

int fun(struct student s[], int n)

{

    int i = 0, cnt = 0;

    if (0 == s || 0 >= n || MAX_NUM < n)

        return 0;

    for (i = 0; i < n; ++i)

    {

        s[i]aver = (s[i]math + s[i]chinese + s[i]eng) / 30;

        if (70 <= s[i]aver && 85 > s[i]aver)

            s[i]grade = 'B';

        else if (60 <= s[i]aver && 70 > s[i]aver)

            s[i]grade = 'C';

        else if (60 > s[i]aver)

            s[i]grade = 'D';

        else

            s[i]grade = 'A';

        if ('D' == s[i]grade)

            ++cnt;

    }

    return cnt;

}

/ 降序排列 /

void sort(struct student  s, int n)

{

    int i = 0, j = 0;

    struct student tmp;

    if (0 == s || 0 >= n || MAX_NUM < n)

        return 0;

    for (i = 0; i < n - 1; ++i)

    {

        for (j = 0; j < n - 1 - i; ++j)

        {

            if (s[j]aver < s[j + 1]aver)

            {

                tmp = s[j];

                s[j] = s[j + 1];

                s[j + 1] = tmp;

            }

        }

    }

}

void display(struct student  s, int n)

{

    int i = 0;

    if (0 == s || 0 >= n || MAX_NUM < n)

        return 0;

    printf("所有学生的信息如下: \n");

    for (i = 0; i != n; ++i)

    {

        printf("%d name[%s] math[%1f] chinese[%1f] eng[%1f] aver[%1f] grade[%c]\n",

               i + 1, s[i]name, s[i]math, s[i]chinese, s[i]eng, s[i]aver, s[i]grade);

    }

}

/ 保存学生信息到指定文件 /

void save_student(struct student  s, int n, const char  file)

{

    int i = 0;

    FILE  fp = 0;

    char buf[MAX_LINE] = {0};

    if (0 == s || 0 >= n || MAX_NUM < n || 0 == file)

        return 0;

    if (fp = fopen(file, "w"))

    {

        for (i = 0; i != n; ++i)

        {

            sprintf(buf, "%s %1f %1f %1f %1f %c\r\n",

                    s[i]name, s[i]math, s[i]chinese, s[i]eng, s[i]aver, s[i]grade);

            fwrite(buf, 1, strlen(buf), fp);

            memset(buf, 0x00, MAX_LINE);

        }

        fclose(fp);

    }

}

/ 加载指定文件中的信息 /

void load_student(const char  file)

{

    char buf[MAX_LINE] = {0};

    FILE  fp = 0;

    if (0 == file)

        return ;

    if (fp = fopen(file, "r"))

    {

        while (fgets(buf, MAX_LINE, fp))

            printf("%s", buf);

        fclose(fp);

    }

}

首先用1~3天的时间,把C语言的基本语法、基本类型等过一遍。比如指针啊,数组啊,指针的指针啊等等。除非平时一点都没听,否则3天之内应该是可以吧这些内容熟悉一遍的。

剩余的时间,预留3天做做题。其余时间全部放到数据结构和基本算法的研究上。比如链表、排序算法等。

一般考试就是理论和编程。在学校应该是偏理论。所以先过一遍理论,然后再通过练习加深理论。

祝你好运了

#include<stdioh>

int main(void)

{

double a=00,b=00,c=00,d=00;

double agv=00

printf("please intput 4 socres:\n");

scanf("%lf %lf %lf %lf",&a,&b,&c,&d);

agv = (a+b+c+d)/40;

printf("the agv is %f",agv);

return;

}

2

#include<stdioh>

int main(void)

{

char temp =0;

while(temp = getchar())

{

if ((temp >= 'a')&& (temp <='z'))

temp += 32;

putchar(temp);

}

return;

}

3

#include<stdioh>

int main(void)

{

int i=0,sum =0;

for(i=1;i<=100;i++)

{

if( (i%4 == 0) || (i%7 == 0) )

sum += i;

}

printf("%d",sum);

return;

}

设计题是大部分代码都已经给你了,你只要填空填一行或者几个空格就行了,考试时是你进入系统做完后保存然后老师阅卷的,30道选择题应该是电脑直接出成绩了,设计题如果运行出问题了一般就没分了,但是写出了关键点了老师应该会给一点点分数

以上就是关于计算机二级(C语言)都考哪些内容全部的内容,包括:计算机二级(C语言)都考哪些内容、c语言程序设计、C语言程序设计等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9795056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存