c语言程序设计考试题库?c语言程序设计常考题型
大家好,今天给各位分享c语言程序设计考试题库的一些知识,其中也会对c语言程序设计常考题型进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
计算机二级C语言考试机试题库每次更新多少套题
每次更新多少题是说不准的,但是基本上考察的知识点都是差不多的,编程题的话只是换了背景事件而已,基本上做的题目多了就清楚要怎样答题了。
2015年全国计算机二级C语言考试大纲
基本要求
1.熟悉Visual C++6. 0集成开发环境。
2.掌握结构化程序设计的方法,具有良好的程序设计风格。
3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。
4.在Visual C++6. 0集成环境下,能够编写简单的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.简单的位运算。
十二、文件操作
只要求缓冲文件系统(即高级磁盘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,本文到此结束,如果可以帮助到大家,还望关注本站哦!