当前位置:首页 » 编程软件 » 编程机试题库

编程机试题库

发布时间: 2023-05-24 10:01:21

‘壹’ 求c语言试题及答案!急啊!

c语言考试题(一)

一、 单项选择题(每题2分,共20分)
1、以下选项中属于C语言的数据类型是( )
A.复数型 B.逻辑型 C.集合型 D.双精度型
2、一个C程序的执行是从( )
A.main()函数开始,直到main()函数结束 B.第一个函数开始,直到最后一个函数结束
C.第一个语句开始,直到最后一个语句结束 D.main()函数开始,直到最后一个函数结束
3、设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是( )
A.3 B.0C.-12D.9
4、若有 char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是( )。
A.cd\0e B.'c''d' C.cd D.cd e
5、已知:int a[2][3]={1,2,3,4,5,6}, (*p)[3]=a;则下列表达式不是4的是 ( )。
A.*(*p+3) B.*p+3 C.*(*(p+0)+3) D.a[0][3]
6、以下有宏替换不正确的叙述( ).
A.宏替换不占用运行时间 B.宏名无类型
C.宏替换只是字符串替换 D.宏名必须用大写字母表示
7、执行char str[10]=”Ch\nina”; strlen(str)的值是( )
A.5 B.6 C.7 D.9
8、下面程序的输出结果是:( )
#define POWER(x) (x*x)
main()
{int i=4; printf("%d",POWER(i-2)); }
A. -9 B. -7 C. 5 D. -6
9、在定义int a[3][4][2];后,第10个元素是( )
A.a[2][1][2] B.a[1][0][1] C.a[2][0][1] D.a[2][2][1]
10、下面程序的输出结果是:( )
typedef struct
{long x[2];<br>short y[4];<br>char z[8];<br>}MYTYPE;
MYTYPE a;
main()
{ printf("%d\n",sizeof(a));}
A. 2 B. 8 C. 14 D. 24
二、 填空题(每空1分,共11分)
1、字符串"A"在内存中占用的字节数为 。
2、C语言中的标识符只能由字母、下划线和 组成。
3、若有定义语句“ int a=25,b=14,c=19;",以下语句的执行结果是
if(a++<=25&&b--<=2&&c++) printf("***a=%d,b=%d,c=%d\n",a,b,c);
else printf("###a=%d,b=%d,c=%d\n",a,b,c);
4、有如下定义a[]="B\172\\\'a%%";则执行语句printf("%d",strlen(a));的结果为 。
5、若有定义:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i; for(i=0;i<4;i++) p[i]=&a[i*3];则*(*(p+1)+2)的值为 ,*p[2]的值为 。若数组的首地址为2000,则p[1]指向的地址为 。
6、设a=2,b=3,x=3.5,y=2.5,则表达式(float)(a+b)/2+(int)x%(int)y 的结果是 。
7、设x、y都是int型变量,初值都为1,则执行表达式:--x&&y++后,y的值为 。
8、语句for(i=1;i==10;i++)continue;循环的次数是 。
9、以下程序输出 。
main()
{enum em {em1=3,em2=1,em3};
char *aa[]={"AA","BB","CC","DD"}; printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);
}
三、 写程序结果(每题5分,共35分)

1、#include
main()
{int x,y,z;<br>x=1,y=2,z=3; x+=y+=z;<br>printf("1:%d\n",z+=x>y?x++:y++);<br>x=0x02ff;y=0xff00;<br>printf("2:%d\n",(x&y)>>4|0x005f);<br>x=y=z=-1; ++x||++y&&++z;<br>printf("3:%d,%d,%d\n",x,y,z);<br>}
2、#define f(x) x*x
main()
{int a=6,b=2,c;<br>c=f(a+b)/f(b);<br>printf(“%d\n”,c);<br>}
3、fun(int k)
{ printf("%d",k);
if(k>0)
fun(k-1);
}
main( )
{ int w=5; fun(w); printf("\n"); }
4、#include
main()
{int x=1,y=0;<br>switch(x)<br>{ case 1:<br>switch(y)<br>{ case 0:printf(“first\n”);break;<br>case 1:printf(“second\n”);break;<br>}
case 2:printf(“third\n”);
}
}
5、#include
main()
{ int k=4;
func(k); func(k);
}
func(int a)
{ static int m=0;
m+=a;
printf("%d",m);
}
6、struct st
{ int x;
int *y;
}*p;
int s[]={30,20};
struct st a[]={1,&s[0],2,&s[1]};
main()
{ p=a; printf("%d,",p->x);
printf("%d\n",++(*(++p)->y));
}
7、假定在当前盘目录下有2个文本文件,其名称和内容如下:
文件名: a1.txt a2.txt
内容: ABCDEF# abcdef#
#include "stdio.h"
main()
{FILE *fp;<br>void fc();<br>if((fp=fopen("a1.txt","r"))==NULL)<br>{printf("Can not open file!\n"); exit(1);}
else{fc(fp);fclose(fp);}
if((fp=fopen("a2.txt","r"))==NULL)
{printf("Can not open file!\n"); exit(1);}
else{fc(fp);fclose(fp);}
}
void fc(fp1)
FILE *fp1;
{char c;<br>while((c=fgetc(fp1))!='#')putchar(c);<br>}

四、 程序填空(每空2分,共14分)

1、下面程序求矩阵a的主对角线元素之和,请填空。
main()
{ int a[3][3]={2,4,6,8,10,12,14,16,18};
int sum=0,i,j;
for(i=0;i<3; ① )
for(j=0; ② ;j++)
if(i= =j) sum=sum+ ③ ;
printf("sum=%d\n",sum);
}
2、下列函数coy把字符数组S2中的全部字符复制到字符数组S1中, 复制时’\0’也要复制过去,’\0’后面的字符不用。
coy(char s1[],char s2[])
{ int i;
for(i=0;s2[i]!= ① ;i++)
s1[i]=s2[i];
② ;
}
3、下面程序的功能是将字符串a中的下标为奇数的元素由小到大排序,其他元素不变,请填空。
main()
{ char a[]="students",t; int i,j;
for(i=1;i<7;i+=2)
for(j=i+2;j<8; ① )
if( ② )
{t=a[i];a[i]=a[j];a[j]=t;}
puts(a);
}

c语言考试题(二)

一. 填空题(每题2分,共20分)
1. C语言基本数据类型有:_______________________________;
构造类型有:_____________________________________。 P.13

2. C语言源程序注注释符号是:________________________________,
为表明层次结构,C语言源程序通常采用_____________________格式编写。P.4

3. 源程序TEST.C经编译产生的目标文件是:________________________;
经连接处理后,产生的可执行文件是:__________________________。

4. strlen(“1234 \ 0xy)的值为:_____________________________;
sizeof(float)的值为:____________________________

5. 二维数组a[10] [50]最后一行的首地址为:_________________________;
最后一个元素的首地址为:____________________________________。

6. C标准库函数中,数学函数的原型在:________________头文件中,自定义头文件D :\ MYC \ MY . H应如何包含到源程序文件中:_________________________。P.130

7. 已知函数定义为:int stat(inta,float *p)
{……………}
则此函数的两个参数类型分别是_______________ 、 _____________________。

8. 设int x,y,z=4;
x=y=++z;
x=(y>z)?x+2;x++;则x的值是:_________;
设int a=0,b=0,c=0;c=++a | | b++; ,则a、b、c值分别是:_____________。

9. 与if (x=0) 等价的写法是if ( ! x );
判断两个(float)变量x,z是否相等一般:if ( fabc(x-z)<1e-6 )。

10.已知赋值语句zhang.year=1985;可判断zhang是_______________类型的变量;
定义文件指针的C语句是:_________________________________。

二. 单项选择题 (每题1分,共10分)
1. 组成C程序的基本单位是____________________________。
A.函数 B.标识符 C.表达式 D.语句

2. 设int类型的数据长度为2字节,则该类型数据的取值范围是__________________。
A.0至65536 B.0至65535
C.-32767至32768 D.-32768至32767

3. 在C语言中,逻辑值“真”是用_____________________表示的。
A.预定义为真值的宏 B.非零数
C.正数 D.非零整数

4. C语言对于嵌套if语句规定else总是与_____________________匹配。
A.与最外层的if B.与之前最近的if
C.与之前最近的不带else的if D.与最近的{ }之前的if

