QQ:2548929010
东大《高级语言程序设计基础》在线平时作业123

时间:2022/5/27点击: 343 次

[零零捌記]可做奥鹏院校所有作业、毕业论文。咨询请添加 微信:aopen008
 QQ:2548929010

东大《高级语言程序设计基础》在线平时作业123
试卷总分:100  得分:100
一、单选题 (共 20 道试题,共 100 分)
1.已知ch是字符型变量,则不正确的赋值语句是( )。
A.ch=5+9;
B.ch='\0';
C.ch='7'+'9';
D.ch='a+b';

2.若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
E.选项内容11
F.选项内容11

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.以下在任何情况下计算两数积时都不会引起二义性的宏定义是( )。
A.#define MUL(x,y) x*y
B.#define MUL(x,y) (x)*(y)
C.#define MUL(x,y) (x*y)
D.#define MUL(x,y) ((x)*(y))"

5.若有说明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,则以下叙述正确的是( )。
A.*pc[0]代表的是字符串"aaa
B.*pc[0]代表的是字符'a'
C.pc[0]代表的是字符串"aaa"
D.pc[0]代表的是字符'a'

6.若k为整型变量,则以下for循环的执行次数是( )。     for (k=2; k==0; )      printf("%d",k--);
A.无限次
B.0次
C.1次
D.2次

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.设x,y是float型变量,则不正确的赋值语句是( )。
A.++x;
B.y=int(5);
C.x*=y+1;
D.x=y=0;

9.执行下面程序段后,x的值是( )。 int x;printf("%d\n",(x=3*5,x+5));
A.10
B.15
C.20
D.5

10.执行以下程序段后,y的值是( )。 int a[ ]={1, 3, 5, 7, 9} int x=0, y=1, *ptr; ptr=&a[1]; while (!x) { y+=*(ptr+x); x++; }
A.1
B.2
C.4
D.24

11.以下对C语言中共用体类型数据的叙述正确的是( )。
A.可以对共用体变量名直接赋值
B.一个共用体变量中可以同时存放其所有成员
C.一个共用体变量中不能同时存放其所有成员
D.共用体类型定义中不能出现结构体类型的成员

12.若有说明:int a[10];则对数组元素的正确引用是( )。
A.a[10]
B.a[3,5]
C.a(5)
D.a[10-10]

13.下面程序的输出结果为( )。 main( ) { int a=1,b=0; switch(a) { case 1: switch (b) { case 0: printf("**0**"); break; case 1: printf("**1**"); break; } case 2: printf("**2**"); break; }}
A.**0**
B.**0****2**
C.**0****1****2**
D.有语法错误

14.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为( )。(假设a[0][0]位于数组的第一个位置上。)
A.i*m+j
B.j*m+i
C.i*m+j-1
D.i*m+j+1

15.若执行fopen函数时发生错误,则函数的返回值是( )。
A.随机值
B.1
C.NULL
D.EOF

16.以下对二维数组a的正确说明是( )。
A.int a[3][];
B.float a(3,4);
C.double a[1][4]
D.float a(3)(4);

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和b是否相等,应当使用( )。
A.if(a==b)
B.if(a=b)
C.if(strcpy(a,b))
D.if(strcmp(a,b))"

19.若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是( )。
A.a, p, &*a
B.*&a, &a, *p
C.&a, p, &*p
D.*&p, *p, &a"

20.下列程序的输出结果是( )。 #include void fun(); void main() { int x=1; if(x= =1) { int x=2; printf(“%d”,++x); } void fun() { printf(“%d”,x++);}
A.2,1,1
B.1,2,1
C.2,2,2
D.2,2,1"
《高级语言程序设计基础》在线平时作业2-00001
试卷总分:100  得分:100
一、单选题 (共 20 道试题,共 100 分)
1.若有语句: char s1[ ]="Shenyang", s2[10],*s3, *s4="NEU_soft"; 则对库函数strcpy调用正确的是( )。
A.strcpy(s1, s4);
B.strcpy(s2, s4);
C.strcpy(s3, s1);
D.strcpy(s4, s1);"

2.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )。
A.num%2==1
B.!(num%2==0)
C.!(num%2)
D.num%2

3.C语言的编译系统对宏命令的处理是( )。
A.在对源程序中其它成分正式编译之前进行的
B.和C程序中的其它语句同时进行的
C.在程序连接时进行的
D.在程序运行时进行的

4.语句while (!y)中的表达式 !y 等价于( )。
A.y==0
B.y!=1
C.y!=0
D.y==1

5.若有定义:int a[2][3];,则以下对a数组元素地址的正确表示为( )。
A.*(a+1)
B.*(a[1]+2)
C.a[1]+3
D.a[0][0]

6.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是( )。if(x>y)z=x;x=y;y=z;
A.x=10,y=20,z=30
B.x=20,y=30,z=30
C.x=20,y=30,z=10
D.x=20,y=30,z=20"

7.若执行fopen函数时发生错误,则函数的返回值是( )。
A.随机值
B.1
C.NULL
D.EOF

8.C语言程序从main()函数开始执行,所以这个函数要写在( )。
A.程序文件的开始
B.程序文件的最后
C.它所调用的函数的前面
D.程序文件的任何位置

9.对以下说明语句的正确理解是( )。 int a[10]={6,7,8,9,10};
A.将5个初值依次赋给a[1]至a[5]
B.将5个初值依次赋给a[0]至a[4]
C.将5个初值依次赋给a[6]至a[10]
D.因为数组与初值的个数不相同,所以此语句不正确

10.下面对typedef的叙述中不正确的是( )。
A.用typedef不能定义变量名
B.用typedef可以定义新的数据类型
C.用typedef只是将已存在的类型用一个新的标识符来代表
D.使用typedef有利于程序的通用和移植

11.一个C语言程序总是从( )。
A.主过程开始执行
B.主函数开始执行
C.子程序开始执行
D.主程序开始执行

12.若调用fputc函数输出字符成功,则函数的返回值是( )。
A.输出的字符
B.-1
C.0
D.EOF

13.以下对指针变量的操作中,不正确的是( )。
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;"

14.以下程序的运行结果是( )。 # include "stdio.h" main() { struct date { int y,m,d;} today; printf("%d\n", sizeof(struct date));}
A.2
B.3
C.6
D.出错

15.设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是( )。 scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);printf("%4d+%3d+%2d+%1d",a, b, c, d);
A.1234123121
B.1234123412341234
C.1234+1234+1234+1234
D.1234+123+12+1

16.C语言结构体类型变量在程序执行期间( )。
A.所有成员一直驻留在内存中
B.只有一个成员驻留在内存中
C.部分成员驻留在内存中
D.没有成员驻留在内存中

17.设c1、c2均是char类型变量,则以下不正确的函数调用是( )。
A.scanf("c1=%cc2=%c",&c1,&c2);
B.getchar( )
C.putchar(c2);
D.putchar(c1,c2)"

18.已知学生记录描述如下,下面对结构体成员"computer"的赋值方式正确的是( )。 struct student { int num; char name[8]; struct { float math; float engl; float computer; } mark;} std;
A.student.computer=84;
B.mark.computer=84;
C.std.mark.computer=84;
D.std.computer=84;

19.若要使指针变量p指向一个动态开辟的字符型存储单元,则空中应选择填入的是( )。 char *p;p= malloc(sizeof(char));
A.char
B.char *
C.(*char)
D.(char *)

20.若有以下程序段:   for (m=1; m<=100; m++)    { scanf("%d", &y);    if (y<0)    continue;    printf("%3d", m);    }正确的描述是( )。
A.当y<0时整个循环结束
B.y>=0时什么也不输出
C.printf函数永远也不执行
D.最多允许输出100个非负整数
《高级语言程序设计基础》在线平时作业3-00001
试卷总分:100  得分:100
一、单选题 (共 20 道试题,共 100 分)
1.若有说明:int a[10];则对数组元素的正确引用是( )。
A.a[10]
B.a[3,5]
C.a(5)
D.a[10-10]

2.以下对C语言中共用体类型数据的叙述正确的是( )。
A.可以对共用体变量名直接赋值
B.一个共用体变量中可以同时存放其所有成员
C.一个共用体变量中不能同时存放其所有成员
D.共用体类型定义中不能出现结构体类型的成员

3.以下能正确读入字符串的程序段是( )。
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]);"

4.一个C语言程序总是从( )。
A.主过程开始执行
B.主函数开始执行
C.子程序开始执行
D.主程序开始执行

5.已知ch是字符型变量,则不正确的赋值语句是( )。
A.ch=5+9;
B.ch='\0';
C.ch='7'+'9';
D.ch='a+b';

6.若有以下程序段:   for (m=1; m<=100; m++)    { scanf("%d", &y);    if (y<0)    continue;    printf("%3d", m);    }正确的描述是( )。
A.当y<0时整个循环结束
B.y>=0时什么也不输出
C.printf函数永远也不执行
D.最多允许输出100个非负整数

7.若a和b均为int型变量,则执行以下程序断后x的输出是( )。 x=15;y=15;printf("%d\n",x%=(y%=2));
A.0
B.1
C.6
D.12

8.当正常执行了文件关闭操作时,fclose函数的返回值是( )。
A.-1
B.随机值
C.0
D.1

9.执行以下程序后,m的值是( )。   #define MIN(x, y) (x)<(y) ? (x) : (y)   main( )   { int i=12, j=8, m;    m=10*MIN(i, j);    printf("%d\n", m);  }
A.120
B.80
C.12
D.8

10.已知学生记录描述如下,下面对结构体成员"computer"的赋值方式正确的是( )。 struct student { int num; char name[8]; struct { float math; float engl; float computer; } mark;} std;
A.student.computer=84;
B.mark.computer=84;
C.std.mark.computer=84;
D.std.computer=84;

11.以下程序段中的do-while循环( )。     m=-1;     do      { m=m*m;     }while(!m);
A.是死循环
B.执行二次
C.执行一次
D.有语法错误

12.若有定义:int a[2][3];,则以下对a数组元素地址的正确表示为( )。
A.*(a+1)
B.*(a[1]+2)
C.a[1]+3
D.a[0][0]

13.以下判断正确的是( )。
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"};"

14.以下程序运行后,输出结果是( )。   #define ADD(x) x+x   main( )   { int m=1, n=2, s=3;    s*=ADD(m+n);    printf("s=%d\n", s);  }
A.s=8
B.s=9
C.s=6
D.s=18

15.若有以下语句,则对x数组元素引用不正确的是( )。 int x[ ]={1, 2, 3, 4, 5, 6}, *ptr;ptr=x;
A.*(--ptr)
B.*(ptr--)
C.*(ptr++)
D.*(++ptr)

16.若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
E.选项内容11
F.选项内容11

17.若二维数组a有m列,则在a[i][j]前的元素个数为( )。
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1

18.以下程序的运行结果是( )。 # include "stdio.h" main() { struct date { int y,m,d;} today; printf("%d\n", sizeof(struct date));}
A.2
B.3
C.6
D.出错

19.当定义一个结构体变量时系统分配给它的内存是( )。
A.结构中第一个成员所需的内存量
B.结构中最后一个成员所需的内存量
C.结构体成员中占内存量最大者所需的容量
D.结构体中各成员所需内存量的总和

20.设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是( )。 scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);printf("%4d+%3d+%2d+%1d",a, b, c, d);
A.1234123121
B.1234123412341234
C.1234+1234+1234+1234
D.1234+123+12+1

在线作业 离线作业 论文咨询 在线考试 旺旺客服 微信二维码