在线跪求C语言试题答案,请高手帮帮我~~~~~~~~
一、单项选择题(共40分,每小题2分)1.声明语句为“chara[10]”,执行printf(“%d,%d\n”,sizeof(a),strlen(strcpy(a,“W...
一、 单项选择题(共40分,每小题2分)
1. 声明语句为“char a[10]”,执行printf(“%d,%d\n”,sizeof(a),strlen(strcpy(a, “Windows”)));语句后的输出结果为( )。
A.7,7 B.7,8 C. 10,7 D. 10,8
2. 以“只读”方式打开文本文件c:\xy.text,下列语句中哪一个是正确的( )。
A.fp=fopen(“c:\\xy.txt”, “a”); B. fp=fopen(“c:\\xy.txt”, “r”);
C. fp=fopen(“c:\\xy.txt”, “wb”) D. fp=fopen(“c:\xy.txt”, “r”);
3. 要为字符型变量a赋初值,下列语句中哪一个是正确的( )。
A.char a='3'; B.char a=“3” C. char a=%; D. char a=*;
4. 常量字符串”This is Sunday!”,通过strlen函数求其长度,结果为( )。
A.14 B.15 C. 16 D. 17
5. 若定义数组char a[10],char *p=a,则下面变量中,表示地址的是( )。
A.a+4 B.*p C. &a D. &p
6. 在下面定义中,是指针数组的为( )。
A. int *p[8] B. int (*p)[8] C. int (*p)(8) D. int *p(8)
7. 在C语言中可以用( )来定义一个新的变量类型。
A. #define B. #include C. typedef D. struct
8. 下面函数中不是关于文件操作的是( )。
A. fopen B. fclose C. fseek D. format
9. 结构型变量占用内存的字节数是( )。
A.各成员占用内存字节数之和
B.第一个成员占用的内存字节数
C.占用内存最大成员所需的字节数
D.最后一个成员占用的内存字节数
10. 设 struct st
{ int i;
int j;} *p;
main ( )
{
struct st m[ ]={{10, 1}, {20, 2}, {30, 3}};
p=m;
printf (〃%d\n〃,(*++p). j);
}
则程序的输出结果是( )。
A. 1 B. 2 C. 3 D. 10
11. 若p是一个字符指针,则&*p为( )。
A. 地址 B. 字符 C. 字符串 D. NULL。
12. 如果有二维数组a[8][6],则可以使用地址方式来表示第i行第j列的元素的是( )。
A. a[i][j] B. *(*(a+i)+j) C. *(*(a+j)+i) D. *a[i][j]
13. 在说明语句:int *f();中,标识符f代表的是( )。
A.一个用于指向整型数据的指针变量
B.一个用于指向一维数组的行指针
C.一个用于指向函数的指针变量
D.一个返回值为指针型的函数名
14. 如果定义结构体
struct student {
int id;
char name[8];
} *s1;
则如果要表示其成员变量,可以用( )。
A. s1.name B. s1->name C. s1[name] D. s1=name
15. 若有以下的定义:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,则值为3的表达式是( )。
A. p+=2,*(p++) B. p+=2,*++p C. p+=3,*p++ D. p+=2,++*p
16. 在定义了数组int a[5][6];后,第10个元素是( )。
A.a[2][5] B.a[2][4] C.a[1][3] D.a[4][2]
17. 现有语句:int a[10], *p=a;,则下列表达式中不能表示数组第i个元素的是( )。
A.a[i] B.*(a+i) C.*(p+i) D.*p+i
18. 现有语句char chName[10]={“Wang”};,则语句sizeof(chName)的结果为( )。
A.3; B.4 C.10 D.9
19. 设结构体S定义为:struct S{ short g; char h; double *pf;};,则该结构体共占用( )个字节(短整型变量占2个字节)。
A.11 B.7 C.8 D.14
20. 表示链表结构结束的标识符是( )。
A.NULL B.EOF C.BOF D./0 展开
1. 声明语句为“char a[10]”,执行printf(“%d,%d\n”,sizeof(a),strlen(strcpy(a, “Windows”)));语句后的输出结果为( )。
A.7,7 B.7,8 C. 10,7 D. 10,8
2. 以“只读”方式打开文本文件c:\xy.text,下列语句中哪一个是正确的( )。
A.fp=fopen(“c:\\xy.txt”, “a”); B. fp=fopen(“c:\\xy.txt”, “r”);
C. fp=fopen(“c:\\xy.txt”, “wb”) D. fp=fopen(“c:\xy.txt”, “r”);
3. 要为字符型变量a赋初值,下列语句中哪一个是正确的( )。
A.char a='3'; B.char a=“3” C. char a=%; D. char a=*;
4. 常量字符串”This is Sunday!”,通过strlen函数求其长度,结果为( )。
A.14 B.15 C. 16 D. 17
5. 若定义数组char a[10],char *p=a,则下面变量中,表示地址的是( )。
A.a+4 B.*p C. &a D. &p
6. 在下面定义中,是指针数组的为( )。
A. int *p[8] B. int (*p)[8] C. int (*p)(8) D. int *p(8)
7. 在C语言中可以用( )来定义一个新的变量类型。
A. #define B. #include C. typedef D. struct
8. 下面函数中不是关于文件操作的是( )。
A. fopen B. fclose C. fseek D. format
9. 结构型变量占用内存的字节数是( )。
A.各成员占用内存字节数之和
B.第一个成员占用的内存字节数
C.占用内存最大成员所需的字节数
D.最后一个成员占用的内存字节数
10. 设 struct st
{ int i;
int j;} *p;
main ( )
{
struct st m[ ]={{10, 1}, {20, 2}, {30, 3}};
p=m;
printf (〃%d\n〃,(*++p). j);
}
则程序的输出结果是( )。
A. 1 B. 2 C. 3 D. 10
11. 若p是一个字符指针,则&*p为( )。
A. 地址 B. 字符 C. 字符串 D. NULL。
12. 如果有二维数组a[8][6],则可以使用地址方式来表示第i行第j列的元素的是( )。
A. a[i][j] B. *(*(a+i)+j) C. *(*(a+j)+i) D. *a[i][j]
13. 在说明语句:int *f();中,标识符f代表的是( )。
A.一个用于指向整型数据的指针变量
B.一个用于指向一维数组的行指针
C.一个用于指向函数的指针变量
D.一个返回值为指针型的函数名
14. 如果定义结构体
struct student {
int id;
char name[8];
} *s1;
则如果要表示其成员变量,可以用( )。
A. s1.name B. s1->name C. s1[name] D. s1=name
15. 若有以下的定义:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,则值为3的表达式是( )。
A. p+=2,*(p++) B. p+=2,*++p C. p+=3,*p++ D. p+=2,++*p
16. 在定义了数组int a[5][6];后,第10个元素是( )。
A.a[2][5] B.a[2][4] C.a[1][3] D.a[4][2]
17. 现有语句:int a[10], *p=a;,则下列表达式中不能表示数组第i个元素的是( )。
A.a[i] B.*(a+i) C.*(p+i) D.*p+i
18. 现有语句char chName[10]={“Wang”};,则语句sizeof(chName)的结果为( )。
A.3; B.4 C.10 D.9
19. 设结构体S定义为:struct S{ short g; char h; double *pf;};,则该结构体共占用( )个字节(短整型变量占2个字节)。
A.11 B.7 C.8 D.14
20. 表示链表结构结束的标识符是( )。
A.NULL B.EOF C.BOF D./0 展开
5个回答
展开全部
1.C(sizeof取的是真个数组长度,strlen取的则是字符串长度)
2.B(反斜杠“\”本身有转义符的概念,当需要使用时,需要先转义,所以写成“\\”。而只读方式为“r”,“a”为附加,“wb”为二进制写入)
3.A(字符要用单引号引用,双引号是字符串,区别在于字符串最后有一个空字符作为结束,而字符没有)
4.B(就是字符串长度,算中间的空格,但不算最后那个看不见的结束符)
5.A(a是数组,p是指针,两者概念相似,本身就是地址,星号“*”表示取内容,而和号“&”则表示取地址,但前面已经说了a和p本身就是地址,所以什么都不用取,则a+4很显然是地址)
6.A(没啥好说的,就这么规定的)
7.C(同上)
8.D(format是字符串的格式化输出操作,与文件操作无关)
9.C(字节对齐的问题,印象里应该是最大成员的字节数)
10.B(p为m的首地址,++p后取第二组数据的首地址,*取值后为第二组数据中的第一个数据位置,.j为取j位置上的数据,结果为2)
11.A(上面已经说了,指针本身就是地址,&和*两个符号取地址再取内容,等于抵消,所以还是地址)
12.B(a+i确定行,之后去内容,再+j确定列,再取内容,即可)
13.D(int为返回值类型,*表示返回值为指针,后面的括号表示这是一个函数)
14.B(s1是一个指针,指针结构体的成员用“->”引用,而非指针结构体的成员用“.”引用)
15.A(先自加2,再++运算,最后取内容)
16.C(扳着手指头算都可以)
17.D(*p+i表示数组的第一个元素的值加上i)
18.C(sizeof是数组的大小,与里面的值无关)
19.C(short占用2字节,char占用1字节,double看起来是8字节,但其实double是个指针,指针都是4字节,不看类型。如此相加看起来应该是7个字节,但其中有个字节对齐的问题,所以char后面要空出来一个字节作为对齐,最终结果是8个字节)
20.A(NULL为结束符,EOF应该是结束函数用的,BOF不清楚,/0啥都不是,NULL可以表示为"\0",注意斜杠方向)
2.B(反斜杠“\”本身有转义符的概念,当需要使用时,需要先转义,所以写成“\\”。而只读方式为“r”,“a”为附加,“wb”为二进制写入)
3.A(字符要用单引号引用,双引号是字符串,区别在于字符串最后有一个空字符作为结束,而字符没有)
4.B(就是字符串长度,算中间的空格,但不算最后那个看不见的结束符)
5.A(a是数组,p是指针,两者概念相似,本身就是地址,星号“*”表示取内容,而和号“&”则表示取地址,但前面已经说了a和p本身就是地址,所以什么都不用取,则a+4很显然是地址)
6.A(没啥好说的,就这么规定的)
7.C(同上)
8.D(format是字符串的格式化输出操作,与文件操作无关)
9.C(字节对齐的问题,印象里应该是最大成员的字节数)
10.B(p为m的首地址,++p后取第二组数据的首地址,*取值后为第二组数据中的第一个数据位置,.j为取j位置上的数据,结果为2)
11.A(上面已经说了,指针本身就是地址,&和*两个符号取地址再取内容,等于抵消,所以还是地址)
12.B(a+i确定行,之后去内容,再+j确定列,再取内容,即可)
13.D(int为返回值类型,*表示返回值为指针,后面的括号表示这是一个函数)
14.B(s1是一个指针,指针结构体的成员用“->”引用,而非指针结构体的成员用“.”引用)
15.A(先自加2,再++运算,最后取内容)
16.C(扳着手指头算都可以)
17.D(*p+i表示数组的第一个元素的值加上i)
18.C(sizeof是数组的大小,与里面的值无关)
19.C(short占用2字节,char占用1字节,double看起来是8字节,但其实double是个指针,指针都是4字节,不看类型。如此相加看起来应该是7个字节,但其中有个字节对齐的问题,所以char后面要空出来一个字节作为对齐,最终结果是8个字节)
20.A(NULL为结束符,EOF应该是结束函数用的,BOF不清楚,/0啥都不是,NULL可以表示为"\0",注意斜杠方向)
2011-05-04
展开全部
2.多个源文件的C程序编译和连接:
1)首先分别编辑、编译file1.c和file2.c ;
2)在TC下编辑一个项目文件,扩展名为.PRJ;
如: 文件内容——c:\\zyc\\cprg\\file1.c
c:\\zyc\\cprg\\file2.c
文件内容指出了要参加联调的源程序文件名
3)编译运行
4.结果:
main:x=5 y=1 n=1
func:x=6 y=21 n=11
main:x=5 y=1 n=11
func:x=8 y=31 n=21
5.
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b,c,max;
scanf("%d%d%d",&a,&b,&c);
if(a>b)
max=a;
else
max=b;
if(c>max)
max=c;
printf("max=%d",max);
}
6.
#include<stdio.h>
void main(){
float x,y;
printf("请输入x的值:\n");
scanf("%f",&x);
if(x<1)
printf("y的值是:%f",x);
else if(1<=x<10){
y=2*x-1;
printf("y的值是:%f",y);
}
else {
y=3*x-11;
printf("y的值是:%f",y);
}
}
7题
57
5 7
67.856400,-789.124023
67.856400 ,-789.124023
67.86,-789.12,67.864,-789.1240,67.856400,-789.124023
6.78564e+01, -7.9e+02
A,65, 101, 41
1234567,4553207, d687
65535,177777,ffff,-1
COMPUTER, COM
8.结果9
二、编程:
1.
#include<stdio.h>
void main()
{
int a,s;
scanf("%d",&s);
if(s==100)
a=9;
else
a=s/10;
switch(a)
{
case 0:printf("E\n");break;
case 1:printf("E\n");break;
case 2:printf("E\n");break;
case 3:printf("E\n");break;
case 4:printf("E\n");break;
case 5:printf("E\n");break;
case 6:printf("D\n");break;
case 7:printf("C\n");break;
case 8:printf("B\n");break;
case 9:printf("A\n");break;
default:printf("error\n");
}}
2.
#include<stdio.h>
#define N 10
main()
{
int i,j,k;
int a[N];
printf("\nplease input %d datas:\n\n",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N;i++)
for(j=0;j<N-i;j++)
if(a[j]<a[j+1])
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}
printf("\n\nthe sortde numbers are:\n\n");
for(i=0;i<N;i++)
printf("%5d",a[i]);
}
祝你好运!
另外,站长团上有产品团购,便宜有保证
1)首先分别编辑、编译file1.c和file2.c ;
2)在TC下编辑一个项目文件,扩展名为.PRJ;
如: 文件内容——c:\\zyc\\cprg\\file1.c
c:\\zyc\\cprg\\file2.c
文件内容指出了要参加联调的源程序文件名
3)编译运行
4.结果:
main:x=5 y=1 n=1
func:x=6 y=21 n=11
main:x=5 y=1 n=11
func:x=8 y=31 n=21
5.
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b,c,max;
scanf("%d%d%d",&a,&b,&c);
if(a>b)
max=a;
else
max=b;
if(c>max)
max=c;
printf("max=%d",max);
}
6.
#include<stdio.h>
void main(){
float x,y;
printf("请输入x的值:\n");
scanf("%f",&x);
if(x<1)
printf("y的值是:%f",x);
else if(1<=x<10){
y=2*x-1;
printf("y的值是:%f",y);
}
else {
y=3*x-11;
printf("y的值是:%f",y);
}
}
7题
57
5 7
67.856400,-789.124023
67.856400 ,-789.124023
67.86,-789.12,67.864,-789.1240,67.856400,-789.124023
6.78564e+01, -7.9e+02
A,65, 101, 41
1234567,4553207, d687
65535,177777,ffff,-1
COMPUTER, COM
8.结果9
二、编程:
1.
#include<stdio.h>
void main()
{
int a,s;
scanf("%d",&s);
if(s==100)
a=9;
else
a=s/10;
switch(a)
{
case 0:printf("E\n");break;
case 1:printf("E\n");break;
case 2:printf("E\n");break;
case 3:printf("E\n");break;
case 4:printf("E\n");break;
case 5:printf("E\n");break;
case 6:printf("D\n");break;
case 7:printf("C\n");break;
case 8:printf("B\n");break;
case 9:printf("A\n");break;
default:printf("error\n");
}}
2.
#include<stdio.h>
#define N 10
main()
{
int i,j,k;
int a[N];
printf("\nplease input %d datas:\n\n",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N;i++)
for(j=0;j<N-i;j++)
if(a[j]<a[j+1])
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}
printf("\n\nthe sortde numbers are:\n\n");
for(i=0;i<N;i++)
printf("%5d",a[i]);
}
祝你好运!
另外,站长团上有产品团购,便宜有保证
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.C
2.B
3.A
4.B
5.A
6.A
7.C
8.D
9.A
10.B
11.A
12.B
13.D
14.B
15.A
16.C
17.D
18.C
19.C
20.A
2.B
3.A
4.B
5.A
6.A
7.C
8.D
9.A
10.B
11.A
12.B
13.D
14.B
15.A
16.C
17.D
18.C
19.C
20.A
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.C
2.B
3.A
4.B
5.A
6.A
7.C
8.D
9.A
10.B
11.A
12.B
13.D
14.B
15.A
16.C
17.D
18.C
19.B
20.A
2.B
3.A
4.B
5.A
6.A
7.C
8.D
9.A
10.B
11.A
12.B
13.D
14.B
15.A
16.C
17.D
18.C
19.B
20.A
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
B B A C C A C D A B A B D B A B D B B A
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询