南京工程学院C语言试卷3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试卷3
一、单项选择题(共20小题;每小题1分,共20分)
1、下列常量不合法的是()。
A.1.5E-2 B.‘BASIC’C.0x12 D.“\\good”
2、下列变量名中不合法的是()。
A.iCount B.Stu_NO C.INT D.vc++
3、设变量已正确定义并赋值,以下正确的表达式是()。
A.b=7++ B.x=3,++y C.a=7%3.0 D.x=y+1=2
4、表达式sizeof(double)-sizeof(3.1f)+3/2的值是()。A.4 B.5 C.5.5 D.1.5
5、下列各语句序列判别变量a、b的大小,若a
6、已知有程序段:int a=1,*p=&a,**q; q=&p; **q=3;
printf("%d\n",a);则该程序段正确执行后输出结果为()。
A.1 B.3 C. 该程序段有语法错 D. 该程序段没有输出结
果
7、若有说明:int *p,m=3,n;,则以下正确的程序段是()。
A.p=&n;scanf("%d",&p); B.p=&&n;scanf("%d",*p);
C.scanf("%d", &n);*p=n; D.p=&n;*p=m;
8、设有以下说明语句,则下面的叙述中不正确的是()。
typedef struct student
{ long StuNO; char Stuname[9];char sex;float cscore;}STU;
A.typedef是给类型起别名B.STU是结构变量名
C.StuNO是结构体STU的一个成员D.STU是结构类型名
9、有定义或声明:int *myf(float x, long y);,若以下选项中的正确的是()。
A. myf是指针数组;
B. myf是数组指针;
C. myf是指针函数;
D. myf是函数指针;
10、C语言中函数返回值的类型是由()决定的。
A.传递给函数的实参类型B.return语句中的表达式类型C.调用该函数的主调函数类型D.定义函数时所指定的函数返回值类型
11、若有宏定义:#define FUN(x) x%x,则表达式FUN(2+3)的值为()。
A.5 B.0 C.6 D.7
12、设有定义语句:char c1=32,c2=32;则以下表达式中值为0的是()。
A. c1^c2
B. c1&c2
C.~c2
D.
c1|c2
13、若有以下定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是()。
A.m[i] B.m[2*2] C.m[m[0]] D.m[m[i]]
14、以下对二维数组arr的定义正确的是()。
A.int arr[5][]={1,2,3}; B.int arr[][1]={{1,2,3},{4,5,6}};
C.int arr[3][3]={0}; D.int arr[2][3]={1,2,3,4,5,6,7,8};
15、若有定义语句:char s[]="hello\0theworld";,则strlen(s)的值是()。
A.5 B.6 C.14 D.15 16、有定义int i=88,j=99,*p,*q;p=&i;q=&j; p=q;则printf("%d %d",*p,*q)结果是()。
A.88 88 B.88 99 C.99 99
D.99 88
17、已知有定义int a[8]={0},*p=a;,则不能表示a[1]元素的值的是()。A.*(p+1) B.*(++a) C.p[1] D.*&a[1]
18、有定义如下:
struct test
{ int a;int b[2];
}s[3]={{111,1,2},{222,3,4},{333,5,6}};
则s[1].b[0]的值是()。
A. 3
B. 4
C. 5
D. 6
19、若要以写的方式创建新的文本文件,则在fopen函数中使用的打开方式是()。A."w" B."rb" C."rb+" D."a+b"
20、若有定义:int a[5][2]={7,6,5,4,3,2,1}, *p=a[1];则*(++p)的值是()。
A.2
B.3
C.4
D.5
二、阅读程序题,写出下列程序的运行结果。(本题10小题,每小题3分,共30分)
1、main()
{ FILE *fp;int i,buf[]={8,7,6,5,4,3,2,1};
fp=fopen("mytest.dat","wb+");
fwrite(buf,sizeof(int),8,fp);
fseek(fp,sizeof(int)*4,SEEK_SET);
fread(buf,sizeof(int),4,fp);fclose(fp);
for(i=0;i<8;i++) printf("%d",buf[i]);
}
输出结果为:______________________________。
2、main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{ case 1:
switch(y)
{ case 0: a++; break;
case 1: b++; break;
}
case 2: a++; b++; break;
case 3: a++; b++;
}
printf("a=%d,b=%d\n",a,b);
}
输出结果为:______________________________。