printf(“%ld\\n”,s); }
A、i=1;i<=11;i++ B、i=1;i<12;i++ C、i=2;i<12;i++ D、i=2;i<=12;i++
71、定义数组时,代表数组长度的不能是( )。 A、整型表达式 B、符号常量
C、整型常量 D、整型常量表达式
72、在选用数组元素的下标时,可能造成程序运行出错的下标是( )。 A、正实数 B、整型变量 C、0 D、-1
73、设有语句“int a[]={1,2,3,9,8,7};”,则表达式“a[2]- a[4]”的值是( )。
A、-2 B、-4 C、-5 D、-7
74、以下程序运行后,输出结果是( )。 main()
{int y=18,i=0,j,a[8]; do
{a[i]=y%2;i++; y=y/2;
}while (y>=1); for(j=i-1;j>=0;j--) printf(“%d”,a[j]); printf(“\\n”); }
A、10000 B、10010 C、00110 D、10100 75、下列程序的运行结果是( )。 main() {int a[6],i;
for(i=1;i<6;i++)
{a[i]=9*(i-2+4*(i>3))%5; printf(“-”,a[i]); } }
A、-4 0 4 0 4 B、-4 0 4 0 3 C、-4 0 4 4 3 D、-4 0 4 4 0
11
76、设有下列定义语句,则表达式“x[1][1]*x[2][2]”的值是( )。 float x[3][3]={{1.0,2.0,3.0},{4.0,5.0,6.0}}; A、 0.0 B、4.0 C、5.0 D、10.0
77、设有定义语句“char s1[4]=”abc”;”, 则表达式s1[3]的值( )。 A、0.0 B、0 C、‘0’ D、‘c’ 注:printf(“%d”,s1[3]);显示0
printf(“%c”,s1[3]);无显示(ascii值为0)
78、若有下列定义和语句,则运行后的输出结果是( )。 char s1[4]=”12”;printf(“%s”,s1);
A、1 B、12 C、□□12 D、12\\0 □表示空格
79、设有定义语句“char a[]=”123”,b[]={‘1’,’2’,’3’};” 则正确的说法是( )。
A、a[3]是不可知的任意字符 B、数组a和b的长度相等 C、b[3]的值为’\\0’ D、数组a长度大于数组b的长度 (注:不是a中和b中保存的字符串的长度)
80、下列语句在编译时,出错的语句是( )。 main()
{float s[][2]={1,2,3,4}; /*第1条语句*/ s[1][0]=10; /*第2条语句*/
s[0][0]=s[0]+s[1]+s[2]+s[3]; /*第3条语句*/ printf(“%f\\n”,s[1][1]); /*第4条语句*/ }
A、第1条语句 B、第2条语句 C、第3条语句 D、第4条语句 81、运行下列程序的输出结果是( )。 main()
{int i,j,k,n[2];
for(i=0;i<2;i++) n[i]=0; k=2;
for(i=0;i for(j=0;j 12 A、1 B、3 C、程序出错 D、不确定的值 82、运行下列程序的输出结果是( )。 #define N 7 main() {int I,j,temp,a[N]={1,2,3,4,5,6,7}; for(i=0;i temp=a[i];a[i]=a[j];a[j]=temp; } for(i=0;i A、1234567 B、7654321 C、1357 D、246 83、运行下列程序的输出结果是( )。 main() {int x=123,a1[6]={100,50,10,5,2,1},a2[6],j; while (x!=0) {a2[0]= a2[1]= a2[2]= a2[3]= a2[4]= a2[5]=0; for(j=0;j<6;j++) { a2[j]=x/ a1[j]; x=x% a1[j];} printf(“%d, %d, %d, %d, %d, %d,\\n”,a2[0],a2[1],a2[2],a2[3],a2[4],a2[5]); } } A、1,2,3,0,0,0 B、0,2,0,4,0,3 C、1,0,2,0,1,1 D、0,0,0,1,2,3 84、运行下列程序的输出结果是( )。 main() {int a[10],a1[]={1,3,6,9,10},a2[]={2,4,7,8,15},i=0,j=0,k; for(k=0;k<4;k++) if (a1[i] for(k=0;k<4;k++) printf(“”,a[k]); } A、1478 B、1324 C、2413 D、4321 85、下列程序从键盘输入一个字符串,统计并输出其中数字字符的数目, 13 程序中缺少的是( )。 main() {char s[81]; int ; scanf(“%s”,s); while (s[i]!=’\\0’) {if (s[i]>=’0’ && s[i]<=’9’) n++; i++; } printf(“%d\\n”,n); } A、n=0 B、n=1,i=0 C、n=i=0 D、n=0,i=0 86、函数调用“strcmp(“123”,”321”)”的返回值是( )。 A、0 B、1 C、负整数 D、任意正整数 87、设数组a中存放字符串“AB12cd”,则执行 printf(“%s”,strupr(a));后,显示的是( )。 A、ab12cd B、ABCD C、AB12cd D、AB12CD 88、设有两个字符数组a,b,则以下正确的输入语句是( )。 A、gets(a,b); B、scanf(“%s%s”,a,b); C、scanf(“%s%s”,&a,&b); D、gets(“a”);gets(“b”); 89、有两个字符数组a[80],b[80],则正确的输出语句是( )。 A、puts(a,b); B、printf(“%s,%s”,a[],b[]); C、putchar(a,b); D、puts(a);puts(b); 90、若有说明“int a[][3]={1,2,3,4,5,6,7};”,则a数组的第一维的大小是( )。 A、2 B、3 C、4 D、无确定值 91、下面是对s的初始化,其中不正确的是( )。 A、char s[5]={“abc”}; B、char s[5]={‘a’,’b’,’c’}; C、char s[5]=” ”; D、char s[5]=”abcdef”; 92、下面程序段的运行结果是( )。 char c[15]={‘a’,’b’,’\\0’,’c’,’\\0’}; printf(“%s”,c); A、’a’’b’ B、ab C、ah c D、a b 93、下面程序段的运行结果是( )。 14 char a[7]=”abcdef”; char b[4]=”ABC”; strcpy(a,b); printf(“%c”,a[5]); A、□ (表示空格) B、\\0 C、e D、f 94、设有下面的程序段,则( )。 char a[3],b[]=”China”; a=b; printf(“%s”,a); A、运行后输出China B、运行后输出Ch C、运行后输出Chi D、编译出错 95、判断字符串a和b是否相等,应使用( )。 A、if (a= =b) B、if (a=b) C、if (strcpy(a,b) ) D、if (strcmp(a,b) ) 96、判断字符串s1是否大于字符串s2,应当使用( )。 A、if (s1>s2) B、if (strcmp(s1,s2)) C、if (strcmp(s2,s1)>0) D、if (strcmp(s1,s2)>0) 97、运行下列程序的输出结果是( )。 #include “string.h” main() {char s[60],s1[10]={“23”},s2[20]={“123”},s3[30]={“2348”}; if (strcmp(s1,s2)<0) {strcpy(s,s1);strcpy(s1,s2); strcpy(s2,s);} if (strcmp(s1,s3)<0) {strcpy(s,s1);strcpy(s1,s3); strcpy(s3,s);} if (strcmp(s2,s3)<0) {strcpy(s,s2);strcpy(s2,s3); strcpy(s3,s);} printf(“%s\\n%s\\n%s\\n”,s1,s2,s3); } A、23 123 2348 B、2348 23 123 C、234823123 D、23132348 15
C语言程序设计题库附答案
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)