1、一、选择题1.在C语言中,(A )既不是保留字,也不是合法的标识符。 Ax*y Bfor Clong D. x22.若变量均已正确定义并赋值,以下合法的C语言赋值语句是( A )。Ax=y=5; Bx=n%2.5; Cx+n=i; Dx=5=4+1;3.下面标识符中,合法的用户标识符为( A )。Achar BSum2 C3x Df(x)4. 以下能正确地定义整型变量a、b并为它们赋初值0的语句是( )。Aint a=b=0; Bint a,b=0; Cint a=0,b=0; Dint a,b 5.表达式( )的值是整数类型。 A15/2+2.0 B15/2 C25/5.0 D0.5*106
2、当调用函数时,实参是一个数组名,则向函数传送的是( B )。 A数组的长度 B数组的首地址 C数组每一个元素的地址 D数组每个元素中的值7.以下选项中,不能作为合法常量的是( )。A1.23e04 B1.23e0.4 C1.23e+4 D1.23e08.当用户要求输入的字符串中含有空格时,应使用的输入函数是( )。 Ascanf( ) Bgets( ) Cgetchar( ) Dgetc( ) 9.C语言规定,在一个源程序中,main函数的位置( )。A必须作为第一个函数 B必须作为最后一个函数C可以任意位置 D必须在它所调用的函数之后10. 用十进制数表示表达式12|012的运算结果是( )
3、。A1 B0 C14 D1211下列语句定义x为指向int类型变量a的指针,正确的是( )。Aint a,*x=&a; Bint a,*x=a;Cint *x=&a,a; Dint a,x=a;12在一个源文件中定义的全局变量的作用域为( )。A从定义变量开始至本文件结束 B本文件的全部范围C本程序的全部范围 D本函数的全部范围13.在VC+中,若指针p已正确定义,要使p指向10个连续的整型动态存储单元,不正确的语句是( )。Ap=10*(int*)malloc(sizeof(int); Bp=(int*)malloc(10*4);Cp=(int*)malloc(10*sizeof(int);
4、 Dp=(int*)calloc(10,sizeof(int);14设有定义 “intk=0;”,以下选项的四个表达式中与其他三个表达式的值不相同的是( D)。Ak+ Bk+=1 C+k Dk+115下面程序段的输出结果是( )。 int j; for(j=0;jsex); Dscanf(p-sex);20设有以下程序段structint num;float score;student, *p;p=&student;若要引入结构体变量的num成员,写法错误的是( )。Ap-num Bstudent.num Cstudent-num D(*p).num21. 在C语言的程序中,下列叙述错误的是(
5、 )。A形参是局部变量B不同的函数中,可以使用相同名称的变量C在一个函数的内部,可以在复合语句中定义变量Dmain()函数中定义的变量在整个文件或程序中都有效22在C语言程序中,若对函数类型未加显示说明,则函数的隐含类型是( )。Avoid Bdouble C int Dchar23. 下面的程序段后,变量k中的值为( )。 int k=3, s2; s0=k; k=s1*10;A不定值 B33 C10 D3024.是int型变量,y是float型变量,所用的scanf调用格式为:scanf(“xd,yf”,x,y)则为了将数据10和66.6分别赋给x和y,正确的输入为( )。 A. x10,
6、y66.6(回车) B. 10 66.6(回车)C. 10()66.6(回车) D. x10(回车)y66.625.程序的输出结果是( )。 char a10=9,8,7,6,5,4,3,2,1,0,*p=a+5;,*-p);A非法 Ba4的地址 C5 D326. int型变量,则执行下列语句后x的值为( )。x6;xxx*x;A. 36 B. -60C. 60 D. -2427有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5);该函数调用语句中,含有的实参个数是( A )A. 3 B. 4 C. 5 D. 有语法错28若m、x、y、z均为int型变量,则执行下面
7、语句后的m的值是( A )。m=1; x=2; y=3; z=4;m=(mbc;则d 的值是( A )。A0 B1 C30 D1033. 下列叙述中正确的是( D )。 Abreak语句只能用于switch语句。 B. 在switch语句中必须使用default。 C. break语句必须与switch语句中的case 配对使用。 D. 在switch语句中,不一定使用break语句。34(B )不是C语言的标准函数名。A. printf B. sinx C. pow D. gets35以下语句序列中dowhile循环的结束条件是( )。int n=0,p; doscanf(“%d”,&p);
8、n+;while(p!=12345 &n10);Ap的值不等于12345并且n的值小于10。Bp的值等于12345并且n的值大于等于10。Cp的值不等于12345或者n的值小于10。Dp的值等于12345或者n的值大于等于10。36以下程序的输出结果是( )main() char ch35=AAAA,BBBCC;%sn,ch1);A. B. C. BBBCC D.37. 当调用函数时,实参是一个数组名,则向函数传送的是( )A数组的长度 B数组的首地址38执行下面程序中的输出语句后,a的值是( )。#includemain( ) int a;%dn,(a=5,a*4,a*=4);A5 B10
9、C20 D8039.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量103是( )AA BB C. C D. D40. 在C语言程序中,以下说法正确的是( )。A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套41. 设有以下定义int a=0;double b=1.25;char c=A#define d 2则下面语句中错误的是( )。Aa+; Bb+ Cc+; Dd+;42使文件指针重新定位到文件读写的首地址的函数是( C )。A fte
10、ll( ) Bfseek( ) Crewind( ) Dferror43. 要判断char型变量m是否是数字,可以使用下列表达式( )。A0=m & m=9 B. 0c的值是 。4.表示条件10x100或者x0;i-)for (j=0;2;j+).8若有定义int a=10,b=20,c;则执行c=a+|b+; 语句后,变量b的值为 。9.表达式(a=4*5,a*4,a) 的值是 。10表达式(x=4,x+,x*4,x*=4) 的值是 。11.调用strlen(IBMn012t0)的结果为 。12若有定义“int a=15,c; c=a” 后变量c的值为 。14设有说明语句 “char s12
11、0,s220;”,欲将s1中的字符串复制到s2中,则需要执行的语句是 。15.设有定义“int a3=0,1,2;” ,则a12的初始值为 。16. 设有定义 structperson intID;charname12; p;请将scanf(, );语句补充完整,使其能够为结构体变量p的成员ID正确读入数据。17.定义以下结构体数组 struct int num; char name10; x3=1,China,3,USA,4,England;n%d:,x0.num,x0.name)的输出结果为 。18.设已有定义 s.x=0x4241;n%d,%d的输出结果为 。19设已有定义 s.x=0x
12、3231;20使文件指针重新定位到文件读写的首地址的函数是 。21.以下程序的输出结果是 #include char *p=programming,*q; q=p;strcpy(q,p); printf(%c%c ,p1,q3); free(p); getch();22.下面程序的运行结果是 。#define DIV(x,y) x%y int i=10;i=DIV(i+1,i+1);,i);23.下面程序的输出结果是_。int main() int i,m=0, n=0; for (i=1; i=2; i+) switch(i%2) case 0 : m+,n+; break; case 1:
13、 n+; default: m+; %d %d n,m,n);24. 下面程序的输出结果是_。int main(void) int x=1,a=0,b=0;switch(x)case 0: b+;case 1: a+;case 2:b+; a=%d,b=%dn ,a,b)25.下面程序的输出结果是_。int sum_diff(int x,int y,int * ps,int * pd) *ps=x+y ;*pd=x-y ;int main( void) int a,b,sum,diff ;a=4;b=3 ;diff(a,b,&sum,&diff) ;%d, %dn,sum,diff) ;26.
14、下面程序的输出结果是_。void fun(int *x,int *y)int t; t=*x *x=*y ;*y=t int a,b;a=1;b=0fun(&a,&b);%d,%dn,a,b);27. 下面程序的输出结果是_。 #includeint f(int n) if(n=1) return 1;else if(n=2) return 2;else return f(n-1)+f(n-2);int main(void) printf(,f(5); return 0;28.下面程序的输出结果是_。int fun(int n) if(n=0|n=1) return 1;else return
15、 n*f(n-1);29.以下程序的输出结果是 。int Fun(int x) static int y=0; y += x; return y; int k; for (k=0; k3; k+) printf(%d , Fun(k);30.下面程序的输出结果是_。 int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6; int i,s=0; for(i=0;ic &b+ca & c+ab_ 2. mind 3. 0 4. x10 & x100 |x0 5. pow(x,y)+x*y 6. scanf(“%ld,%ld”,&b)7. 108. _20 9. 20 10. 20 11. 10 12. 60 13. 16 14. strcpy(s2,s1) ;15. 0 16. &p.ID17. 1:china18. 65,66 19. 49,50 20. rewind( )21. rg 22. 12 23. 1224. a=2,b=1 25. 7,1 26. 0, 1 27. 8 28. 120 29. 013 30. 19
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1