浪淘沙李煜赏析200字:C语言的一些基础题

来源:百度文库 编辑:高考问答 时间:2024/04/27 03:25:35
下面的程序中( )有错误(每行程序前面的数字是行号)。
1 #include <stdio.h>
2 main()
3 { float s[5];
4 int I,sz=0;
5 for(I=0;I<5;I++)
6 scanf("%d",s+I);
7 for(I=0;I<5;I++)
8 sz+=s[I];
9 printf("\n%f",(float)sz);
10 }
A) 没有错误
B) 第4行错误
C) 第6行错误
D) 第9行错误

下列合法的数组定义是( )。
A) int a[]="string";
B) int a[5]={0,1,2,3,4,5};
C) char a="string";
D) char a[]={0,1,2,3,4,5};

以下程序段给数组所有的元素输入数据,请选择正确答案填入( )。
#include <stdio.h>
main()
{
int a[10],I=0;
while(I<10)
scanf("%d",______);
}
A) a+(i++)
B) &a[i+1]
C) a+i
D) &a[i++]

设有:
static char str[]="Beijing";
则执行:
printf("%d\n",strlen(strcpy(str,"China")));
后的输出结果为( )。

A) 5
B) 7
C) 12
D) 14

以下程序段给数组所有的元素输入数据,请选择正确答案填入( )。
Main()
{
int a[10],I=0;
while(I<10)
scanf("%d",______);
}
A) a+(I++)
B) &a[I+1]
C) a+I
D) &a[I++]

设有:
static char str[]="Beijing";
则执行:
printf("%d\n",strlen(strcpy(str,"China")));
后的输出结果为( )。

A) 5
B) 7
C) 12
D) 14

阅读下面的程序
main()
{
inn[2],I,j,k;
for(I=0;I<2;I++)
n[I]=0;
k=2;
for(I=0;I<k;I++)
for(j=0;j<k;j++)
n[j]=n[I]+1;
printf("%d\n",n[k]);
}
上面程序的输出结果是( )。
A) 不确定的值
B) 3
C) 2
D) 1

定义如下变量和数组:
int I;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是( )。For(I=0;I<3;I++)
printf("%d ",x[I][2-I]);
A) 1 5 9
B) 1 4 7
C) 3 5 7
D) 3 6 9

若有以下说明:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c='a',d,g;
则数值为4的表达式是( )。
A) a[g-c]
B) a[4]
C) a['d'-'c']
D) a['d'-c]

请选出以下语句的输出结果是( )。

Printf("%d\n",strlen("\t\"\065\xff\n));
A) 5
B) 14
C) 8
D) 输出项不合法,无正常输出

若有以下定义和语句:
char s[10];
s="abcd";
printf("%s\n",s);
则输出的结果是( )。

A) 输出abcd
B) 输出a
C) 输出abcd
D) 编译不通过

下述程序输出的结果是( )。
#include <stdio.h>
main()
{
char ch[7]={"65ab21"};
int I,s=0;
for(I=0;ch[I]>='0'&&ch[I]<='9';I+=2)
s=10*s+ch[I]-'0';
printf("%d\n",s);
}
A) 12ba56
B) 6521
C) 6
D) 62

下述函数引用中,( )是含有错误的。其中s的定义如下:
char s[10];

A) scanf("%10s",s);
B) printf("%.5s",s);
C) puts(s+3);
D) gets(s);

定义如下数组s:
char s[40];
若准备将字符串“This is a string.”记录下来,( )是错误的输入语句。
A) gets(s+2);
B) scanf("%20s",s);
C) for(I=0;I<17;I++)
S[I]=getchar();
D) while((c=getchar())!='\n')
s[I++]=c;

题目比较多
但是回答要详细哟

1 #include <stdio.h>
2 main()
3 { float s[5];
4 int I,sz=0;
5 for(I=0;I<5;I++)
6 scanf("%d",s+I);
7 for(I=0;I<5;I++)
8 sz+=s[I];
9 printf("\n%f",(float)sz);
10 }
A) 没有错误
B) 第4行错误
C) 第6行错误
D) 第9行错误
C s数组是实型,不能用整型输入

