c语言二级考试试卷,二级 C语言考试试卷

《二级 C语言考试试卷》由会员分享,可在线阅读,更多相关《二级 C语言考试试卷(10页珍藏版)》请在人人文库网上搜索。

1、二级 C语言考试试卷(考试说明及第一部分计算机基础知识略)第二部分 C语言程序设计一、选择题(用答题卡答题,答案依次填在2130答题号内)21. 若有声明语句char s110=0,s210= books;则能将字符串books赋给数组s1保存的表达式是 21 。A. s1=”books”; B. strcpy(s2,s1);C. s1=s2; D. strcat(s1,s2);22. 表达式(a=4*5,b=a*2),b-a,a+=2的值是 22 。A2 B. 20 C. 22 D. 42 23. 以下是一个自定义函数的头部,其中正确的是 23 。A. int fun(int a ,b) B。

2、. int fun(int a ,int a)C. int fun(int * a,int b) D. int fun(char a ,int b)24. 以下数组声明语句中正确的是 24 。Aint n,an; B. int a ;C. int a23=1,2,3; D. int a 3=1,2,3; 25已知在某C语言编译系统中表达式sizeof(int)的值是2,如果希望将常量-70000正确地保存在一个变量a中,该变量声明语句应当是 25 。Aint a; B. long int a;C. unsigned int a; D. unsigned long int a;26. 以下声明语。

3、句中,用于声明一个行指针变量的是 26 。A. int *p(int); B. int *p;Cint (*p)3; D. int (*p)(int);27. 已知A盘根目录下的一个文本数据文件data.dat中存储了100个int型数据,若需要修改该文件中已经存在的若干个数据的值,只能调用依次fopen函数,已有声明语句;则fopen 函数的正确调用形式是 27 。A. fp=fopen(”a:data.dat”,”r+”); B. fp=fopen(”a:data.dat”,”w+”);C. fp=fopen(”a:data.dat”,”a+”); D. fp=fopen(”a:data.。

4、dat”,”w”);28. 在以下程序中,需要在fun函数中声明一个int型的变量,以下选项中 28 不能用作该变量的名字。Ax B. y C. fabs D. fun #includeint y;main( )int a=1;fun(a);int fun(int x) ; /* int型变量声明语句位置*/ /*若干执行语句*/29如有语句:int x,y=0,z,* p3;p0=&x;p1=&y;p2=&z; 以下表达式中有语法错误的是 29 。Ay+ B. p+ C. *+p0 D. (*p0)+30. 设有声明语句:int a33=1,2,3,4,5,6,7,8,9;以下语句中除 30。

