二级C考前强化班习题 - 图文(10)

2019-09-02 19:19

武汉光谷计算机学校 联系电话:027-62092619

for(i=1;i<4;i++) fprintf(fp,\ fclose(fp);

fp=fopen(\

fscanf(fp,\ printf(\ fclose(fp);

} 执行后输出结果是()

A)1 2 B)123 0 C)1 23 D) 0 0

50、有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END); 语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节) #include main( )

{ FILE *fp; int i,a[4]={1,2,3,4},b; fp=fopen(\

for(i=0;i<4;i++) fwrite(&a[i],sizeof(int),1,fp); fclose(fp);

fp=fopen(\;

fseek(fp,-2L*sizeof(int).SEEK_END);

fread(&b,sizeof(int),1,fp);/*从文件中读取sizeof(int)字节的数据到变量b中*/ fclose(fp);

printf(\}

执行后输出结果是()

A)2 B)1 C) 4 D)3

二、填空题(每空2分,共40分)

1、E-mail地址由用户名和域名两部分组成,这两部分的分隔符为【1】。 2、计算机网络分为广域网和局域网,因特网属于【2】。

3、从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令为【3】。

4、在Windows环境下,只要在\开始\菜单中单击【4】选项,就可以查阅最近打开过的文档清单。5、计算机的运算速度可以用MIPS来描述,1MIPS是指每秒执行【5】条指令。 6、已知字符A的ACSII码值为65,以下语句的输出结果是【6】 char ch=?B?;

printf(\7、有以下语句段 int n1=10,n2=20; printf(\【7】\

要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。 n1=10 n2=20

8、有以下程序 main( )

{ int t=1,i=5;

for(;i>=0;i--) t*=i; printf(\

} 执行后输出结果是【8】。 9、有以下程序 main( )

{ int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf(\

} 执行后输出结果是【9】。

46

武汉光谷计算机学校 联系电话:027-62092619

10、有以下程序 #include main( )

{ char ch1,ch2; int n1,n2;

ch1=getchar(); ch2=getchar(); n1=ch1-?0?; n2=n1*10+(ch2-?0?); printf(\

} 程序运行时输入:12<回车>,执行后输出结果是【10】。 11、有以下程序 void f( int y,int *x) {y=y+*x; *x=*x+y;} main( )

{ int x=2,y=4; f(y,&x);

printf(\ %d\\n\

} 执行后输出的结果是【11】。 12、函数fun的功能是计算xn double fun(double x,int n) { int i; double y=1;

for(i=1;i<=n;i++) y=y*x; return y;

} 主函数中已经正确定义m,a,b变量并赋值,并调用fun函数计算:m=a4+b4-(a+b)3。实现这一计算的函数调用语句为【12】。

13、下面rotate函数的功能是:将n行n列的矩阵A转置为A’,例如:

1 2 3 4 1 5 9 13 5 6 7 8 2 6 10 14

当 A=9 10 11 12 则 A’= 3 7 11 15 13 14 15 16 4 8 12 16 请填空

#define N 4 void rotate(int a[][N]) { int i,j,t;

for(i=0;i

for(j=0;【13】;j++) { t=a[i][j]; 【14】; a[j][i]=t; } }

14、以下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。

void sstrcpy(char *s,char *t) { while(*s++=【15】);} main( )

{ char str1[100],str2[]=\ sstrcpy(str1,str2); printf(\}

15、下列程序的运行结果是:【16】 #include char *ss(char *s)

{ return s+strlen(s)/2;} main( )

47

武汉光谷计算机学校 联系电话:027-62092619

{ char *p,*str=\

p=ss(str); printf(\}

16、下面程序的运行结果是:【17】 int f( int a[], int n)

{ if(n>1) return a[0]+f(&a[1],n-1); else return a[0]; }

main ( )

{ int aa[3]={1,2,3},s;

s=f(&aa[0],3); printf(\}

17、以下程序中给指针p分配三个double型动态内存单元,请填空。 # include main ( )

{ double *p;

p=(double *) malloc(【18】); p[0]=1.5;p[1]=2.5;p[2]=3.5;

printf(\}

18、以下程序的运行结果是【19】 # include typedef struct student{

char name[10]; long sno; float score; }STU; main( )

{ STU a={\ d=a;

if(strcmp(a.name,b.name)>0) d=b; if(strcmp(c.name,d.name)>0) d=c; printf(\}

19、以下sum函数的功能是计算下列级数之和。 S=1+x+x2/2!+x3/3!+........+xn/n! 请给函数中的各变量正确赋初值。 double sum( double x, int n ) { int i; double a,b,s; 【20】

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

{ a=a*x; b=b*i; s=s+a/b; } return s; }

附参考答案

01~10:DBCCB ADCAD 11~20:BBCAC DBCDA 21~30: ACBDD 31~40: CBADB ACADA 41~50: ABCCD ACBBD 填空题:

1、@ 2、广域网 3、EXIT或exit 4、文档 5、百万条或一百万条或1000000条 6、B 66 7、n1=%d\\nn2=%d 8、0 9、-4 10、12 11、8 4 12、fun(a,4)+fun(b,4)-fun(a+b,3); 13、j<=i 14、a[i][j]=a[j][i] 15、*t++ 16、6 17、efgh 18、3*sizeof(double) 19、2002Shangxian 20、a=1.0;b=1.0;s=1.0;

计算机等级考试考前培训二级练习题(C语言部分)

ADDCD 48

武汉光谷计算机学校 联系电话:027-62092619

编译预处理 结构体

姓名____________ 班级___________ 学号____________

1、若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元:

int *p;

p=__________ malloc( sizeof(int)); 则应填入

A) int B) inst * C) (*int) D) (int *) 2、请读程序:

#include main()

void fun(float *pl, float *p2, float *s) { float a[2]={1.1, 2.2}, b[2]={10.0, 20.0}, *s=a; { s=( float * )calloc( 1, sizeof(float)); fun(a, b, s)

*s=*p1+ *(p2++);} printf(\上面程序的输出结果是

A) 11.100000 B) 12.100000 C) 21.100000 D) 1.100000 3、下列程序的输出结果是

A) 5 B) 6 C) 7 D) 8 struct abc{ int a, b, c; }; main()

{ struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0],a+s[1],b; printf(\

4、下列程序执行后的输出结果是

A) 6 B) 8 C) 10 D) 12 #define MA(x) x*(x-1) main()