5. 数组定义char a[10]={`a`,`b`,`c`}:包括了几个元素____________________。
A.3 B.9 C.4 D.10

6. 数组名作为实参传给被调用的函数时,形参获得的是_____________________。
A.该数组第一个元素的值 B.该数组所有元素的值
C.该数组第一个元素的首地址 D.该数组所有元素的首地址

7. 为表示关系x ≥ y ≥z,正确的C语言表达式为_________________________。
A.(x>=>y>=z) B.(x>=y)AND(y>=z)
C.(x>=y)&&(y>=z) D.(x>y)&(y>=z)

8. 根据定义int a[ ]={1,2,3},i,*p=a; 从语法分析_________________是不正确的。
A. a[p-a] B.*(&a) C.p D.*(*(a+i))

9. 若有语句scanf(“%d%d”,&a,&b);要使变量a,b分别得到12和34;正确的输入形式为____________________________。
A.12 34 B.12,34 C.1234 D.12:34

10.union uex {int i;float f;char c;}ex;则sizeof(ex)的值是____________________。
A.4 B.5 C.6 D.7

三. 分析程序,写出运行结果。(每题4分,共20分)
1. 源程序如下,运行时假定键盘输入字符串为``2004``
#include
void main(void)
{
int n=0;
char c;
while( (c=getchar( )) ! =`\n` ) /*字符型数字*/
{
if (c>=`0`&&c<=`9` )
n = n*10 + c- `0` ; /*数字*/
}
printf(“value=%d|n” ,n);
}
结果为: value=2004 。

