a;p--)/*$ERROR2$*/printf("%d\n",p);/*$ERROR3$*/}答案:1)p=a+92)p>=a3)printf(“%d\n”,*p);2.一" />
文档库 最新最全的文档下载
当前位置:文档库 › C上机考试题复习1

C上机考试题复习1

C上机考试题复习1
C上机考试题复习1

上机题总复习

一、改错题(共11题)

1.以下程序通过指针操作,输入整型数组并逆序输出,请改错。

#include

main()

{int a[10],*p;

for(p=a;p

scanf("%d",p);

p=a+10; /*$ERROR1$*/

for(;p>a;p--) /*$ERROR2$*/

printf("%d\n",p); /*$ERROR3$*/

}

答案:1) p=a+9 2) p>=a 3) printf(“%d\n”,*p);

2. 一个素数加上1000以后是37的倍数,下面的程序输出满足这个条件的最小的素数,请改错。

#include

main()

{int n,f,i;

n=3;

while(1)

{f=1;

i=1; /*$ERROR1$*/

for(;i<=n/2 && f;i++)

if(n%i==0) f=0;

if(f && (n+1000)/37==0) /*$ERROR2$*/

{printf("n=%d\n",n);

continue;} /*$ERROR3$*/

n+=2;

}

}

答案:1) i=2 2) if(f && (n+1000)%37==0) 3)break;

3. 利用循环语句求:(本题求前20项的和)

s=1/(1*2*3)-1/(2*3*4)+1/(3*4*5)-...+1/(19*20*21)-1/(20*21*22)

main()

{

int i;

float s; /*$ERROR1$*/

i=1;

while(i<20) /*$ERROR2$*/

{ if(i%2==0) /*$ERROR3$*/

s=s+1.0/(i*(i+1)*(i+2));

else

s=s-1.0/(i*(i+1)*(i+2));

i++;

}

printf("%f\n",s);

}

答案:1) float s=0; 2) while(i<=20) 3) if(i%2!=0)

4. 以下程序的功能:输出数组中的最大元素及其下标值。

(请不要修改数组元素值的顺序)

main()

{

int a[10]=(0,-3,9,2,5,4,8,7,6,1); /*$ERROR1$*/

int t,max,i;

max=0; /*$ERROR2$*/

t=0;

i=1;

while(i<=10) /*$ERROR3$*/

{if (max

{max=a[i];

t=i;}

i++;}

printf("MAX=%d,ADDRESS=%d",max,t);

}

答案:1) int a[10]={0,-3,9,2,5,4,8,7,6,1}; 2) max=a[0]; 3)while(i<=9) 5. 以下程序的功能是将a,b两个变量首先初始化为0,然后循环10次依次将a的值增1,b的值增2,并计算出每一次a*a+2b的值赋值给c输出,请改错. main()

{ int i,c;

int a=0,b=0;

i=1;

while(i<10) /*$ERROR1$*/

{a++;

b+=2;

c=a*a+2b; /*$ERROR2$*/

printf("%f",c); /*$ERROR3$*/

i++;

}

}

答案: 1)while(i<=10 2) c=a*a+2*b; 3) printf("%d",c);

6. 以下程序的功能是求两个整数的最大公约数。

程序如下:

main()

{

int m,n,r,t;

printf("Input two number, please!\n");

scanf("%d,%d",&m,&n);

if(m>n) /*$ERROR1$*/

{t=m;m=n;n=t;}

r=m%n;

while(r==0) /*$ERROR2$*/

{

m=n;

n=r;

r=m%n;

}

printf("gcd=%D\n",n); /*$ERROR3$*/

}

答案: 1) if(n>m) 2) while(r!=0) 3) printf("gcd=%d\n",n);

7. 以下程序能够将字符串str1和字符串str2合并成一个新字符串str。#include

#include

main()

{char str1[30],str2[20],str[60];

int i=0,j=0;

printf("Enter first string:");

gets(str1);

printf("Enter second string:");

gets(str2);

while(str1[i])

{str[i]=str1[i];i++;}

while(str2[j])

{str[i++]=str2[j];

i++; /*$ERROR1$*/

}

str[i]="\0"; /*$ERROR2$*/

printf("str=%c\n", str); /*$ERROR3$*/

}

答案:1) j++; 2) str[i]= '\0';3) printf("str=%s\n", str);

8. 输出以下图形(*之间没有空格,每行第一个* 前也没有空格)

*

**

***

****

***

**

*

程序如下:

main()

{

int i,j;

i=1; /*$ERROR1$*/

while(i<4)

{

j=0;

while(j

{printf("*");j++;}

printf("\n");

i++;

}

i=3;

while(i>0)

{

j=1;

while(j<=i)

{printf("*");j++;}

printf("\n");

i++; /*$ERROR3$*/

}

}

答案:1) i=0; 2) while(j<=i) 3) i--;

9. 以下程序的功能是:计算1-10这10个数中的奇数之和与偶数之和,请修改程序中的错误。

main()

