{ int i=2,p;
p=f(i,i+1); printf(\}
int f(a,b) int a,b; { int c;
if(a>b) c=1; else
if(a==b) c=0; else c=-1; return(c); }
A) -1 B) 0 C) 1 请选出以下程序段的输出结果
#include
#define MIN(x,y) (x)<(y)? (x):(y) main()
{ int i,j,k; i=10; j=15; k=10*MIN(i,j); printf(\}
A) 15 B) 100 C) 10 请选出以下程序段的输出结果
#include
{ char sl[10], s2[10], s3[10], s4[10]; scanf(\puts(s1); puts(s2); puts(s3); puts(s4); }
输入数据如下:(此处
aaaa bbbb
A) aaaa B) aaaa C) aaaa bbbb bbbb bbbb cccc cccc cccc dddd dddd cccc dddd dddd eeee 请选出以下程序的输出结果
#include
D) 2 D) 150 D) aaaa bbbb (46) (47) (48) i=n1; j=n2; while(i { t= *(s+i); *(s+i)= *(s+j); *(s+j)=t; i++; j--; } } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},i, *p=a; fun(p,0,3); fun(p,4,9); fun(p,0,9); for(i=0; i<10; i++) printf(\printf(\} A) 0 9 8 7 6 5 4 3 2 1 B) 4 3 2 1 0 9 8 7 6 5 C) 5 6 7 8 9 0 1 2 3 4 D) 0 9 8 7 6 5 1 2 3 4 (49) 请选出以下程序的输出结果 #include { int a[ ]={ 1,2,3,4 },i; int x=0; for(i=0; i<4; i++) { sub(a,x); printf(\printf(\} sub(s,y) int *s, y; { static int t=3; y=s[t]; t--; } A) 1 2 3 4 B) 4 3 2 1 C) 0 0 0 0 D) 4 4 4 4 (50) 下面程序的输出结果为 struct st { int x; int *y; } *p; int dt[4]={10,20,30,40}; struct st aa[4]={ 50,&dt[0],60,&dt[1], 70,&dt[2],80,&dt[3] }; main() { p=aa; printf(\printf(\printf(\} A) 10 B) 50 C) 51 D) 60 20 60 60 70 20 21 21 31 二、填空题(每空2分,共40分) 请将每空的正确答案写在答题卡上【1】-【20】序号的横线上,答在试卷上不得分。 (1) 十进制数123用八位二进制表示为 【1】 。 (2) 70年代末开始出现16位微处理器,标志着微型计算机进入了第三代;80年代起使用 【2】 位微处理器,标志微型计算机进入了第四代。 (3) 通用计算机操作系统的功能和任务是:作业管理、文件管理、外设管理、CPU管理和 【3】 管理。 (4) PC-DOS的两个隐含文件是:IBMBIO.COM(输入输出程序)与 【4】 (磁盘操作管理程序)。 (5) FoxBASE和dBASE有两种变量:即内存变量和 【5】 变量 。 (6) 设有如下程序段: int i=0, sum=1; do { sum+=i++;} while(i<6); printf(\ 上述程序段的输出结果是 【6】 。 (7) 阅读下列程序: #include { int i, j, row, column,m; static int array[3][3]={{100,200,300}, {28,72,-30}, {-850,2,6} }; m=array[0][0]; for (i=0; i<3; i++) for (j=0; j<3; i++) if (array[i][j] { m=array[i][j]; row=i; column=j;} printf(\} 上述程序的输出结果是 【7】 。 (8) 设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句: a*=16+(b++)-(++c); 后,a的值是 【8】 。 (9) 下面程序的输出结果是 【9】 。 #include { int a=3, b=2, c=1; c-=++b; b*=a+c; { int b=5, c=12; c/=b*2; a-=c; printf( '%d,%d,%d,\ a+=--c; } printf( '%d,%d,%d,\ } (10) 设有如下程序: #include int argc; char *argv[ ]; { while( --argc>0) printf(\printf(\} 假定上述程序经编译和连接后生成可执行文件PROG.EXE,如果在DOS提示符下键入PROG ABCD EFGH IJKL #include { int count; for (count=1; count<=MAX_COUNT; count++) fun(); } void fun() { static int i; i+=2; printf(\ } 上述程序的输出结果是 【11】 。 (12) 设有下列程序: #include char str[10], temp[10]; gets(temp); for (i=0; i<4; i++) { gets(str); if (strcmp(temp,str)<0) strcpy(temp,str); } printf(\ } 上述程序运行后,如果从键盘上输入(在此 C++ 则程序的输出结果是 【12】 。 (13) 设有如下程序: #include int argc; char *argv[ ]; { FILE *fp; void fc(); int i=1; while( --argc>0) if((fp=fopen(argv[i++],\ { printf(\ exit(1); } else { fc(fp); fclose(fp); } } void fc(ifp) FILE *ifp; { char c; while((c=getc(ifp))!='#') putchar(c-32); } 上述程序经编译、连接后生成可执行文件名为cpy.exe。假定磁盘上有三个 文本文件,其文件名和内容分别为: 文件名 内容 a aaaa# b bbbb# c cccc# 如果在DOS下键入 cpy a b c (14) 若输入3个整数3,2,1,则下面程序的输出结果是【14】 。 #include
2017年9月全国计算机等级考试二级c语言笔试试题(含参考答案)