2. 源程序如下:
#include
void main(void)
{
int num[9]={399,398,397,396,395,299,290,311,301};
int score[9]={81,85,59,77,90,66,89,93,73};
int iMax,iPos,i;
iPos=0;
iMax=score[iPos];
for(i=1;i<9;i++)
if(score>iMax)
{
iPos=i;
iMax=score[iPox];
}
printf(“num=%d,score=%d”,num[iPos];score[iPos]);

结果为: num=311, score=93 。

3. 源程序如下,运行时假定键盘输入数据为:1 2 3 4 5 6 7 8 9 10
#include
void main(void)
{
int i,a[10];
int *p;
p=a;
for(i=0;i<10;i++)
scanf(“%d“,p++);
for(p=a;p< SPAN>;p++)
if (*p%2)printf(“%3d”,*p);
}
结果为: 1 3 5 7 9 。

4. 源程序如下,两次运行,分别输入数据13和21
#include
#include
void main(void)
{
int n,s;
scant (“%d”,&n);
s=panan( n);
if(s==1)printf(“yes\n”);
else printf(“no\n);
}
int panan(int n)
{
int k,j;
k=(int)sqrt((double)n);
for(j=2;j<=k,j++)
{
if(n%j==0) break;
}
if(j>k) retum(1);
else retum(0);
}
结果为 yes
no

5.源程序如下,运行时假定键盘输入字符为:AxByCz
#include
#include
void main(void)
{
char str[80];
int i;
gets(str);
for(i=0;str!=`\0`;i++)
if(str>=`a`&&str<=`z`) str-=32;
else if (str>=`A`&&str<=`Z`) str+=32;
puts(str);
}
结果为: aXbYcZ 。

四. 下列程序中每个划线处有一个错误,改正划线 中的错误,使其实现题目要求。(每体4分,共20分)
1. 求 s=1+2+3+、、、、、、、+100
include 改正为_________________________。
void sum (void) 改正为_________________________。
{
int s,i;
for (s=0,i=1;i<=100;i++)
{
s=s+ i ++; 改正为__________________________。
}
printf (“s=%f”,s) 改正为__________________________。
}

2. 源程序实现求x
#include
double pow(float . int) 改正为_________________________。
void main(void)
{
int i, n;
float x;
scanf (“%f,%d”,&x,&n);
for (i=1; i<9;i++)
printf(“%d,%e\n”, i, pow(i,x);
} 改正为______________________。
double v v pow(float x, int n)
{
int i;
double p=0; 改正为______________________。
for (i=1; i< i++)>改正为_______________________。
p*=x;
retum(p);
}

3. 源程序实现排升序。
#include
void main(void)
{
int i, j, iMin, a[10]={4,3,5,1,10,12,2,6,7,9}, iTemp;
for (i=0; i<9; i++)
{
iMin=0; 改正为_______________________。
for (j=i+1; j<10;j++)
if(a[iMin]< iMin="j;">改正为_______________________。

if (iMin==i) 改正为_________________________。
{ iTemp=a;
a[iMin]=a; 改正为_________________________。
a[iMin]=iTemp;
}
}
for(i=0; i<10; i++)
printf(“%4d”, a):
}

4. 源程序为求平均值。
#include
void main(void)
{
int i, sum; 改正为____________________。
float avg;
int sc[10], *p=sc;
for (i=0, i<10; i++) 改正为____________________。
{
scanf(“%d”, p++);
sum+= *p; 改正为____________________。
}
avg = sum/ 10; 改正为___________________。
printf(“avg=%f”, avg);
}
5. 源程序求 eX=1+x+x2/2!+……+xn/n!前n+1项之和
#include
void main(void>
{
float exp , x , t;
int i, n;
scanf(“%f, %d”,&x, &n);
t=0; 改正为___________________。
exp=1.0;
for(i=1 ; i<=n; i++)
{
if(t<1e-6) loop; 改正为__________________。
t+=x/i; 改正为___________________。
exp*=t; 改正为___________________。
}
printf(“\n%15.6f”, exp);
}
五. 编程题 (每题6分,共30分)
1. 根据以下程序框架,编写子函数,实现交换两个整型变量x和y的值。
#include
void swap (int *, int *);
void main (void)
{
int x, y;
scanf(“%d, %d”, &x, &y);
swap( &x, &y);
printf(“%d, %d”, x, y);
}
void swap( )
{

}

2. 设某班人数36人,参加C语言考试,用一维数组score[36]存放考试成绩,已给出一部分程序,完善以下程序,使其实现统计并输出不及格人数及百分比。
#include
void main (void)
{ int i;
float scoer[36], precent;
int count=0;
for (i=0; i<36; i++)
{
scanf(“%f”, &score);

}

3. 完善以下程序使其实现由键盘任意输入一串字符,统计其中大写字母个数iA、小写字母个数ia、其他字符个数iother。
#include
#include
void main (void)
{
char str [80];
int i, iA=0, ia=0, iother=0;

}

4. 完善以下程序使其实现求方阵主和辅对角线元素之和及其转置矩阵,设方阵用二维数组a表示,转置矩阵用t表示,sl和s2表示主和辅对角线元素之和。
#include
void main(void)
{
int a[3] [3]={1,3,5,7,9,11,13,15,11};
int i, j, s1, s2;
int t[3] [3];
printf(“%d, %d,\n”,s1, s2);
for(i=0; i<3; i++)
for(j=0; j<3; j++)
printf(“%3d”, t [j]);
}

5. 已知字符数组str[80],编写返回指针的子函数,实现在其中查找字符ch首次出现的位置。
#include
#include
#include
char *lstrchar(char*, char);
void main(void)
{
char c, *p, str[80];
gets (str);
scanf(“%c”, &c);
p=lstrchar(str,c);
if(p==NULL) printf(“char %c not found\n”c);
else printf(“The position is %d”, p-str);
char “lstrchar( )
{ }

历年全国计算机二级考试c语言真题及答案
http://jsj.lsxy.com/UploadFiles/20064222324839.rar

‘贰’ (特急)《java程序设计》理论题库—判断题(要准确答案)

异常的抛出,就是将异常抛给异常处理器,暂时不去处理它。

摘要:《Java程序员面试指南》第7章异常处理及内存管理,本章讲述的是要想成功地成为一名合格的Java程序员,掌握好异常处理机制是编写大型程序必不可少的基本功。本节为大家介绍异常的处理方式之三:throw。
标签:throw Java 程序员 Java程序员面试指南
Oracle帮您准确洞察各个物流环节

7.4 异常的处理方式之三:throw(1)

异常的抛出,就是将异常抛给异常处理器,暂时不去处理它。本节主要讲解用throw抛出异常的方式,以及如何由try-catch来接收所抛出的异常。

当一个方法发生异常时可以通过throw关键字来抛出异常,把异常抛给它上一级的调用者,抛出的可以是异常引用,也可以是异常对象,它的语法格式如下:

throw 异常对象名; 或者

throw new 异常类名(); 一条throw语句一旦被执行,程序立即转入相应的异常处理程序段,它后面的语句就不再执行了(这一点类似于return语句),而且它所在的方法也不再返回有意义的值。在一个方法中,throw语句可以有多条,但每一次最多只能执行其中的一条。在一般情况下,throw语句都会写在判断语句块中,以避免每次都执行该语句。

【代码剖析】下面来看一个例子,也许从中你会明白点什么。具体代码如下:

public class catchThows { static int x; public static void main(String argv[]) { double a = Math.random() * 10; if (x > 0) System.out.println(a / x); else throw new Exception(); // 抛出异常 } public void setX(int x) { this.x = x; } } 运行结果如图7.1所示。

(点击查看大图)图7.1 运行结果
从上面的运行结果中可以看出,一个方法中如果使用throw来抛出异常,要么自己捕获它,要么声明抛出了一个异常。要声明抛出了异常,需要用throws关键字在方法的头部声明。如果我们将上面的代码修改成下面的代码,那么结果又会怎样呢?
public class catchThows_1 { static int x; public static void main(String argv[]) { new catchThows().setX(0); double a = Math.random() * 10; if (x > 0) System.out.println(a / x); else try { throw new Exception();// 抛出异常 } catch (Exception e) { System.out.println("出现异常的原因是:"+e.getMessage()); } } public void setX(int x) { this.x = x; } } 运行结果如下:

出现异常的原因是:null 还有一种抛出异常的方法是让被调用的方法表示它将不处理异常,该异常将被抛出到它的调用方法中。这点是和throws声明异常很相似的,但它们的位置是完全不同的。具体代码如下:

public class catchThows_2 { void findThows() { try { //抛出方法 throw new ArithmeticException(); } catch(ArithmeticException ae) { throw ae; } } public static void main(String args[]) { catchThows ct=new catchThows(); //对方法进行异常处理 try { ct.findThows(); } catch(ArithmeticException ae) { System.out.println("出现异常的原因是:"+ae); } } } 运行结果如下:

出现异常的原因是:java.lang.ArithmeticException
【责任编辑:云霞 TEL:(010)68476606】

回书目 上一节 下一节

上一篇: 7.3 异常的处理方式之二:throws(2) 下一篇: 7.4 异常的处理方式之三:throw(2)
相关文章
·7.5 内存的管理(2)
·7.4 异常的处理方式之三:throw(2)
·17.3 Java高级编程试题(1)
·17.1 Java基础编程试题(6)
·17.1 Java基础编程试题(5)
频道热门
·自己动手写搜索引擎
·1.1.2 编写代码(15分钟)
·1.1.1 准备工作环境(10分钟)
·软件调试的艺术
·WCF编程(第2版)

‘叁’ java编程的作业试题大家帮我解答一下,谢谢了,一共两个题,在下面,请大家一定要帮我解答一下,我不会做

import java.util.Scanner;

public class DemoTest {
/**1、运输公司对用户计算运费.路程越远每公里运费越低.每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费f的计算公式为
f=p*w*s*(1-d) ;
输入基本运费,货重和距离,算出运费
s<250km 没有折扣
250<= s <500 2%折扣
500<= s <1000 5%折扣
1000<= s <2000 8%折派竖轿扣
2000<= s 10%折扣
* */
public static double getMoney(int p,int w,int s) {
if (s<250) {
return p*w*s*(1-0);
}
else if (s>=250&& s<500) {
return p*w*s*(1-0.02);
}
else if (s>=500&& s<1000) {
return p*w*s*(1-0.05);
}
else if (s>=1000&& s<2000) {
return p*w*s*(1-0.08);
}
else {
return p*w*s*(1-0.1);
}
}
/**
* 2、编一个程序输入一个x后,输出y,规则为
如果x小于0 那么y为-1
如果x等于0 那么y为0
如果x大于0 那么y为1
* */
public static void print(int x) {
int y;
if (x<0) {
y=-1;
System.out.println(y);
}
else if (x==0) {
y=0;
System.out.println(y);
}
else {
y=1;
System.out.println(y);
}
}
/**3、实现ATM机登录。
要求用户输入卡号,输入密码,如果三次之内,允许用户重新输入,三次以上,纤迟就显示吞卡。
* */
public static void inspect() {
Scanner sc=new Scanner(System.in);
int password;
System.out.println("请输入密码");
password=sc.nextInt();
int count=2;
while (count>0) {
System.out.println("输入密码错误,你还有"+(count--)+"次输入机会,请重新输入:");
password=sc.nextInt();
}
sc.close();
System.out.println("你的密码连续三次输入错误,卡已被吞!");
}
/**4、输入一个整数(位数不定),将每一位输出。
如:2567
显示:
7
6
5
2
* */
public static void showNumber(int x) {
String str=x+"";
int num;
for (int y=0;y<str.length();y++){
num =(int)(x/Math.pow(10,y)%10);
System.out.println(num);
}
}
/**5、猜数游戏:
随机产生60~100随机数,要求用户不断的猜。如果用户猜的数比随机产生的数更大,提示“大了”,如果用
户猜的数比随机产生的数更小,提示“小了”。直到猜对为止。如果在5次之内猜中,显示“天才”。否则显
示“笨蛋”
* */
public void guess() {
int getRandom=(int)(Math.random()*100+1);
int x=0;
while(getRandom<60){
getRandom=(int)(Math.random()*100+1);
x=getRandom;
}
Scanner sc=new Scanner(System.in);
System.out.println("请输入尘肆数字");
while (true) {
int num=sc.nextInt();
if (num>x) {
System.out.println("大了");
}
else if (num<x) {
System.out.println("小了");
}
else {
System.out.println("天才");
break;
}
}

}
/**打印序列:1,2,3,5,8,13...。
* */
public static void method() {
int [] arr=new int[6];
arr[0]=1;
arr[2]=2;
System.out.print("1,");
System.out.print("2,");
for (int x=2;x<arr.length;x++) {
arr[x]=arr[x-1]+arr[x-2];
System.out.print(arr[x]+",");
}
}
public static void main(String []args) {
System.out.println(getMoney( 200,30, 1400));
print(2);
inspect();
showNumber(431132);
new DemoTest().guess();
method();
}
}

‘肆’ 急。。。。跪求2011年c语言机试最新题库,小弟我考了3次了,有的烦发到[email protected]谢了!

1.一个C程序的执行是从( A )。
A) 本程序的main函数开始,到main函数结束
B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C) 本程序的main函数开始,到本程序文件的最后一个函数结束
D) 本程序文件的第一个函亮腊数开始,到本程序的main函数结束
2.以下叙述正确的是( C )。
A) 在C程序中,main函数必须位于程序的最前面
B) C程序的每行中只能写一条语句
C) C语言本身没有输入输出语句
D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误
3.以下叙述不正确的是( D )。
A) 一个C源程序可由一个或多个函数组成
B) 一个C源程序必须包含一个main函数
C) C程序的基本组成单位是函数
D) 在C程序中,注释说明只能位于一条语句的后面
4.C语言规定,在一个源程序中,main函数的位置( C )。
A) 必须在最开始 B) 必须在系统调用的库函数的后面
C) 可以任意 D) 必须在最后
5.一个C语言源程序是由( B )。
A) 一个主程序和若干子程序组成 B) 函数组成
C) 若干过程组成 D) 若干子程序组成

二 填空题
1.C源程序的基本单位是 函数 。
2.一个C源程序中至少应包括一个 main函数 。
3.在一个C源程序中,注释部分两侧的分界符分别为 /* 和 */ 。
4.一个函数是由两部分组成的,它们分别是 函数名 和 函数体 。
5.在C语言中,一个函数的函数体一般包括 声明部分 和 执行部分 。

