9512.net
甜梦文库
当前位置:首页 >> IT认证 >>

c语言上机试题3


1、 已知 a=13,b=6,a&b 的十进制数值为 4 2、 静态变量和外部变量的初始化是在编译阶段完成的,而自动变量的赋值是在函数调用时 进行的。 3、 调用 fopen 函数打开一文本文件,在“使用方式”这一项中,为输入而打开需填入 r 或 者 r+ 4、 若要用 fopen 函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符 串应是“wb+” 5、 在 c 语言程序中,函数的定义不可以嵌套函数的调用可以嵌套。 6、 若 ch 为 char 型变量,k 为 int 型变量(已知字符的 ascll 十进制代码为 97) ,则以下程序 的执行结果是 ch=’a’;k=12;printf(“%x,%o,”,ch.,ch,k);printf(“k=%%d\n”,k); 61,141,k=%d 7、若在 int a[][]={{1,2},{3,4}};则*(a+1),*(*a+1)的含义分别是&a[1][0],2 8、有定义:char *p1,*p2;则在下列表达式中合理的是 A p1+=5; B p1*=p2; C p1=&p2 D p1/=5

/*------------------------------------------------------【程序填空】 ---------------------------------------------------------

10 功能:输入三个整数 x,y,z,请把这三个数由小到大输出。 -------------------------------------------------------*/ #include <stdio.h> main() { int x,y,z,t; scanf("%d%d%d",&x,&y,&z); /***********SPACE***********/ if (x>y){【?】} /***********SPACE***********/ if(x>z){【?】} /***********SPACE***********/ if(y>z){【?】} printf("small to big: %d %d %d\n",x,y,z); } 1、 t=x;x=t;y=t; 2、 t=z;z=x;x=t; 3、 t=y;y=z;z=t; 11、/*------------------------------------------------------【程序填空】 --------------------------------------------------------功能:以下程序的功能如(图 1)。 -------------------------------------------------------*/ #include <conio.h> #include <stdio.h> /***********SPACE***********/ double fun(【?】, int n) { /***********SPACE***********/ 【?】; double xa=0, s; for (j=0; j<n; j++ ) xa += x[j]/n; /***********SPACE***********/ 【?】; for (j=0; j<n; j++ ) s += (x[j]-xa)*(x[j]-xa)/n; /***********SPACE***********/ 【?】;

} main ( ) { double x[100] = {193.199, 195.673, 195.757, 196.051, 196.092,196.596,196.579, 196.763}; printf("%f\n", fun (x, 8)); } 1、 float x[] 2、 int j 3、 s=0; 4、 return s 12、/*-----------------------------------------------【程序设计】 -------------------------------------------------功能:从字符串 s 中删除指定的字符 c。 -------------------------------------------------*/ #include <stdio.h> void wwjt(); fun(char s[],char c) { /**********Program**********/

/********** End }

**********/

main() { static char str[]="turbo c and borland c++"; char c='a'; fun(str,c); printf("str=%s\n",str); wwjt(); }

void wwjt() { FILE *IN,*OUT; char sin[80],cIN; int i; IN=fopen("13.IN","r"); if(IN==NULL) { printf("Please Verify The Currernt Dir..it May Be Changed"); } OUT=fopen("13.out","w"); if(OUT==NULL) { printf("Please Verify The Current Dir.. it May Be Changed"); } for(i=0;i<10;i++) { fscanf(IN,"%s",sin); cIN=getc(IN);cIN=getc(IN); fun(sin,cIN); fprintf(OUT,"%s\n",sin); } fclose(IN); fclose(OUT); } int i,k=0; for (i=0;s[i]!=’\0’;i++) if(s[i]!=c) s[k++]=s[i]; s[k]=’\0’; 13、/*-----------------------------------------------【程序设计】 -------------------------------------------------功能:判断整数 x 是否是同构数。若是同构数,函数返回 1; 否则返回 0。x 的值由主函数从键盘读入,要求不大 于 100。 说明:所谓“同构数”是指这样的数,这个数出现在它的 平方数的右边。 例如:输入整数 5,5 的平方数是 25,5 是 25 中右侧的数,所 以 5 是同构数。 ------------------------------------------------*/ #include <stdio.h>

