收藏 分享(赏)

计算机等级考试C笔试复习资料.doc

上传人:11xg27ws 文档编号:7848086 上传时间:2019-05-27 格式:DOC 页数:13 大小:174.50KB
下载 相关 举报
计算机等级考试C笔试复习资料.doc_第1页
第1页 / 共13页
计算机等级考试C笔试复习资料.doc_第2页
第2页 / 共13页
计算机等级考试C笔试复习资料.doc_第3页
第3页 / 共13页
计算机等级考试C笔试复习资料.doc_第4页
第4页 / 共13页
计算机等级考试C笔试复习资料.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、1计算机等级考试 C 语言笔试复习题 一、单选题:(请选择一个正确结果 )1下列语句的输出为( )int x=1;printf(“ %d,%u,%O“,x,x,x,) ;A)1,65535,177777 B)1,1,1C)1,32767,17777 D)1,32768,1777772若 x,y 为实数类型的变量,要判断 x,y 相等,最好使用下列关系表达式( )A)x= =y; B)xy= =0;C)fabs(xy) 1e8; D)labs(xy) 1e-8;3若有以下的定义、说明和语句,则值为 101 的表达式是( ) 。struct cwint a ;int *b; *p;int x0=1

2、1,12,x1=31,32;static struct cw x2=100,x0,300,x1;p=x;A)*pb B)paC)+ +(p a) D)(p+ +)a4若有以下定义和语句,则输出结果是( ) 。char *sp=“tb0Englishn“;printf(“%d“, strlen(sp);A) 12 B)3 C)17 D)135有如下程序void main() int x=23;do printf(“%d“,x);while(!x);该程序的执行结果是( )A)321 B)23C)不输出任何内容 D)陷入死循环6若已定义 x 和 y 为 double 类型,则表达式 x=2, y=

3、x+10/4 的值是( )A)2 B)4 C)4.0 D)4.57要将一个整数 12000 分别以 ASCII 码文件和二进制文件形式存放,各自所占的存储空间数分别是( )字节。A)5 和 2 B)2 和 5 C)2 和 2 D)5 和 58对于类型相同的两个指针变量之间,不可进行的运算是( )A)= = B)= C)+ D)9sizeof(a+10) 的值为( )类型。A)int B)float C)double D)char10若有定义 int a=3; 则执行完 printf(“%d“,a);语句后 a 的值为( )A)3 B)2 C) 2 D)311若有 float x=2.5;y=4

4、.7;int a=7; 则表达式 x+a%3*(int) (x+y)%2/4 的值为( )A)4.0 B)3.0 C)2.75 D)2.512语句 printf(“s=%5.3s“,“computer“); 的输出结果是( )A)s= com B) s=com C)s= ter D)s=ter13int a=3,b=4,c=5; 执行完表达式 a+ +b 则条件表达式 xy?1:2.3 的值为( )A)1 B)1.0 C)2.3 D)215若有定义 int i=2,a10,*p=p1=(*p1)+ +;printf(“%dn“,*p2);A)5 B)4 C)6 D)不确定17以下程序的输出结果

5、是( )int x=3,y=4;void main( ) int x,y=5;x=y+ +;printf(“%d“,x);A)3 B)4 C)5 D)618若#include 后面的文件名用双引号括起来,寻找被包含文件的方式是( )A)先按系统设定的标准方式查找,再在当前目录中查找B)先在当前目录中查找,再按系统设定的标准方式查找C)只在当前目录中查找D)只按系统设定的标准方式查找19程序设计的步骤一般分为:分析问题、构造模型、设计与描述算法、编写程序、调试程序和( )A)数据设计 B)算法分析C)编制程序说明文档 D)编译20表达式 11cp=c;(A)cp+1 (B)(cp+3) (C)*

