当前位置:首页 > 2006年6月份-2008年1月份《C语言等级考试》模拟试卷集成(选择题部分)
data next
data next
……
head
则能保留链表其它结点,而删除P所指向结点的程序段是(A)。
A)head->next=p->next;free(p)
B)head->next=p;p->next=head->next;free(p); C)free(p);head->next=p;p->next=head->next; D)free(p);head->next=p->next;
32、假定已有如下变量说明和枚举定义: char ch; int j,k;
enum day{sun,mon,tue,wed,thu,fri,sat}; int a[sat]
判断下列语句是否符合语法规则,结果是(C)。 char a; /*语句1 */ j+k=j; /*语句2 */
if(a[mon]>0) j++; /*语句 3 */
A)语句2错误,其它正确 B)语句1正确,其它错误 C)语句3正确,其它错误 D)语句1错误,其它正确 33、以下(D)是正确的常量。 A)E-5 B)1E5.1 C)‘a12‘ D)32766L
34、标准函数fgets(s,n,f)的功能是(B)。
A)从文件f中读取长度为n的字符串存入指针s所指的内存
B)从文件f中读取长度不超过n-1的字符串存入指针s所指的内存 C)从文件f中读取n个字符串存入指针s所指的内存
D)从文件f中读取长度为n-1的字符串存入指针s所指的内存 35、关于C语言的源程序的叙述中,错误的是(C)。 A)C语言的源程序由函数构成
B)main函数可以书写在自定义函数之后 C)必须包含有输入语句 D)一行可以书写多个语句 36、下面叙述正确的是(A)。
A)强制类型转换运算的优先级高于算术运算 B)若a和b是整型变量,(a+b)++是合法的 C)‘A‘*‘B‘是不合法的 D)‖A‖+‖B‖是合法的
37、设有以下语句,则(D)是对a数组元素的不正确引用,其中0≤i<10。 int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a; A)a[p-a] B)*(&a[i]) C)p[i] D)*(*(a+i)) 38、结构化程序设计不包括(A)。
A)最优化 B)自顶而下,逐步细化 C)模块化设计 D)结构化编码
39、已知 int a=3,b=5; 则表达式 a= =3 && b !=1的值为(C)。 A)3 B)5 C)1 D)0
40、已知 int a[10]; 则对a数组元素引用不正确的是(A)。 A)a[10] B)a[3+5] C)a[10-10] D)a[5] 41、有如下定义
int a[][3]={1,2,3,4,5,6,7,8}; 则数组a的行数是(B)。 A)2 B)3 C)4 D)无法确定的 42、设有以下变量定义:
char str1[]=‖string‖, str2[8],*str3, *str4=‖string‖; (A)是正确的。
A)strcpy(str1,‖china‖); B)str2=‖china‖; C)strcpy(*str3,‖china‖); D)strcpy(str4[0],‖china‖); 43、如下fun函数的类型是(C)。 fun(float x) {double y; int z; y=x*x; z=(int)y; return(z); }
A)void B)double C)int D)float
44、以下叙述中,正确的是(A)。
A)宏展开不占用运行时间,只占用编译时间 B)预编译处理命令行必须以分号结束 C)一个源程序只能有一个预编译处理命令行
D)使用带参数的宏定义时,应该说明每个参数的数据类型 45、设有如下变量定义:
char aa[ ][3]={?a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘}; char (*p)[3]=aa;
则以下程序段的运行结果是(D)。 p++;
printf(―%c‖,**p);
A)a B)b
C)c D)d
46、设有以下定义语句: struct student {int num;
char name[10]; float score; }wang,zhang;
则变量wang所占的内存字节数是(B)。 A)14 B)16 C)18 D)20 47、若有以下定义: struct link {int data;
struct link *next; }a,b,c,*head,*p;
其中,指针head指向变量a,p指向变量c,a.next指向变量b,链表结构如下图所示: a b c data next
data NULL
data next
head p
则能够把c插入到a和b之间并形成新链表的程序段是(D)。
A)a.next=c; c.next=b; B)head.next=p; p.next=head.next;
C)head->next=&c;p->next=head->next; D)(*head).next=p; (*p).next=&b; 48、设有如下定义:
typedef int *INTEGER; INTEGER p,*q;
则(C)是正确的叙述。
A)p是int型变量 B)q是基类型为int的指针变量
C)p是基类型为int的指针变量 D)程序中可用INTEGER代替int类型名 49、已知int a=‘R‘; 则正确的表达式是(A)。 A)a B)a=int(3e2) C)2*a=a++ D)a=a+a=a+3
50、C语言对if嵌套语句的规定:else总是与(B)配对。 A)第一个if B)之前最近的且尚未配对的if C)缩进位置相同的if D)之前最近的if 51、设有如下函数定义: int fun(char *str) {char *p=str;
while (*p != ?\\0‘) p++;
return (p-str); }
则以下语句执行后的输出结果是(A)。 printf(―%d\\n‖,fun(―Student‖)); A)7 B)8 C)9 D)10
52、设有如下定义语句: union u_type {int i; double x; float f; };
struct str_type {char str[100]; union u_type u[2]; }
则语句 printf(―%d‖,sizeof(struct str_type)); 的输出结果是(B)。 A)100 B)116 C)120 D)200
53、对于整型变量x,下述if语句(B)与赋值语句: x=x%2= =0?1:0; 不等价。
A)if(x%2!=0) x=0;else x=1; B)if(x%2) x=1;else x=0; C)if(x%2= =0) x=1;else x=0; D)if(x%2= =1) x=0;else x=1; 54、对于整型变量x和y,语句
for(x=0,y=0;(y!=123)&&(x<4);x++) y++; 中的―y++;‖被执行(A)。 A)4次 B)0次 C)123次 D)3次
55、以下(D)是正确的变量名。 A)5f B)if C)f.5 D)_f5 56、设有如下程序段:
int a[3][3]={1,0,2,1,0,2,1,0,1},i,j,s=0; for(i=0;i<3;i++) for(j=0;j
则执行该程序段后,s的值是(C)。 A)0 B)1 C)2 D)3
57、以下叙述中,正确的是(B)。
A)―#define PRICE=30‖定义了与30等价的符号常量PRICE B)预编译处理命令行都必须以―#‖开头 C)宏名只能包含大写字母和数字字符
共分享92篇相关文档