C语言题库20150626(1) 下载本文

B:2041 2043 C:2042 2044

293、下列条件语句中,功能与其他语句不同的是______。 A:if(a) printf(\{ int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) D:2042 2043 答案:A

数组基本概念知识点:知识点/选择题/C9结构体与共用体/【

290、有以下定义语句double a,b;int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是______。

A:a=a+b=b++ B:w%((int)a+b) C:(c+w)%(int)a D:w=a==b; 答案:C 知识点:知识点/选择题/C2基本数据类型及表达式/表达式及语句合法性判断T 291、有以下程序 main()

{ int m=3,n=4,x; x=-m++; x=x+8/++n;

printf(\}

程序运行后的输出结果是______。 A:3 B:5 C:-1 D:-2 答案:D 知识点:知识点/选择题/C2基本数据类型及表达式/简单表达式运算T

292、有以下程序 main()

{ char a='a',b; printf(\printf(\}

程序运行后的输出结果是______。 A:b,b B:b,c C:a,b D:a,c 答案:A 知识点:知识点/选择题/C2基本数据类型及表达式/表达式输出T

B:if(a==0) printf(\printf(\

C:if (a!=0) printf(\printf(\

D:if(a==0) printf(\printf(\答案:D

知识点:知识点/选择题/C4选择结构程序设计/IF语句T 295、设有定义语句

int x[6]={2,4,6,8,5,7},*p=x,i;

要求依次输出x数组6个元素中的值,不能完成此操作的语句是______。

A:for(i=0;i<6;i++) printf(\ B:for(i=0;i<6;i++) printf(\ C:for(i=0;i<6;i++) printf(\ D:for(i=0;i<6;i++) printf(\答案:D

知识点:知识点/选择题/C8指针/指针处理一维数组T 296、有以下程序 #include main() {int

a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL; *q=*(p+5);

printf(\}

程序运行后的输出结果是______。 A:运行后报错 B:6 6 C:6 11 D:5 10 答案:A

知识点:知识点/选择题/C8指针/指针处理一维数组T 299、已有定义:int i,a[10],*p;,则合法的赋值语句是______。 A:p=100; B:p=a[5]; C:p=a[2]+2; D:p=a+2; 答案:D

知识点:知识点/选择题/C8指针/指针处理一维数组T 302、有以下程序 main()

for (j=2;j>=i;j--)

if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;} for (i=0;i<3;i++) for(j=4;j<7-i;j++)

if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k;} for (i=0;i<8;i++) printf(\printf(\}

程序运行后的输出结果是______。 A:75310246 B:01234567 C:76310462 D:13570246 答案:A

知识点:知识点/选择题/C7数组/【 306、以下程序的输出结果是______。 main()

{ int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1]; for(i=0;i<4;i+=2) printf(\}

A:52 B:51 C:53 D:97 答案:C

知识点:知识点/选择题/C8指针/指针处理二维数组T 307、以下程序的输出结果是______。 main() { char

a[10]={'1','2','3','4','5','6','7','8','9',0},*p; int i ; i=8; p=a+i;

printf(\}

A:6 B:6789 C:'6' D:789 答案:B

知识点:知识点/选择题/C8指针/指针与字符数组T

308、若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是______。

A:p+1 B:a+1 C:a++ D:++p 答案:C 知识点:知识点/选择题/C8指针/一维数组元素的指针表示T

310、以下选项中,能定义s为合法的结构体变量的是______。

A:typedef struct abc { double a; char b[10]; } s;

B:struct { double a; char b[10]; }s;

C:struct ABC { double a; char b[10]; }

ABC s;

D:typedef ABC { double a; char b[10]; } ABC s; 答案:B 知识点:知识点/选择题/C9结构体与共用体/结构体类型及变量定义T

311、请读程序: #include #include main() {

char *s1=\s1++; s2++;

printf(\}

上面程序的输出结果是______。 A:正数 B:负数 C:零

D:不确定的值 答案:A

知识点:知识点/选择题/C8指针/指针与字符串处理函数T 312、请读程序: #include func(int a, int b){ int c; c=a+b; return c; }

main( ) {

int x=6,y=7,z=8,r;

r=func((x--,y++,x+y),z--); printf(\}

上面程序的输出结果是______。 A:11 B:20 C:21 D:31 答案:C 知识点:知识点/选择题/C6函数与编译预处理/函数的定义与调用T

313、请读程序: #include int a[ ]={2,4,6,8}; main( ) {

int i; int *p=a;

for( i=0;i<4;i++) a[i]=*p++; printf(\}

上面程序的输出结果是______。 A:6 B:8 C:4 D:2 答案:A 知识点:知识点/选择题/C8指针/指针引用一维数组元素运算T

314、请读程序: #include

main() {

int num=0;

while( num <=2){

num++; printf(\} }

上面程序的输出结果是______。

① 1 ② 1 ③ 1 ④ 1 2 2 2 3 3 4 A:① B:② C:③ D:④ 答案:C

知识点:知识点/选择题/C5循环结构程序设计/WHILE循环结构T

315、请读程序片段(字符串内没有空格字符): printf(\上面程序片段的输出结果是______。

A:11 B:10 C:9 D:8 答案:C

知识点:知识点/选择题/C7数组/字符串含转义字符T 320、若执行下面程序时从键盘上输入5, main() {

int x;

scanf(\

if(x++>5) printf(\else printf(\}

则输出是______。

A:7 B:6 C:5 D:4 答案:B

知识点:知识点/选择题/C4选择结构程序设计/IF语句T 322、设有如下的程序段 char str[]=\

char *ptr; 答案:D 若程序前面已在命令行中包含math.h文件,不能够正确计ptr=str; 知识点:知识点/选择题/C2基本数据类型及表达式/表达式算上述公式的程序段是______。 执行完上面的程序段后,*(ptr+5)的值为______。 及语句合法性判断T A:if(x>=0) y=sqrt(x);

A:'o' 334、若在定义语句:int a,b,c,*p=&c;之后,接着执行以else y=sqrt(-x);

B:'\\0' 下选项中的语句,则能正确执行的语句是______。 B:y=sqrt(x);

C:不确定的值 A:scanf(\if(x<0) y=sqrt(-x);

D:'o'的地址 B:scanf(\ C:if(x>=0) y=sqrt(x); 答案:B 知识点:知识点/选择题/C8指针/指针与字符数组T 324、设有以下语句,其中对数组元素a不正确的引用是:______(其中0≤i<10) int a[10]={0,1,2,3,4,5,6,7,8,9,},*p=a; A:a[p-a] B:*(&a[i]) C:p[i] D:*(*(a+i)) 答案:D 知识点:知识点/选择题/C8指针/一维数组元素的指针表示T 325、设有以下语句:char str1[]=\则下列选项中,______不是对库函数strcpy的正确调用,此库函数用来复制字符串。 A:strcpy(str1,\ B:strcpy(str2,\ C:strcpy(str3,\ D:strcpy(str4,\答案:C 知识点:知识点/选择题/C8指针/指针与字符串处理函数T 326、设有 static char str[]=\则执行 printf(\后的输出结果为______。 A:5 B:7 C:12 D:14 答案:A 知识点:知识点/选择题/C7数组/字符串处理函数T 327、下列语句中,符合C语言语法的赋值语句是______。 A:a=7+b+c=a+7; B:a=7+b++=a+7; C:a=7+b,b++,a+7 D:a=7+b,c=a+7; C:scanf(\ D:scanf(\答案:C 知识点:知识点/选择题/C8指针/指针变量与输入函数T 335、以下关于long、int和short类型数据占用内存大小的叙述中正确的是______。 A:均占4个字节 B:根据数据的大小来决定所占内存的字节数 C:由用户自己定义 D:由C语言编译系统决定 答案:D 知识点:知识点/选择题/C2基本数据类型及表达式/基本数据类型T 336、若变量均已正确定义并赋值,以下合法的C语言赋值语句是______。 A:x=y==5; B:x=n%2.5; C:x+n=i; D:x=5=4+1; 答案:A 知识点:知识点/选择题/C2基本数据类型及表达式/表达式及语句合法性判断T 337、若变量已正确定义,有以下程序段 i=0; do printf(\printf(\其输出结果是______。 A:0,0 B:0,1 C:1,1 D:程序进入无限循环 答案:B 知识点:知识点/选择题/C5循环结构程序设计/DO-WHILE循环T 338、有以下计算公式

if(x<0) y=sqrt(-x); D:y=sqrt(x>=0?x:-x); 答案:B 知识点:知识点/选择题/C4选择结构程序设计/IF语句T 344、设有定义:char p[]={'1','2','3'},*q=p;,以下不

能计算出一个char型数据所占字节数的表达式是______。

A:sizeof(p)

B:sizeof(char)

C:sizeof(*q) D:sizeof(p[0]) 答案:A 知识点:知识点/选择题/C8指针/指针与字符数组T 345、若有定义语句:int a[3][6];,按在内存中的存放顺序,a数组的第10个元素是______。 A:a[0][4] B:a[1][3]

C:a[0][3]

D:a[1][4]

答案:B

知识点:知识点/选择题/C7数组/二维数组定义初始化及引用T 348、有以下程序 #include #include void fun( char s[][10],int n) { char t; int i,j; for(i=0;i

for(j=i+1;j

/* 比较字符串的首字符大小,并交换字符串的首字符 */

if(s[i][0]>s[j][0])

{t=s[i][0];s[i][0]=s[j][0];s[j][0]=t;} } main() { char

ss[5][10]={\

fun(ss,5); printf(\

}

程序的运行结果是______。

A:xy,aaaacc printf(\ A:char st[4][5]={\ B:aaaacc,xy } B:char s[5]={'A','B','C','D','E'}; C:xcc,aabcc } C:char *s=\ D:acc,xabcc 的输出是______。 D:char *s; scanf(\答案:D A:23 答案:C 知识点:知识点/选择题/C7数组/【 B:26 知识点:知识点/选择题/C8指针/指针与字符数组T 351、下面程序的输出是______: C:33 359、已知字符0的ASCII码为十六进制的30,下面程序 char s[]=\ D:36 main() main() { char *p; for(p=s;p #include main() { char *p1=\strcpy(str+2,strcat(p1,p2) ); printf(\} 的输出是______。 A:xyzabcABC B:zabcABC C:yzabcABC D:xyabcABC 答案:D 知识点:知识点/选择题/C8指针/指针与字符串处理函数T 353、下面程序 int aa[3][3]={{2},{4},{6}}; main() { int i,*p=&aa[0][0]; for (i=0;i<2;i++){ if(i==0) aa[i][i+1]=*p+1; else ++p; 答案:A 知识点:知识点/选择题/C8指针/指针处理二维数组T 356、下面的程序片段 y=-1; if (x!=0) if(x>0) y=1; else y=0; 所表示的数学函数关系是______。 ┏ -1 (x<0) ┏ 1 (x<0) ① y=┫ 0 (x=0) ② y=┫ -1 (x=0) ┗ 1 (x>0) ┗ 0 (x>0) ┏ 0 (x<0) ┏ -1 (x<0) ③ y=┫ -1 (x=0) ④ y=┫ 1 (x=0) ┗ 1 (x>0) ┗ 0 (x>0) A:① B:② C:③ D:④ 答案:C 知识点:知识点/选择题/C4选择结构程序设计/IF语句的嵌套T 357、下面的程序 main() { int a=2; do{ printf(\}while(!(--a) ); } ______。 A:输出的是0 B:输出的是0和-3 C:输出的是3和0 D:是死循环 答案:A 知识点:知识点/选择题/C5循环结构程序设计/DO-WHILE循环T 358、下面各语句行中,能正确进行给字符串赋值操作的语句行是______。 { union{ unsigned char c; unsigned int i[4]; }z; z.i[0]=0x39; z.i[1]=0x36; printf(\}

的输出是______。

A:6 B:9 C:0 D:3 答案:B 知识点:知识点/选择题/C9结构体与共用体/共用体T 362、以下程序的输出结果是______。 #include #include main() { int a=1,b=4,c=2; float x=10.5,y=4.0,z; z=(a+b)/c+sqrt((double)y)*1.2/c+x; printf(\

}

A:14.000000 B:15.400000 C:13.700000 D:14.900000 答案:C 知识点:知识点/选择题/C2基本数据类型及表达式/简单表达式运算T 363、以下程序的输出结果是______。 #include #include main() { char str[12]={'s','t','r','i','n','g'};