《《C语言程序设计》考试模拟笔试试卷(B)【附答案】.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》考试模拟笔试试卷(B)【附答案】.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言程序设计考试模拟笔试试卷(B)【附答案】一、选择题(1到10题,每空1分;11到22题,每空2分;23到32题,每空3分;共70分)1)C语言的基本数据类型包括【 B 】(1分)A)整型,实型,逻辑型 B)整型,实型,字符型C)整型,字符型,逻辑型 D)整型,实型,逻辑型,字符型2)设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是【 B 】(1分)A)0至255 B)0至65535 C)-32768至32767 D)-256至2553)以下【 C 】组中的标识符都是合法的C语言用户标识符:(1分)A)a_10 B)CHAR C)_int D)signed
2、3ab a#b day a4)若有变量定义:int x; float y; char z10; 且执行语句scanf(%3d%f%3s,&x,&y,z);时,从第一列开始输入以下数据:12345$123%($符号代表空格),则x的值为【 B 】(1分)A)12345 B)123 C)345 D)45y的值为【 B 】(1分)A)无定值 B)45.0 C)45 D)123.0z的值为【 B 】(1分)A)$ B)123 C)123% D)无定值5)b在内存中以【 B 】个字节存放:(1分)A)1 B)2 C)3 D)不确定6)C语言中,十进制12的八进制常量形式为【 B 】(1分)A)14 B)
3、014 C)12 D)0x127)一个C程序总是从【 D 】开始执行。(1分)A)第一个子函数 B)最后一个函数 C)第一个函数 D)主函数8)以下不正确的转义字符是【 C 】(1分)A) B) C)074 D)09)下述合法的C语言的字符常量是【 D 】(1分)A)A B)65 C)A D)t10)C语言中的函数【 D 】(1分)A)可以嵌套定义 B)不可以嵌套调用C)可以嵌套调用,但不可以递归调用 D)嵌套调用和递归调用均可11)e=(34)?3:(12)?1:2; e的值为【 B 】(2分)A)1 B)2 C)3 D)412)a=3*4,a+5; a的值为【 B 】(2分)A)17 B)
4、12 C)60 D)513)执行下面语句段后x的值为【 D 】(2分) int a=14,b=15,x; char c=A; x=(a&b)&(ca);A)TRUE B)FALSE C)0 D)114)设x、y、z、m、n均为int型变量, m=10; n=5; x=(-m=n+)?(-m):(+n); y=m+; z=n;则执行上面语句段后,x值为【 D 】(2分)A)5 B)6 C)10 D)7y值为【 C 】(2分)A)11 B)6 C)9 D)10z值为【 D 】(2分)A)5 B)10 C)6 D)715)若char c10=%da101;则strlen(c)的值为【 C 】(2分)
5、A)9 B)10 C)5 D)416)C语言中函数返回值的类型是由【 D 】决定的(2分)A)return语句中的表达式类型B)调用该函数的主调函数类型C)调用函数时临时指定D)定义函数时所指定的函数类型17)若用数组名作为函数调用时的实参,则实际上传递给形参的是【 A 】(2分)A)数组首地址 B)数组的第一个元素值C)数组中全部元素的值 D)数组元素的个数18)若已经定义了x和y为double类型,则表达式:x=1,y=x+3/2的值是【 C 】(2分)A)1 B)2 C)2.0 D)2.519)下面不正确的赋值语句是【 D 】(2分)A)+t; B)n1=(n2=(n3=0);C)k=i
6、=j; D)a=a+b=1;20)有以下程序【 A 】(2分)main() int m=0256,n=256;printf(%o %on,m,n);程序运行后的输出结果是A)0256 0400 B) 0256 256 C) 256 400 D) 400 400 21)设有以下定义【 D 】(2分)int a=0; double b=1.25;char c=A;#define d 2则下面语句中错误的是A) a+; B) b+ C) c+; D) d+;22)有以下程序main( ) int x=102,y=012; printf(“%2d,%2dn”,x,y); 执行后输出结果是【 C 】(2
7、分)A) 10,01 B) 02,12 C) 102,10 D) 02,1023)下列程序执行后的输出结果是【 C 】(3分) void func1(int i); void func2(int i); char st=hello,friend!; void func1(int i) printf(%c,sti); if(i3)i+=2;func2(i); void func2(int i) printf(%c,sti); if(i3)i+=2;func1(i); main() int i=0; func1(i); printf(n); A) hello B) hel C) hlo D) hl
8、m24)运行下列程序段后,i的结果是【 C 】(3分) int i=10; switch(i) case 9: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; A)11 B)12 C)13 D)1425)下列程序输出结果是【 A 】(3分) main() int i; for(i=1;ia)|(m=ab);printf(%d,%dn,k,m);程序运行后的输出结果是【 C 】(3分)A) 0,0 B) 0,1 C) 1,0 D) 1,1二、程序填空(每空3分,共30分)1)要求打印出以下的杨辉三角形(共10行)。算法中用一维数组a依次实现各
9、行。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1main() int a10=1,0,i,j; for(i=0;i0;【1】 );/*生成第i行除首元素外的各元素*/ aj=aj+【2】 ; for(j=0;j=i;j+) /*打印第i行*/ printf(%3d,【3】 ); printf(n); 【1】j- 【2】aj-1 【3】aj2)以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。main() int i,a20,sum,count;sum=count=0;for(i=0;i20;i+) scanf(%d,【4】 );for(i=0;i0) coun
10、t+;sum+=【5】 ;printf(sum=%d,count=%dn,sum,count);【4】&ai或a+i 【5】ai或*(a+i)3)下面程序的功能是输出以下形式的金字塔图案是: * * * *main( ) int i,j; for(i=1;i=4;i+) for(j=1;j=4-i;j+) printf(“ “); for(j=1;j=【6】_ _;j+) printf(“*”); printf(“n”);【6】2*i-14)下面rotate函数的功能是:将n行n列的矩阵A转置为A,例如:则A1 5 9 132 6 10 143 7 11 154 8 12 16当A1 2 3
11、45 6 7 89 10 11 1213 14 15 16#define N 4main() int aN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16;int i,j,t; for(i=0;iN;i+) for(j=0;【7】 ;j+) t=aij; 【8】 ; aji=t; 【7】ji 【8】aij=aji5)以下程序的功能是计算s=1+,请填空。main() int n,i;double s=0.0,fac=1.0; scanf(%d,&n);for(i=1;i=n;i+)fac=fac【9】 ;s=s+fac;return s;【9】/i6)若有以下程序int f(int x,int y) return(y-x)*x); main() int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c);printf(%dn,d);执行后输出的结果是【10】 。【10】9