{int a,b,t,i;

a=b=1; /*$ERROR1$*/

for(i=0;i<=10;i=i+2)

{a+=i;

t=++i; /*$ERROR2$*/

b+=t;

}

printf("oushu=%d\n",a);

printf("jishu=%d\n",b); /*$ERROR3$*/

}

答案: 1) a=b=0; 2) t=i+1; 3) printf("jishu=%d\n",b-11)

10. 下面程序的功能是从主函数中输入一个整数n,并通过调用fac函数,求得

n的阶乘,在主函数中输出n!的值,请修改程序中的错误。

#include

int fac(int n)

{

int i,s;

s=0; /*$ERROR1$*/

i=1;

while(i

{s=s*i;

i++;}

return s;

}

main()

{int n;

printf("Enter n:");

scanf("%D",&n); /*$ERROR3$*/

printf("s=%d",fac(n));

}

答案: 1) s=1; 2) while(i<=n) 3) scanf("%d",&n);

11. 随机输入10个数,选出其中的最大数。

程序如下:

main()

{

int i,max,a[10];

printf("input 10 number:\n");

i=0;

while(i<=10) /*$ERROR1$*/

{scanf("%d",a[i]); /*$ERROR2$*/

i++;}

max=a[0];

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

if (a[i]>a[0]) /*$ERROR3$*/

max=a[i];

printf("max num=%d\n",max);

}

答案: 1) while(i<=9) 2)scanf("%d",&a[i]); 3) if (a[i]>max)

二、填空题(共12题)

1. 编写程序,计算s=1-1/(1+2)+1/(1+2+3)-1/(1+2+3+4)+...+1/(1+2+3+...+n)的值。(假设本题中的n=20。

main()

{int i,j;

float s=0,s1;

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

{ ___ /*$BLANK1$*/

for(j=1;___;j++) /*$BLANK2$*/

s1=s1+j;

if(i%2==1)

s+=1/s1;

else

___ /*$BLANK3$*/

}

printf("S=%f",s);

}

答案: 1)s1=0; 2)j<=i 3)s-=1/s1;

2. 下列程序实现从键盘接收3个数,输出最大数和最小数,完善程序。程序如下:

#include

main()

{int a,b,c,*pmax,*pmin;

printf("input three numbers:\n");

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

if(a>b)

{pmax=&a;pmin=&b;}

else

{pmax=&b;pmin=&a;}

if(c>*pmax) __; /*$BLANK1$*/

else if(c<*pmin) ___; /*$BLANK2$*/

printf("max=%d,min=%d\n",___); /*$BLANK3$*/

}

答案: 1) pmax=&c 2)pmin=&c 3)*pmax,*pmin

3. 下列程序输出200~300之间的全部素数的和,请填空。

#include

main()

{int i,j,f,s;

s=__; /*$BLANK1$*/

for(i=201;i<300;i+=2)

{f=1;

for(j=2;j<=i/2;j++)

if(i%j==0)

{f=0;

___; /*$BLANK2$*/

}

if(___ ) s+=i; /*$BLANK3$*/ }

printf("s=%d\n",s);

}

答案:1)s=0 2)break 3)f 或f==1

4. 从键盘输入10个数存入数组a中,再将数组中的元素逆序存放后输出。#include

main()

{int a[10],i,j,t;

for(i=0;___;i++) /*$BLANK1$*/

scanf("%d",&a[i]);

i=0;

___ /*$BLANK2$*/

while(i

{t=a[i];a[i]=a[j];a[j]=t;

i++;

___ /*$BLANK3$*/

}

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

printf("%d,",a[i]);

}

答案: 1)i<9 2)j=9; 3)j--;

5. 以下程序对学生的记录数据统计不及格的人数并输出不及格学生的信息,请填空。

struct stu

{ int num;

char name[12];

float score;

};

main( )

{ __stud[5]={ {101,"Li ping",45}, {102,"Zhang

ping",62.5},

{103,"He fang",92.5},

{104,"Cheng ling",87},

{105,"Wang ming",58} };

int i,n=0;

printf("num\tname\tscore\n");

i=0;

while(i<5)

{if(__<60) /*$BLANK2$*/

{printf("%d\t%s\t%.2f\n",stud[i].num,stud[i].name,stud[i].score);

___; /*$BLANK3$*/

}

printf("n=%d\n",n);

i++;}

}

答案:1)struct stu 2)stud[i].score 3) n++

6. 以下程序的功能是删除字符串s(已知)中的所有数字字符。请完善程序。

#include "stdio.h"

main()

{ int n=0,i;

char s[]={"asdgdfbsfj120mjd456m6m7n987nhyr"};

for(i=0;___;i++) /*$BLANK1$*/

if(!(s[i]>='0'&&s[i]<='9'))

s[n++]=____; /*$BLANK2$*/

s[n]=____; /*$BLANK3$*/

puts(s);

}

答案:1)s[i]!=’\0’ 2)s[i] 3)’\0’

7. 以下程序通过指针操作,输入字符数组,并输出该数组中ASCII码值最大的字符,请填空。

#include

main()

{char c[20],*p,maxc;

p=c;

scanf("%s",_____); /*$BLANK1$*/

maxc=______; /*$BLANK2$*/

while(*p)

{if(*p>maxc)

maxc=*p;

_____;} /*$BLANK3$*/

printf("maxc=%c\n",maxc);

}

