此答案为自己所出,若有不对之处请谅解,并希望能留言单选题(共60题,每题1分,共60分)1. 下列符号串中,属于C语言合法标识符的个数为(B)。
_1_2_3,a-b-c,float,9cd,a3b4A:1B:2C:3D:42. 下列能为字符变量 a 赋值的是:char a= (C)。
A:'ab'B:"a"C:'\0'D:"\0"3. 在下列字符序列中,合法的标识符是(B)。
A:P12.aB:stud_100C:$water.1D:88sum4. 下列用于printf函数的控制字符常量中,代表tab的字符常量是(B)。
A:'\b'B:'\t'C:'\r'D:'\f'5. 下列用于printf函数的控制字符常量中,代表退格的字符常量是(A)。
A:'\b'B:'\t'C:'\r'D:'\n'6. 如有以下程序:unsigned int a=6; int b=-20; char c; c=(a+b>6);则c的值为(C)。
(int转换为unsigned )A:6B:-14C:1D:07. 关于C语言,以下不正确的叙述是(B)。
A:在C语言程序设计中,逗号运算符的优先级最低B:在C语言程序设计中,var和VAR是两个相同的变量C:C语言也支持重载D:此处的两个语句int a; a=-13.06;在程序编译中将会提示出错8. 若有定义:int a=2,*p;float x=1, y=2;char e=‘w’;则以下用法不正确的是(B)。
A:printf("%c",e+a);B:p=&x;C:a *=y+x;D:x=y=e;9. int x=20; printf("%d\n",~x);以上程序片段的输出是(B)。
A:235B:-21C:-20D:-1110. 在C语言中,要求运算数必须是整型的运算符是(D)。
A:/B:++C:!=D:%11. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(结果保留两位小数)(A)。
A:2.50B:2.75C:3.50D:0.0012. 以下运算符中优先级最低的是(C)。
A:&&(第三)B:&(第一)C:||(第四)D:|(第二)13. 设有定义语句:char c1=1,c2=1;,则以下表达式中值为零的是(A)。
A:c1^c2B:c1&c2C:~c2D:c1|c214. 以下程序的输出结果是#include <stdio.h>void main(){unsigned char a,b;a=0x0a|3;b=0x0a&3;printf("%d %d\n",a,b);} (B)。
A:2 11B:11 2C:7 13D:13 715. 如果int i = 4, 则printf("%d", -i-- )的输出结果是__,i的值是。
(A)A:-4 3B:-3 3C:-3 4D:-4 416. 若x=2,y=3则x&y的结果是(B)。
A:1B:2C:3D:517. 下列程序的输出是(B)。
main(){int x;printf("%d\n",(x=3*5,x*2,x+10));}A:15B:25C:30D:4018. 若x,i,j和k都是int型变量,则计算下面表达式后,x的值为(C)。
x=(i=4,j=16,k=32)A:4B:16C:32D:其他值19. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)。
A:7B:8C:6D:220. 以下程序运行后的输出结果是(A)。
main(){int a,b;a=50;b=90;printf("%d\n",(a,b));}A:90B:50 90C:50D:其他21. 以下程序的运行结果是(A)。
void main(){int a=4; char ch=‘a’;printf( "%d\n",(a&2)&&(ch>‘A’)); }A:0B:1C:2D:322. 以下程序的输出是(D)。
#include <stdio.h>main( ){ inti,j=4;for(i=j; i<=2*j; i++)switch (i/j){ case 0 :case 1: printf("*"); break;case 2: printf("#"); break; }}A:*###B:**##C:***#D:****#23. 有如下程序片段:int i = 0;while(i++ <= 2);printf("%d", i--);则正确的执行结果是 (C)。
A:2B:3C:4D:以上都不是24. 有以下程序段main(){ int i=1,sum=0,n;scanf(“%d”,&n);do{ i+=2;sum+=i ;}while(i!=n);printf(“%d”,sum);}若使程序的输出值为15,则应该从键盘输入的n的值是 (D)。
A:1B:3C:5D:725. 以下程序的输出是(A)。
#include<stdio.h>void fun(int *p){int a=10;p=&a;++a;}void main(){int a=5;fun(&a);printf("%d\n",a);}A:5B:6C:10D:1126. 以下关于函数的说法中正确的是 (C)。
A:定义函数时,形参类型说明可放在函数体内B:return语句后边的值不能为表达式C:如果函数类型与返回值类型不一致,以函数类型为准D:如果形参与实参的类型不一致,以实参为准27. 已知有定义:int *p(); 则以下说法正确的是(C)。
A:指向int型的指针变量B:int型的指针数组C:一个函数,该函数的返回值是指向int型的指针变量D:一个指向函数的指针变量,该函数的返回值为int型28. 若有如下程序:void s(char *m,int n){*m=*m+3;n=n+3;printf("%c,%c,",*m,n);}void main(){char p=‘b’,q=‘B’;s(&q,p);printf("%c,%c\n",p,q);}则程序运行后的输出结果是 (A)。
A:E,e,b,EB:e,E,b,FC:E,e,e,ED:e,E,b,E29. C语言规定函数返回值的类型由 (A)。
A:在定义时所指定的函数类型所决定B:调用该函数时的主调函数类型所决定C:return语句中的表达式类型所决定D:调用该函数时系统临时决定30. 要在c语言中求正弦30度的值,可以调用库函数,可用格式为 (D)。
A:sin(30)B:sin(30.0)C:sin((double)30)D:sin(3.1415/6)31. 在C语言程序设计中,简单变量作为实参时,它和对应形参之间的数据的传递方式是 (B)。
A:地址传递B:单向值传递C:由实参传给形参,再由形参传给实参D:由用户指定传递方式32. 以下程序的输出为(C)。
int a=2;int f(int *a){return(*a)++;}void main(){int s=0;{int a=5;s+=f(&a);}s+=f(&a);printf("%d %d\n",a,s); }A:2 7B:2 10C:3 7D:3 1133. 以下程序输出结果是(D)。
#include <stdio.h>int *fun(){int a[4],k;for(k=0;k<4;k++)a[k]=k;return(a);}void main(){ int *p,j;p=NULL;p=fun();for(j=0;j<4;j++){printf("%d\n",*p);p++;} }A:输出0 0 0 0B:输出0 1 2 3C:输出1 1 1 1D:输出不确定值34. 以下程序的运行结果是(D)。
void fun(int *n){static int m=2;*n*=m-1; m+=2;}void main(){static int m=1;int i;for(i=1;i<4;i++)fun(&m);printf("%d\n",m);}A:8B:10C:11D:1535. 下面对typedef的叙述中不正确的是 (B)。
A:用typedef可以定义各种类型名,但不能用来定义变量B:typedef和#define都是在预编译时处理的C:用typedef只是将已存在的类型用一个新的标识符来代表D:使用typedef有利于程序的通用和移植36. 要使用内存分配函数malloc,需要引入的头文件是 (BC)。
A:stdio.hB:stdlib.hC:malloc.hD:memory.h37. 以下宏定义中,不会引起二义性的宏个数为(A)。
1)#define POWER(x) x*x2) #define POWER(x) (x)*(x)3) #define POWER(x) (x*x)4) #define POWER(x) ((x)*(x))(没有二义性)A:1个B:2个C:3个D:4个38. 若有二维数组定义语句:int a[4][5]; 则下面对元素a[2][3]不正确的引用方式是(B)。
A:*(&a[2][3])B:*(a+5*2+3) 可以换为(&a[0][0]+5*2+3)C:*(a[2]+3)D:*(*(a+2)+3)39. 若二维数组定义为a[m][n],则在a[i][j]之前的元素个数为 (B)。
(不知怎么下面是m,应该是n把,不清楚!!)A:j*m+iB:i*m+jC:i*m+j-1D:j*m+i-140. 有字符数组a[10]={‘A’,‘\0’}和b[10]={‘B’},则以下正确的输出语句是 (D)。
A:puts(a,b);B:printf("%s %s\n",a[],b[]);C:putchar(a,b);D:puts(a);puts(b);41. 下列程序的输出结果是(D)。