void wwjt(); int fun(int x) { /**********Program**********/

/********** End

**********/

} main() { int x,y; printf("\nPlease enter a integer numbers:"); scanf("%d",&x); if(x>100) { printf("data error!\n"); exit(0); } y=fun(x); if(y) printf("%d YES\n",x); else printf("%d NO\n",x); wwjt(); } void wwjt() { FILE *IN,*OUT; int n,t; int o; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Read FILE Error"); } OUT=fopen("out.dat","w"); if(OUT==NULL) {

printf("Write FILE Error"); } for(t = 0 ; t < 5 ; t++) { fscanf(IN, "%d", &n) ; o=fun(n); fprintf(OUT, "%d\n",o ) ; } fclose(IN); fclose(OUT); } int k; k=x*x; if((k%10==x)||(k%100==x)) return 1; else return 0; 1. int a=12;a=a&052;printf(“%d\n”,a); 输出结果是 8 2. c 语言的函数不可以嵌套定义。 3. printf 函数中用到格式符%5s,其中数字 5 表示输出的字符串占用 5 列,如果字符串长度 大于 5,则输出按方式 按原字符长从左向右全部输出 /*------------------------------------------------------4. 【程序填空】

---------------------------------------------------------

功能:计算圆周率的近似值。

-------------------------------------------------------*/

#include <stdio.h> #include <math.h> main() { int s,n; /***********SPACE***********/ double pi,t;

t=1;pi=0;n=1;s=1; /***********SPACE***********/ while(fabs(t)>=2e-6) { pi+=t;n+=2;s=-s;t=s/n; } /***********SPACE***********/ pi*=4; printf("pi=%.6f\n",pi); } 5. /*-------------------------------------------------------

【程序填空】 --------------------------------------------------------功能:输出 100 到 1000 之间的各位数字之和能被 15 整除的所有数, 输出时每 10 个一行。

-------------------------------------------------------*/ #include <stdio.h> main() { int m,n,k,i=0; for(m=100;m<=1000;m++) { /***********SPACE***********/ k=0; n=m; do { /***********SPACE***********/ k=k+n%10 ;

n=n/10; } /***********SPACE***********/ while(n>0); if (k%15==0) { printf("%5d",m);i++; /***********SPACE***********/ if(i%10==0) printf("\n"); } } } 6、/*-----------------------------------------------------【程序改错】 --------------------------------------------------------

功能:编写一个函数,该函数可以统计一个长度为 3 的字符串在另 一个字符串中出现的次数。 例如:假定输入的字符串为:asdasasdfgasdaszx67asdmklo,字符 串为:asd,则应输出 n=4。

------------------------------------------------------*/

#include<stdio.h> #include<string.h> #include<conio.h> int fun(char *str,char *substr) { /**********FOUND**********/ unsigned int i,n=0

/**********FOUND**********/ for(i=0;i<=strlen(str);i++) if((str[i]==substr[0])&&(str[i+1]==substr[1])&&(str[i+2]==substr[2])) /**********FOUND**********/ ++i; return n; }

main() { char str[81],substr[4]; int n; printf("输入主字符串: "); gets(str); printf("输入子字符串: "); gets(substr); puts(str); puts(substr); n=fun(str,substr); printf("n=%d\n",n); }

7、/*-----------------------------------------------【程序设计】 --------------------------------------------------

功能:找出一批正整数中的最大的偶数。

------------------------------------------------*/

#include <stdio.h> void wwjt();

int fun(int a[],int n) {

/**********Program**********/

/********** End

**********/

}

