最新全国计算机等级考试二级C语言-题库(全). 下载本文

程序的运行结果是

A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1

(21)下列程序的输出结果是 #include \ main()

{ int i,a=0,b=0; for(i=1;i<10;i++) { if(i%2==0) {a++; continue;} b++;}

printf(\

A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 (22)已知 #int t=0; while (t=1) {...}

则以下叙述正确的是

A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法

D)以上说法都不对

(23)下面程序的输出结果是 main()

{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf(\ A)3 B)4

C)1

D)2

D)a=5,b=5 (24)以下错误的定义语句是 A)int

x[][3]={{0},{1},{1,2,3}};

B)int

x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4}; (25)有以下程序 void ss(char *s,char t) { while(*s)

{ if(*s==t)*s=t-′a′+′A′; s++; } } main()

{ char str1[100]=\ ss(str1,c); printf(\ 程序运行后的输出结果是

A)ABCDDEFEDBD B)abcDDfefDbD D)Abcddfefdbd (26)有如下程序 main()

{ char ch[2][5]={\ int i,j,s=0;

for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>′\\0′;j+=2) s=10*s+p[i][j]-′0′; printf(\ 该程序的输出结果是

A)69825 B)63825 C)6385 D)693825

(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是 A)gets(&s[0]); B)scanf(\ C)gets(s); D)scanf(\ (28)以下叙述中错误的是

C)abcAAfefAbA

A)在程序中凡是以\开始的语句行都是预处理命令行 B)预处理命令行的最后不能以分号表示结束 C)#define MAX 是合法的宏定义命令行 D)C程序对预处理命令行的处理是在程序执行的过程中进行的 (29)设有以下说明语句 typedef struct { int n; char ch[8]; } PER;

则下面叙述中正确的是

A)PER 是结构体变量名 B)PER是结构体类型名 C)typedef struct 是结构体类型 D)struct 是结构体类型名 (30)以下叙述中错误的是

A)gets函数用于从终端读入字符串 B)getchar函数用于从磁盘文件读入字符

C)fputs函数用于把字符串输出到文件 D)fwrite函数用于以二进制形式输出数据到文件

(31)以下能正确定义一维数组的选项是

A)int a[5]={0,1,2,3,4,5}; B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\\0′}; C)char a={′A′,′B′,′C′}; D)int a[5]=\ (32)有以下程序 #include main()

{ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′}; printf(\ 以下叙述中正确的是

A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3

C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3

D) 由于p和q数组中都没有字符串结束符,故长度都不能确定

(33)有以下程序 #include #include

for(i=0;i

fun(ss,5); printf(\ }

程序的运行结果是

A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc (34)有以下程序 #include int f(int x) { int y;

if(x==0||x==1) return(3);

-f(x-2);

return y; } main() { int z;

z=f(3); printf(\

if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}