下列合法的数组定义是( )。
A) int a[]="string";
B) int a[5]={0,1,2,3,4,5};
C) char a="string";
D) char a[]={0,1,2,3,4,5};
D A.a[]是整形不对 B.有6个元素 C若是char a[]="string"; 就对了

以下程序段给数组所有的元素输入数据,请选择正确答案填入( )。
#include <stdio.h>
main()
{
int a[10],i=0;
while(i<10)
scanf("%d",______);
}
A) a+(i++)
B) &a[i+1]
C) a+i
D) &a[i++]
D AC显然不对 B没有输入a[0]的值

设有:
static char str[]="Beijing";
则执行:
printf("%d\n",strlen(strcpy(str,"China")));
后的输出结果为( )。

A) 5
B) 7
C) 12
D) 14
A strcpy为字符串拷贝函数 strlen为字符串统计函数

阅读下面的程序
main()
{
inn[2],I,j,k;
for(I=0;I<2;I++)
n[I]=0;
k=2;
for(I=0;I<k;I++)
for(j=0;j<k;j++)
n[j]=n[I]+1;
printf("%d\n",n[k]);
}
上面程序的输出结果是( )。
A) 不确定的值
B) 3
C) 2
D) 1
题有问题
for(I=0;I<2;I++)
n[I]=0;
初始化n[0],n[1]为0
4次循环
for(I=0;I<k;I++)
for(j=0;j<k;j++)
n[j]=n[I]+1;
得n[0]=3,n[1]=4执行
printf("%d\n",n[2]); n[2]本身就不对,越界了

定义如下变量和数组:
int I;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是( )。For(I=0;I<3;I++)
printf("%d ",x[I][2-I]);
A) 1 5 9
B) 1 4 7
C) 3 5 7
D) 3 6 9
A I=0输出(0)(2)=3,I=1输出X(1)(1)=5,I=2输出X(2)(0)=7

若有以下说明:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c='a',d,g;
则数值为4的表达式是( )。
A) a[g-c]
B) a[4]
C) a['d'-'c']
D) a['d'-c]

D A是不确定的值,B得5,C得2

Printf("%d\n",strlen("\t\"\065\xff\n));
A) 5
B) 14
C) 8
D) 输出项不合法,无正常输出
A 有5个逃逸字元
\t 水平制表符Tab
\" 双引号
\065 以8进制表示的5
\xff 以16进制表示的无名字符。打印出来显示为占两个字符位的空格
\n 换行符

若有以下定义和语句:
char s[10];
s="abcd";
printf("%s\n",s);
则输出的结果是( )。

A) 输出abcd
B) 输出a
C) 输出abcd
D) 编译不通过
D 字符串不能负值给地址应为s[]="abcd";

下述程序输出的结果是( )。
#include <stdio.h>
main()
{
char ch[7]={"65ab21"};
int I,s=0;
for(I=0;ch[I]>='0'&&ch[I]<='9';I+=2)
s=10*s+ch[I]-'0';
printf("%d\n",s);
}
A) 12ba56
B) 6521
C) 6
D) 62
C 第一次ch[0]=6第二次ch[2]=a跳出 s=6

下述函数引用中,( )是含有错误的。其中s的定义如下:
char s[10];

A) scanf("%10s",s);
B) printf("%.5s",s);
C) puts(s+3);
D) gets(s);
C 若字符串s[10]只有一个字符 如a \0,s+3指向的s[3]未分配内存

定义如下数组s:
char s[40];
若准备将字符串“This is a string.”记录下来,( )是错误的输入语句。
A) gets(s+2);
B) scanf("%20s",s);
C) for(I=0;I<17;I++)
S[I]=getchar();
D) while((c=getchar())!='\n')
s[I++]=c;
C 只是输入This is a string.没有输入\n

