C语言第3版 选择题(第7、8、9章)_第1页
C语言第3版 选择题(第7、8、9章)_第2页
C语言第3版 选择题(第7、8、9章)_第3页
C语言第3版 选择题(第7、8、9章)_第4页
C语言第3版 选择题(第7、8、9章)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

习题七、选择题.下列叙述中错误的是C预处理命令必须以#号开头预处理命令可以写成多行C)预处理命令必须置于源文件的开始处D)预处理命令以回车结束2.C语言编译系统对宏替换的处理是在—A进行的。A)源程序编译前B)源程序编译时C)程序连接时D)C)程序连接时D)程序运行时中,3.14159是C3中,3.14159是CA)单精度数B)双精度数C)字符串C)字符串D)由PI位置确定其类型.设有宏定义#defineABabcd,则宏替换时,AA)宏名A用Babcd替换B)宏名AB用abcd替换C)宏名A和宏名B都用abcd替换D)语法错误,无法替换.下列有关宏的叙述中错误的是A。宏名必须使用大写英文字母宏替换不占用程序的运行时间宏参数没有数据类型宏名没有数据类型.下列宏定义,最不会引起二义性的是—D。#defineADD(a,b)a+b#defineADD(a,b)(a)+(b)#defineADD(a,b)(a+b)#defineADD(a,b)((a)+(b)).设有宏定义#defineM3+2则表达式2*M*3的值为B。TOC\o"1-5"\h\zA)30B)12C)10D)13.设有宏定义#defineY(n)(4*n)则表达式3+Y(5+1)的值为BA)21B)24C)27

9.设有宏定义:D)30//A//A程序段#defineN3voidmain(){if(N>0)printf("N=%d\n",N);elseprintf("N<=0");}两个程序目标代码相同,两个程序目标代码不同,两个程序目标代码相同,两个程序目标代码不同,#defineN3#defineMN+2则表达式2*M/N的值为A。A)6B)3C)3.333D)错误替换为2*3+2/3,其中,2/3是整除,值为110.在#include命令中,#include后面的文件名用双引号定界,则系统寻找被包含文件的方式是—D。A)在C系统的include文件夹查找B)在源程序所在文件夹查找C)先在C系统的include文件夹查找,查找失败后再到源程序所在文件夹查找D)先在源程序所在文件夹查找,查找失败后再到C系统的include文件夹查找11.(不要求)设有以下A、B两个程序段,则说法正确的是—B。//B程序段#defineN3voidmain(){#if(N>0)printf("N=%d\n",N);#elseprintf("N<=0");#endif}运行结果也相同但运行结果相同但运行结果不同运行结果也不同12.(不要求)执行以下程序,结果为—A#defineDEBUGvoidmain(){#ifdefDEBUGprintf("DEBUG");#endif

printf("OK");}B)OKD)#ifdefB)OKD)#ifdef命令错误C)宏定义错误第八章一、选择题.以下数组定义中,错误的是C。A)inta[]={1,2,3};B)inta[5]={1,2,3};C)inta[3]={1,2,3,4};D)inta[5],b;.以下数组定义中,正确的是B。A)intn=4,a[n]={1,2,3,4};B)inta[][2]={1,2,3,4};C)inta[2][]={1,2,3,4};D)inta[][]={{1,2},{3,4}};.设有如下定义:inta[8][10];在VC中一个整数占用4字节,设a的起始地址为1000,则a[1][1]的地址是D。A)1000B)1004C)1036D)1044.已知有数组定义:inta[][3]={1,2,3,4,5,6,7,8,9},则a[1][2]的值是C。A)2B)5C)6D)8.在以下字符串定义、初始化和赋值运算中,错误的是A。charstr[10];str="String";charstr[10]="String";charstr[10]={'S','t','r','i','n','g'};charstr[]={'S','t','r','i','n','g',0};.设有以下字符串定义,则si和s2D。chars1[]={'S','t','r','i','n','g'};chars2[]="String";A)长度相同,内容也相同B)长度不同,但内容相同C)长度不同,但内容相同D)长度不同,内容也不同.设有定义inta[10]={0};则说法正确的是A。A)数组a有10个元素,各元素的值为0B)数组a有10个元素,其中a[0]的值为0,其他元素的值不确定

