2010上半年等考二级C语言笔试精选试题(10)
1.执行下面的程序段 int x=40; char z=′B′; int B; B=((x&0xff)&&(z>′a′)); 后,B的值为() A)0 B)1 C)2 D)3 2.已知下列函数定义 setw(int *b,int m,int n,int dat) { int k; for(k=0;k{*b=dat;b++;} } 则调用此函数的正确写法是(假设变量a的说明为int a[50])() A)setw(*a,5,8,1); B)setw(&a,5,8,1); C)setw((int*)a,5,8,1); D)setw(a,5,8,1); 3.若有以下定义和语句: double r=99, *p=7; *p=r; 则以下正确的叙述是() A)两处的*p含义相同,都说明给指针变量p赋值3 B)在“double r=99, *p=7; *p=r;”中,把r的地址赋给了p所指的存储单元 C)语句“*p=r;”把变量r的值赋给指针变量p D)语句“*p=r;”把变量r的值放回p中 4.设有char str[10],下列语句正确的是() A)scanf("%s",&str); B)printf("%c",str); C)printf("%s",str[0]); D)printf("%s",str); 5.下列描述说明正确的是() A)定义结构体时,它的每个成员的数据类型可以不同 B)不同结构体的成员名不能相同 C)结构体定义时,其成员的数据类型不能是结构体本身 D)结构体定义时各成员项之间可用分号也可用逗号隔开 6.以下函数的功能是() intfun(char *a) { char*b=a; while(*b)b++; {return b-a; } }考试通 A)比较两个字符串的大小 B)字符串的复制 C)计算字符串的长度 D)字符串的连接 7.若有如下程序: #define X3 #define YX+1 #define ZY*Y/2 main() { intn; for(n=1;n<=Z;n++)printf("%d",n);} 则程序运行后的输出结果是() A)12345 B)1234567 C)12345678 D)123456 8.以下叙述中错误的是() A)局部变量的定义可以在函数体和复合语句的内部 B)全局变量的定义可以在函数以外的任何部位 C)同一程序内局部变量和全局变量不允许同名 D)函数的形参属于局部变量 9.以下叙述中错误的是() A)二进制文件打开后可以先读文件的末尾,而顺序文件不可以 B)在程序结束时,应当用fclose函数关闭已打开的文件 C)在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据 D)不可以用FILE定义指向二进制文件的文件指针 10.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是() A)EOF B)0 C)非零值 D)NULL 答案:1.A 2.D 3.D 4.D 5.A 6.C 7.D 8.C 9.D 10.C 相关资料 |