答案: 1)p 2)*p 3)p++

8. 将数组中的数按从小到大排序后放在另外一个相同长度的数组中

程序如下:

main()

{

int a[10]={20,9,-25,30,11,26,88,-8,0,50};

int b[10];

int i,j,temp;

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

{

for(j=i+1;j<__;j++) /*$BLANK1$*/

{

if (a[i]__a[j]) /*$BLANK2$*/

{ temp=a[i];

a[i]=a[j];

a[j]=temp;

}

}

}

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

b[i]=___ ; /*$BLANK3$*/

}

答案:1)10 2)> 3)a[i]

9. 以下程序的功能是统计用0-9之间不同的3个数构成一个三位数有多少种方法,如:123,345,182,等,请填空.

main()

{int i,j,k,count;

___; /*$BLANK1$*/

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

for(j=0;j<=9;j++)

if(___) continue; /*$BLANK2$*/

else

for (k=0;k<=9;k++)

if(__) count++; /*$BLANK3$*/

printf("%d",count);

}

答案:1)count=0 2)j==i 3)k!=j && k!=i 或!(k=j || k=i)

10. 有一个3×4的矩阵,要求编程以求出其中值最大的那个元素,以及它所在的行号和列号。

程序如下:

main()

{

int i,j,row,col,max;

static int a[3][4]={{3,5,1,8},{6,4,11,7},{9,3,10,2}};

max=a[0][0];

for(i=0;i<___;i++) /*$BLANK1$*/

for(j=0;j<4;j++)

if(___) /*$BLANK2$*/

{ max=___; /*$BLANK3$*/

row=i;

col=j;

}

printf("max=%d,row=%d,col=%d\n",max,row,col);

}

答案: 1)3 2)max

11. 输出以下图形(数字之间没有空格)

0001000

0011100

0111110

1111111

0111110

0011100

0001000

程序如下:

main()

{

int i,j;

for(i=-3;i<=3;i++)

{

j=1;

while(j __ abs(i)) /*$BLANK1$*/

{printf("0");j++;}

j=1;

while(j__ 7-2*abs(i)) /*$BLANK2$*/

{printf("1");j++;}

j=1;

while(j<__ ) /*$BLANK3$*/

{printf("0");j++;}

printf("\n");

}

}

答案:1)<= 2)<= 3) abs(i)+1

12. 完善程序,使5×5数组的主对角线元素为1,其它元素为0。#include

main()

{int j,k,a[5][5];

for(j=0;j<5;j++)

for(k=0;k<5;k++)

{

if( k==__ ) /*$BLANK1$*/

___ ; /*$BLANK2$*/

else

___ ; /*$BLANK3$*/

}

for (j=0;j<5;j++)

{for(k=0;k<5;k++)

printf("%d ",a[j][k]);

printf("\n");

}

}

答案:1)j 2) a[j][k]=1 3) a[j][k]=0

三、程序设计题(共11题)

1.输出100~300之间的全部素数的和。

输出格式:

s=23516

程序如下:

#include

main()

{int i,j,f,s,n=0;

s=0;

for(i=101;i<300;i+=2)

{f=1;

for(j=2;j<=i/2;j++)

if(i%j==0)

{ f=0;

break; }

if(f==1&&n<10){ s+=i;n++;}

}

printf("s=%d\n",s);

}

2. 利用下面公式求s的值(求20项之和)

s=1/(1*2*3)-1/(2*3*4)+1/(3*4*5)-1/(4*5*6)+...+1/(19*20*21)-1/(20*21* 22)

输出格式:

s=0.123456

程序如下:

main()

{

int i;

float s=0;

i=1;

while(i<=20)

{ if(i%2!=0)

s=s+1.0/(i*(i+1)*(i+2));

else

s=s-1.0/(i*(i+1)*(i+2));

i++;

}

printf("s=%f\n",s);

}

3. 某人摘下一些桃子,卖掉一半,又吃了两只;第二天卖掉剩下的一半,又吃了两只;第三天、第四天、第五天、第六天、第七天等都如此办理,第十六天一看,发现就剩下三只桃子了。编写程序,求此人共摘了多少只桃子。

输出格式:

23456

程序如下:

#include

PRINT(long s)

{

FILE *out;

if((out=fopen("result.txt","w+"))!=NULL)

fprintf(out,"%ld",s);

fclose(out);

}

main()

{ long s,x1,x2,i;

x1=3;

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

{ x2=(x1+2)*2;

x1=x2;

}

s=x2;

PRINT(s);

}

4. 一个自然数除以2余1,除以3余2,除以4余3,除以5余4,除以7余5,求满足这个条件的最小的自然数?

输出格式:

n=23

程序如下:

#include

PRINT(int n)

{

FILE *out;

if((out=fopen("result.txt","w+"))!=NULL)

fprintf(out,"n=%d",n);

fclose(out);

}

main()

{int n;

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

if(n%2==1 && n%3==2 && n%4==3 && n%5==4 && n%7==5)

break;

printf(“n=%d”,n);

PRINT(n);

}

