全国计算机等级考试二级C语言试题及答案

发布时间 : 星期一 文章全国计算机等级考试二级C语言试题及答案更新完毕开始阅读

for (i=0; i

if (a[i]

main()

{ int c[10]={1,2,3,4,5,6,7,8,9,0},i; fun(c+4, 6);

for (i=0;i<10; i++) printf(\ printf(\}

程序的运行结果是 A)1,2,3,4,5,6,7,8,9,0, B)0,9,8,7,6,5,1,2,3,4, C)0,9,8,7,6,5,4,3,2,1, D)1,2,3,4,9,8,7,6,5,0, (35)有以下程序

#include int fun( char s[]) { int n=0;

while(*s <= '9'&&*s >='0') { n=10*n+*s-'0' ; s++; } return (n); }

main()

{ char s[10]={ '6', '1', '*', '4', '*', '9', '*', '0', '*'}; printf(\}

程序的运行结果是 A)9 B)61490 C)61 D)5 (36)当用户要求输入的字符串中含有空格时,应使用的输入函数是 A)scanf() B)getchar() C)gets() D)getc() (37)以下关于字符串的叙述中正确的是 A)C语言中有字符串类型的常量和变量 B)两个字符串中的字符个数相同时才能进行字符串大小的比较 C)可以用关系运算符对字符串的大小进行比较 D)空串一定比空格打头的字符串小 (38)有以下程序

#include

void fun(char *t , char *s) { while(*t!=0) t++;

while( (*t++ = *s++ )!=0 ) ; }

main()

{ char ss[10]=\ fun(ss, aa); printf(\}

程序的运行结果是 A)accxyy, bbxxyy B)acc, bbxxyy C)accxxyy, bbxxyy D)accbbxxyy, bbxxyy (39)有以下程序

#include #include

void fun(char s[][10], int n) { char t; int i,j; for (i=0; i

/* 比较字符串的首字符大小,并交换字符串的首字符 */

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

main()

{ char ss[5][10]={\ fun(ss, 5); printf(\}

程序的运行结果是 A)xy,aaaacc B)aaaacc,xy C)xcc,aabcc D)acc,xabcc (40)在一个C源程序文件中所定义的全局变量,其作用域为 A)所在文件的全部范围 B)所在程序的全部范围 C)所在函数的全部范围 D)由具体定义位置和extern说明来决定范围 (41)有以下程序

#include int a=1; int f(int c)

{ static int a=2; c = c+1;

return (a++) + c; }

main()

{ int i, k=0;

for(i=0;i<2;i++) { int a=3; k += f(a); } k +=a;

printf(\

}

程序的运行结果是 A)14 B)15 (42)有以下程序

C)16 D)17

#include void fun(int n, int *p) { int f1,f2; if(n==1||n==2) *p=1; else { fun(n-1,&f1); fun(n-2,&f2); *p=f1+f2; } } main() { int s; fun(3,&s); printf(\ }程序的运行结果是 A)2 B)3 C)4 D)5

(43)若程序中有宏定义行:#define N 100 则以下叙述中正确的是 A)宏定义行中定义了标识符N的值为整数100 B)在编译程序对C源程序进行预处理时用100替换标识符N C)对C源程序进行编译时用100替换标识符N D)在运行时用100替换标识符N (44)以下关于typedef的叙述错误的是 A)用typedef可以增加新类型 B)typedef只是将已存在的类型用一个新的名字来代表 C)用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名 D)用typedef为类型说明一个新名,通常可以增加程序的可读性 (45)有以下程序 #include struct tt { int x; struct tt *y; } *p; struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a}; main() { int i; p=a; for(i=1; i<=2; i++) { printf(\ p=p->y; } }

程序的运行结果是 A)20,30, B)30,17 C)15,30, D)20,15,

(46)有以下程序 #include #include typedef struct { char name[9]; char sex; float score[2]; } STU; STU f(STU a) { STU b={\ int i; strcpy(a.name, b.name); a.sex = b.sex; for (i=0; i<2; i++) a.score[i] = b.score[i]; return a; } main() { STU c={\ d=f(c); printf(\ }

程序的运行结果是 A)Qian,f,95,92 B)Qian,m,85,90 C)Zhao,m,85,90 D)Zhao,f,95,92 (47)设有以下定义 union data { int d1; float d2; } demo; 则下面叙述中错误的是 A)变量demo与成员d2所占的内存字节数相同 B)变量demo中各成员的地址相同 C)变量demo和各成员的地址相同 D)若给demo.d1赋99后,demo.d2中的值是99.0 (48)有以下程序

#include main()

{ int a=1, b=2, c=3, x;

x=(a^b)&c; printf(\}

程序的运行结果是 A)0

B)1

C)2

D)3

(49)读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);,其中buffer代表的是

A)一个文件指针,指向待读取的文件 B)一个整型变量,代表待读取的数据的字节数 C)一个内存块的首地址,代表读入数据存放的地址

联系合同范文客服:xxxxx#qq.com(#替换为@)