当前位置:首页 » 编程语言 » c语言上机题

c语言上机题

发布时间: 2022-05-09 12:22:28

① 全国计算机二级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 函数的应用)。


注:上机:90 分钟,满分 100 分

上机操作包括: (1)填空。 (2)改错。 (3)编程

② 数据结构上机题c语言

#include<stdio.h>

voidMergeArr(inta[],intm,intb[],intn,intc[])
{
inti=0,j=0,k=0;

while(i<m&&j<n)
{
if(a[i]<b[j])
c[k++]=a[i++];
else
c[k++]=b[j++];
}

while(i<m)
c[k++]=a[i++];
while(j<n)
c[k++]=b[j++];
}

intmain()
{
inti;

//用数组表示顺序表
intA[4]={2,5,9,10};
intB[6]={1,3,4,7,8,12};
intC[10]={0};

MergeArr(A,4,B,6,C);
for(i=0;i<10;++i)
printf("%d",C[i]);

return0;
}

③ C语言上机题输入一个整数X,计算1,2,3..,10X之间所有奇数,偶数的和

#include <stdio.h>

int main()

{ int x;

scanf("%d",&x);

printf("s1=%d s2=%d ",25*x*x,25*x*x+5*x);

return 0;

}

④ C语言上机题目:输入一个字符串,然后按逆序重新存放该字符串.

#include<string.h>

#include<stdio.h>

int main()

{

char a[100];

int i,n,j=0,temp;

gets(a);

n=strlen(a);

for(i=0;i<n/2;i++){

temp=a[i];

a[i]=a[n-1-i];

a[n-1-i]=temp;}

a[n]='';

puts(a);

return 0;

}

(4)c语言上机题扩展阅读:

数组的使用规则:

1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。

2.如不给可初始化的数组赋初值,则全部元素均为0值。

3.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。

网络-数组

⑤ C语言的初级上机题,阅读下面的程序并分析其运行结果。

A:不管你输入什么数字,结果都是OK!
分析:对if中的条件表达式来看,他的格式是x=1.23,咋一看,好像是判断输入的值与1.23比较,但是,你要明白,C中一个=是赋值的意思,而两个==是判断的意思,完全是不同的运算符。所以,这个x=1.23就编程了赋值的意思了,可不是判断哦。那么,判断在哪儿呢?这就要给你说了,对于用在判断或者条件部分的表达式如果不是显示表达式,那么首先将这个表达式化简,就是看他到底是用哪个量来参与运算的了。这儿明显是x直接参与运算。这时候,系统默认是这个量与0进行比较。如果这个量正好为0,那么好,算条件不成立,如果是非零值,那么好,算条件成立,但是这个判断是虚拟判断,他可完全又不等价与写成显示表达方式的,这个要区别开。即,在条件部分 x 与 x==0,可不是一样的哦 假设x正好为0,你算一下给你的这两个表达式做条件时其条件结果各为多少。
2、那这时候,有可能是OK!,有可能就什么也没有输出。

⑥ C语言程序设计 上机题

楼主你好,希望以下答案对你有一定帮助。
楼主在问题补充中也提到了:
注意:要求n的值大于1但不大于100之间。部分源程序在文件PROG1.C中。
在2级C语言考试中,诸如“注意”这样字眼后面的内容在程序中一般都是有分的。所以这种题如果有对n的范围有要求,应该写出对n的范围作出限制的执行语句。尤其是如果n控制了求值的精确度,则必须写出n的范围限制语句,否则程序陷入死循环且不符合题意。例如:
已知PI/4=1-1/3+1/5-1/7+...,用此公式求PI的近似值,直到最后一项的绝对值小于10的-6次方为止。
这道题也要求了对关于n的最后一项的绝对值1/(2n+1)进行范围限定,即1/(2n+1)要小于10的-6次方。如果程序中不体现出这一点,程序将陷入死循环。所以要限定n的范围。
while(1/(2n+1)>=1E-6)
{...
}
只有这样,程序才能正常运行。

⑦ 二级c语言上机题常考题型有什么

1.填空题2.改错题3.编程题
第一题填空一般有几个类型,其中一个是循环类型,比较难做的抽到这个题型,这种题要好练练!大多数都是变量没有定义,说白了就是填上一个字母n啊i啊i++啥的,还有种链表题填个next和data的,这种题练两天就会摸出点门道!
第二题就是改错题,这种题非常简单,甚至不需要看题在c++报错了给你提示出来少个分号啊,少个括号啊什么的,全是些语法错误,几乎白给,建议练个1天!
第三题是编程题了,一般都是编辑2-3句话编一个for循环语句或再嵌套个循环语句,这都算难的了,简单的就1句就可以了,没什么难的,上机很好过的一般都担心笔试,有时间上机练1个星期,稳过,你想就那么100套题,考试从那里随机抽一套,你都练到了背也背下来了!

⑧ c语言二级考试上机题一共几道

3道,第一道是填空,一般3个空或者两个空。第二道是改错,一般也是两个到三个错误,第三道是编程,不是所有都要你写,只要你根据题意吧主程序写出来就可以了,分值分别为30分,30分和40分。你可以买题库,一共100套,只要你都做完,上机肯定可以通过,因为考试题是从那里面出的。

⑨ C语言数据结构上机题

#include "stdafx.h"
#include<iostream>
using namespace std;
typedef struct LNode
{
char data;
struct LNode * next;
}LNode,* LinkList;
void CreateList(LinkList &L)//创建链表存放26个字母组成的线性表
{
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
char c='z';
for(int i=26;i>0;i--)
{
LNode *p;
p=(LinkList)malloc(sizeof(LNode));
p->data=c--;
p->next=L->next;
L->next=p;
}
}
bool ListInsert(LinkList &L,int i,char c)//在第i个位置插入字母c
{
LNode * p=L;int j=0;
while(p&&j<i-1)
{
p=p->next;
++j;
}
if(!p||j>i-1)
return false;
LinkList s=(LinkList)malloc(sizeof(LNode));
s->data=c;
s->next=p->next;
p->next=s;
return true;
}
void main()
{
LinkList L;
CreateList(L);//1.创建链表存放26个字母组成的线性表
char c;int i;
cout<<"输入插入的字母"<<endl;
cin>>c;
cout<<"输入插入的位置(整数)"<<endl;
cin>>i;
if(ListInsert(L,i,c))//在第i个位置插入字母c
{
while(L->next!=NULL)//将插入后的线性表输出
{
cout<<L->next->data;
L=L->next;
}
}
}

//辛苦写完...刚调试通过...加分啊..
调试是在C++环境下调试的,如果你要在C环境下..把
cout<<L->next->data; 改为:
printf("%d",L->next->data);
cin>>c;改为:scanf("%c",c);
就ok了......

ps: o_o一般上机都是C++吧......

热点内容
手机店设置的初始密码一般是多少 发布:2025-05-11 09:33:15 浏览:401
昂科威选择哪个配置 发布:2025-05-11 09:25:50 浏览:35
怎么解决安卓视频全屏卡顿 发布:2025-05-11 09:14:55 浏览:725
汇编从编译到执行 发布:2025-05-11 09:09:04 浏览:257
安卓系统低版本如何升级 发布:2025-05-11 09:04:44 浏览:251
认证类型加密算法 发布:2025-05-11 08:58:35 浏览:561
android停靠 发布:2025-05-11 08:42:23 浏览:646
超时代加密 发布:2025-05-11 08:41:29 浏览:780
为什么还要输入支取密码 发布:2025-05-11 08:32:24 浏览:362
数据库课程设计案例 发布:2025-05-11 08:15:33 浏览:51