5. 利用循环语句求1-1/3+1/5-1/7+......+ 1/(2n-1)的值

(本题求前100项的和)

输出格式(6位小数):

f=0.235167

程序如下:

#include

PRINT(float f)

{

FILE *out;

if((out=fopen("result.txt","w+"))!=NULL)

fprintf(out,"f=%.6f",f);

fclose(out);

}

main()

{ float s;

int i,j;

s=0;

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

if (i%2==1)

s=s+1.0/(2*i-1);

else

s=s-1.0/(2*i-1);

PRINT(s);

}

6. 计算1~500之间(即从1到500)的全部"同构数"之和。所谓"同构数"是指一个数。它出现在它的平方数的右端。如6的平方是36,6出现在36的右端,6就是同构

数。

输出格式:

367

程序如下:

#include

PRINT(int s)

{

FILE *out;

if((out=fopen("result.txt","w+"))!=NULL)

fprintf(out,"n=%d",s);

fclose(out);

}

main()

{ int i,s;

long k;

s=0;

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

{ k=i * i;

if(k==i || k%10==i || k%100==i || k%1000==i)

s=s+i;

}

PRINT(s);

}

7. 编写程序,计算0到300之间所有奇数之和。

输出格式:

23456

程序如下:

#include

PRINT(int s)

{

FILE *out;

if((out=fopen("result.txt","w+"))!=NULL)

fprintf(out,"%d",s);

fclose(out);

}

main()

{int s=0,i;

for (i=1;i<=299;i+=2)

s=s+i;

PRINT(s);

}

8. 编写程序,计算500到1300之间所有既能被7整除又能被13整除的自然数之和。

输出格式:

26

程序如下:

#include

PRINT(int s)

{

FILE *out;

if((out=fopen("result.txt","w+"))!=NULL)

fprintf(out,"%d",s);

fclose(out);

}

main()

{int s=0,i;

for(i=500;i<=1300;i++)

if ( i%7==0 && i%13==0)

s=s+i;

PRINT(s);

}

9. 编写程序,计算1000到2000之间所有能被13整除的自然数之和。

输出格式:

26

程序如下:

#include

PRINT(int s)

{

FILE *out;

if((out=fopen("result.txt","w+"))!=NULL)

fprintf(out,"%d",s);

fclose(out);

}

main()

{int s=0,i;

for(i=1000;i<=2000;i++)

if (i%13==0)

s=s+i;

PRINT(s);

}

10. 求所有的"水仙花数"之和。所谓"水仙花数"是指一个三位数,其

各位数字的立方和等于该数本身。例如153是一个"水仙花数",

因为:153=1*1*1+5*5*5+3*3*3。

输出格式:

23456

程序如下:

#include

PRINT(int s)

{

FILE *out;

if((out=fopen("result.txt","w+"))!=NULL)

fprintf(out,"%d",s);

fclose(out);

}

main()

{int s,n,i,j,k;

for (n=100;n<=999;n++)

{i=n/100;j=n%100/10;k=n%10;

if(i*i*i+j*j*j+k*k*k==n) s=s+n;

}

PRINT(s);

}

11. 编写程序,计算200到700之间所有能被11整除的奇数之和。输出格式:

23456

程序如下:

#include

PRINT(int s)

{

FILE *out;

if((out=fopen("result.txt","w+"))!=NULL)

fprintf(out,"%d",s);

fclose(out);

}

main()

{ int s,i;

s=0;

for(i=201;i<=699;i+=2)

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

PRINT(s);

}

c语言期末测试题附答案

c语言期末测试题附答 案 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

课程代码:A100002 座位号: 《计算机技术基础(C 语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年 月 日 第一 部分 选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个正确答 案,答对一题得 2 分,共 30 分) 1、以下关于C 语言标识符的描述中,正确的是 【 】。 A )标 识符可以由汉字组成 B )标识符只能以字母开头 C )关键字可以作为用户标识符 D )Area 与area 是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【 】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d \n”,i,j,k); 3、判断char 类型的变量c1是否为数字字符的正确表达式为 【 】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是 【 】。 A )’a’&&’b’ B )a<=b C )((a>b)||(b0;i--);后,变量i 的值为 【 】。 A )10 B )9 C )0 D )1 8、若有int *p1, *p2,k; 不正确的语句是 【 】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是 【 】

C语言上机试题

1:第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能就是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。 2:第2题请编写函数fun,它的功能就是:求出1到100之内能北7或者11整除,但不能同时北7与11整除的所有证书,并将她们放在a所指的数组中,通过n返回这些数的个数。 3:第3题请编写函数void fun(int x,int pp[],int *n),它的功能就是:求出能整除x且不就是偶 数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 4:第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"至U "z"26各字母各自出现的次数,并依次放在pp所指的数组中。 5:第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能就是:将大于整数m且 紧靠m的k各素数存入xx所指的数组中。 6:第6题请编写一个函数void fun(char a[],char[],int n),其功能就是:删除以各字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。 7:第7题请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下 标并存放在k所指的储存单元中。 8:第8题编写函数fun,功能就是:根据以下攻势计算s,计算结果作为函数值返回『通过形参 传入。S=1 + 1/(1+2)+1/(1+2+3)+ ??…、+1/(1+2+3+4+ ??…+n) 9:第9题编写一个函数fun,它的功能就是:根据以下公式求p的值,结果由函数值带回。M 与n为两个正整数,且要求m>n。p=m!/n!(m-n)! 10:第10题编写函数fun,它的功能就是:利用以下的简单迭代方法求方程cos(x)-x=0的一个 实根。 迭代步骤如下:(1)取x1初值为0、0;⑵x0=x1,把x1的值赋各x0; (3) x1=cos(x0),求出一个新的x1; (4) 若x0-x1的绝对值小于0、000001,则执行步骤(5),否则执行步骤(2); (5) 所求x1就就是方程cos(x)-x=0的一个实根,作为函数值返回。 程序将输出root=0、739085。 11:第11题下列程序定义了nx n的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][n]),该函数的功能就是:使数组左下半三角元素中的值全部置成0。 12:第12题下列程序定义了n x n的二维数组,并在主函数中赋值。请编写函数fun,函数的 功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。 13:第13题请编写一个函数void fun(int tt[m][n],int pp[n]),tt 指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。二维数组中的数已在主函数中赋予。 14:第14题请别写函数fun,函数的功能使求出二维数组周边元素之与,作为函数值返回。二 维数组中的值在主函数中赋予。 15:第15题请编写一个函数unsigned fun(unsigned w),w 使一个大于10的无符号整数,若w 使n(n>2)位的整数,则函数求出w后n-1位的数作为函数值返回。 16:第16题请编写一个函数float fun(double h),函数的功能使对变量h中的值保留2位小树, 并对第三位进行四舍五入(规定h中的值位正数)。 17:第17题请编写一个函数fun(char *s),该函数的功能使把字符串中的内容拟置。 18:第18题编写程序,实现矩阵(3行3列)的转置(即行列互换)。 19:第19题编写函数fun,该函数的功能就是:从字符中删除指定的字符,同一字母的大、小写按不同字符处理。20:第20题编写函数int fun(int lim,int aa[max]),该函数的功能就是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求的素数的个数。 21:第21题请编写函数fun,对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列。

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

2016年度资料整理版氯化工艺标准上机试题3

1、氯气钢瓶的易熔塞的熔化温度为85摄氏度。(1.0分) 正确答案:错 2、氯化单元开车前要对容器和管线进行水压试验检查。(1.0分) 正确答案:错 3、氯化反应多为放热反应,移除反应热通常采用反应器夹套、蛇形盘管冷却移热;过量反应物或溶剂蒸发冷凝回流移热;惰性气体循环移热等方法。(1.0分) 正确答案:对 4、易燃或可燃液体的饱和蒸汽压越高,其闪点越低,火灾危险性越大。(1.0分) 正确答案:对 5、单回路控制系统通常由一个检测元件及变送器、一个控制器、一个控制阀和一个对象所构成。(1.0分) 正确答案:对 6、严禁铁器敲打设备,不准带压检修和紧固系统设备及管道法兰,停炉后炉温过高不能再点炉。(1.0分) 正确答案:对 7、接触燃烧式可燃气体及有毒气体报警器可测微小的气体含量,适用于有毒气体检测。(1.0分) 正确答案:错 8、合成盐酸装置所用原料氯气主要来源于尾氯、液化分配台氯气。(1.0分) 正确答案:对 9、加工和储存自然点较低的物质时,应采用通风、散热、降温措施。(1.0分) 正确答案:对 10、介质为气体时,压差变送器应安装在节流装置的上面。(1.0分) 正确答案:对 11、分散剂的作用是降低水-VCM之间的界面张力和对VCM分散液滴提供胶体保护。(1.0分) 正确答案:对 12、装有液氯钢瓶应横向卧放,且高度不得超过3层。(1.0分) 正确答案:对 13、仪表联锁在一般情况下,可以局部解除。(1.0分) 正确答案:错 14、压缩机进口压力保持正压,严禁抽负压,以免抽入空气影响安全。(1.0分) 正确答案:对 15、聚合过程中遇激烈反应而冷却水补充阀全开时,可借高压水泵加入计量的脱盐水,或切换夹套冷冻水,以维持正常反应温度和压力。(1.0分) 正确答案:对 16、氯乙烯系统所用仪表不需防爆。(1.0分) 正确答案:错 17、排放液体的安全阀,出口管公称直径不应小于15mm。(1.0分) 正确答案:对 18、毒物主要通过呼吸道进入人体。(1.0分) 正确答案:对 19、职业病诊断、鉴定的费用由用人单位承担,再次鉴定的费用由个人承担。(1.0分)

c期末考试试题及答案完整版

c期末考试试题及答案 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