main() { int a[]={1,2,9,24,35,18},k; k=fun(a,6); printf("max=%d\n",k);

wwjt(); }

void wwjt() { FILE *IN,*OUT; int iIN[10],iOUT,i,j; IN=fopen("28.IN","r"); if(IN==NULL) { printf("Please Verify The Currernt Dir..it May Be Changed"); } OUT=fopen("28.out","w"); if(OUT==NULL) { printf("Please Verify The Current Dir.. it May Be Changed"); } for(j=0;j<10;j++) { for(i=0;i<10;i++) fscanf(IN,"%d",&iIN[i]); iOUT=fun(iIN,10); fprintf(OUT,"%d\n",iOUT); } fclose(IN); fclose(OUT); }

8、/*-----------------------------------------------【程序设计】 --------------------------------------------------

功能:编写程序求无理数 e 的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当 1/n!<0.000001 时 e=2.718282。

------------------------------------------------*/

#include <stdio.h> void wwjt();

main() { float fun(); printf("无理数 e 的值是:%f\n",fun()); wwjt(); }

float fun() { /**********Program**********/

/********** End

**********/

}

void wwjt() { FILE *IN,*OUT; float o; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Read FILE Error"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Write FILE Error"); } o = fun(); fprintf(OUT,"%f\n",o); fclose(IN);

fclose(OUT); }

1、 函数 rewind 的作用是使位置指针重新返回文件的开头 2、 若有以下的定义:int t[3][2];能正确的表示 t 数组元素的地址的表达式是 t[2] 3、 若有以下定义。则对 a 数组元素地址的正确引用的是 int a[5],*p=a;------ p+2 4、 /*------------------------------------------------------5、 【程序填空】 --------------------------------------------------------功能:数组名作为函数参数,求平均成绩。

-------------------------------------------------------*/ #include <stdio.h> float aver(float a[ ]) { int i; float av,s=a[0]; for(i=1;i<5;i++) /***********SPACE***********/ s+=【?】[i]; av=s/5; /*定义求平均值函数,形参为一浮点型数组名*/

/***********SPACE***********/ return 【?】; }

void main() { float sco[5],av; int i; printf("\ninput 5 scores:\n"); for(i=0;i<5;i++) /***********SPACE***********/ scanf("%f",【?】); /***********SPACE***********/ av=aver(【?】); printf("average score is %5.2f\n",av); }

6、/*------------------------------------------------------【程序填空】 ---------------------------------------------------------

功能:输出两个整数中大的那个数,两个整数由键盘输入。

-------------------------------------------------------*/

#include <stdio.h> #include <stdlib.h>

void main() { int *p1,*p2; /***********SPACE***********/ p1=【?】malloc(sizeof(int)); p2=(int*)malloc(sizeof(int)); /***********SPACE***********/ scanf("%d%d",【?】,p2); if(*p2>*p1) *p1=*p2; free(p2); /***********SPACE***********/ printf("max=%d\n",【?】); }

7、/*-----------------------------------------------------【程序改错】 --------------------------------------------------------

功能:读取 7 个数(1-50)的整数值,每读取一个值,程序打印 出该值个数的*。

------------------------------------------------------*/

#include <stdio.h>

main() { int i,a,n=1; /**********FOUND**********/ while(n<7) { do { scanf("%d",&a);

} /**********FOUND**********/ while(a<1&&a>50); /**********FOUND**********/ for(i=0;i<=a;i++) printf("*"); printf("\n"); n++; } }

8、/*-----------------------------------------------【程序设计】 --------------------------------------------------

功能:编写函数 fun 计算下列分段函数的值: x^2+x+6 f(x)= x^2-5x+6 x^2-x-1 x<0 且 x≠-3 0≤x<10 且 x≠2 及 x≠3 其它

------------------------------------------------*/

#include <stdio.h> void wwjt();