6、(cp+1)+3 (D)*(*cp+2)23设有如下的程序段:char str =“hello“;char *ptr;ptr=str;执行上面的程序段后,*(ptr+5)的值为( ) 。(A)o (B) 0 (C)不确定的值 (D) o的地址24执行下面的程序段后,B 的值为( ) 。int x=35;char z=A;int B;B=(xfor(i=0;imain() int i=010,j=10;printf(“%d,%d“,+i,j-);(A)11,10 (B)9,10 (C)010,9 (D)10,927表达式 k=(120)b=1;else b=0;该程序所表示的数学函数关系是( )

7、(A) )0(1ab(B) )(C) )0(1ab(D) )(29在下列程序中,调用 f(8)的值是( )int f(int n) if(n= =1)return(1);else if(n= =2) return(2);else return(f(n-1)+f(n-2);(A)13 (B)21 (C)55 (D)3430在执行程序 china.exe 时,若输入的命令行为:china enlish Beijing,则程序执行结果为( ) 。#includevoid main(int argc, char *argv) while(argc1) printf(“%c“,*+argv);argc-

8、;(A)eB (B)ceB(C)china enlish Beijing (D)enlish Beijing31如 a 为 int 型,则与表达或 a 等价的 C 语言关系表达式是( )(A)a0 (B)a!=0 (C)a= =0 (D)a032循环语句 for(a=0,b=0;(b!=45)|(a=x后变量 x、y 的值应分别为( )。(A)2、4 (B)5、2 (C)5、10 (D)执行时报错45若 N 为整型变量,则 for(N=10;N=0;N-);循环里的循环体被( )。(A)无限循环 (B)执行 10 次(C)执行一次 (D)一次也不执行46在位运算中,操作数每左移一位,其结果相当

9、于( )A)操作数乘以 2; B)操作数除以 2;C)操作数除以 4; D)操作数乘以 4;47已有定义 int k=2;int *ptrl,*ptr2,且 ptrl 和 ptr2 均已指向变量 k,下面不能正确执行的赋值语句是( )A)k=*ptrl+*ptr2; B)ptr2=k;C)ptrl=ptr2; D)k=*ptrl*(*ptr2);49下面程序的输出是( )main()int x=l0,y=3;printf(“%dn”,y=x/y); A)0 B)1 C)3 D)不确定的值49已知:char s4=“cba“;char *p;执行语句序列p=s;printf(“%cn“,*p+1

10、;后,其输出为( )。A)字符c B)字符b C)字符a D)字符d50enum colorred,green,yellow=5,white,black定义了一枚举类型编译程序为枚举值表中各标识符分配的枚举值依次为( )A)1、2、3、4、5 B)0、1、5、2、3C)0、l、5、6、7 D)3、4、5、6、751运行完下列程序后,在屏幕上的内容是( )。main() int a=0;a+=(a=12);printf(%dn,a);A)0 B)6 C)12 D)2452运行下列程序并用键盘输入 53,48,32 后,在屏幕上的内容是( ) 。main() int i,j,k;scanf(%d,

11、%d,%d,if(i50)printf(%d,i);else if(i40)printf(%d,j);eles if(i30)printf(%d,k);else printf(Error);A)53 B)48 C)32 D)Error53设有下列语句typedef struct int n;charch8;Stt;则下面叙述正确的是( )。A)Stt 是结构体变量 B)Stt 是结构类型名C)typedef struct 是结构体类型D)swuct 是结构体类型名54函数 strcat(strl,str2)的功能是( )A)将字符串 strl 连接到字符串 str2 之后。B)将字符串 str

12、2 连接到字符串 strl 之后。C)将 str2 复制到字符串 strl 中。4D)将 strl 复制到字符串 str2 中。55若要用 fopen 函数打开一个新的二进制文件,该文件要既能读又能写,则文件读写方式字符串应是( )A)4 B)r+ C)wb+ D)“ab“56已知:int a34,*p=a0 ;p+=6;那么与*p 的值相同的是( )。A)*(a+6) B)*(D)*s1=_chinabeijing*s2= chi; 58如下程序运行后 m 的值为( )#include Void main () int m,n,k;m=(n=4)+(k=l0-7);printf(“m=%dn