AutoCAD 试卷 一、 单项选择 1、AutoCAD 默认扩展名是 A 、dwt B 、dwg C 、bak D 、dxf 答案:B 2、在CAD 中,以下哪个命令可用来绘制横 平竖直的直线 A 、栅格 B 、捕捉 C 、正交 D 、对象捕捉答案:C 3、按哪个键可切换文本窗口和绘图窗口 A 、F2 B 、F8 C 、F3 D 、F5答案:A 4、默认情况下,命令提示行显示为几行 A 、3 B 、5 C 、2 D 、8答案:A 5、在CAD 中为一条直线制作平行线用什么命令 A 、移动 B 、镜像 C 、偏移 D 、旋转答案:C 6、在图层特性管理器中不可以设定哪项 A 、颜色 B 、页面设置 C 、线 宽 D 、是否打印答案:B 7、绘制建筑图步骤为 A 、墙线、轴线、门窗 B 、墙线、 门窗、轴线 C 、轴线、门窗、墙线 D 、轴线、 墙线、门窗答案:D 8、哪个命令可用于绘制直线与圆弧的复合 体 A 、圆弧 B 、构造线 C 、多段线 D 、样条曲线答案:C 9、如何在图中输入“直径”符号 A 、%%P B 、%%C C 、%%D D 、%%U 答案:B

10、如果要在一个圆的圆心写一个“A”字,应使用以下哪种对正方式 A、中间 B、对齐 C、中心 D、调整答案:A 11、在哪个层创建的块可在插入时与当前层特性一致 A、0层 B、在所有自动产生的层 C、所有图层 D、新建的图层答案:A 12、一个完整的尺寸由几部分组成 A、尺寸线、文本、箭头 B、尺寸线、尺寸界线、文本、标记 C、基线、尺寸界线、文本、箭头 D、尺寸线、尺寸界线、文本、箭头 答案:D 13、要将图形中的所有尺寸都为原有尺寸的2倍,应设定以下哪项A、文字高度 B、使用全局比例 C、测量单位比例 D、换算单位 答案:B 14、三维模型中哪种模型可以进行布尔运算 A、线框模型 B、实心体模型 C、表面体模型答案:B 15、渲染三维模型时,哪种类型可以渲染出物体的所有效果 A、一般渲染 B、普通渲染 C、照片级真实感渲染 D、照片级光线跟踪渲染答案:D 16、样板文件的括展名是 A、BAK B、SVS C、DWT D、DWG 答案:C 17、以下哪种相对坐标的输入方法是画8个单位的线长 A.8, 0 B.@0,8 C.@0<8

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

c上机试题及答案

c上机试题及答案文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

A.类的定义 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 659 (260 users) Total Accepted: 116 (114 users) Special Judge: No Description 定义一个Circle类,有私有数据成员radius(半径);公有成员函数getArea(),用来计算圆的面积;实现能初始化半径的构造函数,以及拷贝构造函数。要在主函数中定义两个对象,并且输出两个对象的面积。其中第二个由第一个对象初始化,圆周率取为。(15分) Input 包含一个整数。 Output 输出一行,是两个对象的面积值。具体参照样例。 Sample Input 2 Sample Output

