东大21秋学期学期《高级语言程序设计基础》在线平时作业2[答案]答案
《高级语言程序设计基础》在线平时作业2
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.当正常执行了文件关闭操作时,fclose函数的返回值是( )。
A.-1
B.随机值
C.0
D.1
正确答案:-----
2.若a、b、c均为int型变量,则执行以下程序段后的输出结果为( )。 b=(a=10,a+5,c=10); printf("a=%d,b=%d,c=%d ",a,b,c); c=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d ",a,b,c);
正确答案:-----
A.a=10,b=15,c=10a=10,b=5,c=10
B.a=10,b=10,c=10a=10,b=5,c=10
C.a=10,b=10,c=10a=10,b=5,c=15
D.a=10,b=10,c=10a=10,b=5,c=5
正确答案:-----
3.判断char型变量c1是否为大写字母的正确表达式是( )。
A.A'<=c1<='Z'
B.(c1>='A')&(c1<='Z')
C.(c1>='A')&&(c1<='Z')
D.('A'=c1)
正确答案:-----
4.以下有关宏替换的叙述不正确的是( )。
A.宏名不具有类型
B.宏名必须用大写字母表示
C.宏替换只是字符替换
D.宏替换不占用运行时间
正确答案:-----
5.若a和b均为int型变量,则执行以下程序断后x的输出是( )。 x=15;y=15;printf("%d ",x%=(y%=2));
正确答案:-----
A.0
B.1
C.6
D.12
正确答案:-----
6.若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维的大小是( )。
A.2
B.3
C.4
D.无确定值
正确答案:-----
7.以下能对二维数组a进行正确初始化的语句是( )。
A.int a[2][]={{1,0,1},{5,2,3}};
B.int a[][3]={{1,2,3},{4,5,6}};
C.int a[2][4]={{1,2,3},{4,5},{6}};
D.int a[][3]={{1,0,1},{},{1,1}};"
正确答案:-----
8.下面程序的运行结果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]);
正确答案:-----
A.输出空格
B.\0
C.e
D.f
正确答案:-----
9.若有说明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,则以下叙述正确的是( )。
正确答案:-----
A.*pc[0]代表的是字符串"aaa
B.*pc[0]代表的是字符'a'
C.pc[0]代表的是字符串"aaa"
D.pc[0]代表的是字符'a'
正确答案:-----
10.以下对指针变量的操作中,不正确的是( )。
A.int p, *q; q=&p;
B.int *p, *q; q=p=NULL;
C.int a=5, *p; *p=a;
D.int a=5, *p=&a, *q=&a; *p=*q;"
正确答案:-----
11.若执行下述程序时从键盘输入3 4,则输出结果是( )。
#include main( ) { int a,b,s;
正确答案:-----
scanf("%d%d",&a,&b);
正确答案:-----
s=a; if (a<b) printf("%d ",s*s); s=b; }
正确答案:-----
A.216
B.256
C.324
D.400
正确答案:-----
12.C语言中字符型(char)数据在内存中的存储形式是( )。
A.原码
B.补码
C.反码
D.ASCII码
正确答案:-----
13.以下对C语言中共用体类型数据的叙述正确的是( )。
A.可以对共用体变量名直接赋值
B.一个共用体变量中可以同时存放其所有成员
C.一个共用体变量中不能同时存放其所有成员
D.共用体类型定义中不能出现结构体类型的成员
正确答案:-----
14.执行下面程序段后,x的值是( )。 int x;printf("%d ",(x=3*5,x+5));
正确答案:-----
A.10
B.15
C.20
D.5
正确答案:-----
15.若有以下说明,并且0≤i<10,则( )是对数组元素的错误引用。int a[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p=a, I;
A.*(a+i)
B.a[p-a+i]
C.p+i
D.*(&a[i])
正确答案:-----
16.语句while (!y)中的表达式 !y 等价于( )。
A.y==0
B.y!=1
C.y!=0
D.y==1
正确答案:-----
17.若用fopen打开一个ABC二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是( )。
A."wb+
B."r+"
C."rb+"
D."ab+""
正确答案:-----
21.C语言的编译系统对宏命令的处理是( )。
A.在对源程序中其它成分正式编译之前进行的
B.和C程序中的其它语句同时进行的
C.在程序连接时进行的
D.在程序运行时进行的
正确答案:-----
19.若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
正确答案:-----
E.选项内容11
F.选项内容11
20.设ch是char类型变量,其值是A,则表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( )。
A.Z
B.A
C.a
D.z
正确答案:-----
东大21秋学期学期《高级语言程序设计基础》在线平时作业2[答案]历年参考题目如下:
20春学期《高级语言程序设计基础》在线平时作业3
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.在C语言中,错误的int类型的常数是( )。
A.37
B.32768
C.0xAF
D.0
2.定义如下变量和数组:int k; int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )。for(k=0;k<3;k++) printf("%d",a[k][2-k]);
A.3 6 9
B.3 5 7
C.1 5 9
D.1 4 7
3.若执行fopen函数时发生错误,则函数的返回值是( )。
A.随机值
B.NULL
C.EOF
D.1
4.下列关于C语言的叙述错误的是( )。
A.大写字母和小写字母的意义相同
B.在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
C.同一个运算符号在不同的场合可以有不同的含义
D.不同类型的变量可以在一个表达式中
5.以下对二维数组a的正确说明是( )。
A.int a[3][];
B.float a(3,4);
C.float a(3)(4);
D.double a[1][4]
6.若要使指针变量p指向一个动态开辟的字符型存储单元,则空中应选择填入的是( )。 char *p;p= malloc(sizeof(char));
A.(char *)
B.(*char)
C.char *
D.char
7.以下为一维整型数组a的正确说明是( )。
A.int n; scanf("%d",&n); int a[n];
B.int n=10,a[n];
C.int a(10);
D.#define SIZE 10;int a[SIZE];
8.以下程序的输出结果是( )。 main() { int a=0,b=1,c=0,d=20; if(a) d=d-10; else if(!b) if(!c) d=15; else d=25; printf("d=%d ",d);}
A.d=25
B.d=20
C.d=15
D.d=10
9.判断字符串a和b是否相等,应当使用( )。
A.if(strcpy(a,b))
B.if(strcmp(a,b))"
C.if(a=b)
D.if(a==b)
10.若执行下述程序时从键盘输入3 4,则输出结果是( )。
#include main( ) { int a,b,s;
scanf("%d%d",&a,&b);
s=a; if (a<b) printf("%d ",s*s); s=b; }
A.400
B.324
C.256
D.186
11.有字符数组a[80]和b[80],则正确的输出语句是( )。
A.puts(a); puts(b);
B.puts(a.b);
C.printf("%s,%s",a[],b[]);
D.pitchar(a,b);
12.以下正确的描述是( )。
A.函数的定义和函数的调用均可以嵌套
B.函数的定义和函数的调用均不可以嵌套
C.函数的定义可以嵌套,但函数的调用不可以嵌套
D.函数的定义不可以嵌套,但函数的调用可以嵌套
13.以下能对二维数组a进行正确初始化的语句是( )。
A.int a[][3]={{1,2,3},{4,5,6}};
B.int a[][3]={{1,0,1},{},{1,1}};"
C.int a[2][4]={{1,2,3},{4,5},{6}};
D.int a[2][]={{1,0,1},{5,2,3}};
14.若执行fopen函数时发生错误,则函数的返回值是( )。
A.随机值
B.NULL
C.EOF
D.1
15.以下程序的运行结果是( )。 # include "stdio.h" main() { struct date { int y,m,d;} today; printf("%d ", sizeof(struct date));}
A.出错
B.6
C.3
D.2
16.当定义一个结构体变量时系统分配给它的内存是( )。
A.结构体成员中占内存量最大者所需的容量
B.结构体中各成员所需内存量的总和
C.结构中第一个成员所需的内存量
D.结构中最后一个成员所需的内存量
17.设x,y是float型变量,则不正确的赋值语句是( )。
A.y=int(5);
B.x*=y+1;
C.x=y=0;
D.++x;
18.若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.选项内容11
B.选项内容11
C.数组元素x[6]的地址
D.数组元素x[6]的值
E.数组元素x[5]的地址
F.数组元素x[5]的值
19.以下对指针变量的操作中,不正确的是( )。
A.int *p, *q; q=p=NULL;
B.int p, *q; q=&p;
C.int a=5, *p; *p=a;
D.int a=5, *p=&a, *q=&a; *p=*q;"
20.若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.选项内容11
B.选项内容11
C.选项内容11
D.数组元素x[6]的地址
E.数组元素x[6]的值
F.数组元素x[5]的地址
G.数组元素x[5]的值