江苏省C语言二级模拟题.docx
《江苏省C语言二级模拟题.docx》由会员分享,可在线阅读,更多相关《江苏省C语言二级模拟题.docx(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第39页 共39页n更多企业学院: 中小企业管理全能版183套讲座+89700份资料总经理、高层管理49套讲座+16388份资料中层管理学院46套讲座+6020份资料国学智慧、易经46套讲座人力资源学院56套讲座+27123份资料各阶段员工培训学院77套讲座+ 324份资料员工管理企业学院67套讲座+ 8720份资料工厂生产管理学院52套讲座+ 13920份资料财务管理学院53套讲座+ 17945份资料销售经理学院56套讲座+ 14350份资料销售人员培训学院72套讲座+ 4879份资料模拟题1一、选择题(用答题卡答题,答案依次
2、填在2130答题号内)A21以下叙述中正确的是21。AC程序中注释部分可以出现在程序中任何合适的地方B花括号“”和“”只能作为函数体的定界符C构成C程序的基本单位是函数,所有函数名都可以由用户命名D分号是C语句之间的分隔符,不是语句的一部分C22若以下选项中的变量已正确定义,则正确的赋值语句是22。Ax1=26.8%3; B1+2=x2; Cx3=0x12;Dx4=1+2=3;D23有以下程序段int a10=1,2,3,4,5,6,7,8,9,10,*p=&a3,b ;b=p5;b中的值是23。A 5 B6 C8D9D24有如下定义 struct personchar name9; int
3、age; struct person class10= Johu, 17, Paul, 19, Mary, 18, Adam,16;根据上述定义,能输出字母M的语句是24。Aprintf( %cn,class3.name);Bprintf(%cn,class3.name1);Cprintf(%cn,class2.name1);Dprintf(%cn,class2.name0);AB25有以下程序main(int argc, char *argv ) int n, i=0; while(argv1i!=0) n=fun( ); i+; printf(%dn, n*argc); int fun(
4、) static int s=0; s+=1; return s;假设程序经编译、连接后生成可执行文件exam.exe,若键入以下命令行exam 123则运行结果为 25。A6 B8 C3 D4C26当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是26。Ac=b=a; B(a=c)(b=c); C(a=c)&(b=c);Da=c=b;CB27有以下程序段 main( ) int a=5,*b,*c; c=&b;b=&a; 程序在执行了c=&b;b=&a;语句后,表达式:*c的值是27。A变量a的地址 B变量b中的值C变量a中的值D变量b的地址AB28设有如下的变量定义:int i
5、=8,k,a,b;unsinged long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是28。Aa+=a-=(b=4)*(a=3)Bx%(-3)Ca=a*3=2Dy=float(i)AC29当执行以下程序段时29。x=-1;dox=x*x;while(!x);A循环体将执行一次 B循环体将执行两次C循环体将执行无限次D系统将提示有语法错误D30fread(buf,32,2,fp)的功能是30。A从fp文件流中读出整数32,存放在buf中B从fp文件流中读出32个字节的字符,存放在buf中C从fp文件流中读出整数32和2,存放在buf中D从fp文件流中读出2块
6、32个字节的字符,存放在buf中二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行)l 基本概念题(共5分)1设有以下变量定义,并已赋确定的值char w; int x; float y; double z;则表达式:w*x+z-y所求得的数据类型为 double 。2C语言中,有符号短整型的取值范围是 -3276832767 。3若有以下定义和语句: int a4=0,1,2,3, *p; p=&a2; 则*p的值是 1 。4在C语言中,形参的缺省存储类型是 auto 。5若执行fopen函数时发生错误,则函数的返回值是 0 。l 阅读程序题(共13分)6下列程序执行后的输出结
7、果的第一行是 a=6 ,第二行是 b5=10 。#includevoid func(int *a, int b ) int i; for(i=0;i=5;i+) *(b+i)+=*a+i; *a=*(b+i); main() int a, b10, i; a=0; for(i=0;i10;i+) bi=i; func(&a, b); printf(“a=%dn”a); printf(“b5=%dn”,b5);7以下程序执行后输出结果的第一个数是 6 ,第三个数是 4 ,最后一个数是 1 。void fun(int *a, int i, int j) int t; if(ij) t=ai; ai
8、=aj; aj=t; fun(a, +i, -j); main() int a =1,2,3,4,5,6, i; fun(a,0,5); for(i=0;i6;i+) printf(“%d”, ai); 8以下程序程序运行后的输出结果 1 65 1.5 6.5 。#includemain( )char str 20=Hello,Beijing,*p=str; printf(%dn,strlen(p+20);9以下程序运行后,输出结果是 1711717。#include fun(char *w,int n) char t,*s1,*s2;s1=w;s2=w+n-1;while(s1s2) t=*
9、s1+; *s1=*s2-;*s2=t;main( ) char *p;p=1234567 ;fun(p,strlen(p); puts(p);10以下程序的输出结果是 5,3,3,5 。void swap1(int c ) int t;t=c0; c0= c1; c1=t;void swap2(int c0,int cl) int t;t=c0; c0=cl; cl=t;main( ) int a2=3,5,b2=3,5;swapl(a); swap2(b0,b1);printf(%d, %d ,%d, %dn,a0,a1,b0,b1);11以下程序的输出结果是 6 。int fun(cha
10、r *s) char *p=s; while(*p!=0) p+;return (p-s); main() int len=0; len=fun(hello!); printf(%dn,len);12以下程序运行时输出结果第一行是 *ptr1=7,*ptr2=5 ,第二行是 a=7,b=5 。swap (int *p1, *p2)int p; p=*p1; *p1=*p2; *p2=p;main() int a=5, b=7, *ptr1, *ptr2; ptr1=&a, ptr2=&b; swap (ptr1,ptr2); printf(“*ptr1=%d,*ptr2=%dn”,*ptr1,
11、*ptr2); printf(“a=%d,b=%dn”,a,b);13以下程序运行后输出结果的第一行是 1,4,7,10,22 ,第二行是 1,3,9,27,40 。 extern int m1, m2; void fun(int n, int *p1, int *p2) int i; *p1=1; *p2=1; for(i=1;i=n;i+) *p1+=3;*p2*=3; m1+=*p1; m2+=*p2; int m1, m2; main() int i, k14, k24; for(i=0;i4;i+) fun(i, &k1i,&k2i); for (i=0;i4;i+) printf(
12、“%d,”,k1i; printf(“%dn”,m1); for(i=0;i4;i+) printf(“%d,”,k2i); printf(“%d”,m2);l 完善程序题(共12分)14以下程序中函数maxmin的功能为对于x中存储的一个任意的四位整数,求出(1)组成以这个整的四个数字由大到小排列后构成的最大的四位数,(2)组成以这个整数的四个数字由小到大排列后构成的最小的四位数。程序段如下:#include void maxmin(int x,int *pmax,int *pmin) int num4,i,j,k,temp; *pmax=0;*pmin=0; for(i=0;i4;i+)
13、numI=x%10;x= x/10 ; for(i0;i3;i+) k=i; for(j=i+1;j4;j+) if (numknumj) k=j; if ( k!=i )temp=numI;numI=numk;numk=temp; for(i=0;i4;i+) *pmax=*pmax*10+ *(num+i)或numi ;/*生成最大的四位数*/*pmin=*pmin*10+ *(num+3-i)或num3-i ;*生成最小的四位数*/ main() int n=3169,max=0,min=0; maxmin(n,&max,&min); printf(“n%d%d”,max,min);15
14、给定程序中,函数fun的功能是:求ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长N。请在程序的下划线处填上正确的内容,使程序得到正确的结果。#include #define M 5#define N 20int fun(char (*ss) N, int *n) int i, k=0, len=0; for(i=0; i*n) *n=len ; k=i; return(k);main() char ssMN=shanghai,guangzhou,beijing,tianjing,nanjing; in
15、t n,k,i; printf(nThe original strings are :n); for(i=0;iM;i+)puts(ssi); k=fun(ss,&n); printf(nThe length of longest string is : %dn,n); printf(nThe longest string is : %sn,ssk);16给定程序MODI1.C中函数fun的功能是:求出字符串中最后一次出现的子字符串的地址,通过函数值返回,在主函数中输入从此地址开始的字符串;若未找到,则函数值为NULL。例如,当字符串中的内容为:“abcdabfacdx“,t中的内容为:”ab
16、“时,输出结果应是abfacdx,当字符串中的内容为:“abcdabfabcdx”,t中的内容为:”abd“时,则程序的输出信息:not be found!#include #include #include char *fun(char *s,char *t) char *p,*r,*a;a=NULL; while(*s) p=s ;r=t; while(*r) if(*r= =*p) r+ ;p+; else break; if( *r= =0 )a=s; s+ ; return a;main( ) char s100,t100,*p; clrscr( ); printf(nPlease
17、enter string S :); scanf(%s,s); printf(nPlease enter substring t :); scanf(%s,t); p=fun(s,t); if(p) printf(nThe result is : %sn,p); else printf(nNot found !n); 17给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。#include #include #include typedef struct aa int dat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 江苏省 语言 二级 模拟
限制150内