1、C语言选择题含答案C语言选择题(含答案)选择题1.以下叙述正确的是_。A)在C程序中,main函数必须位于程序的最前面。B) C语言本身没有输入输出语句。C) C程序的每行只能写一条语句。D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。2.下面四个选项中,均是不合法的用户标识符的选项是。A) A B) float C) b-a D) _123P_0 1a0 goto tempdo _A int INT3、下列四个选项中都是合法的转义字符的A)nB)017”C)018fxabD)0101x1f4、设所有变量均为整型,则表达式z=(a=2,b=5,b+,a+b)的值是:A)7 B)8
2、C)6 D)25、若有代数式,则不正确的C语言表达式是:A) a/b/c*e*3 B) 3*a*e/b/cC) 3*a*e/b*c D) a*e/c/b*36、若希望当A的值为奇数时,表达式的值为”真”,A的值为偶数时,表达式的值为”假”。则以下不能满足要求的表达式是_。A) A%2=1B) !(A%2=0)C) !(A%2)D) A%27、以下程序的运行结果是:main()int m=6;if(m+ 6) printf( %dn,m);e1se printf(%dn,-m );A)4 B)5 C) 7 D) 68、当a=1,b=3,c=5,d=4,执行完下面一段程序后x的值是:if(ab)i
3、f(cd) x=1;elseif(ac)if(bd) x=2;else x= 3;else x=6;else x=7;A)1B)2 C)3 D)69、阅读以下程序,当输入数据的形式为25,13,10正确的输出结果为main()int x,y,zscanf(%d%d%d,&x,&y,&z );printf(“x+y+z=%dn”,x+y+z);。A)x+y+z=48C)x+y+z=35B)x+y+z=35D)不确定值10、已知各变量的类型说明如下int k,a,b;unsigned long w= 5;double x=1.42;则以下不符合C语言语法的表达式是:A) x%(-3)B) w+=-
4、2C) k=(a=2,b=3,a+b) D) a+= a-=(b=4)*(a=3)11、设有:int a=1, b=2, c=3, d=4, m=2, n=2;执行(m=ab)&(n=cd)后n的值为_。A) 1 B) 2 C) 0 D) 412、判断char型变量ch是否为大写字母的正确表达式是_。A) A =ch = A)&(ch=Z )D)( A = ch)C)(ch= A )&(chy)z=x; x=y; y=z;A) x=10, y=20, z=30 B) x=20, y=30, z=20C) x=20, y=30, z=10 D) x=20, y=30, z=3015、若i为整型变
5、量,则以下循环执行次数是:for ( i=2; i!=0; ) printf(%d,i- - );A)无限次B) 0次C) 1次D) 2次16、下面程序段:for (t=1; t=100;t+) scanf(%d,&x);if(x0) continue;printf(%3d,t);A)当x=0时什么也不输出C) printf函数永远也不执行D)最多允许输出100个非负整数17、若有说明:int a34;则对a数组元素的正确引用是_。A) a24B) a1,3C) a1+10D) a(2)(1)18、定义如下变量和数组:int k;int a33=1,2,3,4,5,6,7,8,9;则下面语句的
6、输出结果是:for(k=0;k3;k+) printf (%d,a2-k k);A) 3 6 9B) 7 5 3C) 9 6 3D) 3 5 719、判断字符串a和b是否相等,应当使用_.A) if (a= =b)C)if (strcpy (a,b) )B) if (a=b)D) if (strcmp (a,b) )20、对两个数组a和b进行如下初始化char a =ABCDEF;char b =A,B,C,D,E,F;则以下叙述正确的是_.A) a与b数组完全相同B) a与b长度相同C) a和b中都存放字符串D) a数组比b数组长度长21、有两个字符数组a和b,则以下正确的输入语句是_:A)
7、 gets(a,b);B) scanf(“%s%s”,a,b);C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”);22、下面程序段的运行结果是_char str =ABC , *p=str;printf (%dn,*(p+2);(A) 0 (B)字符C的ASCII码(C)字符C的地址(D)字符C23、下面描述正确的是_。A)两个字符串所包含的字符个数相同时,才能比较字符串B)字符个数多的字符串比字符个数少的字符串大C)字符串”STOP”(注:有一个空格)与”STOP”相等D)字符串”That”小于字符串”The”24、下面判断正确的是_。A)char
8、 *a=“china”;等价于char *a; *a=“china”;B)char str10=“china”;等价于char str10; str =“china”;C)char *s=“china”;等价于char *s; s=“china”;D)char c4=“abc”, d4=“abc”;等价于char c4=d4=“abc”;25、若用数组名作为函数调用的实参,传递给形参的是_。A)数组的首地址B)数组第一个元素的值C)数组中全部元素的值D)数组元素的个数26、下面函数调用语句含有实参的个数为_。y = func ( a, b, max(d ,e));A)5 B) 2 C) 3 D
9、) 427、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是_。A)float型B)int型C)long型D)double型28、在C语言中,形参的缺省存储类是A) auto B) register C) static D) extern29、以下正确的函数定义形式是_:A)double fun(int x,int y)B)double fun(int x;int y)C)double fun(int x,int y);D)double fun(int x,y);30、在宏定义#define PI“3.14159”中,用宏名PI代替一个_。A)常量B)单精度数C)双精度数D)字符串31、
10、#define ADD(x) x+xmain( )int m=1,n=2,k=3;int sum=ADD(m+n)*k;printf(“sum=%d”,sum);上面的程序运行结果是_:A) sum=9B) sum=10C) sum=12D) sum=1832、以下有关宏替换和函数的调用叙述不正确的是_:A)宏替换和函数的调用均占用运行时间。B)宏名无类型,函数有类型C)宏替换只是字符替换,不分配内存,但函数调用要分配内存D)再调用宏时程序的长度要加长,而函数调用不变33、以下程序的输出的结果是main( ) int i;for (i=1;i=2;i+) incre();incre() sta
11、tic int x=1;x*=x+1;printf(%d,x);A) 3 3 B) 2 2 C) 2 6 D) 2 534、有如下定义struct personchar name9; int age;strict person class10=Johu, 17,Paul, 19,Mary, 18,Adam”, 16,;根据上述定义,能输出字母M的语句是A) prinft(%cn,class3.mane);B) pfintf(%cn,class3.name1);C) prinft(%cn,class2.name1)D) printf(%cn,class2.name0);35、以下程序的输出结果是
12、哪一项?#include main()int a12=1,2,3,4,5,6,7,8,9,10,11,12, *p4,i;for(i=0;i4;i+)pi=&ai*3;printf(%dn,p32);A.输出项不合法B. 6C. 8 D. 1236、以下程序的输出结果是union myun structint x, y, z; u;int k; a;main() a.u.x=4; a.u.y=5; a.u.z=6;a.k=1;printf(%dn,a.u.y);A) 4B) 5C) 6D) 137、以下关于结构体与共用体的说法,其中正确的是A)共用体同一个内存段可以来存放几种不同类型的成员,但
13、在某一时刻只能存放一个成员。B)结构体变量所占的内存长度等于最长的成员的长度,共用体变量所占内存长度是各成员占的内存长度之和。C)共用体每个成员分别占有自己的内存单元。D)结构体类型可以出现在共用体类型的定义中,但共用体不能出现在结构体类型定义之中。38、以下程序的输出结果是long fun( int n)long s;if(n= =1 | n= =2) s=2;else s=n-fun(n-1);return s;main()printf(%ldn, fun(5);A) 1B) 2C) 3D) 439、下列程序段的输出结果为int arr=6,7,8,9,10;int * ptr;ptr=arr;* (ptr+2)+=2;printf (%d,%dn,*ptr,*(ptr+2);A) 8,1040、设有如下定义:int (*ptr)( );则以下叙述中正确的是A) ptr是指向一维组数的指针变量B) ptr是指向int型数据的指针变量C) ptr是指向函数的指针变量,该函数返回一个int型数据D) ptr是一个函数名,该函数的返回值是指向int型数据的指针1-5:BCABC6-10:CDBDA11-15:BCCDD16-20:BCBDD21-25:BBDBA26-30:CBAAD31-35:BACDD36-40:DABDB) 6,8C) 7,9D) 6,10
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1