下面的程序中( )有错误(每行程序前面的数字是行号)。
1 #include <stdio.h>
2 main()
3 { float s[5];
4 int I,sz=0;
5 for(I=0;I<5;I++)
6 scanf("%d",s+I);
7 for(I=0;I<5;I++)
8 sz+=s[I];
9 printf("\n%f",(float)sz);
10 }
A) 没有错误
B) 第4行错误
C) 第6行错误 s数组是实型,不能用整型输入
D) 第9行错误

下列合法的数组定义是( )。
A) int a[]="string"; 串不能赋给整型
B) int a[5]={0,1,2,3,4,5}; 多了赋值元素
C) char a="string"; 串不能赋给单个元素
D) char a[]={0,1,2,3,4,5}; 正确

以下程序段给数组所有的元素输入数据,请选择正确答案填入( )。
#include <stdio.h>
main()
{
int a[10],I=0;
while(I<10)
scanf("%d",______);
}
A) a+(i++) 可以
B) &a[i+1] 没有从第一个元素开始
C) a+i 死循环
D) &a[i++] 也可以

设有:
static char str[]="Beijing";
则执行:
printf("%d\n",strlen(strcpy(str,"China")));
后的输出结果为( A )。

A) 5 "China" 长 5
B) 7
C) 12
D) 14

阅读下面的程序
main()
{
int n[2],I,j,k;
for(I=0;I<2;I++)
n[I]=0;
k=2;
for(I=0;I<k;I++)
for(j=0;j<k;j++)
n[j]=n[I]+1;
printf("%d\n",n[k]);
}
上面程序的输出结果是(A )。
A) 不确定的值 n[k],即[2] 为数组之后的元素
B) 3
C) 2
D) 1

定义如下变量和数组:
int I;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是(C)。
For(I=0;I<3;I++)
printf("%d ",x[I][2-I]);
A) 1 5 9
B) 1 4 7
C) 3 5 7
D) 3 6 9
输出元素为 a[0][2],a[1][1],a[2][0] 是3,5,7

若有以下说明:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c='a',d,g;
则数值为4的表达式是(D)。
A) a[g-c]
B) a[4]
C) a['d'-'c']
D) a['d'-c] 'd'-c='d'-'a'=3 a[3]的值是4

请选出以下语句的输出结果是(D)。

Printf("%d\n",strlen("\t\"\065\xff\n));
A) 5
B) 14
C) 8
D) 输出项不合法,无正常输出 双引号在外

若有以下定义和语句:
char s[10];
s="abcd"; 要用strcpy(s,"abcd")
printf("%s\n",s);
则输出的结果是(D )。

A) 输出abcd
B) 输出a
C) 输出abcd
D) 编译不通过

下述程序输出的结果是( C )。
#include <stdio.h>
main()
{
char ch[7]={"65ab21"};
int I,s=0;
for(I=0;ch[I]>='0'&&ch[I]<='9';I+=2)
s=10*s+ch[I]-'0';
printf("%d\n",s);
}
A) 12ba56
B) 6521
C) 6
D) 62

下述函数引用中,( A )是含有错误的。其中s的定义如下:
char s[10];

A) scanf("%10s",s);
B) printf("%.5s",s);
C) puts(s+3);
D) gets(s);

定义如下数组s:
char s[40];
若准备将字符串“This is a string.”记录下来,( )是错误的输入语句。
A) gets(s+2);
B) scanf("%20s",s);
C) for(I=0;I<17;I++)
S[I]=getchar();
D) while((c=getchar())!='\n')
s[I++]=c;

第一题:你把程序放到C里边运行一下不就可以看出来了吗?
C语言都学了几年了,又不怎么用。都已经忘的差不多了,

1 #include <stdio.h> (C) %D指的是整型数据而S是一个实型 数据
2 main()
3 { float s[5];
4 int I,sz=0;
5 for(I=0;I<5;I++)
6 scanf("%d",s+I);
7 for(I=0;I<5;I++)
8 sz+=s[I];
9 printf("\n%f",(float)sz);
10 }
A) 没有错误
B) 第4行错误
C) 第6行错误
D) 第9行错误

