一、单选题(每题2分,共25题,共50分)
执行以下程序后,输出结果是( )
int a =255;
char c;
c=a;
printf("%d",c);
A)255 B)0 C)-3 D)-1
有以下程序
#include
void main( )
{
FILE *fp; int i,k=0,n=0;
fp=fopen("d1.dat","w");
for(i=1;i<4;i++)
fprintf(fp,"%d",i);
fclose(fp);
fp=fopen("da.dat","r");
fscanf(fp,"%d%d",&k,&n);
printf("%d %d\n",k,n);
fclose(fp);
}
执行后输出结果是( )
A)1 2 B)123 0 C)1 23 D)0 0
有如下程序:
main( )
{
int y=3,x=3,z=1;
printf("%d %d",(++x,y++),z+2);
}
A)3 4 B)4 2 C)4 3 D)3 3
设int x=1,y=1;表达式(!x||y--)的值是( )
A)0 B)1 C)2 D)-1
以下程序的输出结果是( )
main( )
{
int x=10,y=20,t=0;
if(x==y)t=x;x=y;y=t;
printf("%d,%d\n",x,y);
}
A)10,20 B)10,0 C)20,0 D)20,10
有如下程序,该程序的执行结果是( )
main( )
{
int i,sum=0;
for(i=1;i<=3;i++)
sum+=i++;
printf("%d\n",sum);
}
A)6 B)3 C)死循环 D)4
有以下程序段:
int k=0;
while(k=1) k++;
while循环执行的次数是( )
A)无限次 B)有语法错,不能执行
C)一次也不执行 D)执行1次
若x=5,则运行x*=x+3,值为( )
A)28 B)8 C)40 D)20
若有以下定义:
char a; int b;
float c; double d;
则表达式a*b+d-c值得类型为( )
A)Float B)int C)char D)double
在C语言中,有如下定义:
#include
char a[10],*b=a;
则不能给数组a输入字符串的语句是( )
A)gets(a); B)gets(a[0]); C)gets(&a[0]); D)gets(b);
以下程序的输出结果是( )
main( )
{
int a=5,b=4,c=6,d;
printf("%d\n",1?6:4);
}
A)5 B)4 C)6 D)不确定
有如下C语言程序:则程序运行后的输出结果是( )
#include
void main( )
{
int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d,%d,%d\n",a[1][3],a[2][1],a[3][2]);
}
A)0,5,0 B)4,7,0 C)4,3,0 D)0,6,0
有如下语言程序:
#include
void main( )
{
char arr[]={'a','c','f','h','h'};
char *ptr;
ptr=arr;
ptr+=2;
printf("%c,%c\n",*ptr,*(ptr+2));
}
则其输出结果正确的是( )
A)a,f B)a,c C)f,g D)f,h
有如下的C语言程序:
#include
void swap(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
}
void main( )
{
int a=7;int b=9;
int *pointer_1=&a;
int *pointer_2=&b;
if(a
swap(*pointer_1,*pointer_2);
printf("%d,%d",a,b);
}
则其运行的结果正确的是( )
A)7,9 B)9,7 C)7,7 D)9,9
有如下的C语言程序:
#include
int f(int b[][4])
{
int i;
int j;
int s=0;
for(j=0;j<4;j++)
{
i=j;
if(i>2)
i=3-j;
s+=b[i][j];
}
return s;
}void main( ){ int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}}; printf("%d\n",f(a));}则程序执行后的输出结果是( )A)16 B)11 C)18 D)12- 有如下的C语言程序:#include void main( ){ int array[10]={1,2,3,4,5,6,7,8,9,10}; int *ptr=array; int i; for(i=0;i<10;i++) { (*ptr)++; ptr++; } for(i=0;i<10;i++) { printf("%d",ptr[i]); }}则程序运行后的输出结果是( )A)1 2 3 4 5 6 7 8 9 10 B)0 1 2 3 4 5 6 7 8 9C)2 3 4 5 6 7 8 9 10 11 D)以上选项都不对
- 在C语言中,下列赋值语句错误的是( )A)char s[]={"Hello,Beijing!"};B)char *s="Hello,Beijing!";C)char s[20]; s={"Hello,Beijing!"};D)char *s; s="Hello,Beijing!";
- 有如下C语言语句:struct point{ int x; int y;}point1,point2;下列输入和输出语句中用法错误的是( )A)scanf("%d",&point1.x); B)scanf("%d%d",&point1);C)scanf("%d",point2.y); D)scanf("%d %d",point2.x,point2.y);
- 有如下C语言程序:#include void main( ){ int m[][3]={1,4,7,2,5,8,3,6,9}; int i; for(i=0;i<3;i++) { printf("%d",m[2][i]); }}则程序编译运行后其输出结果正确的是( )A)4 5 6 B)2 5 8 C)3 6 9 D)7 8 9
- 有如下C语言程序:#include struct STU{ char name[10]; int num; float TotalScore;};void f(struct STU *p){ struct STU s[2]={{"SunDan",20044,550},{"Penghua",20045,537}}; struct STU *q=s; ++p; ++q; *p=*q;}void main( ){ struct STU s[3]={{"YangSan",20041,703},{"LiSiGuo",20042,508}}; f(s); printf("%s%d3.0f\n",s[1].name,s[1].num,s[1].totalScore);}则编译运行后其输出结果是( )A)SunDan 20044 550 B)Penghua 20045 537C)LiSiGuo 20042 580 D)SunDan 20041 703
- 有如下C语言程序:#include int f(int a[],int n){ if(n>=1) return f(a,n-1)+a[n-1]; else return 0;}void main( ){ int aa[5]={1,2,3,4,5}; int s; s=f(aa,5); printf("%d\n",s);}则程序运行后的输出结果为( )A)4 B)5 C)14 D)15
- 有如下C语言程序:#include int sub(int n){ return (n/10+n%10);}void main( ){ int x,y; scanf("%d",&x); y=sub(sub(sub(x))); printf("%d\n",y);}编译运行后输入1234并回车,正确输出结果是( )A)127 B)19 C)10 D)2
- 下列C语言语句中不能把字符串“Hello!”赋给的数组b的是( )A)char b[10]={'H','e','l','l','o','!'};B)char b[10]; b="Hello!"C)char b[10]; strcpy(b,"Hello!");D)char b[10]="Hello!"
- 有如下C语言程序:#include void main( ){ char a[10]={9,8,7,6,5,4,3,2,1,0}; char *p=a+5; printf("%d\n",*--p);}则程序运行后的输出结果是( )A)5 B)3 C)a[4]的地址 D)a[5]的地址
- 有如下C语言程序:#include int func(int a,int b){ static int m=0,i=2; i+=m+1; m=i+a+b; return(m);}void main( ){ int k=4,m=1,p; p=func(k,m); printf("%d,",p); p=func(k,m); printf("%d\n",p);}A)8,8 B)8,15 C)8,16 D)8,17
- 从键盘上输入一个正数。要求:如果输入的是负数,则要求重新输入,直到输入的是正数为止。
- 存10名学生信息,学生信息包含:姓名、性别、成绩。要求:1)用结构体数组实现2)编写3个函数:(1)input函数,负责输入学生信息,姓名不超过10个字符。运行时比如学生输入了信息,显示如下(......为省略):请输入第1名学生信息:姓名:张三性别:1成绩:20请输入第2名学生信息:姓名:李四性别:0成绩:100............请输入第10名学生信息:姓名:王五性别 :1成绩:90(2)output函数,打印10名学生信息,打印结果如下(......为省略):*****第1名学生信息*****姓名:张三性别:男成绩:20*****第2名学生信息*****姓名:李四性别:女成绩:100............*****第10名学生信息*****姓名:王五性别:男成绩:90(3)main函数,负责调用input输入函数和print打印函数。