C语言程序设计

单选题有以下程序:#include main(){ char b[4][10]; int i; for(i=0;i<4;i++)  scanf(%s,b[i]); printf(%s%s%s%s,b[0],b[1],b[2],b[3]);}执行时若输入:Fig flower is red.<回车>则输出结果是(  )。A Figflowerisred.B Figflowefis red.C Figflower is red.D Fig flower is red.

题目
单选题
有以下程序:#include main(){ char b[4][10]; int i; for(i=0;i<4;i++)  scanf(%s,b[i]); printf(%s%s%s%s,b[0],b[1],b[2],b[3]);}执行时若输入:Fig flower is red.<回车>则输出结果是(  )。
A

Figflowerisred.

B

Figflowefis red.

C

Figflower is red.

D

Fig flower is red.

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序运行后的输出结果是【】include main ( ) {char a[] ="123456789", *p;int i =0;

以下程序运行后的输出结果是【 】

include <stdio.h>

main ( )

{ char a[] ="123456789", *p;

int i =0;

p=a;

while( * p)

{ if(i%2 ==0) *p='*';

p++;i++;

}

puts(a);

}


正确答案:*2*4*6*8*
*2*4*6*8* 解析:程序中指针p指向数组a,while(*P)语句的循环条件是* p!='\0',在循环体中,当 i=0,2,4,6,8时,i%2=0,执行*p='*',即a[i]='*',继续执行p++;i++;使i为奇数;当i=1, 3,5,7时,i%2=1,继续执行p++;i++;使i为偶数。可见,程序在字符串"123456789",的下标为偶数的位置上赋值'*',代替原字符串中的1,3,5,7,9。所以,程序输出结果为*2*4*6*8*。

第2题:

有以下程序: include main ( ) int i;for(i =0;i <3 ;i ++ )switch (i)case 0: printf

有以下程序: #include <stdio.h> main ( ) int i; for(i =0;i <3 ;i ++ ) switch (i) case 0: printf(" % d" ,i); case 2: printf(" % d" , i); default: printf( "% d" , i);程序运行后的输出结果是( )。

A.22111

B.21021

C.122

D.12


正确答案:C
解析:程序中没有使用break终止switch语句的执行。当i:0时,执行第一个case语句,因为它后面没有break,所以一直到执行完default语句结束,输出3个0,再执行下一循环。所以只有选项C)正确。

第3题:

有以下程序 include main(){FILE *fp;int i; char ch[]="abcd",t; fp=fopen("abc.dat"

有以下程序 #include <stdio.h> main() {FILE *fp; int i; char ch[]="abcd",t; fp=fopen("abc.dat","wb++"); for(i=O;i<4;i++)fwrite(&ch[i],1,1,fp); fseek (fp,-2L,SEEK_END); fread (&t,1,1,fp); fclose (fp); printf ("%c\n",t); } 程序执行后的输出结果是______。

A.d

B.c

C.b

D.a


正确答案:A
解析:此题考核的是文件的读写,定义—个FILE类型结构体的指针fp,以“可以由位置函数设置读和写”方式打开一个 abc.dat文件,并向文件输入数组变量ch指向的字符串,则文件内的内容为“abcd”,执行fseek函数,则文件类型指针fp指向文件尾向前移动2个字节的位置处,即指针指向“b”,所以最后的输出结果为b,答案选C。

第4题:

有以下程序:include main( ) char * p[ ] = {"3697" ,"2548" }; int i,j;long num =0

有以下程序: #include <stdio.h> main( ) char * p[ ] = {"3697" ,"2548" }; int i,j; long num =0; for(i =0;i<2;i ++ ) { j =0; while(p[i][j]! ='\0') { if((p[i][j]-'0')%2) num=10*num+p[i][j]-'0'; j+ =2; } printf( "%d \n" ,num);}程序执行后的输出结果是( )。

A.35

B.37

C.39

D.3975


正确答案:C
解析:执行main函数中的for语句,当i=0,j=0时,p[i][j]=p[0)[0]='3',满足while循环条件,执行循环体中的if语句得num=3,j=2,此时p[i][j]=p[0][2]='9',满足循环条件,执行while循环体得num=39,j=4,判断while条件,不满足并退出while循环;再次执行for语句,当i=1,j=0,p[i][j]=p[1][0]=2,满足while条件,执行循环体中的if语句,但不符合if条件,所以num不进行运算,j进行加2运算j=2,此时p[i][j]=p[1][2]=4,if条件为假,num不进行运算,j进行加2运算j=4,再执行while语句,条件不符合退出循环。所以结果为39。

第5题:

有以下程序:include void sum(int *a){a[0]=a[1];}main(){int aa[10]={1,2,3,4,5,6,7,

有以下程序: #include <stdio.h> void sum(int *a) { a[0]=a[1]; } main() { int aa[10]={1,2,3,4,5,6,7,8,9,10},i; for(i=2;i>=0;i--) sum(&aa[i]); printf("%d\n",aa[0]); } 执行后的输出结果是( )。

A.4

B.3

C.2

D.1


正确答案:A
解析:该程序通过main函数循环凋用sum函数。当i=2时,将实参aa[2]的地址传递给形参,此时a[0]=a[1]=aa[3]=4,即aa[2]=4;当i=1时,将实参aa[1]的地址传递给形参,此时a[0]=a[1]=aa[2]=4,即aa[1]=4;当i=0时,将实参aa[0]的地址传递给形参,此时a[0]=a[1]=aa[1]=4,即aa[0]=4;当i=-1时,不满足条件i>=0,跳出循环,程序执行后数组aa中的值为4,4,4,4,5,6,7,8,9,10,所以aa[0]=4。

第6题:

有以下程序:includeunion pw{int i; char ch[2];}a;main(){a.ch[0]=13;a.ch[1]=0;prin

有以下程序: #include<stdio.h> union pw { int i; char ch[2]; }a; main() { a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是( )。

A.13

B.14

C.208

D.209


正确答案:A
解析:在本题中,首先定义了一个共用体pw,其中有两个域:整型变量i和字符数组ch。因为共用体中的域是共享内存空间的,数组元素由低到高存储:ch[0]在低字节;ch[1]在高字节;整型变量i占两个字节,高位与ch[1]共用存储空间,低位与ch[0]共用存储空间,而高位ch[1]的值为0,所以输出的成员变量i的值就是ch[0]的值13。

第7题:

有以下程序:includeincludemain() {char c[6];int i=0;for(;j<6;c[i]=getch

有以下程序:#include<stdio.h>#include<stdio.h>main() { char c[6]; int i=0; for(;j<6;c[i]=getchar(),i++); for(i=0;i<6;i++)putchar(c[i]); printf("\n");}如果从键盘上输入:ab<回车>c<回车>def<回车>则输出结果为 ______。

A.a b c d e f

B.a b c d

C.ab c d

D.abcdef


正确答案:C
解析:1.getchar():此函数的作用是从终端(或系统隐含指定的输入设备)输入一个字符。2.putchar():此函数的作用是向终端输出一个字符,也可以输出控制字符。本题在输入字符时,ab和c后面的回车符分别赋给了c[2]和c[4],所以,正确答案为C。

第8题:

下面程序的输出结果是______。 include main() {char *p[]="BOOL","OPK","H","SP"};int

下面程序的输出结果是______。 #include<stdio.h> main() { char *p[]="BOOL","OPK","H","SP"}; int i; for(i=3;i>=0;i-,i-) printf("%c",*p[i]); printf("\n"); }

A.SO

B.SP

C.SPOPK

D.SHOB


正确答案:A
解析:p[0]存放的是“BOOL\0”的首地址;p[1]存放的是“OPK\0”的首址等。在printf语句中输出的*p[i]表示p[i]字符串的第—个字符。在for循环中,i的初值为3,那么输出的第—个字符为“S”,接着两次i-,则输出的值为*p[1],即字符“O”,所以本题的输出为SO。

第9题:

有以下程序 include include void fun(char s[][10],int n

有以下程序 #include <stdio.h> #include <string.h> void fun(char s[][10],int n) { char t; int i j; for (i=0; i<n-1; i++) for 0--i+l; j<n; 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]= {"bcc", "bbcc", "xy", "aaaacc", "aabcc" }; fun(ss, 5); printf("%s,%s\n", ss[0],ss[4]); } 程序的运行结果是

A.xy, aaaacc

B.aaaacc,xy

C.xcc,aabcc

D.acc,xabcc


正确答案:D
解析:在函数fun()中有一个两层嵌套的for循环,外循环变量i从0递增到n-2,内循环变量i从i+1循环递增到n-1,这是选择排序算法的标准结构。循环体中因为逆序条件为“s[i][0]> s[j][0]”,所以实现的是升序排序。由此可见,fun()函数实现的功能是对一个二维字符数组前n行的首字符进行升序排序。主函数中定义的二维数组初始化为{"bcc",”bbcc", "xy","aaaacc","aabcc"},通过fun()函数的排序后,结果将为acc","abcc","by", "baaacc","xabcc"}。故最终输出字符串ss[0]和ss[4]的结果为acc,xabcc,应该选择D。

第10题:

若有以下程序:includeint a[]={2,4,6,8};main(){int i; int *p=a; for(i=0;i<4;i++)a[

若有以下程序: #include<stdio.h> int a[]={2,4,6,8}; main() { int i; int *p=a; for(i=0;i<4;i++) a[i]=*p; printf("%d\n",a[2]); } 上面程序的输出结果是( )。

A.6

B.8

C.4

D.2


正确答案:D
解析:在C语言中,数组元素的下标是从0开始的。for循环语句中,指针变量p始终指向数组a的首地址,因而执行循环赋值语句后数组各元素的值均变为2。

更多相关问题