C语言程序设计模拟试卷及答案(3).doc
自考C语言程序设计模拟试卷及答案(3)一、单项选择题1B2B3D4C5D6C7A 8C 9D 10A 11C 12D 13B 14D 15A 16B 17D 18B 19A 20C 21CB1. 设int x1,y1;表达式(x y)的值是B_A.0 B. 1 C. 2 D.-1C2.main( B) int n;( n6*4,n6),n*2;printf(“ndn”,n); 此程序的输出结果是C.A.30 B. 24 C. 60 D. 48D3.若有如下定义,则_D_是对数组元素的正确的引用。int a10 , *p ;pa ; pa ; pa ; pa ;A. *a10 B. a11 C. *(p10) D. *pC4.设整型变量n的值为2,执行语句“nn-n*n;”后,n的值是A. 0 B. 4 C. - 4 D. 2D5.以下不能正确定义二维数组的语句是_A . int a221,2; B. int a21,2,3,4;C. int a221,2,3; D. int a21,2,3,4;C D6. 程序段的功能是将变量 u 、s中的最大值赋给变量t .A. if(us) tu;ts; B. tu; if(t ) ts;C. if(us) ts;else tu; D . ts; if(u ) tu;A7.下列程序段的输出结果是 .void main() int k;for (k1;k5;k if(k20)printf(“”);elseprintf(“*”) ; A. ** B . ** C. D. 以上都不对C 8.设变量定义为 int a31,4,7,*pa2, 则*p的值是(35) .A. a2 B. 4 C. 7 D. 1D9.能正确表示a和b同时为正或同时为负的逻辑表达式是_.A.a0b0)(a0 b0) B.(a0 b0)(a0 b0)C.(ab0) (ab0) D. a*b0A10.C语言中,合法的字符型常数是_.A.A B.“A” C. 65 D. AC11.设有数组定义char array“China”; 则数组所占的空间是.A.4个字节 B.5个字节 C.6个字节 D.7个字节D12.若变量c为char类型,能正确判断出c为小写字母的表达式是_.A.acz B. (ca) (cz)C.(ac) and (zc) D. (ca) (cz)B13.设有定义long x-123456L; 则以下能够正确输出变量x值的语句是_.A.printf(“xdn”,x) B.printf(“xldn”,x)C.printf(“x8dln”,x) D.printf(“xLDn”,x);D14.下列关于指针定义的描述,_是错误的。A.指针是一种变量,该变量用来存放某个变量的地址值的。B.指针变量的类型与它所指向的变量类型一致。C.指针变量的命名规则与标识符相同。D.在定义指针时,标识符前的“*”号表示后面的指针变量所指向的内容。A15.已知int x;int y10;下列是合法的。A.x B.(x3) C.5 D .yB16.指出下面正确的输入语句.A. scanf(“abd”,a,b); B. scanf(“d,d”,a,b);C. scanf(“c”,c); D. scanf(“ fdn”,f);D 17.C语言中以追加方式打开一个文件应选择_参数。A.“r” B.“w”C.“rb” D.“a”B18.Break语句的正确的用法是( )。A. 无论在任何情况下,都中断程序的执行,退出到系统下一层。B. 在多重循环中,只能退出最靠近的那一层循环语句。C. 跳出多重循环。D. 只能修改控制变量。A19. 为表示关系xyz,应使用C语言表达式A.(xy)(yz) B. (xy) AND (yz)C.(xyz) D. (xz)(yz)C B20.以下可以作为C语言合法整数的是.A.1010B B. 0368 C.0Xffa D. x2a221.在函数中默认存储类型说明符的变量应该是_自动 存储类型。A.内部静态 B. 外部 C.自动 D. 寄存器二、判断题1 2 3 4 5 6 7 8 9 10三、填空1 号 2 0 3 chn ch0 ch94 将变量c中的字符显示到屏幕上。 5 指针变量p为整型6 FILE *fp 7 121. C 语言源程序文件通过了编译、连接之后,生成一个后缀为 . 的文件。 (FT )2. 在 C 程序中,函数既可以嵌套定义,也可以嵌套调用。(F )3. 在 C 程序中,APH 和aph 代表不同的变量。(T )4. 表达式0195 是一个八进制整数。(F )5. 表达式_ya是不合法的C语言标识符。(F )6. C程序总是从main( )函数的第一条语句开始执行的。(T )7. A-7等价于aa-7. (T )8. 利用fclose函数关闭已打开的文件。(T )9. 数组名可以作为参数进行传递。(T )10. 执行printf(“x”,12345);输出 12345 .(F )三、填空1.C语言的预处理语句以__开头。2.表达式782 25 5的结果是0_.3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。int n0, ch;chgetchar( );while( chn_ ) if ( _ ) n;cgetchar( ); 4.C语言中putchar(c ) 函数的功能是_输入字符串 将变量c中的字符显示到屏幕上.5.int *p 的含义是指针型变量_p为整形.6.定义fp为文件型指针变量的定义方法为_.7.数组 int a34;共定义了12_个数组元素。四、读出程序1. 改正下列程序中不正确的语句。main() int a8 , b1;aab;ba*b;printf(“d, d”,a,b); 2.写出下列程序的运行结果。fun(int a, int b) if(ab) return (a);Else return (b); main() int x3,y8,z6,r;rfun(fun(x,y),2*z);printf(“dn”,r); 3. 改正下列程序中不正确的语句。main() int n ;float s1.0;for(n10;n1;n- -)ss1.0/n;printf(“6.1fn”,s); 4. 写出下列程序的运行结果。main() int n;For(n3; n10; n) if(n5 0) break;Printf(“d”,n); 5.写出下列程序的运行结果。include “stdio.h”main() int a1,2,3,-4,5;int m,n,*p;pa0; pa0;m*(p2);n*(p4);printf(“d d d ”,*p,m,n); 五、编程序1.编程计算下列表达式s1234102.从键盘上输入a与n的值,计算sumaaaaaaaaaa(共n项)的和。例a2,n4,则sum2222222222.3.求3X3矩阵的主对角线元素之和。4.从键盘上输入10个数存入一维数组中,求这10数中的最大值与最小值并输出。5.从键盘上输入若干个字符存入文件write.txt中,遇到回车键输入结束。(用“n”表示回车键)参考答案一、单项选择题1 B 2B 3D 4C 5D 6C 7A 8C 9D 10A 11C 12D 13B 14D 15A 16B 17D 18B 19A 20C 21C二、判断题1 2 3 4 5 6 7 8 9 10三、填空1 号 2 0 3 chn ch0 ch94 将变量c中的字符显示到屏幕上。 5 指针变量p为整型6 FILE *fp 7 12四、读出程序1 printf(“d, d”,a,b); 2 123 ss1.0/n4. 3 45 1 3 5五、编程序1.include “stdio.h”main() long s0,t1;int i;for(i1;i10;i) tt*i;sst;printf(“ld”,s); 2include “stdio.h”main() int a,n count1,sn0,tn0;scanf(“d d”,a,n);while(countn) tntna;snsntn;aa*10;count; printf(“d”,sn); 3.include “stdio.h”main() int a33,i,j,s0;for(i0;i3;i)for(j0;j3;j)scanf(“d”,aij);for(i0;i3;i)for(j0;j3;j)if(ij)ssaij;printf(“d”,s); 4.include “stdio.h”main() int a10,max,min;for(i0;i10;i)scanf(“d”,ai);maxa0;for(i1;i10;i)if(aimax)maxai;mina0;for(i1;i10;i)if(aimin)minai;printf(“d d”,max,min); 5.include “stdio.h”main() int c;FILE *fp;fpopen(“write.txt”,“w”);cgetchar();while(cn) fputc(c,fp);cgetchar();fclose();