C)数组a有1个元素,其值为0D)数组初始化错误,初值个数少于数组元素个数8.设已定义charstr[6]={'a','b','\0','c','d','\0'};执行语句printf(("%s",str)后,输出结果为B。A)aB)abC)abcdD)ab\0cd\0.引用数组元素时,数组元素下标不可以是C。A)字符常量B)整型变量C)字符串D)算术表达式.已定义字符数组si和s2,以下错误的输入语句是C。A)scanf("%s%s",s1,s2);B)scanf("%s%s",&s1,&s2);gets(s1,s2);D)gets(s1);gets(s2);习题九一、选择题.若已经定义structstu{inta,b;}student;,则下列输入语句中正确的是D。A)scanf("%d",&a);B)scanf("%d",&student);C)scanf("%d",&stu.a);D)scanf("%d",&student.a);.若已有以下结构体定义和初始化,则值为2的表达式是A。structcmplx{intx;inty;}c[]={1,2,3,4};A)c[0].yB)yC)c.y[0]D)c.y[1].设有如下程序段,则vu.a的值为D。unionu{inta;intb;floatc;}vu;C)3D)AC)3D)A、B、C都不是A)1B)2.设已经定义unionu{chara;intb;}vu;在VC中存储char型数据需要1个字节,存储int型数据需要4个字节,则存储变量vu需要B个字节。A)1B)4C)5D)8.设已经定义unionu{inta;intb;}vu={1,2};贝UD。A)共用体成员a和b的值都是1B)共用体成员a和b的值都是2C)共用体成员a的值是1,b的值都是2该定义错误.设有定义enumdate{year,month,day}d;则下列叙述中正确的是A。date是类型、d是变量、year是常量date是类型、d和year是变量date和d是类型、year是常量date和d是变量、year是常量.设有定义enumdate{year,month,day}d;则正确的表达式是B。A)year=1B)d=yearC)d="year"D)date="year".若已经定义typedefstructstu{inta,b;}student;,则下列叙述中正确的是C。A)stu是结构体变量B)student是结构体变量C)student是结构体类型D)a和b是结构型体变量.下面有关typedef语句的叙述中,正确的是C。typedef语句用于定义新类型typedef语句用于定义新变量typedef语句用于给已定义类型取别名typedef语句用于给已定义变量取别名习题十一、选择题.设已定义inta,*p;下列赋值表达式中正确的是C。A)*p=aB)p=*aC)p=&aD)*p=&a.设已定义intx,*p=&x;则下列表达式中错误的是B。A)*&xB)&*xC)*&pD)&*p.若已定义inta=1,*b=&a;,则printf("%d\n",*b);的输出结果为A。A)a的值B)a的地址C)b的值D)b的地址.设已定义intx,*p,*p1=&x,*p2=&x;则下列表达式中错误的是C。A)x=*p1+*p2B)p=p1C)p=p1+p2D)x=p1-p2.设有函数定义voidp(int*x){printf("%d\n",*x);}和变量定义a=3;则正确的函数调用是C。A)p(a)B)p(*a)C)p(&a)D)p(int*a).函数intfun(char*x){char*y=x;while(*y)y++;return(y-x);}的功能是A。A)求字符串的长度B)比较两个字符串的大小C)将字符串x复制到字符串yD)将字符串x连接到字符串y后面.运行以下程序,输出结果为B。intfun(inta,int*b){a++;(*b)++;returna+*b;}voidmain(){intx=1,y=2;printf("%d",fun(x,&y));printf("%d",fun(x,&y));}A)55B)56C)65D)66.运行以下程序,输出结果为C。#include<stdio.h>int*fun(inta,int*b){a++;(*b)++;*b=a+*b;returnb;}voidmain(){intx=1,y=2,*z;z=fun(x,&y);printf("%d",*z);z=fun(x,&y);printf("%d",*z);}A)56B)57C)58D)68.若已定义inta[]={1,2,3,4},*p=a;则下面表达式中值不等于2的是C。A)*(a+1)B)*(p+1)C)*(++a)D)*(++p).若已定义inta[]={1,2,3,4},*p=a+1;则p⑵的值是C。A)2B)3C)4D)无意义.(不要求)设已定义血x[4][10],*p=x[0];则下列表达式中的值为整型的是B。A)&x[1][2]B)*(p+1)C)x[1]D)p+1.设已定义chars[]="ABCD";printf("%s",s+1)的值为C。A)ABCD1B)BC)BCDD)ABCD.设已定义charstr□="abcd",*ptr=str;,则*(ptr+5)的值为B。A)dB)0C)'0'D)字符d的地址.下面对字符串变量的初始化或赋值操作中,错误的是C。A)chara[]="OK";B)char*a="OK";C)chara[10];a="OK";D)char*a;a="OK";.(不要求)设已定义char*ps[2]={"abc","1234"};则以下叙述中错误的是A。ps为指针变量,它指向一个长度为2的字符串数组ps为指针数组,其两个元素分别存储字符串"abc"和"1234"的地址ps[1][2]的值为'3'*(ps[

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论