A题 #include using namespace std; class Circle { public: Circle(int r):radius(r) {} Circle(Circle &p); double getArea(int radius); private: int radius; }; Circle::Circle(Circle &p) { radius = ; } double Circle::getArea(int radius) { float area; area = *radius*radius; return area;

} int main() { int r; double area1,area2; Circle A(r); Circle B(A); cin>>r; area1 = (r); area2 = (r); cout<

C期末考试题及答案

C期末考试题及答案 Revised at 2 pm on December 25, 2020.

一、填空题(每空0.5分,共30分) 1、世界坐标系简称__WCS_用户自定义坐标系简称__UCS_。 2、工作空间的切换:“工具”/“工作空间”或“工作空间”工具栏。 3、工具栏包括30种,系统默认的显示工具栏包括:“标准”、“属性”、“绘图”和“修改”等工具栏。 4、多线的对正方式有_上(T)_、_无(Z)_和_下(B)_。 5、文字标注包括标注单行文字和标注多行文字。 6、渲染环境是指在渲染对象时进行的雾化和深度设置。 7、漫游和飞行用户可以通过键盘和鼠标来控制视图显示,并创建导航动画。 8、编辑实体的边的种类:压印边、复制边、着色边。 9、动态块是通过自定义夹点或自定义特性定义的块。在图形中使用动态块,用户可以随时对组成块的对象进行修改。 10、三维实体是具有体积、质量、重心、回转半径、惯性距等特征的三维对象。 11、在AutoCAD 2007中,用户可以创建的光源有电光源、聚光灯光源和平行光光源。 12、相切、相切、半径法是指:通过指定圆的两个切点和半径来绘制圆。 13、绘制圆环的步骤中,先输入圆环的内径和外径,后确定圆环的中心点。 14、计算机辅助设计是:工程技术人员在CAD系统的辅助下,根据产品的设计程序进行设计的一项新技术。 15、菜单栏包括11种,每一种菜单中都含有四种显示情况:命令后跟右三角 、后跟省略号、后跟快捷键或功能键或命令呈灰色。 16、要对图形对象进行编辑就必须选中图形对象,在AutoCAD 2007中,选择对象的方法很多,常用的有_直接拾取_、矩形框选择_、_不规则区域选择_和快速选择。 17、在设置显示精度时,如果设置的精度越高,即分辨率就越高,计算机计算的时间 也越长,显示图形的速度也就越慢。 18、三维基本实体的种类包括:多段体、长方体、楔体、圆柱体、圆锥体、球体、圆环体、棱锥面。 19、布尔运算中只留重复的一部分的运算是交集运算。从一个图形中去掉与另一个图形重复部分的运算是差集运算。

C语言上机考试题

考试时间120分钟题目中所有要求统计或输出的地方都要用printf函数输出相关内容要求:新建一个以自己中文姓名命名的文件夹,将如下题目的答案保存在该文件夹中,各题命名要求Exam1.c,Exam2.c,Exam3.c,Exam4.c,Exam5.c 只需提交每个题目的源文件 1.定义一个字符数组s[50],从键盘输入如下字符串给s数组中,统计其中数字字符的个数和英文字母的个数以及特殊字符的个数。(要求:输入的字符为:“123ABCDhijkop#&%*&!”)(本题5分) 输入功能,3个统计 2.从键盘输入10个元素给数组a,然后将这些元素逆向复制到数组b中(要求:输入的这10个数为:1,2,3,4,5,6,7,8,9,10)。(本题5分) 输入,逆序2个功能,错一个扣2分 3.使用循环嵌套,打印输出如下图形结果(提示使用两次循环嵌套)。 (本题5分) 没有中文后面扣1分 实现一半扣2分 4.从键盘上输入一个字符,如果是’M’,输出Mondey,’T’输出Tuesday,’W’输出Wednesday,’R’输出Tursday,’F’输出Friday,’S’输出Saturday,’U’输出Sunday,否则输出Error(本题5分)输入字符,switch语句,细节有错扣0.5 5.从键盘上输入10个学生的数学成绩,使用冒泡排序实现对成绩的排序功能(排序后的成绩按从低到高排列,效果如下), 输出排序后的学生成绩,输出最高成绩,输出最低成绩,将55-60之间的成绩(含55,不含60)修改为60,并统计被修改的成绩个数,统计及格人数,统计95(含95,优秀)分以上的学生成绩人数,输出及格率和优秀率(>=60,及格,>=95优秀)。(要求:输入的10个

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

c++上机试题及答案

A.类的定义 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 659 (260 users) Total Accepted: 116 (114 users) Special Judge: No Description 定义一个Circle类,有私有数据成员radius(半径);公有成员函数getArea(),用来计算圆的面积;实现能初始化半径的构造函数,以及拷贝构造函数。要在主函数中定义两个对象,并且输出两个对象的面积。其中第二个由第一个对象初始化,圆周率取为3.14。(15分) Input 包含一个整数。 Output 输出一行,是两个对象的面积值。具体参照样例。 Sample Input 2 Sample Output 12.56 12.56

A题 #include using namespace std; class Circle { public: Circle(int r):radius(r) {} Circle(Circle &p); double getArea(int radius); private: int radius; }; Circle::Circle(Circle &p) { radius = p.radius; } double Circle::getArea(int radius) { float area; area = 3.14*radius*radius; return area; } int main() { int r; double area1,area2; Circle A(r); Circle B(A); cin>>r; area1 = A.getArea(r); area2 = B.getArea(r); cout<

c语言期末测试题(附答案)

课程代码: A100002 《计算机技术基础( C 语言)》试卷 A 姓名: 学号: 专业 : 学院 : 班级 : 20 年 月 日 选择题(共 30 分) 题(本大题共 15 小题,每题只有一个正确答案,答 分,共 30 分) 1、以下关于 C 语言标识符的描述中,正确的是 【 】。 A) 标识符可以由汉字组成 B )标识符只能以字母开头 C )关键字可以作为用户标识符 D ) Area 与 area 是不同的标识符 2、使下列程序段输出“ 123, 456,78”,键盘输入数据,正确的输入是【 】 int i,j,k; scanf( “%d,%3d%”d ,&i,&j,&k); printf( “%d,%d,%dn ”,i,j,k); A ) 12345678 B )123,456, 78 C ) 123,45678 D ) 123,*45678 3、判断 char 类型的变量 c1 是否为数字字符的正确表达式为 【 】。 A) (c1>=0)&&(c1<=9) B) (c1>= '0')&&(c1<='9') C) '0'<=c1<='9' D) (c1>= '0')||(c1<= '9') 4、若有语句 int a=1,b=2,c=3 ;则以下值为 0 的表达式是 【 】。 A )' a '&&'b ' B )a<=b C )((a>b)||(b

计算机技术基础试题 第 2 页(共 10 页) A. *(a[0]+2) B. a[1][3] C . a[1][0] D. *(*(a+1)+2) 6、在循环语句的循环体中执行 break 语句,其作用是 【 】。 A )跳出该循 环体,提前结束循环 B) 继续执行 break 语句之后的循环体各语句 C) 结束本次循环,进行下次循环 D) 终止程序运行 7、执行语句 for(i=10;i>0;i--) ;后,变量 i 的值为 【 】。 A ) 10 B )9 C )0 D )1 8、若有 int *p1, *p2, k; 不正确的语句是 【 】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是 【 】 A. 静态( static ) B. 外部( extern ) C. 自动( auto ) D . 寄存器( register ) 10、如下程序的输出结果是 【 】 main( ) { int x=2,a=0,b=0; switch(x) { case 2: a++; b++; case 1: ++a; b--; break; case 0: b++;} printf("a=%d, b=%d\n", a, b);} A. a=2, b=0 B. a=2, b=1 C. a=1, b=1 D. a=1, b=0 11、表示关系 a