第三章 数据类型、运算符与表达式
一 单项选择题
1.下面四个选项中,均不是c语言关键字的选项是( A )。
A) define IF Type B) getc char printf
C) include scanf case D) while go pow
2.C语言中的标识符只能由字母、数字和下划线三种字符乎昌组成,且第一个字符( C )。
A) 必须为字母 B) 必须为下划线
C) 必须为字母或下划线 D) 可以是字母、数字和下划线中任一种字符
3.下列四个选项中,均是C语言关键字的选项是( B )。
A) auto enum include B) switch typedef continue
C) signed union scanf D) if struct type
4.下面四个选项中,均是不合法的用户标识符的选项是( C )。
A) A P_0 do B) float la0 _A
C) b-a goto int D) _123 temp int
5.以下有4组用户标识符,其中合法的一组是( C )。
A) For -sub Case B) 4d DO Size
C) f2_G3 IF abc D) WORD void define
二 填空题
1.若x和a均是int型变量,则计算表达式(1)后的x值为 12 ,计算表达式(2)后的x值为 4 。
(1) x=(a=4, 6*2)
(2) x=a=4, 6*2
2.若a是int型变量岁键扒,则表达式(a=4*5, a*2), a+6的值为 26 。
3.若b是int型变量,则表达式b=25/3%3的值为 2 。
4.若s是int型变量,且s=6 则下面表达式s%2+(s+1)%2的值为 1 。
5.若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为 6 ,b值为 4 ,c值为 2 。
6.若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为 10 ,n的值为 6 。
7.若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为 4.5 。
8.若有定义:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为 3.5 。
9.若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为 1 。
10.若x和n均是整型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。
第四章 最简单的C程序设计——顺序程序设计
一 单项选择题 1~5 BDDAB
1.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式( B )。
A) 从左起输出该字符串,右补空格
B) 按原字符长从左向右全部输出
C) 右对齐输出该字串,左补空格
D) 输出错误信息
2.已有定义int a= -2; 和输出语句 printf(“%8x”,a); 以下正确的叙述是( D )。
A) 整型变量的输出形式只有%d一种
B) %x是格式符的一种,它可以适用于任何一种类型的数据
C) %x是格式符的一种,其变量的值按十六进制输出,但%8x是错误的
D) %8x不是错误的格式符,其中数字8规定了输出字段的宽度
3.若x, y均定义成int型,z定义为double型,以下不合法的scanf函数调用语句是
( D )。
A) scanf(“%d %x, %le”, &x, &y, &z);
B) scanf(“%2d *%d, %lf”, &x, &y, &z);
C) scanf(“%x %*d %o”, &x, &y);
D) scanf(“%x %o%6.2f”, &x, &y, &z);
4.以下程序的输出结果是( D )。
main( )
{ int k=17;
printf("%d,%o,%x\n",k,k,k);
}
A)17,021,0x11 B)17,17,17
B)17,0x11,021 D)17,21,11
5.下列程序的运行结果是( B )。
#include <stdio.h>
main()
{ int a=2,c=5;
printf("a=%d,b=%d\n",a,c);
}
A) a=%2,b=%5 B) a=2,b=5
C) a=d,b=d D) a=2,c=5
二 填空题
1.下面程序的运行结果是 i:dec=4,oct=4,hex=4,unsigned=65531 。
main()
{
short i;
i= -4;
printf(“\ni: dec=%d, oct=%o, hex=%x, unsigned=%u\n”, i, i, i, i);
}
2.若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是 5.0,4,c=3 。
int b,c; float a;
scanf("%f,%d,c=%d",&a,&b,&c);
3.下列程序的输出结果是16.00,请填空。
main()
{ int a=9, b=2;
float x= 6.6 , y=1.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n", z );
}
4.在printf格式字符中,只能输出一个字符的格式字符是 c ;用于输出字符串的格式字符是 s ;以小数形式输出实数的格式字符是 f ;以标准指数形式输出实数的格式字符是 e 。
三 编程题
1. 若a=3, b=4, c=5, x=1.2, y=2.4, z= -3.6, u=51274, n=128765, c1=’a’, c2=’b’。想得到以下的输出格式和结果,请写出完整的程序(包括定义变量类型和设计输出)。
要求输出的结果如下:
a= <空格>3 <空格><空格> b= <空格> 4<空格><空格> c= <空格>5
x=1.200000, y=2.400000, z= -3.600000
x+y=<空格>3.60<空格><空格> y+z = -1.20<空格><空格>z+x= -2.40
u=<空格>51274<空格><空格>n=<空格><空格><空格>128756
c1= a <空格>or<空格>97(ASCII)
c2= B <空格>or<空格>98(ASCII)

/*
void main()
{
int a, b, c;
unsigned u;
long int n;
float x, y, z;
char c1,c2;
a=3, b=4, c=5, x=1.2, y=2.4, z= -3.6, u=51274, n=128765, c1='a', c2='b';
printf("a=%2d b=%2d c=%2d\n", a, b, c);
printf("x=%f, y=%f, z=%+f\n");
printf("x+y=%5.2f y+z =%+5.2f z+x=%+5.2f\n", x+y, y+z, z+x);
printf("u=%6d n=%9d\n");
printf("c1=%c or %d(ASCII)\n", c1, c1);
printf("c2=%c or %d(ASCII)\n", c2-32, c2);
}
*/
2. 输入一个华氏温度,要求输出摄氏温度。公式为

输出要有文字说明,取2位小数。

/*
void main()
{
float c, f;
printf("输入一个华氏温度:\n");
scanf("%f", &f);
c = 5.0/9.0*(f-32);
printf("\n输入的华氏温度 %.2f,摄氏温度为: %.2f\n", f, c);
}
*/
3. 编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。

/*
void main()
{
char c1, c2;
c1 = getchar();
c2 = getchar();
putchar(c1);
putchar(c2);
printf("\nc1 = %c; c2 = %c\n", c1, c2);
}
*/
第五章 选择结构程序设计
一 单项选择题
1.逻辑运算符两侧运算对象的数据类型是( D )。
A) 只能是0或1
B) 只能是0或非0正数
C) 只能是整型或字符型数据
D) 可以是任何类型的数据
2.已知x=43, ch='A', y=0;则表达式(x>=y&&ch<'B'&&!y)的值是( C )。
A) 0 B) 语法错 C) 1 D) “假”
3.已知 int x=10, y=20, z=30; 以下语句执行后x, y, z的值是( B )。
if(x>y)
z=x;x=y;y=z;
A) x=10,y=20,z=30 B) x=20,y=30,z=30
C) x=20,y=30,z=10 D) x=20,y=30,z=20
4.执行下列语句后a的值为( 2 ),b的值为( 1 )。( C )
int a, b, c;
a=b=c=1;
++a|| ++b && ++c;
A) 错误 1 B) 2 2 C) 2 1 D) 1 1
5.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是( C )。
A) A%2==1 B) !(A%2==0) C) !(A%2) D) A%2
二 填空题
1.若从键盘输入58,则以下程序输出的结果是 585858 。
main()
{ int a;
scanf(“%d”,&a);
if(a>50) printf(“%d”,a);
if(a>40) printf(“%d”,a);
if(a>30) printf(“%d”,a);
}
2.下面程序的运行结果是 -1 。
main()
{
int a=2, b=3, c;
c=a;
if(a>b) c=1;
else if(a==b) c=0;
else c=-1;
printf(“%d\n”,c);
}
3.以下程序实现:输入三个整数,按从大到小的顺序进行输出。请填空。
main()
{
int x, y, z, c;
scanf(“%d %d %d”, &x, &y, &z);
if( x<y )
if( x<z )
if( y<z )
printf(“ %d %d %d”, x, y, z);
}
4.如果运行时输入字符Q,则下面程序的运行结果是 Q 。
main()
{
char ch;
scanf(“%c”, &ch);
ch=(ch>=‘A’&& ch<=‘Z’)? (ch+32):ch;
ch=(ch>=‘a’&& ch<=‘z’)? (ch-32):ch;
printf(“%c”, ch);
}

5.若x为int类型,请以最简单的形式写出与逻辑表达式!x等价的C语言关系表达式 x==0 。
第六章 循环控制
一 单项选择题
1.下面程序段的运行结果是( C )。
int n=0;
while(n++<=2);
printf(“%d”,n);
A) 2 B) 3 C) 4 D) 有语法错
2.设有程序段:
t=0;
while(printf(“*”))
{t++;
if(t<3) break;
}
下面描述正确的是( D )。
A) 其中循环控制表达式与0等价
B) 其中循环控制表达式与'0'等价
C) 其中循环控制表达式是不合法的
D) 以上说法都不对
3.下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空( B )。
#include <stdio.h>
main()
{int a,b,t;
scanf(“%d%d”,&a,&b);
while( ___________ )
{if(a>b)

printf(“%d,%d\n”,a,b);
scanf("%d%d",&a,&b);
}
}
A) !a=b B) a!=b C) a==b D) a=b
4.C语言中,while和do-while循环的主要区别是( A )。
A) do-while的循环体至少无条件执行一次
B) while的循环控制条件比do-while的循环控制条件更严格
C) do-while允许从外部转到循环体内
D) do-while的循环体不能是复合语句
5.对以下程序段描述正确的是( C )。
x=-1;
do

while(!x);
A) 是死循环 B) 循环执行二次
C) 循环执行一次 D) 有语法错误
二 填空题
1.以下程序运行后的输出结果是 52 。
main()
{ int i=10, j=0;
do

while(i>2);
printf("%d\n",j);
}
2.设有以下程序:
main()
{ int n1,n2;
scanf("%d",&n2);
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
printf("%d",n1);
}
}
程序运行后,如果从键盘上输入1298,则输出结果为 8921 。
3.若输入字母b,程序输出结果为 b, B ;若输入字符*,程序将怎样 等待重新输入 。
#include<stdio.h>
main()
{char c1, c2;
c1=getchar();
while(c1<97||c1>122)
c1=getchar();
c2=c1-32;
printf("%c, %c\n",c1, c2);
}
4.用以下程序计算1到100的整数的累加和。
main()
{ int i=1, sum= 0 ;
for( ; i<=100 ; )
{sum+=i;
i++;
}
printf("sum=%d\n", sum );
}
5.以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束。请填空。
main()
{ float x, amax, amin;
scanf(“%f”,&x);
amax=x;
amin=x;
while( x>=0 )
{if(x>amax) amax=x;
if( x<amin ) amin=x;
scanf(“%f”,&x);
}
printf("amax=%f\namin=%f\n",amax, amin);
}

‘伍’ 数控编程试题及答案

数控综合试题库
一填空题

1.数控系统的发展方向将紧紧围绕着 性能 、 价格 和 可靠性 三大因素进行。

2.加工中心按主轴在空间所处的状态可以分为 立式 、 卧式 和 复合式 。

3.数控机床的导轨主要有 滑动 、 滚动 、 静压 三种。

4.数控机床的类别大致有 开环 、 闭环 、 半闭环 。

5.按车床主轴位置分为 立式 和 卧式 。

6.世界上第一台数控机床是 1952 年 PARSONS公司 与 麻省理工学院 合作研究的 三 坐标 数控铣 床。

7.数控电加工机床主要类型有 点火花成型 和 线切割机床 。

8.铣削各种允许条件下,应尽量选择直径较 大 的铣刀,尽量选择刀刃较 短 的铣刀。

9.合适加工中心的零件形状有 平面 、 曲面 、 孔 、 槽等 。

10.数控加工程序的定义是按规定格式描述零件 几何形状 和 加工工艺 的数控指令集。

11.常用夹具类型有 通用 、 专用 、 组合 。

13.基点是构成轮廓的不同几何素线的 交点 或 切点 。

14.加工程序单主要由 程序体 和 注释 两大部分构成。

15.自动编程又称为 计算机辅助编程 。其定义是:利用计算机和相应的 前置 、 后置 处理程序对零件进行处理,以得到加工程序单和数控穿孔的一种编程方法。

16.按铣刀形状分有 盘铣刀 、 圆柱铣刀 、 成形铣刀 、 鼓形刀铣

17.按走丝快慢,数控线切割机床可以分为 快走丝 和 慢走丝 。

18.数控机床实现插补运算较为成熟并得到广泛应用的是 直线 插补和 圆弧 插补。

18.穿孔带是数控机床的一种控制介质,国际上通用标准是 ISO 和 EIA 两种,我国采用的标准是ISO。

19.自动编程根据编程信息的输入与计算机对信息的处理方式不同,分为以 自动编程语言 为基础的自动编程方法和以 计算机绘图语言 为基础的自动编程方法。

20.数控机床按控制运动轨迹可分为 点位控制 、 直线控制 和 轮廓控制 等几种。按控制方式又可分为 开环 、 闭环 和半闭环控制等

21.对刀点既是程序的 起点 ,也是程序的 终点 。为了提高零件的加工精度,对刀点应尽量选在零件的 设计 基准或工艺基准上。

22.在数控加工中,刀具刀位点相对于工件运动的轨迹称为 加工 路线。

23.在轮廓控制中,为了保证一定的精度和编程方便,通常需要有刀具 长度 和 半径 补偿功能。

24.编程时的数值计算,主要是计算零件的 基点 和节点 的坐标或刀具中心轨迹的 节点 和 结点 的坐标。直线段和圆弧段的交点和切点是 基点 ,逼近直线段和圆弧小段轮廓曲线的交点和切点是 节点 。

25.切削用量三要素是指主轴转速(切削速度)、切削深度 、 进给量 。对于不同的加工方法,需要不同的 切削用量 ,并应编入程序单内。

26.端铣刀的主要几何角度包括前角、后角、刃倾角 、主偏角、和副偏角。

27.工件上用于定位的表面是确定工件位置的依据,称为定位基准 。

28.切削用量中对切削温度影响最大的 切削速度 ,其次是 进给量,而 切削深度 影响最小。

29.为了降低切削温度,目前采用的主要方法是切削时冲注切削液。切削液的作用包括冷却、

润滑、防锈 和清洗作用。

30.在加工过程中,定位基准的主要作用是保证加工表面之间的相互位置精度。

31.铣削过程中所用的切削用量称为铣削用量,铣削用量包括铣削宽度、铣削深度、铣削速度、进给量。

32.钻孔使用冷却润滑时,必须在钻锋吃入金属后,再开始浇注。

33.铣刀的分类方法很多,若按铣刀的结构分类,可分为整体铣刀、镶齿铣刀和机夹式铣刀。

34.切削液的种类很多,按其性质可分为3大类:水溶液、乳化液 、切削油。

35.按划线钻孔时,为防止钻孔位置超差,应把钻头横刃磨短 ,使其定心良好或者在孔中心先钻一定位小孔。

36.当金属切削刀具的刃倾角为负值时,刀尖位于主刀刃的最高点,切屑排出时流向工件待加工 表面。

37.切削加工时,工件材料抵抗刀具切削所产生的阻力称为切削力 。

38.切削塑性材料时,切削层的金属往往要经过挤压、滑移、挤裂、和切离 4个阶段。

39.工件材料的强度和硬度较低时,前角可以选得大 些;强度和硬度较高时,前角选得小 些。

40.常用的刀具材料有碳素工具钢、合金工具钢、高速钢、硬质合金4种。

41.影响刀具寿命的主要因素有:工件材料、刀具材料、刀具几何参数、切削用量 。

42.斜楔、螺旋、凸轮等机械夹紧机构的夹紧原理是利用机械摩擦的自锁来夹紧工件 。

43.一般机床夹具主要由定位元件、夹紧元件 、对刀元件、夹具体 4个部分组成。根据需要夹具还可以含有其他组成部分,如分度装置、传动装置等。

44.采用布置恰当的6个支承点来消除工件6个自由度的方法,称为 六点定位。

45.工件在装夹过程中产生的误差称为装夹误差、定位误差及基准不重合 误差。

46.在切削塑性金属材料是,常有一些从切屑和工件上带来的金属“冷焊”在前刀面上,靠

近切削刃处形成一个硬度很高的楔块即积屑瘤

47.作用在工艺系统中的力,有切削力、夹紧力、构件及工件的重力以及运动部件产生的惯性力。

48.能消除工件6个自由度的定位方式,称为完全定位。

49.在刀具材料中,硬质合金用于切削速度很高、难加工材料的场合,制造形状较简单的刀具。

50.刀具磨钝标准有粗加工、粗加工磨钝标准两种。

51.零件加工后的实际几何参数与理想几何参数的符合程度称为加工精度。

52.工件的实际定位点数,如不能满足加工要求,少于应有的定点数,称为 欠定位。

53.在切削过程中,工件形成三个表面:①待加工表面;②加工表面;③已加工表面。

54.刀刃磨损到一定程度后需要刃磨换新刀,需要规定一个合理的磨损限度,即为耐用度。

55.若工件在夹具中定位,要使工件的定位表面与夹具的定位元件相接触,从而消除自由度。

二 判断题

1(√)安全管理是综合考虑“物”的生产管理功能和“人”的管理,目的是生产更好的产品

2(√) 通常车间生产过程仅仅包含以下四个组成部分:基本生产过程、辅助生产过程、生产技术准备过程、生产服务过程。

3(√)车间生产作业的主要管理内容是统计、考核和分析。

4(√) 车间日常工艺管理中首要任务是组织职工学习工艺文件,进行遵守工艺纪律的宣传教育,并例行工艺纪律的检查。

5(×)当数控加工程序编制完成后即可进行正式加工。

6(×)数控机床是在普通机床的基础上将普通电气装置更换成CNC控制装置。

7(√)圆弧插补中,对于整圆,其起点和终点相重合,用R编程无法定义,所以只能用圆心坐标编程。

8(√)插补运动的实际插补轨迹始终不可能与理想轨迹完全相同。

9(×)数控机床编程有绝对值和增量值编程,使用时不能将它们放在同一程序段中。

10(×)用数显技术改造后的机床就是数控机床。

11(√)G代码可以分为模态G代码和非模态G代码。

12(×)G00、G01指令都能使机床坐标轴准确到位,因此它们都是插补指令。

13(√)圆弧插补用半径编程时,当圆弧所对应的圆心角大于180º时半径取负值。

14(×)不同的数控机床可能选用不同的数控系统,但数控加工程序指令都是相同的。

15(×)数控机床按控制系统的特点可分为开环、闭环和半闭环系统。

16(√)在开环和半闭环数控机床上,定位精度主要取决于进给丝杠的精度。

17(×)点位控制系统不仅要控制从一点到另一点的准确定位,还要控制从一点到另一点的路径。

18(√)常用的位移执行机构有步进电机、直流伺服电机和交流伺服电机。

19(√)通常在命名或编程时,不论何种机床,都一律假定工件静止刀具移动。

20(×)数控机床适用于单品种,大批量的生产。

21(×)一个主程序中只能有一个子程序。

22(×)子程序的编写方式必须是增量方式。

23(×)数控机床的常用控制介质就是穿孔纸带。

24(√)程序段的顺序号,根据数控系统的不同,在某些系统中可以省略的。

25(×)绝对编程和增量编程不能在同一程序中混合使用。

26(×)数控机床在输入程序时,不论何种系统座标值不论是整数和小数都不必加入小数点。

27(√)RS232主要作用是用于程序的自动输入。

28(√)车削中心必须配备动力刀架。

29(×)Y坐标的圆心坐标符号一般用K表示。

30(√)非模态指令只能在本程序段内有效。

31(×)X坐标的圆心坐标符号一般用K表示。

32(×)数控铣床属于直线控制系统。

33(√)采用滚珠丝杠作为X轴和Z轴传动的数控车床机械间隙一般可忽略不计。

34(√)旧机床改造的数控车床,常采用梯形螺纹丝杠作为传动副,其反向间隙需事先测量出来进行补偿。

35(√)顺时针圆弧插补(G02)和逆时针圆弧插补(G03)的判别方向是:沿着不在圆弧平面内的坐标轴正方向向负方向看去,顺时针方向为G02,逆时针方向为G03。

36(×)顺时针圆弧插补(G02)和逆时针圆弧插补(G03)的判别方向是:沿着不在圆弧平面内的坐标轴负方向向正方向看去,顺时针方向为G02,逆时针方向为G03。

37(√)伺服系统的执行机构常采用直流或交流伺服电动机。

38(√)直线控制的特点只允许在机床的各个自然坐标轴上移动,在运动过程中进行加工。

39(×)数控车床的特点是Z轴进给1mm,零件的直径减小2mm。

40(×)只有采用CNC技术的机床才叫数控机床。

41(√)数控机床按工艺用途分类,可分为数控切削机床、数控电加工机床、数控测量机等。

42(×)数控机床按控制坐标轴数分类,可分为两坐标数控机床、三坐标数控机床、多坐标数控机床和五面加工数控机床等。

43(×)数控车床刀架的定位精度和垂直精度中影响加工精度的主要是前者。

44(×)最常见的2轴半坐标控制的数控铣床,实际上就是一台三轴联动的数控铣床。

45(√)四坐标数控铣床是在三坐标数控铣床上增加一个数控回转工作台。

46(√)液压系统的输出功率就是液压缸等执行元件的工作功率。

47(×)液压系统的效率是由液阻和泄漏来确定的。

48(√)调速阀是一个节流阀和一个减压阀串联而成的组合阀。

49(×)液压缸的功能是将液压能转化为机械能。

50(×)数控铣床加工时保持工件切削点的线速度不变的功能称为恒线速度控制。

51(√)由存储单元在加工前存放最大允许加工范围,而当加工到约定尺寸时数控系统能够自动停止,这种功能称为软件形行程限位。

52(√)点位控制的特点是,可以以任意途径达到要计算的点,因为在定位过程中不进行加工。

53(√)数控车床加工球面工件是按照数控系统编程的格式要求,写出相应的圆弧插补程序段。

54(√)伺服系统包括驱动装置和执行机构两大部分。

55(√)不同结构布局的数控机床有不同的运动方式,但无论何种形式,编程时都认为刀具相对于工件运动。

56(×)不同结构布局的数控机床有不同的运动方式,但无论何种形式,编程时都认为工件相对于刀具运动。

57(×)一个主程序调用另一个主程序称为主程序嵌套。

58(×)数控车床的刀具功能字T既指定了刀具数,又指定了刀具号。

59(×)数控机床的编程方式是绝对编程或增量编程。

60(√)数控机床用恒线速度控制加工端面、锥度和圆弧时,必须限制主轴的最高转速。

61(×)螺纹指令G32 X41.0 W-43.0 F1.5是以每分钟1.5mm的速度加工螺纹。

62(×)经试加工验证的数控加工程序就能保证零件加工合格。

63(√)数控机床的镜象功能适用于数控铣床和加工中心。

64(×)数控机床加工时选择刀具的切削角度与普通机床加工时是不同的。

65(×)数控铣床加工时保持工件切削点的线速度不变的功能称为恒线速度控制。

66(×)在数控加工中,如果圆弧指令后的半径遗漏,则圆弧指令作直线指令执行。

67(√)车床的进给方式分每分钟进给和每转进给两种,一般可用G94和G95区分。

68(×) G00为前置刀架式数控车床加工中的瞬时针圆弧插补指令。

69(×)G03为后置刀架式数控车床加工中的逆时针圆弧插补指令。

70(×)所有数控机床加工程序的结构均由引导程序、主程序及子程序组成。

71(×)数控装置接到执行的指令信号后,即可直接驱动伺服电动机进行工作。

72(×)点位控制数控机床除了控制点到点的准确位置外,对其点到点之间的运动轨迹也有一定的要求。

73(×)数控机床的坐标规定与普通机床相同,均是由左手直角笛卡尔坐标系确定。

74(×)G00、G02、G03、G04、G90均属于模态G指令。

75(√)ISO标准规定G功能代码和M功能代码规定从00—99共100种。

76(√)螺纹车刀属于尖形车刀类型。

77(√)圆弧形车刀的切削刃上有无数个连续变化位置“刀尖”。

78(√)数控车床上的自动转位刀架是一种最简单的自动换刀设备。

79(√)在数值计算车床过程中,已按绝对坐标值计算出某运动段的起点坐标及终点坐标,以增量尺寸方式表示时,其换算公式:增量坐标值=终点坐标值-起点坐标。

80(√)一个尺寸链中一定只能一个封闭环。

81(√)在数控机床上加工零件,应尽量选用组合夹具和通用夹具装夹工件。避免采用专用夹具。

82(×)保证数控机床各运动部件间的良好润滑就能提高机床寿命。

83(√)数控机床加工过程中可以根据需要改变主轴速度和进给速度。

84(√)车床主轴编码器的作用是防止切削螺纹时乱扣。

85(×)跟刀架是固定在机床导轨上来抵消车削时的径向切削力的。

86(×)切削速度增大时,切削温度升高,刀具耐用度大。

87(×)数控机床进给传动机构中采用滚珠丝杠的原因主要是为了提高丝杠精度。

88(×)数控车床可以车削直线、斜线、圆弧、公制和英制螺纹、圆柱管螺纹、圆锥螺纹,但是不能车削多头螺纹。

