091-模拟卷2试题&答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
091-模拟卷2
笔试部分,共70分
一、单项选择题(15分,每小题1分)
1. 下列各组标识符中, 都可在C程序中用作用户标识符的一组标识符是(_____)
A) name, t4, For, _123
B) function1, g, c10, a[i]
C) *p, trin, mA, Ma
D) r_3, 3_r, i, st
2. 要定义字符型变量c 并赋初值,以下正确的语句是(_____)
A) char c='\97';
B) char c="a"
C) char c=65;
D) char c='ab';
3. 若变量已正确定义并赋值,符合C语言语法的表达式是(_____)
A) a=a+7;
B) a=7+b+c,a++
C) int(12.3%4)
D) a=a+7=c+b
4. 以下能正确定义整型二维数组a的语句是(_____)
A) int a[ ][3];
B) int a[ ][3]=2{2*3};
C) int a[ ][3]={{1},{2},{3,4}};
D) int a[2][3]={{1},{2},{3,4}};
5. 设有定义语句:char c1=92, c2=92; , 则以下表达式中值为零的是(_____)
A) c1^c2
B) c1&c2
C) ~c2
D) c1|c2
6. 以下定义语句中正确的是(_____)
A) char a="A", b="B" ;
B) char *p="abcd", *q=p+1;
C) int a=b=0;
D) float *a, b=&a;
7. 设有定义:int a=15; 则执行语句:a/=a+a; 后a的值是(_____)
A) 0
B) 1
C) 0.5
D) 16
8. 设有定义:int i, a[10]; 以下能正确输入a数组各元的语句是(_____)
A) i=10; scanf(“%d”, &a[i]);
B) for(i=0; i<10; i++) scanf("%d", &a);
C) for(i=0; i<10; i++) scanf("%d", a[i]);
D) for(i=0; i<=9; i++) scanf("%d", a+i);
9. 设有定义char *p[]={"Zhao","Qian","Sun"};则结果为'u'字符的表达式是(____)
A) p[1][2] B) *(p[2]+1)
C) *(p[1]+2) D) *p[2]+1
10. 设有定义:int a, b, c=10; 下列选项中能将变量c的值赋给变量a和b的是(_____)
A) a=b, b=c, c=a;
B) c=a=b;
C) (a=c)&&(b=c);
D) (a=c)||(b=c);
11. 以下叙述中正确的是:(_____)
A) break语句只能用在switch语句体中
B) break语句只能用在循环体内
C) continue语句只能用在switch语句体中
D) continue语句只能用在循环体内
12. 说明语句:int (*p) ( ); 的含义是(_____)
A) p是一个指向一维数组的指针变量,指向的数组为整型数组
B) p是一个指针变量,用于指向整型变量
C) p是一个指向函数的指针变量,该函数的返回值是整型量
D) p是一个函数,该函数的返回值是整型指针
13. 与表达式:!a ? 10 : 20 等价的表达式是(_____)
A) a==0 ? 10 : 20
B) a!=0 ? 10 : 20
C) a!=1 ? 10 : 20
D) a ? 10 : 20
14. 若有以下说明语句,则对st中成员score的正确引用是(_____)
struct student
{
char num[8];
int score;
} st, *p=&st;
A) p.score
B) *p.score
C) (p).score
D) (*p).score
15. 设有定义:FILE *fp; char *fn="infile.dat"; 则以读方式打开文本文件infile.dat的语句的正确写法是(_____)
A) fp=fopen(fn,"r");
B) fp=fopen(*fn,"r");
C) *fp=fopen(fn,"r");
D) *fp=fopen(*fn,"r");
二、基础填空题(10分,每小题2分)
1. 设x, y, z均为int型变量,描述“x,y和z中至少有两个为负数”的表达式是______。
2. 设有定义:int n=456; float x=87.132; 写出语句printf("%d,%05d,%4.1f,%1.2f",n,n,x,x);的运行结果。
3. 已知:int a[ ]={11,22,33,44}, b, *p=&a[2]; 则执行语句:b=(*--p)++; 后b的值为______。
4. 设有定义:char s[]="12345AbCdE"; 则执行语句printf("%s\n", &s[4]);和printf("%c\n", *(s+7)+1); 的输出结果分别是________和________。
5. 设有以下定义,则表达式s[0].b*s[1].a和(int)(p+1)->b/p->a的值分别是______和______。
struct num
{
int a;
float b;
} s[ ]={{10, 3.2}, {3, 158.6}}, *p=s;
三、阅读程序(27分,每小题3分)
仔细阅读下列程序,将各程序的运行结果写在答卷纸上。
(略)
四、程序填空(18分,每填空2分)
阅读下列问题描述和相应的C程序,把应填入其中 (n) 处的内容写在答卷纸的对应栏内。