《C语言程序设计试卷(共13页).doc》由会员分享,可在线阅读,更多相关《C语言程序设计试卷(共13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 说明:请将单项选择题(150空)的正确答案涂写考试答题卡,将填空(5175空)等文字题按【 】中的序号写入下面文字答题卡,否则不得分。二、阅读程序题文字答题卡:(每空2分,共24分)1题【51】1题【52】2题【53】3题【54】4题【55】5题【56】6题【57】7题【58】7题【59】8题【60】9题【61】10题【62】三、完善程序填空题文字答题卡:(每空2分,共26分)1题【63】2题【64】【65】【66】3题【67】【68】【69】4题【70】【71】【72】5题【73】【74】【75】一、单项选择题(每空1分,共50分)请将正确答案按【】中的序号写入答
2、题卡,否则不得分。1C源程序的扩展名为 【】 。A)C B)DLL C)EXE D)DOC2按照标识符的要求, 【】 符号不能组成标识符。A) 数字符号 B)下划线 C) 连接符 D) 大小写字母3设有说明:char c;int a; float x ; double y;则表达式c*a+y-x 值的数据类型是 【】 。A) double B) char C) int D) float4已知小写字母a的ASCII码值是97,大写字母A的ASCII码值是65,下列语句中不能输出大写字母B的是 【】 。A) putchar(A+1);B) putchar(b-32); C) putchar(98-
3、32);D) putchar(B);5在C语言中,数值常量0x9f对应十进制值是 【】 。A)160B) 87C) 9f D) 1596整型变量a定义后赋初值的结果是 【】 。 int a=28*6;A) 12B) 16C) 17D) 187将小写字母n赋值给字符变量one_char,正确的操作是 【】 。A)one_char=n;B) one_char=”n”; C)one_char=110;D) one_char=N;8若有以下说明和语句,则输出结果是 【】 。 char s10=a test!; printf(%d,strlen(s);A) 6 B) 8 C) 7 D) 99下面的程序结
4、果为: 【】 。 main() int a; printf(%dn,(a=3*5,a*4,a+5); 执行完输出函数后,a的值是 【】 。A)65B) 20 C) 15D) 10 10下列运算附中,优先级最低的是 【】 。A)& B) & C) D) |11C语言的下列运算符中,运算对象必须是整型数据的是 【】 。A)% B) / C)& D)*12设有以下语句:int x=10;x+=3+x%(-3),则x的值是 【】 。A) 14B) 15C) 11 D) 1213下面程序的输出结果是 【】 。main() int a=-1,b=4,k; clrscr(); k=(a+=0)&(!(b-=
5、0); printf(%d,%d,%dn,k,a,b);A)1,1,2B)1,0,3C) 0,1,2D) 0,0,314下面哪个表达式的值为4 【】 。A)11/3B) 110/3C)(float)11/3D)(int)(110/3+05)15下列程序的运行结果是 【】 。 main() int x=0,y=1,z=0;if(x=z=y)x=3;printf(“%d,%dn”,x,z); A) 3,0 B) 0,0 C) 0,1 D) 3,116下面程序的输出结果是 【】 。main()int x=2,y=-1,z=2;if(xy)if(yy)printf(“xy”);elseprintf(“
6、xy”); A) 33 C) xy D) xy18若有条件表达式x?a+:b-,则以下表达式中能完全等价于表达式x的是 【】 。A) (x= =0) B) (x!=0) C) (x= = 1) D) (x!=1)19结构化程序设计的三种基本结构是 【】 。A) 顺序结构、选择结构、循环结构B) 顺序结构、转移结构、递归结构C) 嵌套结构、选择结构、递归结D) 嵌套结构、循环结构、顺序结构20下面的程序main() int i;for(i=0;i10;i+);printf(%dn,i); 的输出结果是 【】 。 A) 0B) C) D) 1021do语句的循环次数为 【】 。int a=10;d
7、o a-; while (a!=0)A) 10B) 9C) 11D) 1222下面程序段的运行结果是 【】 。int n=0;while(n+=2);printf(“%d”,n); A)2 B) 3 C) 4 D) 出错信息23对以下程序段的叙述正确的是 【】 。int k=0;while(k=0) k=k-1;A) while循环之行10次B) 无线循环C) 循环体一次也不执行D) 循环体被执行一次24下面程序的运行结果是 【】 。 main() int i,b,k=0; for(i=1;i=0) k+; printf(“%d,%dn”,k,b); A) 3,-1 B) 8,-1 C) 3,
8、0 D) 8,-225以下不正确的定义语句是 【】 。A) double x5=2.0,4.0,6.0,8.0,10.0;B) int y5=0,1,3,5,7,9;C) char c1=1,2,3,4,5;D) char c2=x10,xa,x8;26以下不能对二维数组a进行正确初始化的语句是 【】 。A) int a23=0;B) int a3=1,2,0;C) int a23=1,2,3,4,5,6;D) int a3=1,2,3,4,5,6;27下面的程序运行时,若从键盘输入 What does this word mean? 则输出 What does this word mean?
9、 请将程序填完整。 #include main( ) char s110,s210,s310,s410; scanf(%s%sn,s1,s2); 【】 ; scanf(%s,s4); printf(%s %s %s %sn,s1,s2,s3,s4); A) gets(s3); B) scanf(%sn,s3); C) scanf(%s,s3); D) getchar(s3);28设有说明 char *a = No smoking!; 则以下不能正确输出的语句是 【】 。A) printf(% s, &a ); B) printf(% s, a );C) puts( a ); D) puts (
10、No smoking!);29以下程序的输出结果是 【】 。#include main() char str12=s,t,r,i,n,g,0; printf(%d,strlen(str); A) 12 B) 11 C) 7 D) 630以下程序的输出结果是 【】 。main() int i, x33=1,2,3,4,5,6,7,8,9;for(i=0;i3;i+) printf(%d,xi2-i);A) 1,5,9, B) 1,4,7, C) 3,5,7, D) 3,6,9,31若有说明 int x ; 则下面判断不正确的是 【】 。A) x和(&x)0等价 B) x和*&x等价 C) &x和
11、x0等价 D) *&x和(&x)0等价32下面说明不正确的是 【】 。A) char a10=china; B) char a10,*p=a; p=chinaC) char *a; a=china; D) char a10,*p; p=a=china33设己定义 static int a =0,1,2,3,4,5,6,7,8,9,*p= a, i ;其中0i9, 则对a数组元素的引用不正确的是 【】 。A) pp a B) *(ai) C) pi D) *(*(a+i )34若有以下定义和语句: int s45,(*ps)5; ps=s; 则下列叙述中不正确的是 【】 。A) ps+1与ps1
12、等价 B)*( ps+1)与ps1等价 C) ps11 与*(*( ps+1)+1)等价 D) *(ps+1) 与ps11 等价35C语言规定,函数返回值的类型是由 【】 。A) return语句的表达式类型所决定B) 调用该函数时的主调函数类型所决定C) 调用该函数时系统临时决定D) 在定义该函数时所指定的函数类型所决定36在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是 【】 。A) 地址传递 B) 单向值传递C) 由实参传给形参,再由形参传回实参 D) 传递方式由用户指定37请读程序:#include fun(char *s)char *p=s;while(*p !=0
13、)p+;return(p-s);main()printf(“%dn”,fun(“abcdef”);上面输出结果是 【】 。A)3 B)6 C)8 D)038在一个C源程序文件中,若要定义一个只允许在该源程序文件中所有函数使用的变量,则该变量需要的存储类别是 【】 。A) static B) externC) register D) auto39以下程序的输出结果是 【】 。int f() static int i=0;int s=1;s+=i; i+;return s;main() int i,a=0;for(i=0;i5;i+) a+=f();printf(%dn,a);A) 20 B) 2
14、4 C) 25 D) 1540若定义enum color red, green, blue, purple, yellow, black, orange cl;,执行语句c1=green+blue;后,以下选项中cl的结果正确的是 【】 。A)greenblue B)purple C)yellow D)编译出错41使用typedef定义一个新类型的正确步骤是 【】 。1. 把变量名全部删除换成一个新类型名2. 按定义变量的方法写出定义体3. 用新类型名定义变量4. 在最前面加上关键字typedefA)2,3,1,4B)1,3,2,4C)2,1,4,3D)4,2,3,142为了显示一个文本文件的
15、内容,在打开文件时,文件的打开方式应当是 【】 。 A)“r+” B)“w+” C)“wb+” D)“ab+”43在进行文件操作时,写文件的一般含义是 【】 。A)将计算机内存中的信息存入磁盘 B)将磁盘中的信息存入计算机内存C)将计算机CPU中的信息存入磁盘 D)将磁盘中的信息存入计算机CPU44已知函数的调用形式:fread(buffer,size,count,fp); 其中buffer代表的是 【】 。A)一个整型变量,代表要读入的数据项总数B)一个文件指针,指向要读入的文件C)一个指针,指向要存放读入数据的首地址D)一个存储区,存放要读入的数据项45若调用fputc函数输出字符成功,则
16、其返回值是 【】 。A)输出的字符 B)0 C)1 D)EOF46当读写二进制文件,没到文件末尾时,feof函数的值是 【】 。A)非零值 B)0 C)1 D)TRUE47编译预处理命令不可以放在 【】 。A) 源文件末尾 B) 函数内部 C) 函数外部 D) 源程序文件的开头48下列程序的运行结果是 【】 。 #define N 2#define M N+2#define CUBE(x) (x*x*x)main() int i ; i=CUBE(M) ; printf(%dn,i ); A) 12 B) 53 C) 64 D) 4149下列程序的运行结果是 【】 。 #define M 3#
17、define N M+1#define NN N*N/2main() printf(%dn,5*NN); A) 17 B) 18 C) 30 D) 4050以下程序段的输出结果是 【】 。main() char s=141141abct;printf (%dn,strlen(s);A) 9 B) 12 C) 13 D) 14二、阅读程序题 (每空2分,共24分)请将正确答案按【】中的序号写入文字答题卡,否则不得分。1执行下面程序段后,x的值是 【51】 ;i的值是 【52】 。int i,x;for (i=1,x=1; i=10)break;if (x%2=1)x+=5;continue;x-
18、=3;2以下程序数据顺序输入为:8 6 5 4 1 回车,则的输出结果是 【53】 。main() int i,b5;for(i=0;i-1;i-)printf(%5d,bi);printf(n);3下列程序的输出结果是 【54】 。#include main() int a34=1,2,3,4,5,6,7,8,9,10,11,12; printf(%d,%dn,*(*a+2),*a2);4下列程序的输出结果是 【55】 。main() int a5=12,21,13,6,18;int *p,*s;for(p=a,s=a; p-a*s ) s=p;printf(%dn,*s);5下列程序的输出
19、结果是 【56】 。main() char *a=I love China!; a=a+7; printf(%s n,a); 6有如下程序,该程序的输出结果是 【57】 。 main() char ch25=“6937”,”8254”,*p2; int i,j,s=0; for(i=0;i2;i+) pi=chi; for(i=0;i0;j+=2) s=10*s+pij-0; printf(“%dn”,s); 7以下程序则输出结果是f ( int a) int b=0;static int c = 3;b+; c+;return(a+b+c);main() int a = 2, i;print
20、f(%dn,f(a); 【58】 printf(%dn,f(a); 【59】 8下列程序的输出结果是 【60】 。int b=2;int func(int *a) b += *a; return(b);main() int a=2, res=2;res += func(&a);printf(%d n,res);9以下程序的输出结果是 【61】 。int d=1;func(int p) int d=7; d=p; printf(“%d ”,d); return(d);main() int a=3;printf(“%dn”,func(a+func(d);10以下程序的输出是 【62】 。struc
21、t st int x; int *y; *p;int dt4= 10,20,30,40 ;struct st aa4= 50,&dt0,60,&dt1,70,&dt2,80,&dt3;main() p=aa;printf(%dn,+p-x);三、完善程序填空题(每空2分,共26分) 请将正确答案按【】中的序号写入答题卡,否则不得分。1求1100以内能被3整除且含数字5的数#include main()int i,a,b,c;for (i=1;i100;i+) a=i%10;b=i/10;if ( 【63】 )printf(%dt,i); 2以下程序输入了20个数存放在一个数组中,并且输出其中最
22、大者与最小者、,20个数的和及它们的平均值。请填空。void main() char array20; int max,min,average,sum=0; int i; for(i=0;i20;i+) printf(请输入第%d个数:,i+1); scanf(%d,&arrayi); max=array0; min=array0; for(i=0;i=19;i+) if(maxarrayi) 【65】 ; sum= 【66】 ; average = sum/20; printf(20个数中最大值是%d,max); printf(最小值是%d,min); printf(和是%d,sum); p
23、rintf(平均值是%d.n,average);3下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。请填空。#include #include main() char a=clanguage,t;int i, j, k;k= 【67】 ; for(i=0; i=k-2; i+=2)for(j=i+2; j=k; 【68】 )if( 【69】 ) t=ai; ai=aj; aj=t; puts(a);printf(n);4下面程序的功能是:主函数通过调用average函数计算数组中各元素的平均值。请填空。float average (int *pa, int n)in
24、t i;float avg=0.0;for (i=0;in;i+)avg=avg+【70】 ;return (【71】 );main()int i,a5=2,4,6,8,10;float mean;mean=average (【72】 ,5);printf (平均值=%fn, mean);5以下程序用来从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差,例如:输入的两个字符串分别为abcdef和abceef,则输出为-1,请填空。 #include main() char str1100,str2100,c; int i,s; printf(n input
25、 string 1:n); gets(str1); printf(n input string 2:n); gets(str2); i=0; while(str1i=str2i&(str1i!= 【73】 ) i+; s= 【74】 ; /* 不要填比较函数 */ printf(%dn, 【75】 ); 1A 2C 3A 4D 5D 6B 7C 8C 9B 10B11A 12A 13B 14D 15D 16C 17D 18B 19A 20D21A 22C 23C 24D 25B 26C 27A 28A 29D 30C31C 32D 33D 34D 35D 36B 37B 38A 39D 40B41C 42A 43A 44C 45A 46B 47A 48A 49B 50A110621 4 5 6 833,94215Chian!663857788691 4 410511i%3=0 & (a=5 | b=5)2【1】 max=arrayi【2】 min=arrayi【3】 sum+arrayi3【1】 strlen(a)【2】 j+=2【3】 aiaj4【1】*(pa+i) 或 pai【2】 avg/n【3】a5【1】 0 或0 【2】 strli-str2i【3】 s专心-专注-专业
限制150内