5、 外均能输出a12的值。Aprintf(“%d”,*(*(a+1)+2); B. printf(“%d”,*(&a20-1);C. printf(“%d”,*(a1+2); D. printf(“%d”,*(a+1)2);二、填空题(将答案填写在答题纸的响应答题号内,每个答案只占一行)l 基本概念题(共5分)1只能在循环体中出现的语句是 (1) 语句。2 & 既可以用作单目运算符也可以用作双目运算符,其中用作单目运算符时表示的功能是 (2) 。3包含二目运算符的表达式可一般的表示为(x)op(y),其中op代表运算符x、y代表操作数。若op 是“+”运算符,且x和y均为常量时,不能同时为 (3。

6、) 常量。4当 (4) 语句被执行时,程序的执行流程无条件地从一个函数跳转到另一个函数。5在函数内部声明局部变量时缺省了存储类型,该变量存储类型为 (5) 。l 阅读程序写出运行结果题(共10分)6以下程序段运行后,x、y、z的值分别是 (6) 。int x=0,y=3,z=2;if(x+&y+)z-;else if(x+1=6|y-)z+;7. 设有以下宏定义:#define N3#define Y(n) (N+1)* n)则执行语句z=2 * (N+Y(5+1);后,z的值为 (7) 。8程序int x=1;main( ) int y,k;y=f(3);printf(“%dn%d”,x,y。

7、);int f(int x) if(x=3) int x=2;return x;else return x;该程序运行后,输出x 的值是 (8) ,y的值是 (9) 。9程序main()int a33=1,2,3,4,5,6,7,8,9,m,k,t;for(m=0;mint convert(char s1 ,char s2 ,int *n1) int i=0,j=0,k,s=0,len;int value=0;char tab16=”0123456789ABCDEF”;len = strlen(s1);if(len%4) for(i=0;ixn-1)(17) =m;else for (i=; 。

8、(18) ;i+);for(j=n;j=i;j-)xj= (19) ;xi=m;13 程序功能:查找满足下列条件的m,n值。给定正整数k,0main( ) long m,n,k,s,flag=0;printf(input k:);scanf(%ld,&k);n=k;do m=_(20)_;do s=n*(n-m)-m*m;if(s*s=1) (21) ;else m-; while(m0&! flag);if(m=0) (22) ;while(n0&! flag);printf(m=%ld,n=%ld,m,n);14 已知链表中结点的数据结构定义如下:# includestruct node 。

9、int x;struce node *next;;函数loop功能:根据dir的值循环移位head指向的链表中的所有结点,当dir为正整数时实现循环右移一次,否则循环左移一次。函数返回链表首结点的指针。例如,移位前的链表数据:head-1-3-5-4。右移一次后的链表数据:head-4-1-3-5。算法提示:循环右移时,将链表最后一个结点删除,再将其插入到链表首部;循环左移时,将链表的第一个结点删除,再将其连接到链表尾部。struct node *loop(struce node *head,int dir) struct *p1,*p2;p1=head;if(p1=null|p1-next=。

10、null) return head;if(dir=0)while(p1-next) p2=p1;p1=p1-next;(23) = null;p1-next= (24) ;head=p1;else head= (25) ;p2=head;while(p2-next)p2=p2-next;(26) ;p1-next=null;return head;15 程序功能:在一行文本中查找给定的单词。一行文本由字母和分隔符组成,分隔符包括若干空格,逗号,句号和换行符。一个单词由若干个连续字母组成。程序说明:main函数中的word数组存放欲查找的单词。find_word函数完成在t字符串中查找s指向的字。

11、母字符串的功能,如未找到返回0,找到则返回s串在t串中出现的次数并将所有出现位置的起始下标保存在x指向的数组中。#inclued#include#includeint find_word(char*, char*, int* );main( ) char text80=I will pass the examination in the summer holiday.,word20;int j,t,pos10;puts(enter a word to be found: );gets(word);t=find___word (text,word, (27) );if( (28) ) print。

12、f(Find word %sin text. It locate in,word);for (j=0;jnext (24)head(25)p1-next (26)p2-next = p1 (27)pos(28)t (29)ti+j (30)i+j-1二级 C语言上机试卷(本试卷完成时间70分钟)一、改错题(20分)【题目】以下程序中函数fixed的功能是:将实型数f转换为十进制字符串形式存放到数组c中,当f# include# define MAX 100void fixed(int f, char c) int i,j;double x;char *p= c,*q= c + MAX 1;if。

13、(f#include#define MAX 100void fixed (int f,char c ) /* 正确 double f int i , j ;double x ;char * p=c , *q=c+MXA-1 ; if ( f#includeint countvalue(int aa,int*p) int i,j,k=-1,cnt,f=-1;for(i=501;isqrt(i)f=-f;aa+k=i;*p=*p+f*aa*k;cnt= k+1;return cnt;main( ) int i,sum=0,coumt,a100;if(fp=fopen(“myf2.out”,”w”)=NULL) printf(“cant open file!”);exit(1);count=countvalue(a,&sum);for(i=0;icount;i+)fprintf(fp,(i+1)%5?”%5d”:”%5dn”,ai);fprintf(fp,”n”);fprintf(fp,”count=%d,sum=%dn”,count,sum);fclose(fp);运行结果:503 509 521 523 541 10 / 10。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值