下列合法的数组定义是( B)。
A) int a[]="string"; 是一个int型的数据不能输入字符
B) int a[5]={0,1,2,3,4,5};
C) char a="string";要用一个函数来输入
D) char a[]={0,1,2,3,4,5}; char 型的是字符型的不可以输入数字

以下程序段给数组所有的元素输入数据,请选择正确答案填入( D)。
#include <stdio.h>
main()
{
int a[10],I=0;
while(I<10)
scanf("%d",______); 这个语句就相当于一个for(i=0;i<10;i++)
}
A) a+(i++)
B) &a[i+1]
C) a+i 0
D) &a[i++]

设有:
static char str[]="China";
则执行:
printf("%d\n",strlen(strcpy(str,"China")));
后的输出结果为(A ) strcpy是指把Beijing复制到 China里面去就等于Beiji, strlen是计算字节的一个函数
Beiji是五个字节输出5
A) 5
B) 7
C) 12
D) 14

阅读下面的程序
main()
{
int n[2],I,j,k;
for(I=0;I<2;I++)
n[I]=0;
k=2;
for(I=0;I<k;I++)
for(j=0;j<k;j++)
n[j]=n[I]+1;
printf("%d\n",n[k]);

上面程序的输出结果是(A )。循环里面I和J都是小于2,所以去不到2,输出N〔K〕的时候是一个不确定的值
A) 不确定的值
B) 3
C) 2
D) 1

定义如下变量和数组:
int I;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是(C )。For(I=0;I<3;I++)
printf("%d ",x[I][2-I]);
这是一个3行3列的二维数组,第一次循环时I=0;输出X〔0〕〔2〕=3,第二次循环时I=1,
输出X〔1〕〔1〕=5;第三次I=2.输出X〔2〕〔0〕=7

A) 1 5 9
B) 1 4 7
C) 3 5 7
D) 3 6 9

若有以下说明:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c='a',d,g;
则数值为4的表达式是( D-)。
A) a[g-c]
B) a[4] =5
C) a['d'-'c']
D) a['d'-c]字母加单引号表示d和a的 ASC码相减即等于3,由于A〔3〕=4

请选出以下语句的输出结果是(D )。

Printf("%d\n",strlen("\t\"\065\xff\n));
A) 5
B) 14
C) 8
D) 输出项不合法,无正常输出

若有以下定义和语句:
char s[10];
s="abcd";
printf("%s\n",s);
则输出的结果是(D )给字符串附值不可以直接用等于必须用附值函数,比如 strcpy(s,"abcd") ,scanf("%s",s)
gets(s)等等

A) 输出abcd
B) 输出a
C) 输出abcd
D) 编译不通过

下述程序输出的结果是(C )。
#include <stdio.h>
main()
{
char ch[7]={"65ab21"};
int I,s=0;
for(I=0;ch[I]>='0'&&ch[I]<='9';I+=2)
s=10*s+ch[I]-'0';
printf("%d\n",s);
} 第一次循环I=0时CH〔0〕=6符合循环条件(大于0小于9)第二次循环I=2,CH〔2〕=A,而A的ASC的值大于9,结束循环输出6
A) 12ba56
B) 6521
C) 6
D) 62

下述函数引用中,(C )是含有错误的。其中s的C定义如下:
char s[10];

A) scanf("%10s",s);
B) printf("%.5s",s);
C) puts(s+3); 只会输出第三个字符,而不会输出字符串
D) gets(s);

定义如下数组s:
char s[40];
若准备将字符串“This is a string.”记录下来,(B )是错误的输入语句。
A) gets(s+2); 电脑只会读入你输入的第二个字符
B) scanf("%20s",s);
C) for(I=0;I<17;I++)
S[I]=getchar();
D) while((c=getchar())!='\n')
s[I++]=c;

题目比较多
但是回答要详细哟

关注,不是短时间可以回答的.

A
C
C
A
C
A
A
C
D
C
A
D
A
A