89(×)平行度的符号是 //,垂直度的符号是 ┸ , 圆度的符号是 〇。

90(√)数控机床为了避免运动件运动时出现爬行现象,可以通过减少运动件的摩擦

来实现。

91(×)切削中,对切削力影响较小的是前角和主偏角。

92(×)同一工件,无论用数控机床加工还是用普通机床加工,其工序都一样。

93(×)数控机床的定位精度与数控机床的分辨率精度是一致的。

95(√)刀具半径补偿是一种平面补偿,而不是轴的补偿。

96(√)固定循环是预先给定一系列操作,用来控制机床的位移或主轴运转。

97(√)数控车床的刀具补偿功能有刀尖半径补偿与刀具位置补偿。

98(×)刀具补偿寄存器内只允许存入正值。

99(×)数控机床的机床坐标原点和机床参考点是重合的。

100(×)机床参考点在机床上是一个浮动的点。

101(√)外圆粗车循环方式适合于加工棒料毛坯除去较大余量的切削。

102(√)固定形状粗车循环方式适合于加工已基本铸造或锻造成型的工件。

102(×)外圆粗车循环方式适合于加工已基本铸造或锻造成型的工件。

103(√)刀具补偿功能包括刀补的建立、刀补的执行和刀补的取消三个阶段。

104(×)刀具补偿功能包括刀补的建立和刀补的执行二个阶段。

105(×)数控机床配备的固定循环功能主要用于孔加工。

106(√)数控铣削机床配备的固定循环功能主要用于钻孔、镗孔、攻螺纹等。

107(×)编制数控加工程序时一般以机床坐标系作为编程的坐标系。

108(√)机床参考点是数控机床上固有的机械原点,该点到机床坐标原点在进给坐标轴方向上的距离可以在机床出厂时设定。

109(√)因为毛坯表面的重复定位精度差,所以粗基准一般只能使用一次。

110(×)表面粗糙度高度参数Ra值愈大,表示表面粗糙度要求愈高;Ra值愈小表示表面粗糙度要求愈低。

111(√)数控机床的位移检测装置主要有直线型和旋转型。

112(×)基本型群钻是群钻的一种,即在标准麻花钻的基础上进行修磨,形成“六尖一七刃的结构特征。

113(√)陶瓷的主要成分是氧化铝,其硬度、耐热性和耐磨性均比硬质合金高。

114(×)车削外圆柱面和车削套类工件时,它们的切削深度和进给量通常是相同的。

115(√)热处理调质工序一般安排在粗加工之后,半精加工之前进行。

116(√)为了保证工件达到图样所规定的精度和技术要求,夹具上的定位基准应与工件上设计基准、测量基准尽可能重合。

117(√)为了防止工件变形,夹紧部位要与支承对应,不能在工件悬空处夹紧。

118(×)在批量生产的情况下,用直接找正装夹工件比较合适。

119(√)刀具切削部位材料的硬度必须大于工件材料的硬度。

120(×)加工零件在数控编程时,首先应确定数控机床,然后分析加工零件的工艺特性。

121(×)数控切削加工程序时一般应选用轴向进刀。

122(×)因为试切法的加工精度较高,所以主要用于大批、大量生产。

123(×)具有独立的定位作用且能限制工件的自由度的支承称为辅助支承。

124(√)切削用量中,影响切削温度最大的因素是切削速度。

125(√)积屑瘤的产生在精加工时要设法避免,但对粗加工有一定的好处。

126(×)硬质合金是一种耐磨性好。耐热性高,抗弯强度和冲击韧性都较高的一种刀具材料。

127(×)在切削时,车刀出现溅火星属正常现象,可以继续切削。

128(×)刃磨车削右旋丝杠的螺纹车刀时,左侧工作后角应大于右侧工作后角。

129(√)套类工件因受刀体强度、排屑状况的影响,所以每次切削深度要少一点,进给量要慢一点。

130(√)切断实心工件时,工件半径应小于切断刀刀头长度。

131(√)切断空心工件时,工件壁厚应小于切断刀刀头长度。

132(×)数控机床对刀具的要求是能适合切削各种材料、能耐高温且有较长的使用寿命。

133(√)数控机床对刀具材料的基本要求是高的硬度、高的耐磨性、高的红硬性和足够的强度7和韧性。

134(√)工件定位时,被消除的自由度少于六个,但完全能满足加工要求的定位称不完全定位。

135(×)定位误差包括工艺误差和设计误差。

136(×)数控机床中MDI是机床诊断智能化的英文缩写。

137(×)数控机床中CCW代表顺时针方向旋转,CW代表逆时针方向旋转。

138(×)一个完整尺寸包含的四要素为尺寸线、尺寸数字、尺寸公差和箭头等四项要素。

139(√)高速钢刀具具有良好的淬透性、较高的强度、韧性和耐磨性。

140(×)长V形块可消除五个自由度。短的V形块可消除二个自由度。

141(√)长的V形块可消除四个自由度。短的V形块可消除二个自由度。

142(×)高速钢是一种含合金元素较多的工具钢,由硬度和熔点很高的碳化物和金属粘结剂组成。

143(√)零件图中的尺寸标注要求是完整、正确、清晰、合理。

144(√)硬质合金是用粉末冶金法制造的合金材料,由硬度和熔点很高的碳化物和

金属粘结剂组成。

145(√)工艺尺寸链中,组成环可分为增环与减环。

‘陆’ 计算机二级c语言考试机试有程序填空题改错题编程题请问各有几题

二级C语言机试考试此神差只有三道题:
第一:填空森皮(一般为三个空);
第二:改错题(一般有两个或三个错);
第三:编程题(一般是给出主程序,让你自己编子程序)。
上机操作题一般都比较简单,你买一本上机题库100道,基本上做完就肯定没问题,瞎雀绝对可以过。

‘柒’ 数控机床编程与操作考试题及答案

数控机床编程与操作考试题及答案

无论在学习或是工作中,只要有考核要求,就会有试题,试题是命题者按照一定的考核目的编写出来的。你所见过的试题是什么样的呢?下面是我收集整理的数控机床编程与操作考试题及答案,仅供参考,大家一起来看看吧。

一、填空题

1、在程序行中具有多个功能指令时可以按“ G 、 F 、 S 、 T 和 M ”顺序排列。

2、车削用量包括 背吃刀量 、 主轴转速 或 切削速度 和 进给速度 或 进给量 .

3、车削用刀具材料主要包括 高速钢 、 硬质合金 、 陶瓷 、立方氮化硼和人造金刚石等。

4、在完成该程序段其他指令后,M00指令使程序停在本段 状态,不执行下段。

5、按下控制面板上的循环启动键可取消M00 状态。

6、一般数控机床的控制面板上装有“任选停止” 按钮,按下此按钮,程序执行到M01指令时,程序即暂停。

7、 M02 指令表示加工程序全部结束。

8、M03指令使主轴 正转 ,M04指令使主轴 反转 ,M05指令使主轴 停转 。

9、M08指令使 切削液 开启, M09 指令使切削液停止供给。

10、 G00 指令使刀具从当前点快速移动到程序段中指定位置。

11、R方式编程时,圆弧的圆心角不大于180°时,R值为 正 ,大于180°时,R为 负 。

12、沿刀具的运动方向看,刀具在工件的左侧使用 G41 指令。在工件的右侧则使用 G42 指令。

二、判断题

1、G00指令的'动作速度是由机床厂家设定的,用户无法修改。(×)

2、使用单刀螺纹切削指令G33编制程序会导致程序段冗长。(√)

3、涂层硬质合金车刀比普通硬质合金车刀有更好的耐用性。(√)

4、适当地使用增量方式编程可以简化编程时的坐标值计算。(√)

5、在机夹刀片的型号中可以体现出刀片的形状。(√)

6、M03指令使主轴运动、进给运动、切削液供给等都停止,机床复位。(×)

7、M02指令必须编在最后一个程序段中。(√)

8、G90和G91指令属于非模态指令。(×)

9、使用硬质合金涂层刀片时,必须注意涂层并不能改善刀片基体的强度,应防止编程不当导致的碰撞,以免引起刀片损坏。(√)

10、进给速度的大小直接影响到表面粗糙度值和车削效率,因此应在保证表面粗糙度值的前提下,选择较低的进给速度。(×)

三、选择题