{ int a=1,b=2; printf(\

5、有以下结构体说明和变量的定义,且如下图所示指针p指向变量a,指针q指向变量b。则不能把结点b连接到

结点a之后的语句是

A) a.next=q; B) p.next=&b; C) p->next=&b; D) (*p).next=q; struct node { char data; struct node *next;} a,b,*p=&a,*q=&b;

┌──┬──┐ ┌──┬──┐ a │ 5 │ │ b│ 9 │ 0 │ └──┴──┘ └──┴──┘ ↑p ↑q 6、以下说法中正确的是

A)#define和printf都是C语句 B)#define是C语句,而printf不是 C)printf是C语句,但#define不是 D)#define和printf都不是C语句 7、以下选项中,能定义s为合法的结构体变量的是

A)typedef struct abc B)struct C)struct ABC D)typedef ABC { double a; { double a; { double a; { double a; char b[10]; char b[10]; char b[10];} char b[10];}

} s; } s; ABC s; ABC s; 8、以下程序的输出结果是

A)9 B)6 C)36 D)18 #define f(x) x*x main( )

{ int a=6,b=2,c; c=f(a) / f(b);

printf(\,c);}

9、设有如下定义: struct sk {int a;float b;}data,*p; 若有p=&data;,则对data中的a域的正确引用是

A)(*p).data.a B)(*p).a C)p->data.a D)p.data.a 10、若程序中有下面的说明和定义

struct abc {int x;char y;}

struct abc s1,s2; 则会发生的情况是

A)编译进错 B)程序将顺利编译`连接`执行

49

武汉光谷计算机学校 联系电话:027-62092619

C)能顺利通过编译`连接`但不能执行 D)能顺利通过编译`但连接出错 11、执行下面的程序后,a的值是

#define SQR(X) X*X main( )

{ int a=10,k=2,m=1;

a/=SQR(k+m)/SQR(k+m); printf(\

A)10 B)1 C)9 D)0 12、根据下面的定义,能打印出字母M的语句是

A) printf(\ B) printf(\C) printf(\ D) printf(\struct person { char name[9]; int age;};

struct person class[10]={\13、下面程序的输出是

A) 0 B) 1 C) 3 D) 6 main()

{ struct cmplx { int x; int y; } cnum[2]={1,3,2,7}; printf(\14、请读程序:

#include

#define SUB(X,Y) (X)*Y main()

{ int a=3, b=4;

printf(\} 上面程序的输出结果是

A) 12 B) 15 C) 16 D) 20 15、在宏定义 #define PI 3.14159中,用宏名PI代替一个

A) 单精度数 B) 双精度数 C) 常量 D) 字符串 16、请选出以下程序段的输出结果

#include

#define MIN(x,y) (x)<(y)? (x):(y) main() { int i,j,k;

i=10; j=15; k=10*MIN(i,j); printf(\

A) 15 B) 100 C) 10 D) 15 17、下面程序的输出结果为

struct st { int x;

int *y;} *p; int dt[4]={10,20,30,40};

struct st aa[4]={50,&dt[0],60,&dt[1], 70,&dt[2],80,&dt[3] }; main() { p=aa;

printf(\ printf(\ printf(\}

A) 10 B) 50 C) 51 D) 60 20 60 60 70 20 21 21 31

2005年4月全国计算机等级考试二级笔试试卷

50


二级C考前强化班习题 - 图文(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:对外贸易概论论文整理篇

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: