资源描述:
《上海市计算机二级考试试题c模拟题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、·选择题1、若有以下语句:charx=3,y=6,z;z=y^x<<2;则z的二进制值是________________2、下列C语言的标识符中,合法的标识符为____________3、若有定义:structperson{intid;charname[20];}per,*s=&per;则以下对结构体成员的引用中错误的是____________4、若有定义:inti,j,*pi=&i;则与i==j等价的比较表达式是____________5、若已定义:intx;则表达式((x=4*5,x*5),x+25)的值是______。6、
2、程序段:intnum=0;while(num<=2)printf(“%d,”,num++);的运行结果是_______________7、若有说明语句:intx=10,y=20,z=30;则执行语句:if(x>y)z=x;x=y;y=z;printf(“%d,%d,%d”,x,y,z);后,输出是__________8、若有说明:inta[3][4],s;,则对数组a的元素引用错误的是____________9、若x是int类型变量,y是float类型变量,则为了将数据55和55.5分别赋给x和y,则执行语句:scanf(“x=
3、%d,y=%f”,&x,&y,);时,正确的键盘输入是______填空题1、假定建立了以下链表结构:structnode{intid;structnode*next;}*head,*p;如下图所示:指针p指向一个新结点,将新结点插入到链表成为头结点的两条C语言语句是【】2、下列程序的输出结果是________________f(inta[]){inti=0;while(a[i]<=10){printf(“%d”,a[i]);i++;}}main()····{inta[]={8,4,10,11,9,20};f(a+1);}3、设有
4、说明语句:inta=13,b=6;则a/b的十进制数值为________4、如果函数不要求带回值,可用____________来定义函数返回值为空.5、下列程序的输出结果是______________longfib(intg){switch(g){case0:return(0);case1:case2:return(2);}return(fib(g-1)+fib(g-2));}main(){longk;k=fib(4);printf("k=%ld",k);}6、设有说明语句:intx=3,y=2;则计算表达式(x=5)
5、
6、(
7、y=6*x)后变量y的值是_____________7、设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2后,t的值是_____________8程序填空1,将两个文本文件中字符'$'之前的内容合并到一个文件中去,其中函数voidsub(FILE*all,FILE*f1,FILE*f2)的功能是将文件指针f1,f2所指向的文件中的内容写到文件指针all所指向的文件中;main函数完成如下功能:先打开目标文件,再依次打开源文件,调用sub函数完成文件内容的拷贝。例如三个源文件
8、f1.txt,f2.txt,每个文件的内容分别如下文件名内容f1aaa$aaf2bbb$bb则产生一个新的目标文件fall.txt,包括f1,f2三个文件字符'$'之前的内容,fall的内容为aaabbb。#include#includemain(){FILE*f1,*f2,*fall;voidsub(______(1)________);if((fall=fopen(______(2)________))==NULL){printf("Cannotopenfile!");exit(1)
9、;····}if((f1=fopen("f1.txt","r"))==NULL
10、
11、(f2=fopen("f2.txt","r"))==NULL){printf("Cannotopenfile!");exit(1);}else{sub(______(3)________);______(4)________;}fclose(f1);fclose(f2);}voidsub(FILE*all,FILE*f1,FILE*f2){charc;while((c=fgetc(f1))!='$')fputc(c,all);while((c=
12、fgetc(f2))!='$')fputc(c,all);}2、有人说,满足公式p=n*n+n+41(n是正整数)的p一定是素数,下列程序验证这个说法是错误的。#includeintfun(intp){intn;for(n=2;n*n<=p;n