1、下列程序段中,(C)是正确的。

A G02 X50 Z100 F0.1

B G03 R5

C G01 X20 Z10 F100

2、数控车床是两轴联动控制的数控机床,它的编程坐标平面是(C)平面。

A XOY B YOZ C XOZ

3、 进给字F对( A )指令不起作用.

A G00 BG01 CG02

4、主要用于数控机床主轴的开、关,冷却液的开、关等辅助动作的代码是(B)。

A T代码 B M代码 C G代码

5、延时暂停使用(B)代码表示。

A M00 B G04 C G42

6、对程序段N0020 S500 M03 说法正确的是(A)。

A 指定主轴以500r/min的转速正转

B 指定主轴以 500r/min的转速反转

C 指定主轴以 500mm/r 的转速反转

7、(C)指令功能与M02指令类似。但此指令结束后,返回到程序顶部。

A M00 B M05 C M30

8、G01指令需指定进给量的值。若不指定,系统会按(C)速度动作。

A 默认 B 进给 C 缺省

9、用G33 指令完成一次螺纹切削动作必须具备(A)指令动作。

A 四个 B 两个 C 三个

10、化学气相沉积缩写字母为(C)

A VCD B DVD C CVD

四、名词解释

1、M00:

在完成该程序段其他指令后,M00指令使程序停留在本段状态,不执行下段。

2、转进给

主轴每转一转刀具移动多少毫米为单位的进给方式。

五、简答题

1、粗、精加工时车削用量的选择有什么区别?

答:对粗加工,应从零件的加工经济性来选择车削用量;对精加工,则应根据零件的加工精度,特别是表面粗糙度来选择车削用量。

2、使用恒线速度控制有何意义?

答:G96指令的功能就是指定切削变径表面时使用一样的切削线速度,从而使表面的粗糙度基本一致。

拓展:

数控机床发展前景

近年来,我国的数控机床无论从产品种类、技术水平、质量和产量上都取得高速发展,在一些关键技术方面也已取得重大突破。自从我国数控机床的技术发展到了成熟期以后,各个领域都开始了对于数控机床的广泛关注。然而,与快速发展的数控机床行业相比,我国从事数控机床行业的技能人才始终供不应求,据权威部门统计,当前我国制造业十大重点领域对人才需求量较大,预计到2020年,高档数控机床和机器人领域人才缺口为300万人。

如今,制造业对数控机床人才的需求大大增加,就业待遇优厚。很多企业反映,数控机床人才“一将难求”,因为抢手,数控机床人才的身价持续上涨,月收入都在1.5万元以上。据我了解,河北省邯郸市曲周县职教中心已经把数控机床专业作为重点发展专业,势必做强做大该专业,为中国制造输送一批批技能人才。

当下,数控机床作为工业4.0重要发展领域,已经成为主要工业国家重点竞争领域。中国数控机床产业在国家战略的支持下,近年来呈现出快速发展态势,技术追赶势头不可阻挡。在新一轮产业发展周期中,中国有望通过加大技术研发实现数控机床产业的弯道超车。因此,在产业发展大好的优势下,数控机床人才的就业前景将是一片光明。

高档数控机床发展前景

当前机床行业下游用户需求结构出现高端化发展态势,多个行业都将进行大范围、深层次的结构调整和升级改造,对于高质量、高技术水平机床产品需求迫切,总体上来说,中高档数控机床市场需求上升较快,用户需要更多高速、高精度、复合、柔性、多轴联动、智能、高刚度、大功率的数控机床,发展前景广阔。例如,汽车行业表现出生产大批量、多品种、车型更新快的发展趋势,新能源汽车发展加速,从而要求加工设备朝着精密、高效、智能化方向不断发展。在航空航天产业领域,随着民用飞机需求量的剧增以及军用飞机的跨代发展,新一代飞机朝着轻质化、高可靠性、长寿命、高隐身性、多构型、快速响应及低成本制造等方向发展,新一代技术急切需要更先进的加工装备来承载,航空制造装备朝着自动化、柔性化、数字化和智能化等方向发展。例如,在“两机专项”致力于突破的飞机发动机制造中,发动机叶片、整机机匣和叶盘等典型零件逐渐向尺寸大型化、型面复杂化、结构轻量化和制造精密化发展,尤其是高强度的高温耐热合金等新型轻质材料的大量应用,这些整体结构件的几何构型复杂且难加工,对大扭矩、高精度数控机床提出新的更高要求。燃气轮机的大型结构件和大型设备异地维修所需的便携性或可移动式多轴联动数控装备,这种用无固定基座、可重构拼组的小机床加工大型工件的加工方式对新型数控装备的结构设计、工艺规格和高能效加工技术提出更大挑战。

;

‘捌’ 微机编程题,详细如下,高分求解答!

;; 1.在M数据段从DATA单元开始分别存放了两个8位无符号数,
;; 试比较它们的大小,并将小者传送到MIN单元。
M SEGMENT
DATA DB 9FH, 0B6H
MIN DB ?
M ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:M
ORG 100H
START: MOV AX, M
MOV DS, AX
MOV AL, DS:[DATA]
MOV BL, DS:[DATA+1]
CMP AL, BL
JBE MIN_A
MOV MIN, BL
JMP FINISH
MIN_A: MOV MIN, AL
JMP FINISH
FINISH: INT 3 ;中止,以便在DEBUG中查看结果
CODE ENDS
END START
;;将asm源程序编译链接生成exe, 在Win7的DOS中用debug运行通过,
;;运行至INT 3程序中止,在debug中用 d DS:02 命令,
;;可查看到MIN单元的值为茄碰较小值9Fh
==========================================

;; 2.已知AL中有郑蚂一8位二进制数,测试其中的D2位,
;; 如果为1则转移到EXIT。
CODE SEGMENT
ASSUME CS:CODE
ORG 100H
START: MOV AL, 10110110b
TEST AL, 00000100b
JNZ EXIT
INT 3
EXIT: MOV AH, 4CH
INT 21H
CODE ENDS
END START
;;将asm源程序编译链接生成exe, 在Win7的DOS中用debug运喊纳埋行通过

‘玖’ C++编程试题,跪请高手帮忙(4)

我知道一个成功的算法
A表示过河,Am表示 人单独过河举握。
Aw表示 人带狼过河。
As。。。。。。。。
Ag。。。。。。。。
奇数是过河,偶数是返回。
1 As
2 Am
3 Ag
4 As
5 Aw
6 Am
7 As

我知道一个成功的算法,
A表示过河,Am表示 人单独过河。
Aw表示 人带狼过河。
As。。。槐液。。。。。
Ag。。。。。。。铅答物。
奇数是过河,偶数是返回。
1 As
2 Am
3 Ag
4 As
5 Aw
6 Am
7 As

我知道一个成功的算法,
A表示过河,Am表示 人单独过河。
Aw表示 人带狼过河。
As。。。。。。。。
Ag。。。。。。。。
奇数是过河,偶数是返回。
1 As
2 Am
3 Ag
4 As
5 Aw
6 Am
7 As

‘拾’ 编程题库,输入一个整数,显示其十位上的数值

这个很简单吧- - 比如变量为a:漏链
方法1:(int)(a / 10) % 10就行了,很久不写C了,不知道语法对不对- -
方法2:(a - a % 10 ) / 10 % 10,胡宴这个应该所有返做孙语言通用
方法3:(a >> 1) % 10
方法很多,上面应该够用了~

核心思想就是把个位干掉

热点内容
php办公系统 发布:2025-07-19 03:06:35 浏览:900
奥德赛买什么配置出去改装 发布:2025-07-19 02:53:18 浏览:42
请与网络管理员联系请求访问权限 发布:2025-07-19 02:37:34 浏览:189
ipad上b站缓存视频怎么下载 发布:2025-07-19 02:32:17 浏览:844
phpcgi与phpfpm 发布:2025-07-19 02:05:19 浏览:527
捷达方向机安全登录密码是多少 发布:2025-07-19 00:57:37 浏览:693
夜魔迅雷下载ftp 发布:2025-07-19 00:39:29 浏览:99
增值税票安全接入服务器地址 发布:2025-07-19 00:20:45 浏览:486
solidworkspcb服务器地址 发布:2025-07-18 22:50:35 浏览:823
怎么在堆叠交换机里配置vlan 发布:2025-07-18 22:42:35 浏览:630