《高级语言程序设计基础》在线平时作业3
共20道题 总分:100分
一、单选题(共20题,100分)
1.若执行下述程序时从键盘输入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
2.下面程序的输出结果为( )。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、有语法错误
3.当说明一个共用体变量时系统分配给它的内存是( )。
A、共用体中第一个成员所需内存量
B、共用体中最后一个成员所需内存量
C、共用体成员中占内存量最大者所需的容量
D、共用体中各成员所需内存量的总和
4.以下程序运行后,输出结果是( )。 #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
5.C语言程序从main()函数开始执行,所以这个函数要写在( )。
A、程序文件的开始
B、程序文件的最后
C、它所调用的函数的前面
D、程序文件的任何位置
6.若有定义:int i, x[3][4];,则不能将x[1][1]的值赋给变量i的语句是( )。
A、i=x[1][1]
B、i=*(*(x+1))
C、i=*(*(x+1)+1)
D、i=*(x[1]+1)
7.设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。 for (y=100; x!=y; ++x,y++) printf(“****\n”);
A、循环体只执行一次
B、是无限循环
C、循环体一次都不执行
D、for语句中存在语法错误
8.设c1、c2均是char类型变量,则以下不正确的函数调用是( )。
A、scanf(“c1=%cc2=%c”,&c1,&c2);
B、getchar( )
C、putchar(c2);
D、putchar(c1,c2)”
9.若a和b均为int型变量,则执行以下程序断后x的输出是( )。x=15;y=15;printf(“%d\n”,x%=(y%=2));
A、0
B、1
C、6
D、12
10.对以下说明语句的正确理解是( )。 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、因为数组与初值的个数不相同,所以此语句不正确
11.若有说明:char *pc[ ]={“aaa”, “bbb”, “ccc”, “ddd”};,则以下叙述正确的是( )。
A、*pc[0]代表的是字符串”aaa
B、*pc[0]代表的是字符’a’东大答案请进:opzy.net或请联系微信:1095258436
C、pc[0]代表的是字符串”aaa”
D、pc[0]代表的是字符’a’
12.下面程序的运行结果是( )。 char a[7]=”abcdef”; char b[4]=”ABC”; strcpy(a,b); printf(“%c”,a[5]);
A、输出空格
B、\0
C、e
D、f
13.设x,y是float型变量,则不正确的赋值语句是( )。
A、++x;
B、y=int(5);
C、x*=y+1;
D、x=y=0;
14.已知学生记录描述如下,下面对结构体成员”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;
15.若要使指针变量p指向一个动态开辟的字符型存储单元,则空中应选择填入的是( )。char *p;p= malloc(sizeof(char));
A、char
B、char *
C、(*char)
D、(char *)
16.执行下面程序段后,x的值是( )。int x;printf(“%d\n”,(x=3*5,x+5));
A、10
B、15
C、20
D、5
17.C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是( )。
A、地址传递
B、单向值传递
C、由实参传给形参,再由形参传回实参
D、由用户指定传递方式
18.以下在任何情况下计算两数积时都不会引起二义性的宏定义是( )。
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))”
19.以下运算正确的程序段是( )。
A、char str1[]=”ABCDE”, str2[]=”abcdef”; strcpy(str1, str2);
B、char str[10], *st=”abcde”; strcat(str, st);
C、char *st1=”ABCDS”, *st2=”abcde”; strcat(st1,st2);
D、char str[10]=””, *st=”abcde”; strcat(str, st);”
20.以下对指针变量的操作中,不正确的是( )。
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;”