13、“,m);A)4 B)3 C)7 D)1459下面程序运行情况是( ).#includeVoid main( )int x=3,y=0,z=0;if(x=y+z) printf(“*”);else printf(“#”);A)有语法错误不能通过编译 B)输出*C)可以通过编译,但不能通过连接,因而不能运行 D)输出#60执行下面的程序后,a 的值是( )#define SQR(x) x*xmain() int a=10,k=2,m=3;a/=SQR(m)/SQR(k);printf(“%dn”a);A)10 B)1 C)5 D)061在 C 程序中,同一程序中的各函数之间 ( )。A)既允许直

14、接递归调用也允许间接递归调用B)既不允许直接递归调用也不允许间接递归调用C)允许直接递归调用但不允许间接递归调用D)功允许间接递归调用但不允许直接递归调用62C 语言中,以下叙述错误的是( )。A)函数被调用时,系统才为形参分配内存B)实参和对应形参的数据类型必须一致C)实参可以是变量、常量或表达式D)形参可以是变量、常量或表达式63C 语言中,函数调用时若实参是数组名,则被调函数对应形参( ) 。A) 可以是相应类型简单变量B) 必须是相应类型的指针变量C) 必须是相应类型数组名D) 可以是相应类型的指针变量64一个数据类型为 void 的函数中可以没有 return 语句,那么函数的被调用

15、时( )A)没有返回值 B)返回一个系统默认值C)返回只有用户临时决定 D)返回一个不确定的值65有定义:floaty,*p= ,假定变量 y 在内存中所占地址为100103。那么 p 的值为( )。A)100 B)101 C)102 D)10366有定义:int a1010,*p=a0,j,k;,其中 j 和 k 表示数组元素下标并在数组允许范围内,那么能够正确引用元素 ajk值的是( )。A)*(aj+k) B)*(p+j)+k C)*(pj+k)D(a+j)+k67.在标准库函数的调用形式“fread(buffer,size,count,fp);”中,参数buffer 代表的是( )A)

16、 一个整数变量,代表要读入的数据项总数B) 一个文件指针,指向要读的文件C) 一个指针,指向读入数据存放的首地址D) 一个存储区,存放要读的数据项68.下列程序的执行结果是( )# include “stdio.h”union ssshort int i;char c2;void main( ) union ss x;x.c0=10;5x.c1=1;printf(“%d”,x.i);A) 11 B) 266 C) 265 D) 13869.在下列选项中,不正确的赋值语句是( )A) t/=5; B) n1=(n2=(n3=0); C) k=i=j; D) a=b+c=1;70.下面 c 程序运

17、行后变量 x 的值是( )# include “stdio.h”void main( ) int a,b,c,x;a=b=c=0;x=35;if (!a) x-; else if(b) ;if( c) x=3; else x=4;printf(“%dn”,x);A) 34 B)4 C) 35 D)3二、填空题l与语句 if(ab) max=a;else max=b;功能等价的赋值语句是 。2、下列程序的功能是对某班的某科的学生成绩 x 进行分段统计。要求将0,60,60,70,70,80,80,90,0,100这五个分数段的人数分别统计在 a5-a9中。学生成绩采用百分制。当非法输入时,结束统

18、计。#includevoidmain() float x;int i,k;static int a10;scanf(“f“,while(k=0struct node *next;struct node * creatlist( ) struct node *h,*p,*q;char ch;h=(struct node*)malloc(sizeof(struct node);p=q=h;ch=getchar( );while( ) p=(struct node*)malloc(sizeof(struct node);p-data=ch;q-next=p;q-p;ch=getchar( );p-n

19、ext=0;return h;5下述程序将磁盘中的一个文件复制到另一个文件中,文件名来自命令行。请填空。Void main(int argc,char*argv) FILE*fin,*fout;if(argcvoid main( ) int f20=1,1,i;for(i=2;ivoid main( ) int i,j,a56,max;for(i=0;ivoid main( ) int i,a10,*p=a;for(i=0;ivoid delnum(char*s) int i,j,for(i=0;j=0;si!=0;i+)if( ) sj=si; j+;sj=0;15以下程序用来统计文件 f.

20、dat 中字符的个数。#include “stdio.h“main() FLLE *fp;char ch;long num=0L;if(fp=fopen(“f.dat“,“r“)=NULL)printf(“Open Errorn“);exit(0);ch=fgetc(fp);7num=num+1;while( )fgetc(fp);num=num+1fclose(fp);printf(“num=%ldn“,num);16下面程序的作用是将两个字符串连接在一起。#includemain()char strl80=“abode“,*str2=“12345“, ;ptrl=strl;whilc(*+

21、ptrl);while(*ptrl+=*str2+)!=0);puts(strl);17以下程序是求取矩阵 A 的主对角线上元素之和。#include“stdio.h“int main( ) int a33=1,2,3,4,5,6,7,8,9,sum1=0,i,j;for(i=0;ivoid flnd(int*a,int n,int*max,int*min) int k;*max=*min=a0;For(k=l;ka*max ;if(akvoin main() char*a=“abcd”, “12345”, “efghijk”, “67890”;char ;int j=0;p=a;for(;j

22、,#define N 11void yh(aN) int j,k;for(j=1;j#includevoid main(int argc, argv)char *str; int count=0;if(argcvoid main( ) int total,sum,m,n; ;for (m=1;m0) ;sum=sum+digit*digit*digit;Printf(“sum=%dn”,sum);42.下面程序的功能是:判断从键盘上输入的整数是否为素数;请填空完成程序。int prime( ) int flag=1,I;for(i=2;ivoid main( ) union int i2;lo

23、ng k;char c4;r,*s=s-i0=0x39;s-i1=0x38;printf(“%cn“,s-c0);2下列程序的输出结果是( )#includevoid main( ) p(int *s,int *y);int i,a=11,22,32,41;int x=1;for(i=0;ivoid ff(char *p1,char *p2) while(*p2+=*p1+); viod main( ) char*p1=“abcde“,*p2=“1234567“;ff(p1,p2);printf(“%sn%sn“,p1,p2);4下面程序的输出结果是( )#includeint x=12,y=

24、7;void main( )int x=15,z;10z=x-y+;int y,z;while(y=x-) y/=3;if(y%3=0) z=(+y);break;printf(“%d,%d,%dn“,x,y,z);printf(“%d,%d,%dn“,x,y,z);5下面程序的输出结果是( )#includeextern int j=1;void main( ) void add( );int sum(int x);int k,s;add( );j+;printf(“j=%dn“,j);for(k=1;kvoid num() int x,y;int a=15,b=10;x=a-b;y=a+b

25、;int x,y;void main( ) int a=17,b=15;x=a+b;y=a-b;num( );printf(“%d,%dn“,x,y);7下面程序的运行结果是( )#includevoid main() struct cmplx int x;int y;cnum2=1,3,0,7;printf(“%dn“,cnum0.y/cnum0.x*cnum1.x);8下列程序的输出结果是( )。#includevoid sub(iht*a,int n,int k) if(kfind(int *a,int n) int *p,*s;for(p=a,s=a;p-a*s)s=p;return(

26、*s);void main() int x5=12,11,13,6,18;printf(“%dn“,find(x,5);10下列程序的运行结果是( )。#includeVoid main() int m,n,numl,num2,temp;numl=6;num2=52;if(num1void main() long fun(int n);printf(“%ldn“,fun(4);long fun(int n) long s;if(n= =1|n= =2) s=2;else s=n+fun(n-1);return s;12#includevoid main() int fun(int a);int

27、 a=2,j;for(j=0;jvoid main() int a33=2,4,6;int j,*p=for(j=0;j“,则程序的输出结果为#includevoid main() int s;while(s=getchar()!=n switch(s-2) case 0:case 1:putchar(s+4);case 2:putchar(s+4);break;case 3:putchar(s+3);default:putchar(s+2);break;15在下列程序中,若输入为:3275,则输出结果是#includevoid main() int x,y,t;scanf(%d“,16下列程

28、序的输出结果是( )#includevoid main( ) int m=0,n=0;char ch, s1=“countr“,s2=“side“;while(s1m!=0)m+;whlile(s2n!=0)s1m+=s2n+s1m=0;for(n=0;n#define PR(a)printf(“%dt“,a)void main( ) int j,aa=1,2,3,4,5,6,7,8,9,10,*p=aa+4;printf(“n“)for(j=4;j;j-)switch(j) default:PR(*p+);case 1:case 2:PR(*p-);break;case 3:PR(*(+p)

29、;18下列程序的输出结果是( )#includevoidmain() char*str=“1234567“,*ptr;12ptr=str;*(ptr+ 4)+=3;printf(“%c,%cn“, *ptr,*(ptr+4);19下列程序的输出结果是( )#includevoidmain( ) char ch25=“1234“,“5678“,*p2;int j,k,s=0;for(k=0;k0x=x+1;printf(“%2d“,x)void main() increment();increment(); increment();21.下面程序的输出结果是( )# include “stdio

30、.h”int func(int,int);void main( ) int k=4,m=1,p;p=func(k,m);printf(“%d,”,p);p=func(k,m);printf(“%d”,p);int func(int a,int b) static int m=1,n=2;n+=m+1;m=n+a+b;return m;22.下列程序的输出结果是( )# include “stdio.h”unsigned f(unsigned num) unsigned k=1;do k*=num%10;num/=10;while(num);return k;void main( ) int x

31、=35,y=550;printf(“%d,%dn”,f(x),f(y);23.阅读下面程序,给出输入数据 50,20 时的运行结果。# include “stdio.h”void aaa(int *p,int *q) printf(“please input x and y :n”);scanf(“%d,%d”,p,q);void bbb(int *p,int *q) printf(“The result is :%dn”,*p-*q);main( ) int x,y;void (*f)(int *p,int *q);f=aaa;(*f)(f=bbb;(*f)(24.阅读下面程序,给出程序执行

32、后的输出结果。# include “stdio.h”# define MAX(x,y) (x)(y)?(x):( y)main( ) FILE *p;int a=1,b=2,c=3,d=4,z;if (p=open(“d:data.txt”,”w”)=NULL)return;z=MAX(a+c,b+d);fprintf(p,”%dn”,z);fclose(p);fscanf(p,”%d”,printf(“ max value is: %dn”,z);25. 阅读下面程序,给出程序执行后的输出结果。# include “stdio.h”int f(int num,int run) static

33、int fact ,i;if (run=0)fact=1; i=1;fact*=i;if (+i=num)13f(num,1);return fact;main( ) printf(“f=%dn”,f(3,0);五、编程题1有一字符串,包含 n 个字符。写一个函数,将此字符串从第m 个字符开始的全部字符有制成为另一个字符串并输出这个字符串。例如,要求把字符串 abcdefg 中第 3 个字符开始的全部字符复制成为另一个字符串 cdefg.2实现判断一个正整数是否为素数的函数首部为 int isprime(int x),当 x 是素数时函数返回 1,否则返回 0。要求编制该函数并用相应的主函数进

34、行测试。3编写程序计算 100 至 999 之间有多少个数其各位数字之和是5。例如:122,131 是满足要求的数的两个例子。4编写一个函数 rcvmc(s)将字符串 s 中的字符位置颠倒过来。例如,字符串 abcdefg 中的字符位置颠倒后变为 gfedcba。5函数 adddigit 的原型为 int adddigit(int num);,其功能是求 num 各位数字之和。要求编制该函数并用相应的主函数进行测试。6函数的原型说明为 int chrn(char*s,char c);,其功能是测试 c在 s 中出现的次数,编制该函数并用相应的主函数对其进行测试。7.函数 delspace 的功能是删除一个字符串中所有的空格,并用主函数去测试。8.编程序实现功能:在一个元素值按升序存放的整型数组中插入一个数,使得插入后的数组元素仍然有序。9.字符串的比较、连接、复制和求长度的函数。10.编程序实现功能:一个正整数与 3 的和是 5 的倍数,与 3 的差是 6 的倍数,求出符合此条件的最小整数。11.编制程序求数列 1+2 +3 +20 的前 20 项之和,要21201求程序中使用循环结构控制各项的计算和求和。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报