首页技术c语言程序设计考试题库?c语言程序设计常考题型

c语言程序设计考试题库?c语言程序设计常考题型

编程之家2026-06-281035次浏览

大家好,今天给各位分享c语言程序设计考试题库的一些知识,其中也会对c语言程序设计常考题型进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

c语言程序设计考试题库?c语言程序设计常考题型

计算机二级C语言考试机试题库每次更新多少套题

每次更新多少题是说不准的,但是基本上考察的知识点都是差不多的,编程题的话只是换了背景事件而已,基本上做的题目多了就清楚要怎样答题了。

2015年全国计算机二级C语言考试大纲

基本要求

1.熟悉Visual C++6. 0集成开发环境。

2.掌握结构化程序设计的方法,具有良好的程序设计风格。

3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。

c语言程序设计考试题库?c语言程序设计常考题型

4.在Visual C++6. 0集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力。

考试内容

一、C语言程序的结构

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

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

3.源程序的书写格式。

c语言程序设计考试题库?c语言程序设计常考题型

4. C语言的风格。

二、数据类型及其运算

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

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函数的应用)。

考试方式

上机考试,考试时长120分钟,满分100分。

题型及分值

单项选择题40分(含公共基础知识部分10分)、操作题60分(包括填空题、改错题及编程题)。

考试环境

Visual C++6. 0

大学C语言考试求帮忙!~

给个学生成绩管理的把,在VC上运行过的,TC的不知道,你自己试下,不过可能会出现很多问题,这个是C++版本的,你要把它改成C版本,而且改好了之后也不一定可行,主要是TC对标准支持也不好,而且也不利于调试...还是不要用TC了

#include<iostream>

#include<iomanip>

#include<fstream>

#include<string>

using namespace std;

#define max 100;

class student

{

public:

student*next;

public:

string name;//姓名

long num;//学号

int x,y,z;//数学,语文,英语

int AA;//总分

void play(){cout<<name<<"学生的学号是"<<num<<",数学:"<<x<<",语文:"<<y<<",英语:"<<z<<",总分:"<<AA<<endl;};

student(string sname,long snum,int sx,int sy,int sz)

{

name=sname;

num=snum;

x=sx;

y=sy;

z=sz;

}

};

class cla

{

public:

cla()//构造函数

{

stu=0;

sload();

}

~cla()//析构函数

{

student*p;

p=stu;

while(p)

{

p=p->next;

delete stu;

stu=p;

}

stu=0;

}

void sadd();//添加

void sremove();//删除

void samend();//修改

void ssearch();//查询

void staxis();//排序

void ssave();//保存

void sload();//读取

//排序函数

void pxh();

void psx();

void pyw();

void pyy();

void pAA();

private:

student*stu;//头接点

};

void cla::sadd()//添加

{

student*q;

string name1;

long num1;

int x1,y1,z1;

system("cls");

cout<<"\n**增加的学生**\n"<<endl;

cout<<"请输入学生的(中间用空格间隔)"<<endl;

cout<<"姓名学号数学成绩语文成绩英语成绩:"<<endl;

cin>>name1>>num1>>x1>>y1>>z1;

q=new student(name1,num1,x1,y1,z1);

q->next=0;

q->AA=x1+y1+z1;

if(stu)

{

student*t;

t=stu;

if(t->num==num1)

{

cout<<"学号已存在,请重新输入"<<endl;

return;

}

while(t->next)

{

if(t->num==num1)

{

cout<<"学号已存在,请重新输入"<<endl;

return;

}

t=t->next;

}

t->next=q;

}

else

{

stu=q;

}

cout<<"输入完毕"<<endl;

}

void cla::sremove()//删除

{

system("cls");

int num1;

cout<<"\n**删除学生信息**\n";

cout<<"请输入想要删除学生的学号:";

cin>>num1;

//查找要删除的结点

student*p1,*p2;

p1=stu;

while(p1)

{

if(p1->num==num1)

break;

else

{

p2=p1;

p1=p1->next;

}

}

//删除结点

if(p1!=NULL)//若找到结点,则删除

{

p1->play();

cout<<"确定删除吗?[Y/N]"<<endl;

char c;cin>>c;

if(toupper(c)!='Y') return;

if(p1==stu)//若要删除的结点是第一个结点

{

stu=p1->next;

delete p1;

}

else//若要删除的结点是后续结点

{

p2->next=p1->next;

delete p1;

}

cout<<"找到学号为"<<num1<<"的学生,并删除\n";

}

else//未找到结点

cout<<"未找到想要删除的学生!\n";

}

void cla::samend()//修改

{

system("cls");

long num1;

cout<<"\n**修改学生信息**\n";

cout<<"输入要修改学生的学号";

cin>>num1;

//查找要修改的结点

student*p1,*p2;

p1=stu;

while(p1)

{

if(p1->num==num1)

break;

else

{

p2=p1;

p1=p1->next;

}

}

if(p1!=NULL)

{

cout<<"学号是"<<num1<<"的学生的信息"<<endl;

cout<<"姓名"<<p1->name<<"数学"<<p1->x<<"语文"<<p1->y<<"英语"<<p1->z<<endl;

cout<<"请输入修改后的信息:姓名数学成绩语文成绩英语成绩"<<endl;

cin>>p1->name>>p1->x>>p1->y>>p1->z;

p1->AA=p1->x+p1->y+p1->z;

cout<<"修改成功"<<endl;

}

else//未找到接点

cout<<"未找到!\n";

}

void cla::ssearch()//查询

{

system("cls");

cout<<"\n**查询学生信息**\n"<<endl;

cout<<"请输入查询方式:"<<endl;

cout<<"1.按学号查询"<<endl;

cout<<"2.按姓名查询"<<endl;

cout<<"3.返回"<<endl;

char c; cin>>c;

switch(c)

{

case'1':

{

long num1;

cout<<"要查询的学号"<<endl;

cin>>num1;

//查找要查询的结点

student*p1,*p2;

p1=stu;

while(p1)

{

if(p1->num==num1)

break;

else

{

p2=p1;

p1=p1->next;

}

}

if(p1!=NULL)

{

cout<<"学号是"<<num1<<"的学生的信息"<<endl;

cout<<"姓名:"<<p1->name<<"数学:"<<p1->x<<"语文:"<<p1->y<<"英语:"<<p1->z<<endl;

cout<<"查询完毕...";

}

else//未找到接点

cout<<"未找到!\n";

break;

}

case'2':

{

string name1;

cout<<"要查询的学生姓名"<<endl;

cin>>name1;

//查找要查询的结点

student*p1,*p2;

p1=stu;

while(p1)

{

if(p1->name==name1)

break;

else

{

p2=p1;

p1=p1->next;

}

}

if(p1!=NULL)

{

cout<<name1<<"的学生的信息"<<endl;

cout<<"学号:"<<p1->num<<"数学:"<<p1->x<<"语文:"<<p1->y<<"英语:"<<p1->z<<endl;

cout<<"查询完毕...";

}

else//未找到接点

cout<<"未找到!\n";

break;

}

case'3': return;

}

}

void cla::pxh()//按学号排序

{

student*p1,*p2;

int n;

p1=stu;

n=1;

while(p1->next)

{ n++; p1=p1->next;}

cout<<"共有"<<n<<"条信息..."<<endl;

int i;

p1=stu;

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

{

p1=stu;

if(p1->num>p1->next->num)//如果头结点大于第二个的

{

p2=p1->next;

p1->next=p1->next->next;

p2->next=p1;//头结点交换

stu=p2;

}

p1=stu;

while(p1->next->next)//中间的交换

{

p2=p1;

p1=p1->next;

if(p1->num>p1->next->num)

{

p2->next=p1->next;

p1->next=p1->next->next;

p2->next->next=p1;

p1=p2->next;//交换

}

}

}

p1=stu;

do

{

p1->play();

p1=p1->next;

}while(p1);

}

void cla::psx()//按数学成绩排序

{

student*p1,*p2;

int n;

p1=stu;

n=1;

while(p1->next)

{ n++; p1=p1->next;}

cout<<"共有"<<n<<"条信息..."<<endl;

int i;

p1=stu;

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

{ p1=stu;

if(p1->x>p1->next->x)//如果头结点大于第二个的

{ p2=p1->next;

p1->next=p1->next->next;

p2->next=p1;//头结点交换

stu=p2;

}

p1=stu;

while(p1->next->next)//中间的交换

{ p2=p1;

p1=p1->next;

if(p1->x>p1->next->x)

{

p2->next=p1->next;

p1->next=p1->next->next;

p2->next->next=p1;

p1=p2->next;//交换

}

}

}

p1=stu;

do

{ p1->play();

p1=p1->next;

}while(p1);

}

void cla::pyw()//按语文成绩排序

{

student*p1,*p2;

int n;

p1=stu;

n=1;

while(p1->next)

{ n++; p1=p1->next;}

cout<<"共有"<<n<<"条信息..."<<endl;

int i;

p1=stu;

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

{ p1=stu;

if(p1->y>p1->next->y)//如果头结点大于第二个的

{ p2=p1->next;

p1->next=p1->next->next;

p2->next=p1;//头结点交换

stu=p2;

}

p1=stu;

while(p1->next->next)//中间的交换

{ p2=p1;

p1=p1->next;

if(p1->y>p1->next->y)

{

p2->next=p1->next;

p1->next=p1->next->next;

p2->next->next=p1;

p1=p2->next;//交换

}

}

}

p1=stu;

do

{ p1->play();

p1=p1->next;

}while(p1);

}

void cla::pyy()//按英语成绩排序

