((1)~(40)每题1分,(41)~(50)每题2分,共60分)
A)2
B)4
C)8
D)16
A)存储媒体
B)传输媒体
C)表现媒体
D)表示媒体
A)硬盘上的全部文件
B)当前盘当前目录中的全部文件
C)当前盘上的全部文件
D)根目录中的全部文件
A)256
B)512
C)1024
D)64
A)汇编程序
B)编辑程序
C)解释程序
D)编译程序
A)TELNET
B)BBS
C)FTP
D)WWW
A)该文件夹为空
B)该文件夹中含有子文件夹
C)该文件夹中只包含有可执行文件
D)该文件夹中包含系统文件
A)在"开始"菜单中可以增加项目,也可以删除项目
B)在"开始"菜单中不能增加项目,也不能删除项目
C)在"开始"菜单中可以增加项目,但不能删除项目
D)在"开始"菜单中不能增加项目,但可以删除项目
A)QUIT
B)WIN
C)EXIT
D)ESC
A)计算机病毒只感染可执行文件
B)计算机病毒只感染文本文件
C)计算机病毒只能通过软件复制的方式进行传播
D)计算机病毒可以通过读写磁盘或网络等方式进行传播
A)C程序中注释部分可以出现在程序中任意合适的地方
B)花括号"{"和"}"只能作为函数体的定界符
C)构成C程序的基本单位是函数,所有函数名都可以由用户命名
D)分号是C语句之间的分隔符,不是语句的一部分
A)10110B
B)0386
C)0Xffa
D)x2a2
A)scanf
B)Void
C)_3com_
D)int
main() { int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); printf("%d %d %3.1f %3.1f\n",a,c,f,x); }
程序运行后的输出结果是(B)。
A)1 65 1 6.5
B)1 65 1.5 6.5
C)1 65 1.0 6.5
D)2 65 1.5 6.5
A)0<=x<100
B)i=j==0
C)(char)(65+3)
D)x+1=x+1
main() { int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a) printf("%d,%d\n",k,m); }
程序运行后的输出结果是(C)。
A)0,0
B)0,1
C)1,0
D)1,1
A)11 12<回车>
B)11, 12<回车>
C)11,12<回车>
D)11,<回车>
12<回车>
int x=2002, y=2003; printf("%d\n",(x,y));
则以下叙述中正确的是(D)。
A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B)运行时产生出错信息
C)输出值为2002
D)输出值为2003
A)x=x*100+0.5/100.0;
B)x=(x*100+0.5)/100.0;
C)x=(int)(x*100+0.5)/100.0;
D)x=(x/100+0.5)*100.0;
A.if (c<a) x=1; B.if (a<3) x=3; else if (b<a) x=1; else if (a<2) x=2; else x=3; else x=1; C.if (a<3) x=3; D.if (a<b) x=b; if (a<2) x=2; if (b<c) x=c; if (a<1) x=1; if (c<a) x=a;
main() { int s=0,a=1,n; scanf("%d",&n); do{ s+=1; a=a-2; }while(a!=n); printf("%d\n",s); }
若要使程序的输出值为2,则应该从键盘给n输入的值是(B)。
A)-1
B)-3
C)-5
D)0
s=a; for(b=1;b<=c;b++) s=s+1;
则与上述程序段功能等价的赋值语句是(B)。
A)s=a+b;
B)s=a+c;
C)s=s+c;
D)s=b+c;
main() { int k=4,n=0; for(;n<k;) { n++; if(n%3!=0) continue; k--; } printf("%d,%d\n",k,n); }
程序运行后的输出结果是(C)。
A)1,1
B)2,2
C)3,3
D)4,4
main() { int n; float s; s=1.0; for(n=10;n>1;n--) s=s+1/n; printf("%6.4f\n",s); }
程序运行后输出结果错误,导致错误结果的程序行是 (B)。
A)s=1.0;
B)for(n=10;n>1;n--)
C)s=s+1/n;
D)printf("%6.4f\n",s);
A)ch='\';
B)ch=62+3;
C)ch=NULL;
D)ch='\xaa';
A)函数调用可以作为独立的语句存在
B)函数调用可以作为一个函数的实参
C)函数调用可以出现在表达式中
D)函数调用可以作为一个函数的形参
void fun(int n, double x) { …… }
若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是(C)。
A)fun(int y,double m);
B)k=fun(10,12.5);
C)fun(x,n);
D)void fun(n,x);
void fun(char *a, char *b) { a=b; (*a)++; } main() { char c1='A',c2='a',*p1,*p2; p1=&c1; p2=&c2; fun(p1,p2); printf("%c%c\n",c1,c2); }
程序运行后的输出结果是(A)。
A)Ab
B)aa
C)Aa
D)Bb
A)int *i=NULL; B) float *f=NULL; scanf("%d",i); *f=10.5; C)char t='m', *c=&t; D) long *L; *c=&t; L='\0';
#include<stdio.h> main() { printf("%d\n",NULL); }
程序运行后的输出结果是(A)。
A)0
B)1
C)-1
D)NULL没定义,出错
A)c='97';
B)c="97";
C)c=97;
D)c="a";
A)int a[2][2]={{1},{2}};
B)int a[][2]={1,2,3,4};
C)int a[2][2]={{1},2,3};
D)int a[2][]={{1,2},{3,4}};
A)typedef struct B)struct color cl { int red; { int red; int green; int green; int blue; int blue; } COLOR; }; COLOR cl; C)struct color D)struct { int red; { int red; int green; int green; int blue; int blue; } cl; } cl;
A)int num[]; B) #define N 100 int num[N]; C)int num[0..100]; D) int N=100; int num[N];
A)char s[8]; s={"Beijing"}; B)char *s; s={"Beijing"}; C)char s[8]; s="Beijing"; D)char *s; s="Beijing";
fun(int *p) { return *p; }
该函数的返回值是(C)。
A)不确定的值
B)形参p中存放的值
C)形参p所指存储单元中的值
D)形参p的地址值
A)max(int x,int y,int *z) B)int max(int x,y) { *z=x>y ? x:y; } { int z; z=x>y ? x:y; return z; } C)max(int x,int y) D)int max(int x,int y) { int z; { return(x>y?x:y); } z=x>y?x:y; return(z); }
#include<stdio.h> #define F(X,Y) (X)*(Y) main() { int a=3, b=4; printf("%d\n", F(a++, b++)); }
程序运行后的输出结果是(A)。
A)12
B)15
C)16
D)20
fun(int a, int b) { if(a>b) return(a); else return(b); } main() { int x=3, y=8, z=6, r; r=fun(fun(x,y), 2*z); printf("%d\n", r); }
程序运行后的输出结果是(D)。
A)3
B)6
C)8
D)12
A)定义了一个基类型为int的指针变量p,该变量具有三个指针
B)定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
C)定义了一个名为*p的整型数组,该数组含有三个int类型元素
D)定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素
#include<stdio.h> #include<string.h> char *scmp(char *s1, char *s2) { if(strcmp(s1,s2)<0) return(s1); else return(s2); } main() { int i; char string[20], str[3][20]; for(i=0;i<3;i++) gets(str[i]); strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/ strcpy(string,scmp(string,str[2])); printf("%s\n",string); }
若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为(B)。
A)abcd
B)abba
C)abc
D)abca
struct s { int x,y; } data[2]={10,100,20,200}; main() { struct s *p=data; printf("%d\n",++(p->x)); }
程序运行后的输出结果是(B)。
A)10
B)11
C)20
D)21
main() { int a=5,*b,**c; c=&b; b=&a; //…… }
程序在执行了c=&b;b=&a;语句后,表达式:**c的值是(C)。
A)变量a的地址
B)变量b中的值
C)变量a中的值
D)变量b的地址
#include<stdio.h> #include<string.h> main() { char str[][20]={"Hello","Beijing"},*p=str[0]; printf("%d\n",strlen(p+20)); }
程序运行后的输出结果是(C)。
A)0
B)5
C)7
D)20
fun(char *p2, char *p1) { while((*p2=*p1)!='\0') { p1++;p2++; } }
函数的功能是 (A)。
A)将p1所指字符串复制到p2所指内存空间
B)将p1所指字符串的地址赋给指针p2
C)对p1和p2两个指针所指字符串进行比较
D)检查p1和p2两个指针所指字符串中是否有'\0'
main() { int x=3, y=2, z=1; printf("%d\n",x/y&~z); }
程序运行后的输出结果是(D)。
A)3
B)2
C)1
D)0
A)0
B)1
C)-1
D)一个非0值
A)文件由ASCII码字符序列组成,C语言只能读写文本文件
B)文件由二进制数据序列组成,C语言只能读写二进制文件
C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
main() { int a[3][3],*p,i; p=&a[0][0]; for(i=0;i<9;i++) p[i]=i+1; printf("%d \n",a[1][2]); }
程序运行后的输出结果是(B)。
A)3
B)6
C)9
D)2
struct node { int data; struct node *next; } *p, *q, *r;
现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是(A)。
A)r->next=q; q->next=r->next; p->next=r;
B)q->next=r->next; p->next=r; r->next=q;
C)p->next=r; q->next=r->next; r->next=q;
D)q->next=r->next; r->next=q; p->next=r;
(1)计算机软件分为系统软件与应用软件,UNIX属于 〖系统软件〗 。
(2)假设在当前盘的当前目录下有两个文件A.TXT和B.TXT,现要将文件B.TXT合并连接到文件A.TXT的后面。若使用TYPE命令,则完整的命令为 〖TYPE B.TXT >>A.TXT〗 。
(3)Internet的信息服务方式分为基本服务和扩展服务,电子邮件属于 〖基本服务〗 。
(4)在Windows环境下,利用菜单命令删除固定硬盘上的文件与文件夹,实际上是将需要删除的文件与文件夹移动到 〖回收站〗 文件夹中。
(5)在Windows环境下,为了进行"添加/删除程序"操作,首先打开 〖控制面板〗 ,然后双击其中的相应图标。
(6)以下程序运行后的输出结果是 〖3〗 。
main() { int p=30; printf("%d\n",(p/3>0 ? p/10 : p%3)); }
(7)以下程序运行后的输出结果是 〖b〗 。
main() { char m; m='B'+32; printf("%c\n",m); }
(8)以下程序运行后的输出结果是 〖yes〗 。
main() { int a=1,b=3,c=5; if(c=a+b) printf("yes\n"); else printf("no\n"); }
(9)以下程序运行后的输出结果是 〖1 3 2〗 。
main() { int i,m=0,n=0,k=0; for(i=9; i<=11;i++) switch(i/10) { case 0: m++;n++;break; case 10: n++; break; default: k++;n++; } printf("%d %d %d\n",m,n,k); }
#include<stdio.h> main() { int i,j; for(i=1; i<5; i++) for(j=2; j<=i; j++) putchar('#'); }
(11)以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果。请填空。
int fun( int n) { int m=0,f=1,i; for(i=1; i<=n; i++) { m+=i*f; f= 〖-f〗 ; } return m; } main() { printf("m=%d\n", 〖fun(10)〗 ); }
(12)以下程序运行后的输出结果是 〖1 3 7 15〗
main() { int i,n[]={0,0,0,0,0}; for(i=1;i<=4;i++) { n[i]=n[i-1]*2+1; printf("%d ",n[i]); } }
1 2 3 0 5 6 0 0 9
main() { int i,j,a[][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) for(j=i+1;j<3;j++) a[j][i]=0; for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%d ",a[i][j]); printf("\n"); } }
int a=5; fun(int b) { static int a=10; a+=b++; printf("%d ",a); } main() { int c=20; fun(c); a+=c++; printf("%d\n",a); }
(15)请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。
〖double max〗 ( double,double); main() { double x,y; scanf("%lf%lf",&x,&y); printf("%lf\n",max(x,y)); } double max(double a,double b) { return(a>b ? a:b); }
(16)以下程序运行后输入:3,abcde<回车>,则输出结果是 〖cdeab〗
#includemove(char *str, int n) { char temp; int i; temp=str[n-1]; for(i=n-1;i>0;i--) str[i]=str[i-1]; str[0]=temp; } main() { char s[50]; int n, i, z; scanf("%d,%s",&n,s); z=strlen(s); for(i=1; i<=n; i++) move(s, z); printf("%s\n",s); }
(17)以下程序运行后的输出结果是 〖1 3 6〗
fun(int x) { if(x/2>0) fun(x/2); printf("%d ",x); } main() { fun(6); }
(18)已有定义如下:
struct node { int data; struct node *next; } *p;
以下语句调用malloc函数,使指针p指向一个具有struct node类型的动态存储空间。请填空。
p = (struct node *)malloc( 〖sizeof(struct node)〗 );
(19)以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。例如,输入字符串:abc123edf456gh,执行程序后输出:123456。请填空。
#include<stdio.h> #include<string.h> main() { char s[80], d[80]; int i,j; gets(s); for(i=j=0;s[i]!='\0';i++) if( 〖s[i]>='0' && s[i]<='9'〗 ) { d[j]=s[i]; j++; } d[j]='\0'; puts(d); }
本页共735段,22305个字符,29401 Byte(字节)