C语言上机试题

1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。 2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。 3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。 5: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。 6: 第6题请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n 中存放指定的下标。 7: 第7题请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下标并存放在k所指的储存单元中。 8: 第8题编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n) 9: 第9题编写一个函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回。M与n为两个正整数,且要求m>n。 p=m!/n!(m-n)! 10: 第10题编写函数fun,它的功能是:利用以下的简单迭代方法求方程cos(x)-x=0的一个实根。 迭代步骤如下:(1)取x1初值为0.0; (2)x0=x1,把x1的值赋各x0; (3)x1=cos(x0),求出一个新的x1; (4)若x0-x1的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2); (5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。 程序将输出root=0.739085。 11: 第11题下列程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。 12: 第12题下列程序定义了n×n的二维数组,并在主函数中赋值。请编写函数fun,函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。 13: 第13题请编写一个函数void fun(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。二维数

大学大一C语言程序设计期末考试试卷和答案

四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 C 语言程序设计试卷 试卷A 答卷说明: 1、 本试卷共6页,答题纸3页,4个大题,35个小题,满分100 分,120分钟完卷。 2、 闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上 答案为准。 3、 本试卷适用于2011级1、2、3班。 一、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的 序号填在题干的括号内。每小题1分,共20分) 1、 在C 语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const 2、 不属于C 语言基本数据类型的是( ) A). int B). union C). char D). unsigned 3、 下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间 C). 宏替换只是字符串的简单替代 D). 宏替换时先检查类型,类型一致时才可以替换 4、 C 语言中,″\\xfds ″在内存中占用的字节数是( ) __________________学院__________级___________班 姓名_______________ 学号_______________ ………………………………(密)………………………………(封)………………………………(线)……………………………… 密 封 线 内 答 题 无 效

A).3 B).4C).5D).6 5、设int x;则执行printf(″%x\n″,~x^x);的结果是() A). ffffffff B). ff C).0D). 1 6、对于while语句,错误的说法是() A).用条件控制循环体的执行次数B).循环体至少要执行一次 C).循环体有可能一次也不执行D).循环体中可以包含若干条语句 7、执行下列语句后输出的结果是() int a=8,b=7,c=6; if(ac){a=c;c=b;} printf("%d,%d,%d\n",a,b,c); A).6,7,7B).6,7,8C).8,7,6D).8,7,8 8、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是() A).9,19B).9,20C).10,19D).10,20 9、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么() A).x数组的长度等于y数组的长度B).x数组的长度大于y数组的长度 C).x数组的长度少于y数组的长度D).x数组与y数组的存储区域相同 10、设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是() for(i=0;i<3;i++) printf(″%d″,x[i][2-i]); A).147B).159C).357D).369 11、执行完下列语句后,n的值是() int n; for (n=0 ; n<100 ; n=2*n+1); A).125B).126 C).127D).128 12、有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果() A).–132 B).–60 C). -24 D). 0 13、为了连接两个字符串s1与s2,应当使用() A). strcat( s1,s2 ) B). strcpy( s1, s2 ) C). strlen( s1, s2 ) D). strcmp( s1, s2 ) 14、设int a,*p;则语句p=&a;中的运算符“&”的含义是() A).位与运算B).逻辑与运算C).取指针内容D).取变量地址 15、下面输出的结果为() i nt a=13, b=64; printf(“%d\n”, !a || (b>>3) );

3月计算机三级上机题库及答案

3月计算机三级上机题库及答案 1.已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字), 以及把个位数字和百位数字组成另一个新的十位数cd (新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字), 如果新组成的两个十位数ab-cd=10且ab-cd=20且两个数均是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a[200], b[200], 已定义变量: cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 ------------------------- PROG1.C #include #define MAX 200 int a[MAX], b[MAX], cnt = 0;

{int I,thou,hun,ten,data,j; int ab,cd; for(I=0;I200;I++) {thou=a[I]/1000; hun=a[I]%1000/100; ten=a[I]%100/10; data=a[I]%10; ab=10*thou+ten; cd=10*data+hun; if ((ab-cd)=0(ab-cd)=10ab%2==1cd%2==1ab!=0cd!=0) {b[cnt]=a[I];cnt++;} } for(I=0;I for(j=I+1;j if(b[I] {data=b[I]; b[I]=b[j];b[j]=data;} } void readDat() { int i ; FILE *fp ; fp = fopen(in.dat, r) ; for(i = 0 ; i MAX ; i++) fscanf(fp, %d, a[i]) ; fclose(fp) ; }

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

大一c语言期末考试题

大一c语言期末考试题 C语言期末考试试题附答案 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c;

相关文档
相关文档 最新文档