float fun(float x) { /**********Program**********/

/********** End }

**********/

main() { float x,f; printf("input x="); scanf("%f",&x); f=fun(x); printf("x=%f,f(x)=%f\n",x,f); wwjt(); }

void wwjt() { FILE *IN,*OUT; int n;

float i; float o; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Read FILE Error"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Write FILE Error"); } for(n=0;n<10;n++) { fscanf(IN,"%f",&i); o=fun(i); fprintf(OUT,"%f\n",o); }

fclose(IN); fclose(OUT); }

9、/*-----------------------------------------------【程序设计】 --------------------------------------------------

功能:用辗转相除法求两个整数的最大公约数。

------------------------------------------------*/

#include<stdio.h> void wwjt();

int gcd(int n,int m) { /**********Program**********/

/********** End }

**********/

main() { int n,m,result; scanf("%d%d",&n,&m); result=gcd(n,m); printf("the gcd is %d\n",result); wwjt(); }

void wwjt() { FILE *IN,*OUT; int m,n; int i[2]; int o; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Read FILE Error"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Write FILE Error"); } for(n=0;n<6;n++) {

for(m=0;m<2;m++) { fscanf(IN,"%d",&i[m]); } o=gcd(i[0],i[1]); fprintf(OUT,"%d\n",o); } fclose(IN); fclose(OUT); }


赞助商链接

更多相关文章:
C语言上机题及答案
C语言上机题及答案 - C 语言程序设计上机题 1. 编写函数实现从键盘输入一个字符串,再将其逆序输出。 #include<stdio.h> //宏定义 #include<string.h> /...
C语言上机练习汇总及答案
C语言上机练习汇总及答案_教学研究_教育专区。完整的c语言题库,妈妈再也不用担心我的C程了! C 程序设计上机练习汇总 1) 2) 3) 4) 5) 6) 7) 8) 9) ...
2016年3月全国计算机等级考试二级C语言上机考试题库及答案
2016年3月全国计算机等级考试二级C语言上机考试题库及答案_IT认证_资格考试/认证_教育专区。2016年3月全国计算机等级考试二级C语言上机考试题库及答案 ...
C语言上机题目来源及答案
C语言上机题目来源及答案 - “C 语言”上机题目汇总 2012-2013-2 1. 输入三角形两个边长及其夹角(角度值) ,求第边边长和三角型面 积。 (上机指导 P98 3...
2018年3月二级C语言上机题库及答案
2018年3月二级C语言上机题库及答案 - 程序填空题: 给定程序中,函数 fun 的作用是: 注意:部分源程序在文件 BLANK.C 中。 不得增行或删行,也不得更改程序的...
哈工大计算机考研复试C语言上机试题及答案
哈工大计算机考研复试C语言上机试题及答案_研究生入学考试_高等教育_教育专区。哈工大计算机专业2012年C语言机试真题、答案 2012 年: 题目描述: 一个百万富翁遇到一...
2017年3月计算机二级C语言上机题库
2017年3月计算机二级C语言上机题库 - 2017 年 3 月计算 机二级 C 语言上机题 库 第一套 1. 程序填空 程序通过定义学生结 构体数组, 存储了若干 个学生的...
C语言上机练习汇总及答案
C语言上机练习汇总及答案_工学_高等教育_教育专区。浙江大学C语言上机练习及答案...digit3); return 0; } 20016 计算 x 的平方(改错题 error02_2) 程序填空...
C语言上机作业题及答案
C语言上机作业题及答案 - 实验一: 1、已知华氏温度,根据转换公式计算相应的摄氏温度。 摄氏温度= 5*(华氏温度-32)/9 2.任意输入一个有五位数字的正整数,逆序...
c语言上机考试训练题库及答案
c语言上机考试训练题库及答案 - 上机考试习题集 1.编写程序,一次输入 5 个学生的 3 门课成绩,每输入一个学生的 3 门成绩后, 立即统计并输出该学生的总分和...
更多相关标签:

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图