{

student*p1,*p2;

int n;

p1=stu;

n=1;

while(p1->next)

{ n++; p1=p1->next;}

cout<<"共有"<<n<<"条信息..."<<endl;

int i;

p1=stu;

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

{ p1=stu;

if(p1->z>p1->next->z)//如果头结点大于第二个的

{ p2=p1->next;

p1->next=p1->next->next;

p2->next=p1;//头结点交换

stu=p2;

}

p1=stu;

while(p1->next->next)//中间的交换

{ p2=p1;

p1=p1->next;

if(p1->z>p1->next->z)

{

p2->next=p1->next;

p1->next=p1->next->next;

p2->next->next=p1;

p1=p2->next;//交换

}

}

}

p1=stu;

do

{ p1->play();

p1=p1->next;

}while(p1);

}

void cla::pAA()//按总分排序

{

student*p1,*p2;

int n;

p1=stu;

n=1;

while(p1->next)

{ n++; p1=p1->next;}

cout<<"共有"<<n<<"条信息..."<<endl;

int i;

p1=stu;

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

{ p1=stu;

if(p1->AA>p1->next->AA)//如果头结点大于第二个的

{ p2=p1->next;

p1->next=p1->next->next;

p2->next=p1;//头结点交换

stu=p2;

}

p1=stu;

while(p1->next->next)//中间的交换

{ p2=p1;

p1=p1->next;

if(p1->AA>p1->next->AA)

{

p2->next=p1->next;

p1->next=p1->next->next;

p2->next->next=p1;

p1=p2->next;//交换

}

}

}

p1=stu;

do

{ p1->play();

p1=p1->next;

}while(p1);

}

void cla::staxis()//排序

{

system("cls");

char c;

cout<<"请选择以何种方式排序:"<<endl;

cout<<"1……以学号排序"<<endl;

cout<<"2……以数学成绩排序"<<endl;

cout<<"3……以语文成绩排序"<<endl;

cout<<"4……以英语成绩排序"<<endl;

cout<<"5……以总分排序"<<endl;

cout<<"6……返回"<<endl;

cout<<"请选择(1-6)"<<endl;

cin>>c;

switch(c)

{

case'1':pxh(); break;

case'2':psx(); break;

case'3':pyw(); break;

case'4':pyy(); break;

case'5':pAA(); break;

case'6':return;

}

}

void cla::ssave()//保存到文件

{

system("cls");

char c;

cout<<"\n保存学生信息(将覆盖原文件),是否继续?[Y/N]:"; cin>>c;

if(toupper(c)!='Y') return;

ofstream tfile("date.txt",ios_base::binary);

student*p=stu;

while(p)//写入文件

{

tfile<<p->name<<"\t"<<p->num<<"\t"<<p->x<<"\t"<<p->y<<"\t"<<p->z;

tfile<<endl;

p=p->next;

}

tfile.close();

cout<<"保存完毕..."<<endl;

}

void cla::sload()//读取

{

student*p;

p=stu;

while(p)

{

stu=p->next;

delete p;

p=stu;

}

ifstream tfile("date.txt",ios_base::binary);

string name1;

long num1;

int x1,y1,z1;

tfile>>name1>>num1>>x1>>y1>>z1;

while(tfile.good())

{

//创建学生接点

student*s;

s=stu;

s=new student(name1,num1,x1,y1,z1);

s->next=0;

s->AA=x1+y1+z1;

if(stu)//若已经存在结点

{

student*p2;

p2=stu;

while(p2->next)//查找尾结点

{

p2=p2->next;

}

p2->next=s;//连接

}

else//若不存在结点(表空)

{

stu=s;//连接

}

tfile>>name1>>num1>>x1>>y1>>z1;

}

tfile.close();

cout<<"\n学生信息已经装入...\n";

}

void main()

{

char c;

cla a;

do

{

cout<<"\n学生成绩管理系统\n";

cout<<"**************************************\n";

cout<<"作者:软件工程06110119:zgjxwl\n";

cout<<" 1……增加学生\n";

cout<<" 2……删除学生\n";

cout<<" 3……修改学生\n";

cout<<" 4……查询学生信息\n";

cout<<" 5……排序\n";

cout<<" 6……保存信息\n";

cout<<" 7……读取信息\n";

cout<<" 8……退出\n";

cout<<"**************************************\n";

cout<<"请选择(1-8):";

cin>>c;

switch(c)

{

case'1': a.sadd();break;

case'2': a.sremove();break;

case'3': a.samend();break;

case'4': a.ssearch();break;

case'5': a.staxis();break;

case'6': a.ssave();break;

case'7': a.sload();break;

}

}while(c!='8');

}

计算机二级C语言考试内容有那些

C语言考试内容如下:

一、C语言程序的结构

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

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

3.源程序的书写格式。

4. C语言的风格。

二、数据类型及其运算

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

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.简单的位运算。

十二、文件操作

1.文件类型指针

2.文件的打开与关闭

3.文件的读写

拓展资料:

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。全国计算机等级考试有二级c语言这个考试的项目。

考试要求:

1.熟悉Visual C++6. 0集成开发环境。2.掌握结构化程序设计的方法,具有良好的程序设计风格。3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。4.在Visual C++6. 0集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力。

参考链接:百度百科-二级C语言

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

三角函数值30度45度60度 三角函数表值查表好看的table css模板 bootstrap模板下载