东大20秋学期《高级语言程序设计基础》在线平时作业3[答案]满分答案
20秋学期《高级语言程序设计基础》在线平时作业3
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.以下对指针变量的操作中,不正确的是( )。
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;"
2.如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( )。
A.该变量只在该复合语句中有效
B.该变量在该函数中有效
C.该变量在本程序范围内有效
D.该变量为非法变量
3.以下程序的运行结果是( )。 # include "stdio.h" main() { struct date { int y,m,d;} today; printf("%d\n", sizeof(struct date));}
A.2
B.3
C.6
D.出错
4.执行下面程序段后,x的值是( )。 int x;printf("%d\n",(x=3*5,x+5));
A.10
B.15
C.20
D.5
5.若执行下述程序时从键盘输入3 4,则输出结果是( )。
#include main( ) { int a,b,s;
scanf("%d%d",&a,&b);
s=a; if (a<b) printf("%d\n",s*s); s=b; }
A.186
B.256
C.324
D.400
6.以下对C语言中共用体类型数据的叙述正确的是( )。
A.可以对共用体变量名直接赋值
B.一个共用体变量中可以同时存放其所有成员
C.一个共用体变量中不能同时存放其所有成员
D.共用体类型定义中不能出现结构体类型的成员
7.以下正确的函数形式是( )。
A.double fun1(int x, int y) { z=x+y; return z; }
B.fun1(int x, y){ int z;return z; }
C.fun1(x, y) { int x, y; double z;z=x+y;return z; }
D.double fun1(int x, int y){ double z;z=x+y; return z; }"
8.若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
E.选项内容11
F.选项内容11
G.选项内容11
9.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )。
A.num%2==1
B.!(num%2==0)
C.!(num%2)
D.num%2
10.下面程序的运行结果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]);
A.输出空格
B.\0
C.e
D.f
11.下程序( )。 main( ) { int x1=3, x2=0, x3=0; if (x1=x2+x3) printf("* * * *"); else printf("# # # #"); }
A.输出:* * * *
B.输出:# # #
C.#存在语法错误
D.无输出结果
12.下列关于C语言的叙述错误的是( )。
A.大写字母和小写字母的意义相同
B.不同类型的变量可以在一个表达式中
C.在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D.同一个运算符号在不同的场合可以有不同的含义
13.已知 long i=32768;执行语句printf("%d",i);屏幕显示( )。
A.-1
B.-32768
C.1
D.32768
14.以下能正确进行字符串赋值操作的是( )。
A.char s[5]={"12345"};
B.char s[5]={'1', '2', '3', '4', '5'};
C.char *s; *s="12345";
D.char *s="12345"; "
15.设c1、c2均是char类型变量,则以下不正确的函数调用是( )。
A.scanf("c1=%cc2=%c",&c1,&c2);
B.getchar( )
C.putchar(c2);
D.putchar(c1,c2)"
16.以下能对二维数组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}};"
17.以下程序段的运行结果是( )。 char a[ ]="program", *p; p=a; while (*p!='g') { printf("%c", *p-32); p++; }
A.PROgram
B.PROGRAM
C.PRO
D.proGRAM
18.以下判断正确的是( )。
A.char *s="string"; 等价于char *s; *s="string";
B.char str[10]={"string"}; 等价于char str[10]; str={"string"};
C.char *s="string"; 等价于char *s; s="string";
D.char str[10]={"string"}; 等价于char str[10]; *str={"strint"};"
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.以下能正确读入字符串的程序段是( )。
A.char *p; scanf("%s", p);
B.char str[10]; scanf("%s", &str);
C.char str[10], *p; p=str; scanf("%s", p);
D.char str[10], *p=str; scanf("%s", p[1]);"
东大20秋学期《高级语言程序设计基础》在线平时作业3[答案]历年参考题目如下: