一个源程序在计算机执行的步骤为( )。
A、编辑 /连接 /编译 /执行 B、编辑 /编译 /连
接 /执行
C、连接 /编辑 /编译 /执行 D、编辑 /连接 /执行 /编

如果有整型变量X,浮点型变量Y,双精度型变量Z,则表达
式Y*Z+X+Y执行后的类型为( )。
A、双精度 B、浮点型
C、整型 D、逻辑型
用 8位无符号二进制数能表示的最大十进制数为( )。
A,127 B, 128 C,255 D,256
下列各组常数中正确的是( )。
A、‘ AB?,0003,0X2ag,2E5 B,3E-4,,X—Y”,
‘ \n?,0X5bd
C,e3,5+7,234E,lg3 D,3507”,521,01006,0XA3
下列各组变量正确的是( )。
A,A3b,T_2,IF B,S,OK?,_T
C,M2,Student_1,_p D,1_next,I+J,INT
下面函数描述不正确的是( )。
A、指针类型函数返回的值是指针。B、整型类型函数返回的值是
整数。
C、空类型函数返回的值是任意类型数据。D、结构体类型函数返
回的是结构体类型的值。
当 int 型变量 n= - 1时,printf(“%x\n”,n);行的结果为( )。
A,- 1 B,1000000000000001
C,ffff D、非以上结果
下列表达式结果为真的是( )。
A,1 < 4 && 4 > 7 B,! ( 2 < = 5 )
C,! ( 4 < = 6 ) && ( 3 < = 7 ) D,( 1 < 3 ) || ( 2 > 5 )
若有以下定义和语句
#include,stdio.h”
int a=4,b=3,*p,*q,*w;
p=&a;q=&b;w=q;q=NULL;
则以下选项中错误的语句是
A) *q=0; B) w=p; C) *p=a; D) p=w;
以下能正确定义数组并正确赋初值的语句是
A) int N=5,b[N][N]; B) int a[1][2]={{1},{2}};
C) int c[2][ ]={{1,2},{3,4}}; D) int s[3][2]={{1,2},{3,4}};
main()
{ int i=1,j=1,k=2;
if ( j++|| k++)&&i++) printf(“%d,%d,%d\n”,i,j,k);
}
A) 1,1,2 B) 2,2,1
C) 2,2,2 D) 2,2,3
若有以下程序段
int m=0x04,n=0x02;
m + = n;
printf(“%x\n”,m);
执行后输出的结果是
A) 0X42 B) 0x6 C) 6 D) 0X02
有以下程序
main( )
{ int i;
for ( i=0;i<2;i++)
switch( i )
{ case 1,printf(“%d”,i );
case 2,printf(“%d”,i );
default, printf(“%d”,i );
}
}
执行后输出结果是,
A) 0112 B) 0112 C) 0111 D) 1200
有以下程序段
int m=0,n=0; char c=?a?;
scanf(“%d%c%d”,&m,&c,&n);
printf(“%d,%c,%c\n”,m,c,n);
若从键盘上输入,10A65<回车 >,则输出结果是,
A) 10,A,10 B) 10,a,10 C) 10m,,a,0 D)10,A,A
void f(int x,int y)
{ int t ;
if (x<y){ t=x; x=y; y= t;}
}
main()
{ int a=4,b=3,c=5;
f(a,b); f(a,c) ; f(b,c);
printf(“%d,%d,%d\n”,a,b,c);
}
A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,5
有以下程序
main( )
{ char *s[ ]={“one”,”two”,”three”},*p ;
p=s[2];
printf(“%c,%s\n”,*(p+2),s[ 0 ] );
}
A) r,one B) t,one C)h,one D) o,two
有以下程序
main( )
{ int x[ 10 ] ={8,7,6,5,0,0 },*s;
s=x+3;
printf(“%d\n”,s [ 5] );
}
执行后输出结果是
A) 随机值 B) 0 C) 5 D) 6
有以下程序
main( )
{ int m[ ][3]={1,4,7,2,5,8,3,6,9};
int i,j,k=2;
for ( i =0; i< 3; i ++ )
printf(“%d,,m[k][i]);
}
执行后输出的结果是
A) 4 5 6 b) 2 5 8 C) 3 6 9 D) 7 8 9
有以下程序
main( )
{ char s[ ]=”\n1234\?”;
printf(“%d,%d\n”,strlen(s),sizeof(s));
}
A) 赋初值的字符串有错 B) 6,7 C) 5,6 D) 6,6
有以下程序
main( )
{ union
{ unsigned int n; unsigned char c; }u1;
u1.c=?B?;
printf(“%c\n”,u1.n); }
A) b1 B) 01000010 C) B D) 66
有以下程序
main( )
{ int i=2,s=0;
do {
if ( i%2 ) { i++;continue;}
i++ ;
s + = i ;
}while( i< 7 );
printf(“%d\n”,s ); }
执行后输出的结果是,
A) 8 B) 12 C) 15 D) 18
以下函数的功能是删除字符串 S中的所有数字字符。请填空。
void dele(char *s)
{ int n=0,i ;
for ( i = 0 ; s [ i ]; i ++)
if ( )
s[n++]=s[ i ];
s[ n ]= ;
}
s [ i ] < 48 || s [ i ] > 57
?\0?
求 n的阶乘。
main()
{
int power(int n) ;
int n;
scanf(“%d\n”,&n);
printf(%d!=%d\n”,n,power(n) );
}
{
int i,p=1;
for (i=1 ; i<=n ; ++ i )
p*=i ;
;
}
int power(int n)
return(p);
利用宏调用求 1—5的平方值。
# include <stdio.h>
#define
main()
{
int i=1;
while (i<6)
{
printf(“%d\t”,SQUARE(i));
;
}
}
SQUARE(x) (x)*(x)
i ++
将一个整数按字节输出其内容
main()
{
{
int i;
char ch[2];
} x ;
x.i=24897;
printf(“i=%o \ n,,x.i );
printf(“ch0=%o,ch1=%o\n”,x.ch[0],x.ch[1]);
printf(“ch0=%c,ch1=%c\n”,x.ch[0],x.ch[1]);
union
}
1,将 file1.txt文件中的数据读回到程序并输出到显示屏上。
#include <stdio.h>
main()
{
file *fp;
char name[20];
int num;
float score;
if ( )
{ printf(“can?t open file”);exit(0); }
while (fscanf(fp,“%s %d %f”,name,&num,&score)!=EOF)
printf(“%-20s %6d %6.2f\n”,name,num,score);
fclose( );
}
(fp=fopen(“file1.txt”,”r”))==NULL
fp
试编名为 list_record(void) 的函数,功能为显示所有结点内容。
提示:在函数外部已经定义如下结点结构类型和该类型的指针变量,
且链表已经建立。
struct stud
{ long num;
float score;
struct stud *next;
};
struct stud *head=NULL,*this,*new;
函数程序为,
void list_record(void)
{
在已经建立的 student.rec文件中,查找从键盘输入的指定编号的学
生数据。文件中的数据按“记录”读写。
学生数据结构为,
编码 num占 4字节
成绩 score占 4字节
试编名为 new_record(void) 的函数,功能为增加一个新结点。
提示:在函数外部已经定义如下结点结构类型和该类型的指针变量。
struct stud
{ long num;
float score;
struct stud *next;
};
struct stud *head=NULL,*this,*new;
从键盘输入一批学生数据,然后存储到磁盘上,文件名为
student.ree,数据按“记录”读写。
学生数据结构为,
编码 num占 4字节
成绩 score占 4字节