2021智慧树知到(山东理工大学)《C语言编程新思路》章节测试答案共14章(6)
A、#define POWER(x) x*x
B、#define POWER(x) (x)*(x)
C、#define POWER(x) (x*x)
D、#define POWER(x) ((x)*(x))
答案:D
5、在“文件包含”预处理语句的使用形式中,当#include后面的文件名用” ”(双引号)括起时,寻找被包含文件的方式是()。
A、直接按系统设定的标准方式搜索目录
B、现在源程序所在目录搜索,再按系统设定的标准方式搜索
C、仅仅搜索源程序所在目录
D、仅仅搜索当前目录
答案:B
6、有以下程序: #define ADD(x) x+x #include "stdio.h" int main(void) { int m=1,n=2,k=3; int sum=ADD(m+n)*k; printf("sum=%d",sum); return 0; } 该程序的运行结果是()。
A、sum=9
B、sum=10
C、sum=12
D、sum=18
答案:B
7、若有如下宏定义: #define X 5 #define Y X+1 #define Z Y*X/2 则执行以下printf语句后,输出结果是()。 int a; a=Y; printf("%d ",Z); printf("%d ",- -a);
A、7 6
B、12 6
C、12 5
D、7 5
答案:D
8、以下程序的运行结果是()。 #define MAX(A,B) (A)>(B)?(A): (B) #define PRINT(Y) printf(“Y=%d ”,Y) #include “stdio.h” int main(void) { int a=1,b=2,c=3,d=4,t; t=MAX(a+b,c+d) PRINT(t); return 0; }
A、Y=3
B、Y=7
C、Y=0
D、存在语法错误
答案:B
9、以下程序的输出结果是()。 #include <stdio.h> #define MUL(x,y) (x)*y #include “stdio.h” int main(void) { int a=3,b=4,c; c=MUL(a++,b++); printf("%d",c); return 0; }
A、12
B、15
C、20
D、16
答案:A
10、用宏替代计算多项式4*x*x+3*x+2之值的函数f,正确的宏定义是()。
A、#define f(x) 4*x*x+3*x+2
B、#define f 4*x*x+3*x+2
C、#define f(a) (4*(a)*(a)+3*(a)+2)
D、#define (4*a*a+3*a+2) f(a)
答案:C
第十二章测试
1、C语言规定结构体变量系统分配给它的存储空间是()。
A、该结构体中最后一个成员所需的存储空间
B、该结构体中所有成员所需存储空间的总和
C、该结构体中第一个成员所需的存储空间
D、该结构体中占用最大存储空间的成员所需的存储空间
答案:B
2、以下对结构体变量s 中成员age的合法法引用是()。 #include<string.h> struct student {int age; int num; } s,*p; p=&s;
A、student.s.age
B、student.age
C、p->age
D、s->age
答案:C
3、有如下定义: struct date {int y ; int m ; int d ;}; struct person { char name[20]; char sex; struct date birthday; }a; 对结构体变量a的出生年份进行赋值时,下面正确的赋值语句是()。
A、y =1958
B、birthday.y=1958
C、a.birthday.y =1958
D、a.y =1958
答案:C
4、设有以下说明语句 struct stu { int a; float b; }stutype; 则以下叙述不正确的是()。
A、struct 是结构体类型的关键字
B、struct stu 是用户定义的结构体类型名
C、stutype 是用户定义的结构体类型名
D、a 和 b 都是结构体成员名
答案:B
5、以下结构体类型说明和变量定义中正确的是()。
A、typedef struct {int n; char c;} REC; REC x,y;
B、struct REC; {int n; char c;}; REC x,y;
C、typedef struct REC ; {int n=0; char c=’A’; } x,y;
D、struct {int n; char c; } REC x,y;
答案:A
6、下面程序的运行结果是()。 struct st { int n; int a[20]; }; void f(int *a, int n) { int i; for(i=0;i<n;i++) a+=I; } int main() { int i; struct st x={10,{2,3,1,6,8,7,5,4,10,9}}; f(x.a, x.n); for(i=0;i<s.n;i++) printf(”%d,”,x.a); }
A、2,4,3,9,12,12,11,11,18,18,
B、3,4,2,7,9,8,6,5,11,10,
C、2,3,1,6,8,7,5,4,10,9,
D、1,2,3,6,8,7,5,4,10,9,
答案:A
7、以下关于typedef 的叙述错误的是()。
A、typedef只是将已存在的类型用一个新的名字来代表
B、用typedef可以增加新类型
C、用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名
D、用typedef为类型说明一个新名,通常可以增加程序的可读性
答案:B
8、下面程序的运行结果是()。 #include <stdio.h> #include <string.h> typedef struct{ char name[9];char sex; float score[2]; } stu; stu f(stu a) {stu b={“zhao”,’m’,85.0,90.0}; int i; strcpy(a.name,b.name); a.sex=b.sex; for(i=0;i<2;i++) a.score=b.score; return a; } int main() {stu c={"qian",'f',95.0,92.0},d; d=f(c); printf(“%s,%c,%2.0f,%2.0f\n”,d.name,d.sex,d.score[0],d.score[1]); }
A、qian,f,95,92
B、qian,m,85,90
C、zhao,m,85,90
D、zhao,f,95,92
答案:C
9、以下程序运行后的输出结果是()。 #include <stdio.h> struct S {int n; int a[20];}; void f(struct S *p) { int i,j,t; for(i=0;i<p->n-1;i++) for(j=i+1;j<p->n;j++) if(p->a>p->a[j]) { t=p->a; p->a=p->a[j]; p->a[j]=t; } } int main() { int i; struct S s={10,{2,3,1,6,8,7,5,4,10,9}}; f(&s); for(i=0;i<s.n;i++) printf(”%d,”,s.a); }
A、10,9,8,7,6,5,4,3,2,1,
B、1,2,3,4,5,6,7,8,9,10,
C、2,3,1,6,8,7,5,4,10,9,
D、10,9,8,7,6,1,2,3,4,5,
答案:B
10、有以下程序段 typedef struct node { int data; struct node *next; }NODE; NODE *p; 以下叙述正确的是()。
A、NODE *p;语句出错
B、p 是指向struct node 结构体变量的指针的指针
C、p 是struct node 结构体变量
D、p 是指向struct node 结构体变量的指针
答案:D
11、若定义如下结构,则能打印出字母M的语句是()。 struct person{ char name[9]; int age;}; struct person class[10]={"Wujun",20, "Liudan",23, "Maling",21, "zhangming",22};
A、printf("%c\n",class[3].name);
B、printf("%c\n",class[2].name[0]);
C、printf("%c\n",class[2].name[1]);
D、printf("%c\n",class[3].name[1]);
答案:B
12、以下程序段的运行结果是()。 union { int n; char str[2]; }t; t.n=80; t.str[0]='a'; t.str[1]=0; printf("%d\n", t.n);
A、80
B、a
C、0
D、97
答案:D
13、以下对C语言中共用体类型数据的叙述正确的是()。
A、可以对共用体变量名直接赋值
B、一个共用体变量中可以同时存放其所有的成员
C、一个共用体变量中不能同时存放其所有成员
D、共用体类型定义中不能出现结构体类型的成员
答案:C
14、若有以下说明和定义语句,则下面引用形式中不正确的是 ()。 struct student { int age; int num; }; struct student stu[3]={{1001,20},{1002,19},{1003,21}}; struct student *p; p=stu;
A、(p++)->num
B、p++
C、(*p).num
D、p=&stu.age
答案:D
15、以下scanf函数调用语句中,对结构体变量成员的不正确引用是()。 struct pupil {char name[20 ]; int age ; int sex; }pup[5],*p; p=pup;
A、scanf(“%s“,pup[0].name);
B、scanf(“%d“,&pup[0].age);
C、scanf(“%d“,&sex);
D、scanf(“%d“,P->age);
答案:C
16、当说明一个共用体变量时系统分配给它的内存是()。
A、各成员所需内存量的总和
B、结构中第一个成员所需内存量
C、成员中占内存量最大者所需的容量
D、结构中最后一个成员所需内存量
答案:C
17、设有以下说明,则下面不正确的叙述是()。 union data { int i; char c; float f; }un;
A、un所占的内存长度等于成员f的长度
B、un的地址和它的各成员地址都是同一地址
C、un可以作为函数参数
D、不能对un赋值,但可以在定义un时对它初始化
答案:C
18、定义结构体类型变量teach1,不正确的是()。
A、struct teacher {int num; int age; }; struct teacher teach1;
B、struct teacher {int num; int age; }teach1;
C、struct {int num; int age; }teach1;
D、struct {int num; int age; }teacher; struct teacher teach1;
答案:D
19、下面程序的运行结果是()。 #include <stdio.h> union data { int i; char c; double d; }a[2]; void main() {printf("%d\n",sizeof(a)); }
A、16
B、8
C、4
D、2
答案:A
20、以下对结构体变量stul中成员age的非法引用是()。 struct student {int age; int num; }stul,*p; p=&stul;
A、stul.age
B、student.age
C、p->age
D、(*p).age
答案:B
第十三章测试
1、运行下列程序,输出结果为()。 #include <stdio.h> int main() { int x=040; printf("%d\n",x=x<<1); return 0;}
A、100
B、160
C、120
D、64
答案:D
2、如有short int a,b,若要通过a=a&b使a的低8位置0,高8位不变,则b应该是()。
A、0xff00
B、0x0000
C、0x00ff
D、0xffff
答案:A
3、下列描述正确的是()。
A、用C语言可直接进行位运算,因此C语言是一种低级语言。
B、参加位运算的数据可以是任何类型的数据。
C、在一个数左移时被溢出的高位中不包含1的情况下,左移1位相当于该数乘以2。
D、有表达式y=~5,则y的值等于-5.
答案:C
4、若有short int a=0x5566; 则执行a= a|0xff00 后,a的值是()。
A、0x5500
B、0x0066
C、0x5566
D、0xff66
答案:D
5、a为任意整数,能将变量a清零的表达式为()。
A、a=~a
B、a=a^a
C、a=a&a
D、a=a|a
答案:B
6、如有short int a,b; ,若要通过a=a|b使a的低8位置1,高8位不变,则b应该是 ()。
A、0xff00
B、0x0000
C、0x00ff
D、0xffff
答案:C
7、运行下列程序,输出结果为()。 #include <stdio.h> int main() { printf("%d\n",12>>2); return 0; }
A、0
B、1
C、3
D、4
答案:C
8、若有short int a=0x5566; 则执行a= a&0x00ff 后,a的值是()
A、0x0066
B、0x5500
C、0x00ff
D、0x5566
答案:A
9、表达式5+3<<2的值为()。
A、32
B、17
C、16
D、11
答案:A
10、若有short int a=0x7700; ,则执行a=a^0x00ff后,a的值是()。
A、0x0000
B、0x7700
C、0x77ff
D、0xffff
答案:C
第十四章测试
1、关于文件,下列理解不正确的是()。
A、C语言把文件看作是字节的序列,即由一个个字节数据顺序组成
B、所谓文件一般指存储在外部介质上数据的集合
C、系统自动在内存区为每一个正在使用的文件开辟一个缓冲区
以上相关的更多内容请点击“智慧树 ”查看,该题目的答案为网上收集整理仅供参考!
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
- 下列不属于马汉的著作的是()。
- 根据《山东省安全生产条例》,()等
- 题目:我们党是用马克思主义武装起
- 【单选题】下列关于莫奈《日出·印
- 1935年12月,党召开了___,确立了建
- 我国领土最东端所在的省级行政区是
- 平衡计分卡是很有价值的管理工具,
- 【单选题】以下有关法治与德治关系
- 高质量发展,必须坚持()改革方向。
- 替代种植是一种针对毒品原植物产区
- 《医疗保障基金使用监督管理条例》
- 泰坦尼克号沉没后,SOS才被广泛接受
- 有哺乳婴儿()名以上的单位,应逐步
- 省委十届二次全会指出,要准确把握
- 1978年12月18日至22日,召开了开创
- 为了加强安全生产工作,防止和减少
- 2021青骄第二课堂中职一(毒品大拿
- ()应当对其产生的放射性废气进行处
- 下列关于火灾分类的说法,不正确的
- 根据《中华人民共和国民法典》规定
- 只有把马克思主义基本原理同()、同
- 除了激光武器外,激光在军事应用方
- 省委十四届十次全会决定召开党浙江
- 【单选题】“我能站在你的角度想你
- 现状调查是为了()。
- 根据《安全生产许可证条例》,企业
- 我们党新时代的强军目标是:建设一
- 《会计改革与发展“十四五”规划纲
- 在《中华人民共和国电信条例》第五
- 党的纪律处分工作应当坚持什么原则