《C语言程序设计模拟题-必做》由会员分享,可在线阅读,更多相关《C语言程序设计模拟题-必做(37页珍藏版)》请在人人文库网上搜索。
1、C语言程序设计模拟题(1)一、选择题(1)能将高级语言程序转换成目标语言程序的是__ C____。 A)调试程序 B)解释程序 C)编译程序 D)编辑程序 (2)__A____是构成C语言程序的基本单位。 A)函数 B)过程 C)子程序 D)子例程 (3)可以在C语言中用做用户标识符的是__B___。 A)void B)as_b3 C)for D)2c define _123 -abc Do WORD If cas SIG (4)若有以下类型说明语句: char w; int x; float y, z; 则表达式w*x+z-y的结果为__D___类型。 A)float B)char C)in。
2、t D)double (5)main() float x=123.456; printf(%-5.2fn,x); 以上程序输出的结果是___D___。 A)123.4 B)123.5 C)123.45 D)123.46 (6)下面语句的输出结果是___C___。 printf(%dn,strlen(t065xffn); A)14 B)8 C)5 D)输出项不合法,无正常输出 (7)下列程序的输出结果是__B____。 main() int a=0,b=0,c=0; if(+a0| +b0) +c; printf(na=%d,b=%d,c=%d,a,b,c); A)a=0,b=0,c=0 B)a。
3、=1,b=1,c=1 C)a=1,b=0,c=1 D)a=0,b=1,c=1 (8)下列程序的输出结果是__B____。 main() int i; for(i=1;i+1;i+) if(i4) printf(%d,i+);break; printf(%d,i+); A)55 B)56 C)程序错误,没有输出 D)循环条件永远为真,死循环 (9)下列程序的输出结果是___A___。 #define A 100 main() int i=0,sum=0; do if(i=(i/2)*2) continue; sum+=i; while(+i代表回车符) aaa bbb A)aaa B)aaa C。
4、)aaa0bbb0 D)aaabbb Bbb bbb(20)下述函数功能是__A____。 int fun(char *x) char *y=x; while(*y+); return y-x-1; A)求字符串的长度 B)求字符串存放的位置 C)比较两个字符串的大小 D)将字符串x连接到字符串y后面 (21)以下程序的输出结果是__A____。 main() char str12=s,t,r,i,n,g; printf(%dn,strlen(str); A)6 B)7 C)11 D)12 (22)请读程序段: char str=ABCD,*p=str; printf(%dn,*(p+4); 。
5、程序段的输出结果是__B____。 A)68 B)0 C)字符D的地址 D)不确定的值 (23)若有定义:int a410;,则以下选项中对数组元素aij引用错误的是___B___。 (0 #include main() char *s1=AbCdEf,*s2=aB; s1+;s2+; printf(%dn,strcmp(s1,s2); 上面程序的输出结果是__A____。 A)正数 B)负数 C)零 D)不确定的值 (26)下面程序的输出是___A___。 char s=ABCD; main() char *p; for(p=s;p main() char *p=BOOL,OPK,H,SP;。
6、 int i; for(i=3;i=0;i-,i-) printf(%c,*pi); printf(n); A)SO B)SP C)SPOPK D)SHOB (29)以下程序的输出结果是__B____。 #include void prt(int *x,int *y,int *z) printf(%d,%d,%dn,+*x,+*y,*(z+); int a=10,b=40,c=20; main() prt(&a,&b,&c); prt(&a,&b, &c); A)11,42,31 B)11,41,20 C)11,21,40 D)11,41,21 12,22,41 12,42,20 11,21,。
7、41 12,42,22 (30)若一个外部变量的定义形式为static int x;,那么,其中static的作用应该是__C____。 A)将变量存储在静态存储区 B)使变量x可以由系统自动初始化 C)使x只能在本文件内引用 D)使x的值可以永久保留 (31)以下程序的输出结果是__B____。 #include #define SQR(x) x*x main() int a,k=3; a=+SQR(k+1); printf(%dn,a); A)8 B)9 C)17 D)20 (32)下面是对宏定义的描述,不正确的是___C___。 A)宏不存在类型问题,宏名无类型,它的参数也无类型 B)宏。
8、替换不占用运行时间 C)宏替换时先求出实参表达式的值,然后代入形参运算求值 D)宏替换只不过是字符替代而已 (33)已知小写字母a的ASCII码为97,大写字母A的ASCII码为65,以下程序的结果是___C___。 main() unsigned int a=32,b=66; printf(%cn,a|b); A)66 B)98 C)b D)B 二、填空题(每空2分) (1)若有定义int m=5,y=2,则执行表达式y+=y-=m*=y后,y的值为 【_____-16_________】 。 (2) 若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,。
9、fabs(x)的值为 【___8.0__________】 。 (3)设有char a,b;,若要通过a&b运算屏蔽掉a中的其他位,只保留第2位和第8位(右起为第1位),则b的二进制是 【_____】 。 (4)下列程序执行后输出的结果是 【_______7__________】 。 f(int a) static c=0; c=a+c+; return(c); main() int a=2,i,k; for(i=0;i3; printf(x=%o,x); (10)函数delete(s,i,n)是作用是从字符串s中删除从第i个字符开始的n个字符,请填空。 void delete(char s,。
10、int i,int n) int j,k,length=0; while(slength) 【___length+______】 ; -i; j=i; if( 【_____ i main( ) int a; float b, c; scanf(%2d%3f%4f,&a,&b,&c); printf(na=%d,b=%f,c=%fn,a,b,c); 若运行时从键盘上输入 ,则上面程序的输出结果是__C___。 A)a=98,b=765,c=4321 B)a=10,b=432,c=8765 C)a=98,b=765.,c=4321. D)a=98,b=765.0,c=4321.0 (2)一个良好的。
11、算法由下面的基本结构组成,但不包括___D___。 A)顺序结构 B)选择结构 C)循环结构 D)跳转结构 (3)请选出以下程序的输出结果__B____。 #include sub(int x,int y,int *z) *z=y-x; main( ) int a,b,c; sub(10,5,&a);sub(7,a,&b);sub(a,b,&c); printf(%d,%d,%dn,a,b,c); A)5,2,3 B)-5,-12,-7 C)-5,-12,-17 D)5,-2,-7 (4)下面程序在屏幕上的输出是_B___。 main( ) printf(ab bb c); A)ab bb c。
12、 B)a c C)abc D)ab c (5)若 x 是整型变量,pb 是基类型为整型的指针变量,则正确的赋值表达式是__A____。 A)pb=&x; B)pb=x; C)*pb=&x; D)*pb=*x (6)设整型数 i=5,则 printf(%d,i+i);的输出为_D___。 A)10 B)11 C)12 D)语法错误 (7)下面程序输出的结果是__A___。 main( ) int i=5,j=9,x; x=(i=j?i:(j=7); printf(n%d,%d,i,j); A)5,7 B)5, 5 C)语法错误 D)7,5 (8)若执行下面程序时从键盘上输入 5, main( )。
13、 int x; scanf(%d,&x); if(x+5) printf(%dn,x); else printf(%dn,x-); 则输出是__B____。 A)7 B)6 C)5 D)4 (9)若有以下定义和语句: int a =1,2,3,4,5,6,7,8,9,10,*p=a; 则值为 3 的表达式是__A____。 A)p+=2,*(p+) B)p+=2,*+p C)p+=3,*p+ D)p+=2,+*p (10)设 a、b 和 c 都是 int 型变量,且 a=3、b=4、c=5,则下面的表达式中,值为 0 的表达式是_D___。 A)a&b B)a main( ) int *k, 。
14、*j,i=100; j=&i; k=&j; printf(%dn,*k); 上述程序的输出结果是___B___。 A)运行错误 B)100 C)i 的地址 D)j 的地址 (13)设有以下语句,其中不是对 a 数组元素的正确引用的是:__D____(其中 0i main( ) char c6; int i=0; for( ; i c def 则输出结果为 _____C________ 。 A)a B)a C)ab D)abcdef b b c c c d d d e f (15)在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是 ___B____。 A)地址传递 B)单向值传递。
15、 C)由实参传递给形参,再由形参传递给实参 D)传递方式由用户指定 (16)以下程序 #include #include main( ) char *p1=abc,*p2=ABC,str50=xyz; strcpy(str+2,strcat(p1,p2) ); printf(%sn,str); 的输出是 _D___。 A)xyzabcABC B)zabcABC C)yzabcABC D)xyabcABC (17)以下程序 int aa33=2,4,6; main( ) int i,*p=&aa00; for (i=0;i #include fun(char *w,int n) char t,*。
16、s1,*s2; s1=w;s2=w+n-1; while(s1 #define FUDGE(y) 2.84+y #define PR(a) printf(%d,(int)(a) #define PRINT1(a) PR(a);putchar(n) main( ) int x=2; PRINT1(FUDGE(5)*x); A)11 B)12 C)13 D)15 (22)以下程序段给数组所有的元素输入数据,请选择正确答案填入: #include main( ) int a10,i=0; while(i2) i=3-j; s+=bij; return s; main() int a44=1,2,3,。
17、4,0,2,4,6,3,6,9,12,3,2,1,0; printf(%dn,f(a); A)22 B)11 C)18 D)16 (25)不能把字符串Hello!赋给数组 b 的语句是__D____。 A)char b10=H,e,l,l,o,!; B)char b =H,e,l,l,o,!; C)char b10;strcpy(b,Hello!); D)char b10;b=Hello!; (26)下面程序的输出是__D____。 main( ) int x=3 ,y=6,a=0; while(x+!=(y-=1) a+=1; if (y=p_____】 ;i-) ai+1=ai; ap=x; for(i=0; 【_。