C++填空选择题
c语言习题
C语言阶段测试三一、单项选择题1、有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}int (*ptr)[3]=a,*p=a[0];则下列能够正确表示数组元素a[1][2]的表达式是( A )。
A)*((*ptr+1)[2])B)*(*(p+5))C)(*ptr+1)+2 D)*(*(a+1)+2)2、# include <stdio.h> Dvoid main ( ){ int a[3][3]={1,2,3,4,5,6,7,8,9};int s=0,i;for (i=0;i<3;i++)s+=(*(a+i))[i];printf("%d",s);}A)9 B)12 C)14 D)153、设有说明语句:char a= '\123abc';则变量a ( A )A) 包含7个字符 B) 包含6个字符C) 包含5个字符D) 包含4个字符4、有以下程序段int k=0while(k=1)k++;while 循环执行的次数是( C )A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次5、下面四个选项中,均是合法转义字符的选项是_C___。
a. '\''b. '\'c. '\018'd. '\\0''\\' '\017' '\f' '101'\n' '\"' 'xab' 'xlf'6、下面四个选项中,均是不正确的八进制数或十六进制数的选项是____。
a. 016b. oabcc. 010d. 0a120x8f 017 -0x11 7ff018 0x8 0x16 -1237、设int x;则执行printf(″%x\n″,~x^x);的结果是( )A.0B.1C.ffD.ffff8、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( A )A.9,19B.9,20C.10,19D.10,209、对于while语句,错误的说法是(B )A.用条件控制循环体的执行次数B.循环体至少要执行一次C.循环体有可能一次也不执行D.循环体中可以包含若干条语句10、执行下列语句int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf(″%d,%d,%d\n″,a,b,c);后输出的结果是( A )A.6,7,7B.6,7,8C.8,7,6D.8,7,811、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( A )A.x数组的长度等于y数组的长度B.x数组的长度大于y数组的长度C.x数组的长度少于y数组的长度D.x数组与y数组的存储区域相同12、设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++)printf(″%d″,x[i][2-i]);的输出结果是( C )A.147B.159C.357D.36913、设int b[ ]={1,2,3,4},y,*p=b;则执行语句y=*p++;之后,变量y的值为( A )A.1B.2C.3D.414、假设int型变量占两个字节的存储单元,若有定义:int x[10]={0,2,4};则数组x在内存中所占字节数为____D__。
《C语言程序设计教程》(第三版)课后习题参考答案
C语言程序设计课后习题参考答案习题一一、单项选择题1、C2、B3、B4、C5、D6、A7、C8、A二、填空题1、判断条件2、面向过程编程3、结构化4、程序5、面向对象方法6、基本功能操作、控制结构7、有穷性8、直到型循环结构9、算法10、可读性11、模块化12、对问题的分解和模块的划分习题二一、单项选择题1、B2、D3、C4、B5、A6、A7、B8、C二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C5、A6、D7、B8、D9、B 10、C 11、A 12、D 13、C 14、B 15、C 16、A17、B 18、C 19、C 20、D 21、A 22、D 23、D 24、D、A25、D 26、A二、填空题1、补码2、10^-138~10^138、15~163、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B 10、B二、填空题1、两, ;2、5.1690003、-200 2500、i=-200,j=2500回车、i=-200回车j=2500回车4、a=98,b=765.000000,c=4321.0000005、100 25.81 1.89234、100,25.81,1.89234、100回车25.81回车1.89234回车6、0,0,37、38、scanf(“%lf %lf %lf”,&a,&b,&c);9、13 13.000000 13.00000010、c=b-a;a=b+c;习题五一、单项选择题1、B2、D3、C4、B5、B6、D7、A8、B9、D二、填空题1、1 、02、k!=03、if(x>4||x<-4)printf(“%d”,x);else printf(“error!”);4、if(((x>=1&&x<=10)||(x>=200&&x<=210))&&(x%2!=0))Printf(“%d”,x);5、16、17、10!Right!8、a=09、2,110、0<a<b习题六一、单项选择题1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、204、115、3.66、*#*#*#$7、8 5 28、d=1.0 、k++、k<=n9、!(x<0)、x<amin习题七一、单项选择题1、B2、D3、C4、C5、A6、A7、D8、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i<263、break、i==84、a[i]>b[i]、i<3、j<55、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B2、C3、C4、A5、A6、A7、C8、D9、D 10、B 11、A 12、C 13、A 14、C 15、B二、填空题1、return 1、return n+sum(n-1)2、return 1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C6、C7、C8、C9、B 10、C 11、A 12、C 13、B 14、A 15、D 16、B17、C 18、A 19、B 20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max<*q、min>*q习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D 10、11、C 12、D 13、D 14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adabc defghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B6、D7、B8、A9、A 10、B 11、B 12、B 13、C 14、C 15、D 16、A17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\\zk04\\data\\txfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值。
C语言考试填空题
C 语言考试填空题1.一个C 语言程序中至少应该包含一个【】函数。
答案:main 有且只有一个2.a 是整型变量,则执行表达式a=25/3%3后a 的值为【】答案:23.int m=5,y=2;则表达式y+=y-=m*=y 的值为。
【】答案:-164.结构化程序由【】、【】、【】三种基本结构组成.答案:顺序、选择、循环5.已知a=10,b=15,c=1,d=2,e=0,则表达式c==(b>e )的值为【】。
答案:16.C 语言中,二维数组在内存中的存放方式为按【】优先存放.答案:答案:行行7.设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为【】答案:18.C 源程序的基本单位是【】。
答案:源程序的基本单位是【】。
答案:函数函数9.设C 语言中,int 类型数据占2个字节,则long 类型数据占【】个字节,short 类型数据占【】个字节.答案:4,210.按内存排列顺序,数组char a[2]中的所有元素是a[1]和【】.答案:a[0]11.int x;x=-3+4*5-6,则x 的值为【】.答案:1112.执行以下程序段后,s 的值是【】int a[]={5,3,7,2,1,5,3,10},s=0,k;for(k=0;k<8;k+=2)s+=*(a+k);答案:1613.在C语言中的实型变量分为两种类型,它们是float型和【】型.答案:double14.若已知a=10,b=20,则表达式!a<b的值为【】。
答案:115.为条件表达式z=x>y?a:b释义:【】答案:当x>y时,z=a;【】答案:当否则z=b;16.若要调用函数fabs(),必须包含头文件【】答案:math.h17.请写出数学式a/bc的C语言表达式【】。
答案:(a/b)*c或(a*c)/b18.已知a=10,b=15,c=1,d=2,e=0,则表达式(c==b)>e的值为【】.答案:019.条件“20<x<30或x<-100”的C语言表达式是【】。
C语言试题及答案
《C语言程序设计》试题四一.单项选择题1.运算符___________的优先级最高。
A.[ ]B.+= C.?: D.++2.main( ){ int n;( n=6*4,n+6),n*2;printf(―n=%d\n‖,n); }此程序的输出结果是______________.A.30 B. 24 C.60 D. 483.若有如下定义,则__________是对数组元素的正确的引用。
.int a[10] , *p ;p=a ;A. *&a[10]B.a[11] C. *(p+11) D. *p *p *p4.设整型变量n的值为2,执行语句―n+=n-=n*n;‖后,n的值是__________A. 0B. 4C. - 4D. 25.各种基本数据类型的存贮空间正确的长度排列为__________。
A.Char<long<int<float<do ubleB.Double<float<long<int< charC.Char<int<long<float<do ubleD.Float<int<long<char<do uble 6.下面的变量说明中_____________是正确的。
A.char:a, b, c;B.char a; b; c; C.chara, b, c; D.char a, b, c7.表达式y=(13>12?15:6>7?8:9)的值为____________ 。
A9 B 8C 15 D. 18.若x=5,y=3 则y*=x+5; y的值为_______________.A. 10B. 20C. 15D. 309.能正确表示a和b同时为正或同时为负的逻辑表达式是_________。
A.a>=0||b>=0)&&(a<0||b<0) B.(a>=0 &&b>=0)&&(a<0 && b<0)C.(a+b>0) &&(a+b<=0)D.a*b>010.C语言中,合法的字符型常数是_________。
计算机二级c语言经典练习题及解析答案
计算机二级c语言经典练习题及解析答案计算机二级c语言经典练习题及解析答案一、单选题1. C语言中的三大基本数据类型包括( B )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( c )A. '\048'B. 'ab'C. '\43'D. "\0"3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )A. 15B. 20C. 25D. 304. 定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是( C )A. 1 4 7B. 1 5 9C. 3 5 7D. 3 6 95.逗号表达式(a=3*5,a*4),a+15的值是( b )A.15B. 30D. 756. .以下程序的输出结果是( c )。
main( ){ int x=10,y=11;printf("%d,%d\n",x--,--y);}A. 11,11B. 10,11C. 10, 10D.11,107.若一个外部变量的定义形式为static int x ; 其中static的作用是( d )A.将变量存放在静态存储区,使x的值可以永久保留B.使变量x可以由系统自动初始化C.使x的值可以永久保留D.使x只能在本文件内引用8.有如下变量说明:int k=2;则下面的循环共执行多少( d )次while (k!=0) {printf("%d",k);k--;}A.无限多次 B.0次 C.1次 D. 2次9.设有变量说明:int a=7,b=8;那么语句:printf("%d,%d\n",(a+b,a),(b,a+b));的输出应该是( a )A. 7,15B. 8,15C. 15,7D.15,810.若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( b )A. p+1C. a+1D. ++p11. C语言变量名中不能使用的字符是( d )A. 数字B. 字母C. 下划线D. 关键字12.以下变量定义中合法的是( a )A.short a=2.1e-1;B. double b=1+5e0.5;C. long do=0xffe ;D. float 3_end=1-e3;13.若有说明语句char ch1=′\x79′;则ch1( c )A.包含4个字符B.包含3个字符C. 包含2个字符D.包含1个字符14.C语言中的函数( b )A. 可以嵌套定义B.嵌套调用和递归调用均可C. 不可以嵌套调用D. 可以嵌套调用但不可以递归调用15. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为( c )A. 552B. 264C. -264D. 14416.设a=1,b=2,c=3,d=4,则表达式:a>b?a:cA.1 B.2 C.3 D.417.若有说明语句:int b[][4]={ 3,1,2,5,7,6,4}; 则b数组的行数为( b )A. 3B. 2C.无确定值D. 118. 若有定义:char c[10];从键盘输入“LiFang”,则正确的函数引用是( c )A. scanf(″%c″,&c[10]);B. gets(c);C. scanf(″%s″,&c);D. gets(c[10]);19. 两个基类型相同的指针变量之间,不能进行的运算是( c )A. <B. =C. +D.-20. 下面程序段执行结果是( b )int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);A. 24,8B. 21,8C. 21,7D. 24,721.以下选项中属于C语言的数据类型是( b )。
C语言程序设计选择填空习题及答案
习题一一、选择题1.C程序的基本单位是(A)。
A.函数B.文件C.语句D.字符2.C程序中的变量(B)。
A.不用说明B.先说明后引用C.先引用后说明D.引用和说明顺序无关3.变量的说明在(B)。
A.执行语句之后B.执行语句之前C.执行语句当中D.位置无关4.C语言是一种(C)。
A.机器语言B.符号语言C.高级语言D.面向对象的语言二、填空题1.一个C程序总是从主函数开始执行。
2.结构化程序由顺序、选择、循环三种基本结构构成。
3.一个C程序只有一个名为main的主函数。
4.C程序中的每个语句以分号结束。
5.C程序中,函数由函数首部和函数体组成。
6.每个基本结构有一个入口和一个出口,没有死循环和死语句。
7.算法是计算机解决问题所依据的步骤。
习题二一、选择题1.下列数据中属于字符串常量的是( B)。
A.ABC B."ABC" C.'abc' D.'A'2.在计算机内存中,'\n'占用的字节数是( C)。
A.4 B.3 C.1 D.23.字符串"ABC"在内存中占用的字节数是( D)。
A.6 B.8 C.3 D.44.在C语言中,合法的长整型常数是( B)。
A.568701400 B.0L C.0.03546287 D.2.654e115.char型常量在内存中存放的是( A)。
A.ASCII代码值B.BCD代码值C.十进制代码值D.内码值6.下列各项中正确的标识符是( D)。
A.?bb B.a=8 C. b.βD.b_47.下列不正确的转义字符是( D)。
A.\\ B.\ 0 C.\" D.0x48.设整型变量a、b的值均为5,则表达式(m=n=a++)/(n=b-2)的值为( B)。
A.0 B.1 C.2 D.39.设a的值为5,执行下列语句后,b的值不为2的是( C)。
A.b=a/2 B.b=6-(--a) C.b=a%2 D.b=(float)a/210.执行语句x=(a=3,b=a--)后,x、a、b的值依次是( C)。
c语言笔试题(答案)
c语言笔试题(答案)笔试题一、填空题(每个空4分,共28分)1)struct tagABC{char name[10];char sex;long sno;float score[4];}*pAbc;(四字节对齐)pAbc=NULL;那么,执行pAbc+=2;之后pAbc的值为(64 )2)如下代码,最终value的值是(8)int *p1,*p2;int value;p1=(int*)0×400;p2=(int*)0×408;value = p2-p1;3)如下代码,printf的结果为(2)#include〈stdio.h〉#include〈string.h〉void main(void){char acNew[20]= “\\0\0”;printf(“%d\n”,strlen(acNew));}4) 有如下程序段,运行该程序的输出结果是(33)main (){int y=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}5)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后,n的值为(2)6)struct tagAAA{Unsigned char ucId:1;Unsigned char ucPara0:2;Unsigned char ucState:6;Unsigned char ucTail:4;Unsigned char ucAvail;Unsigned char unTail2:4;Unsigned long ulData;}AAA_S问:AAA_S在字节对齐分别为1,4情况下,占用的空间大小分别是多少?( 9)(12 )二、选择题(每题2分,共34分)1)若有说明int(*p)[3];以下叙述正确的是( D )A:p是指针数组B:(*p)[3]和*p[3]等价C:p是指向一维数组中任何一个元素的指针D:p是指向含有3个整型元素的一维数组的指针2)以下关于单元测试的描述,哪些是对的?(D)A:黑盒测试针对软件的功能,不考虑功能的实现细节;B:白盒测试针对源代码的测试,从程序功能的具体实现上找错;C:路径覆盖是黑盒测试的一种方法,编写测试用例使程序的每条语句都能走到;D:条件覆盖是百盒测试的一种方法, 编写测试用例使程序的每个判断的各种情况都能到3)以下可以用于任务间通信的有(ABCD)A:共享内存 B:信号量C:消息队列和管道 D:socket调用4)有关结构,以下哪些描述是对的?(BC)A:为了测试方便,尽量把一个结构的功能设计得多一些B:不同结构间的关系不要过于复杂C:结构中的各元素应代表同一事务的不同侧面,而不应把描述没有关系或关系很弱的不同事务的元素放到同一结构中D:结构中元素的布局与排列顺序可以随意设计5)关于强制类型转化,下面说法正确的是(ABCD)A:当目的结构的空间大于源结构的空间时,要重点关注内存访问超过源结构范围的情形,可能越界;B:当目的结构的空间小于源结构的空间时,要重点关注对目的结构赋值不能完全覆盖源结构范围的情形,可能遗漏;C:结构体之间的强制类型转换时,其成员字段的数据类型的差异也是要格外小心的; D:与结构体之间的强制类型转换相比,基本数据结构的强制类型转换更容易出现上面描述的情况,使用的时候,一定要慎之又慎;6)正确的使用assert,软件系统不会对人为原因造成的错误进行处理。
《C语言程序设计实践教程》答案-完整版
4.2练习题一、选择题1.D2.B3.A4.B和D5.C6.A7.B二、填空题1.//或/* */2.主或main3.函数首部和函数体4.编译和连接5.公号5.2练习题一、选择题1.A2.D3.B4.B5.C6.C7.D8.A9.B10.B11.D12.B13.A或B14.C15.B17.D18.D19.C20.D21.B22.A23.D24.C25.C26.B27.C28.D29.A30.B二、填空题1.102,102.#define 宏名字符串3.14.n=15.-46.a=1,b= ,c=27.c=A8.n1=%d\nn2=%d9.a+b>c&&a+c>b&&b+c>a10.ch>=’a’&&ch<=’z’|| ch>=’A’&&ch<=’Z’11.712.013.1111000014.8,46.2练习题一、选择题1.A2.C3.D4.C5.A7.A8.D9.B10.C11.A12.A13.C14.B15.正确答案为:12345678二、填空题1.102.y=1 x%i==03.屏幕中间输出一个由星号组成的菱形4.15.136.(cx=getchar())!=-1 front=cx; 7.m%n8.49.*p px=&x py=&y三、读程序,写结果1.-12.3,1,-1,3.a=16,y=604.x=12,y=45.597.2练习题一、选择题1.B2.C3.C4.A5.D6.C8.D9.C10.D11.D12.D13.A14.B15.C16.B17.B18.A19.A20.D21.B22.D23.C24.D25.D26.C二、填空题1.‘a’02.a[k] a[k] a[k]3.0 64.A B C D EA5.1,66.k=p;7.i<j8.189.4,some string * test 10.you&me三、读程序,写结果1.5 4 8 2 02.10 24 15 6 3.love china! H w l 4.66 66 555.Front一、选择题1. A2. A3. B4. B5. B6. A7. D8. C9. A10. A11. A12. B13. B14. A15. B16. B17. C二、填空题1.122.Itis3.fun(n-1)*n fun(k)4.s[i]-t[i]5.n%m i-1 x[d]6.x=n x%10 x7.m=f(a,4)+f(b,4)-f(a+b,3)8.a=1,b=1三、读程序,写结果1.s=72.s=373.bij12一、选择题1. B2. C3. B4. D5. B6. A7. B8. D9. D10. B11. D12. A13. B14. C15. C16. C17. A18. D19. B20. D二、填空题1.b->day (*b).day2.DDBBCC3.zhang 170.000000wang 150.0000004.995.max=i min=i stud[max].name,stud[max].score stud[min].name,stud[min].score6.&r 1 feof(fp) break7.BBB AAA 1238.rewind三、读程序,写结果1.2002,shangxian2.32。
C语言练习题-填空题(带答案)
试卷编号:66所属语言:C语言试卷方案:平时练习-填空试卷总分:240分共有题型:1种━━━━━━━━━━━━━━━━一、填空共240题(共计240分)━━━━━━━━━━━━━━━━第1题(1.0分)题号:301已知 i=5,写出语句 a=i++; 执行后整型变量a的值是【1】. 答案:=======(答案1)=======5第2题(1.0分)题号:476结构化程序中,有三种结构:顺序结构,【1】,循环结构.答案:=======(答案1)=======条件选择结构=========或=========选择结构=========或=========分支结构第3题(1.0分)题号:473C程序中有且仅有一个【1】函数.答案:=======(答案1)=======主=========或=========main第4题(1.0分)题号:475程序流程图只有一个起点和【1】个终点.答案:=======(答案1)=======1=========或=========一=========或=========1个=========或=========一个第5题(1.0分)题号:477一个用C语言编写的程序在运行时,如果没有发生任何异常情况,则只有在执行了【1】函数的最后一条语句或该函数中的return语句后,程序才会终止运行.答案:=======(答案1)=======主=========或=========main第6题(1.0分)题号:474C语言程序由【1】组成.答案:=======(答案1)=======函数第7题(1.0分)题号:300执行下列语句后,z 的值是【1】.int x=4,y=25,z=5; z=y/x*z;答案:=======(答案1)=======30第8题(1.0分)题号:298C语言表达式!(3<6)||(4<9)的值是【1】.答案:=======(答案1)=======1第9题(1.0分)题号:299设a,b,t 为整型变量,初值为a=7,b=9,执行完语句t=(a>b)?a:b后,t 的值是【1】. 答案:=======(答案1)=======9第10题(1.0分)题号:485执行"printf("%d,%d",i,j,k,m);"后将在屏幕上输出【1】个整数.答案:=======(答案1)=======2第11题(1.0分)题号:480C语言中一个单精度浮点型数据占【1】个字节.答案:=======(答案1)=======4第12题(1.0分)题号:479已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-'3'的值为【1】.答案:=======(答案1)=======f第13题(1.0分)题号:490已知有声明float d=1;double f=1;long g;和语句printf(" ",g=10+'i'+(int)d*f);,为了正确地以十进制形式输出printf参数表中第二个参数(表达式)的值,则在第一个参数中的下划线位置处应填写的格式转换说明符是【1】.答案:=======(答案1)=======%ld第14题(1.0分)题号:483在C语言的源程序中若出现常量"1L",则该常量的类型是【1】.答案:=======(答案1)=======长整型=========或=========long int第15题(1.0分)题号:481C语言中为整型数据(int)分配【1】个字节的存储空间.答案:=======(答案1)=======2第16题(1.0分)题号:491在TC中,语句序列int k=-1;printf("%u",k); 的输出结果为【1】.答案:=======(答案1)=======65535第17题(1.0分)题号:482在Turbo C2.0系统中,若将实型常数1.5存储在内存中,它占用【1】个字节.答案:=======(答案1)=======8第18题(1.0分)题号:486C语言中,逻辑值"真"用【1】表示.答案:=======(答案1)=======1第19题(1.0分)题号:478整型变量x的值为23,语句"printf(″%o\\n″,x);"的输出结果为【1】.答案:=======(答案1)=======27\n第20题(1.0分)题号:484在C语言中,字符型数据在内存中以【1】码形式存放. 答案:=======(答案1)=======ASCII=========或=========美国标准信息交换第21题(1.0分)题号:489从变量的作用域角度分有全局变量和【1】.答案:=======(答案1)=======局部变量=========或=========局部第22题(1.0分)题号:488变量从存储的时间来分可分为【1】和动态变量.答案:=======(答案1)=======静态变量第23题(1.0分)题号:487只有在程序运行时才为【1】存储类型和register 存储类型变量分配内存.答案:=======(答案1)=======auto=========或=========自动第24题(1.0分)题号:492现有语句#define a 5+3,则表达式2*a的结果为【1】.答案:=======(答案1)=======13第25题(1.0分)题号:516s=3,s++,s; 这个语句执行完后,s的值为【1】. 答案:=======(答案1)=======4第26题(1.0分)题号:525设有下面的程序段int x= 0,y=0;t=x&&++y; 执行语句后y的值为【1】.答案:=======(答案1)=======第27题(1.0分)题号:512设int a=5,b=2;float c=32.8;,表达式b*(int)c%a的值为【1】.答案:=======(答案1)=======4第28题(1.0分)题号:524设x,y,z均为int 型变量,请写出描述"x或y中有一个小于z"的表达式【1】.答案:=======(答案1)=======x<z||y<z第29题(1.0分)题号:514若已知a=10,b=20,则!a<b的值为【1】.答案:=======(答案1)=======1第30题(1.0分)题号:518表达式 a=3,a++,--a的值为【1】.答案:=======(答案1)=======3第31题(1.0分)题号:500C语言中逻辑值'真'用【1】表示.答案:=======(答案1)=======1第32题(1.0分)题号:494若x为int型,请以最简单的形式写出与逻辑表达式!x等价的C语言关系表达式【1】.答案:=======(答案1)=======x==0第33题(1.0分)题号:526表达式 !10! = 1的值是【1】.答案:=======(答案1)=======1第34题(1.0分)题号:520若a为int型变量,则下面表达式的值为【1】. (a=4*5,a*2),a+6答案:=======(答案1)=======26第35题(1.0分)题号:499关系、算术、赋值三种运算符的运算优先顺序由高到低为【1】、【2】、【3】.答案:=======(答案1)=======算术=======(答案2)=======关系=======(答案3)=======赋值第36题(1.0分)题号:498已知char w; int x; float y; double z;则表达式:w*x+z-y所求得的数据类型为【1】.答案:=======(答案1)=======第37题(1.0分)题号:510已知:a=1,b=2,表达式a>b?a:b+1的值是【1】.答案:=======(答案1)=======3第38题(1.0分)题号:493判断变量a、b的值均不为0的C表达式为【1】.答案:=======(答案1)=======a*b!=0=========或=========a*b第39题(1.0分)题号:507以下十个运算符+ ! << != , ?: && = || %中优先级别最高和最低的分别是【1】和【2】.答案:=======(答案1)=======!=======(答案2)=======,第40题(1.0分)题号:511表达式3>2>1的值是【1】.答案:=======(答案1)=======第41题(1.0分)题号:508C语言中的表达式只能由三种字符组成,他们是字母、数字和【1】.=======(答案1)=======下划线=========或=========_第42题(1.0分)题号:517int a=2,b=3; 表达式 a>b?a++,++b的值为【1】. 答案:=======(答案1)=======4第43题(1.0分)题号:519执行语句序列"char x=3,y=6,z;z=x^y<<2;"后,z的二进制值为【1】.答案:=======(答案1)=======00011011第44题(1.0分)题号:496设有程序段 int x= 4,y=4;t=++x||++y; 执行语句后y的值为【1】.答案:=======(答案1)=======4第45题(1.0分)题号:506若有定义:int b=7;float a=2.5,c=4.7; 则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为【1】. 答案:=======(答案1)=======5.5第46题(1.0分)题号:509计算a、b中最小值的条件表达式为【1】.答案:=======(答案1)=======a<b?a:b第47题(1.0分)题号:515设a和b均为int整型变量,且a=5,b=7,则以下表达式的值为【1】.1.0+a/b答案:=======(答案1)=======1.0=========或=========1第48题(1.0分)题号:522若x为int型变量,执行以下语句后x值是【1】. x=3;x+=x-=x+x;答案:=======(答案1)=======-6第49题(1.0分)题号:513条件"20<x<30或x<-100"的C语言表达式是【1】. 答案:=======(答案1)=======((x>20)&&(x<30))||(x<-100)=========或=========x>20&&x<30||x<-100第50题(1.0分)题号:502若a是int型变量,则执行表达式"a=25/3%3"后,a的值为【1】.答案:=======(答案1)=======2第51题(1.0分)题号:505设a、b、c为整型数,且a=3,b=5,c=2,则执行完以下语句:a*=16+(b++)-(++c);后,a的值是【1】.答案:=======(答案1)=======54第52题(1.0分)题号:495设x,y,z均为int 型变量,请写出描述"x,y和z中有两个为负数"的表达式【1】.答案:=======(答案1)=======((x<0)&&(y<0))||((x<0)&&(z<0))||((y<0)&&(z<0))第53题(1.0分)题号:503若有定义:int a=2,b=3; floatx=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为【1】. (float)(a+b)=5.0 (float)(a+b)/2=2.5 (int)x=3 (int)y=2 3%2=1 2.5+1=3.5 答案:=======(答案1)=======3.5第54题(1.0分)题号:521当a=1,b=1,c=1时,表达式a<b<c的值是【1】.答案:=======(答案1)=======1第55题(1.0分)题号:504若a=1,b=4,c=3,则表达式a&&b+c||b-c的值为【1】.答案:=======(答案1)=======1第56题(1.0分)题号:501执行语句"a=5+(c=6);"后,变量a、c的值依次为【1】、【2】。
C语言试题和答案大全
模块1 C语言基础知识1. 选择题(1)C语言中运算对象必须是整型的运算符是(B )。
A. %=B. /C. =D. <=(2)以下所列的C语言常数中,错误的是(B )。
A. 0xFFB. 1.2E0.5C. 2LD. -.67(3)以下选项中能作为用户标识符的是( C )。
A. voidB. 7_9C. _3_D. Dr.Tom(4)以下所列的C语言字符常量中,合法的是( B )。
A. ”B”B. ’\n’C. ’中国’D. d(5)以下选项中正确的定义语句是( D )。
A. int a:b;B. int ,a,b;C. int a+b=6;D. int a=6,b;(6)以下关于long、int、short型数据占用内存大小的叙述中正确的是( D )。
A. 均占4个字节B. 根据数据的大小来决定所占内存的字节数C. 由用户自己定义D. 由C语言编译系统决定(7)若有定义语句:int x=10;,则表达式x-=x+x的值为( B )。
A. -20B. -10C. 0D. 10(8)表达式((a=3*5,a+4),a+5)的值是( A )。
A. 20B. 29C. 60D. 90(9)若有定义语句:int a=3,b=4,c=5;,则以下表达式中值为0的是( D )。
A. a&&bB. a<=bC. a||b+c&&b-cD. !((a<b)&&c||1)(10)设有以下定义:int i;char c;float f;,以下结果为整型的表达式是( B )。
A. i+fB. i*cC. c+fD. i+c+f2. 填空题(1)设有int n=12;,则表达式(n++*1/3)的值是 4 。
(2)定义以下变量:char c;int x;float y;double z;,则表达式c*x+y-z,所求得的数据类型为double 。
(3)设变量a和b已正确赋初值,请写出a/=a+b等价的赋值表达式a=a/(a+b) 。
(完整版)C语言循环习题答案
循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i 的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10 个整数,则在下画线处填入正确的数是:(c)for(i=0;i<= ;)printf(“%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 556.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;elsek--;}k+=11;a+=k;}printf(“%d %d\n”,k,a);}则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while 语句构成的循环不能用其他语句构成的循环来代替。
B.do---while 语句构成的循环只能用break 语句退出。
C.用do---while 语句构成的循环,在while 后的表达式为非零时结束循环。
D.用do---while 语句构成的循环,在while 后的表达式为零时结束循环。
8.有如下程序:main(){ int x=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A 3 2 1B 2 1 0C 3D 29.若k 为整型变量,则下面while 循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10D 无限次10.下面有关for 循环的正确描述是(D)A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在for 循环中,不能用break 语句跳出循环体。
《C程序设计》期末复习练习题及参考答案(3)
《C程序设计》期末复习练习题及参考答案(3)《C程序设计》期末复习练习题及参考答案(3)一、单项选择题1.若有定义int (*p)[4],则标识符p是一个。
A)指向整型变量的指针变量B)指向函数的指针变量√C)指向有四个整型元素的一维数组的指针变量D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针2.下列对字符串的定义中,错误的是:。
√A) char str[7] = "FORTRAN";B) char str[] = "FORTRAN";C) char *str = "FORTRAN";D) char str[] = {'F','O','R','T','R','A','N',0};3.针对下面程序段,下面哪些说法是正确的?#include <stdio.h>void Swap(int *x, int *y);main()1{ int a, b;a = 5;b = 9;Swap(&a, &b);printf("a=%d,b=%d",a,b);}void Swap(int *x, int *y){ int *pTemp;*pTemp = *x;*x = *y;*y = *pTemp;}A) 程序运行结果为乱码;B) 程序运行后将导致程序崩溃;C) 程序编译时出错导致程序无法运行;√ D) 程序执行了危险的操作;4.已知学生记录描述为:struct student{ int no;char name[20];char sex;struct{ int year;char month[15];2int day;}birth;};struct student s;设变量s中的生日是1984年11月11日,下列对生日的正确赋值方式是_____A) s.birth.year = 1984; s.birth.month = "11"; s.birth.day = 11;B) s.birth.year = 1984; s.birth.month = 11; s.birth.day = 11;√ C) s.birth.year = 1984; strcpy(s.birth.month, "11"); s.birth.day = 11;D) s.birth.year = 1984; strcpy(s.birth.month, 11); s.birth.day = 11;5. 要使下面程序的输出1, 2, 34,则从键盘输入的数据格式应为。
数据结构(C语言版)选择`填空题
数据结构(C语言版)选择、填空题一概论选择1、( )是数据的基本单位。
?A、数据结构?B、数据元素?C、数据项?D、数据类型2、以下说法不正确的是( )。
?A、数据结构就是数据之间的逻辑结构。
?B、数据类型可看成是程序设计语言中已实现的数据结构。
?C、数据项是组成数据元素的最小标识单位。
?D、数据的抽象运算不依赖具体的存储结构。
3、学习数据结构主要目的是( )。
?A、处理数值计算问题?B、研究程序设计技巧?C、选取合适数据结构,写出更有效的算法。
?D、是计算机硬件课程的基础。
4、一般而言,最适合描述算法的语言是( )。
?A、自然语言?B、计算机程序语言?C、介于自然语言和程序设计语言之间的伪语言?D、数学公式5、通常所说的时间复杂度指( )。
?A、语句的频度和?B、算法的时间消耗?C、渐近时间复杂度?D、最坏时间复杂度6、A算法的时间复杂度为O(n^3),B算法的时间复杂度为O(2^n),则说明( )。
?A、对于任何数据量,A算法的时间开销都比B算法小?B、随着问题规模n的增大,A算法比B算法有效?C、随着问题规模n的增大,B算法比A算法有效?D、对于任何数据量,B算法的时间开销都比A算法小填空1、数据的( )结构依赖于计算机语言.2、数据的逻辑结构可分为线性结构和( )结构。
3、算法的时间复杂度与问题的规模有关外,还与输入实例的( )有关。
4、常用的四种存储方法是什么?5、常见的数据的逻辑结构有哪两种?6、一般,将算法求解问题的输入量称为( )。
二线性表选择题1、以下关于线性表的说法不正确的是( )。
?A、线性表中的数据元素可以是数字、字符、记录等不同类型。
?B、线性表中包含的数据元素个数不是任意的。
?C、线性表中的每个结点都有且只有一个直接前趋和直接后继。
?D、存在这样的线性表:表中各结点都没有直接前趋和直接后继。
2、线性表的顺序存储结构是一种( )的存储结构。
?A、随机存取?B、顺序存取?C、索引存取?D、散列存取3、在顺序表中,只要知道( ),就可在相同时间内求出任一结点的存储地址。
c语言选择题
1、1.关于C程序的构成描述,_________是不正确的。
????A、一个源程序至少且仅包含一个main函数,也可包含一个main函数和若干个其他函数。
????B、函数由函数首部和函数体两部分组成,二者缺一不可。
????C、函数首部通常是函数的第1行,包括:函数属性、函数类型、函数名、函数参数等,不管有无函数参数,都必须用一对圆括号括起来。
????D、函数体通常在函数首部下面,用一对花括号将声明部分和执行部分括起来,但不能为空。
?2、2.C程序中,不管是数据声明还是语句,都必须有一个结束符,它是C语句的必要组成部分,该符号是_________。
????A、逗号“,”????B、句号“。
”????C、分号“;”????D、单撇号“’”?3、3.下列关于C程序的运行流程描述,______是正确的。
????A、编辑目标程序、编译目标程序、连接源程序、运行可执行程序。
????B、编译源程序、编辑源程序、连接目标程序、运行可执行程序。
????C、编辑源程序、编译源程序、连接目标程序、运行可执行程序。
????D、编辑目标程序、编译源程序、连接目标程序、运行可执行程序。
?4、5.描述或表示算法有多种方法,______不是常用的表示方法。
????A、自然语句????B、流程图或N-S图????C、伪代码????D、效果图?5、6.下面四个哪一个是C语言正确的标识符。
?????A、2xy????B、data_file????C、break????6、7.C语言是一种结构化的程序设计语言,任何程序都可以将模块通过3种基本的控制结构进行组合来实现,这三种基本的控制结构是指______。
????A、分支结构、循环结构、函数结构????B、顺序结构、选择结构、函数结构????C、顺序结构、分支结构、循环结构????D、以上描述都不正确?7、下列关于算法特性的描述,______是不正确的。
????A、有穷性:指一个算法应该包含有限的操作步骤,而不能是无限的。
C语言模拟题
C语言模拟题(一)一、选择题1、以下字符中不是转义字符的是( A)。
A '\c'B、'\b'C '\\'D '\a'2、设a=12,且a定义为整型变量。
执行语句a+=a-=a*=a;后a的值为(A)A 0B、144C 132D 123、已定义floatx=1.25,y=3.37;根据下面的输出结果,正确的输出语句是(C).y+x=4.62,y-x=2.12A printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);B、printf("y+x=%f,y-x=%f\n",y+x,y-x);,lC printf("y+x=%.2f,y-x=%.2f\n",y+x,y-x);D printf("y+x=%5.2f,y=%5.2f\n",y+x,y-x);4、执行下面程序段后,b的值为(A).ints=35;chart='A';intb;b=((s&&4)&&(tv'a'));B、3C 2D 05k是整型,则以下程序段的执行结果是:(B)k=-3;if(kv=O)printf("####") elseprintf("&&&&");A ####B、有语法错误,无结果C &&&&D ####&&&& 6设j和k都是int类型,则下面的for循环语句(D) for(j=0,k=0;jv=9&&k!=876;j++)scanf("%d",&k);A最多执行9次B、是无限循环C循环体一次也不执行D最多执行10次7以下正确的描述是(A).A、只能在循环体内和switch语句内使用break语句B、continue语句的作用是终止整个循环的执行C从多层嵌套的外层循环中退出时,只能使用goto语句D在循环体内使用break和continue语句的作用相同8以下能对一维数组a进行正确初始化的语句是(B)。
C语言程序设计试题及答案
C语言程序设计一、选择题(共40分,每小题2分)1、以下叙述不正确的是(D )A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面2、下列四个选项中,是不合法的用户标识符的选项是(B )A、abcB、12ACC、sunD、 A3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是(A )A、—24B、0C、4D、164、下列运算符中优先级最高的是(B )A、〈B、+C、&&D、==5、在C语言中,运算对象必须是整型数的运算符是(A )A、%B、/C、%和/D、+6、以下关于运算符的优先顺序的描述正确的是(C )A、关系运算符〈算术运算符〈赋值运算符<逻辑与运算符B、逻辑与运算符〈关系运算符<算术运算符〈赋值运算符C、赋值运算符<逻辑与运算符〈关系运算符<算术运算符D、算术运算符〈关系运算符<赋值运算符〈逻辑与运算符7、在C语言中,如果下面的变量都是int类型,则输出的结果是( C )sum=pad=5;pAd=sum++,pAd++,++pAd;printf(“%d\n”,pad);A、7B、6C、5D、48、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B )A、 INPUT x、y、z;B、scanf(“%d%d%d”,&x,&y,&z);C、scanf(“%d%d%d",x,y,z);D、read(“%d%d%d”,&x,&y,&z);9、假定从键盘输入23456〈回车〉,下面程序的输出结果是:( C )void main ( ){ int m,n;scanf(“%2d%3d”,&m,&n);printf(“m=%d n=%d\n”,m,n);}A、m=23 n=45B、m=234 n=56C、m=23 n=456D、语句有错误10、若运行时,给变量x输入12,则以下程序的运行结果是(A )main(){ int x,y;scanf(“%d”,&x);y=x>12?x+10:x—12;printf(“%d\n”,y);}A、0B、22C、12D、1011、C语言中while和do-while循环的主要区别(A )A、do—while的循环体至少执行一次B、while 的循环控制条件比do—while的循环控制条件严格C、do—while允许从外部转到循环体内D、do-while的循环体不能是复合语句12、以下对二维数组的正确说明的语句是( C )A、int a[3][]B、float a(3,4)C、double a[3][4]D、float a(3)(4)13、以下程序的输出结果是(C)main(){ int i,x[3][3]={1,2,3,4,5,6,7,8,9};for (i=0;i<3;i++)printf(“%d”,x[i][2—i]);}A、1,5,9B、1,4,7C、3,5,7D、3,6,914、以下能对一维数组a进行正确初始化的语句是(C )A、int a[10]=(0,0,0,0,0);B、int a[10]={ };C、int a[10]={0};D、int a[10]={10 *1};15、以下程序执行后的输出结果是:(A )int fun(int a,int b,int c){ a=456;b=567;c=678;}void main(){int x=10,y=20,z=30;z=fun(x,y,z);printf(“%d,%d,%d\n",z,y,x);}A、30,20,10B、10,20,30C、10,30,50D、10,30,4016、以下说法正确的是(A)如果在一个函数中的复合语句中定义了一个变量,则该变量A、只在该复合语句中有效B、在该函数中有效C、在本程序范围内有效D、为非法变量17、以下函数调用语句中含有的实参个数为(B )func((exp1,exp2,exp3),(exp4,exp5));A、1B、2C、4D、518、在C语言程序中,以下说法正确的是( B )。
无机化学(天大四版)C1-4选择填空题201110
第一章化学反应中的质量关系和能量关系(要点:几个术语、焓变计算)一、是非题(对的在题后打“√”,错的打“×”)1.物体的温度越高,则所含的热量越多。
“×” 2.热是一种传递中的能量。
“√”3.同一状态可能有多个热力学能值。
“×”4.热力学定律是概括物质宏观变化规律,而不是通过对物质微观粒子性质及其变化规律的了解推导出来的。
“√” 5.体系对环境做功数值上必须不大于体系热力学能的减少。
“√”6.体系状态不变,其状态函数也不变;但体系的状态函数不变,其状态不一定不变。
“√”7.任何情况下,化学反应的热效应只与化学反应的始态和终态有关,而与反应的途径无关。
“×”8.已知下列反应:H2(g)+1/2O2(g) === H2O(l) Δr H mӨ=–285.8 (kJ·mol–1)当温度升高100K时,此反应的Δr H mӨ(T)远大于Δr H mӨ。
“×”9.金刚石和石墨燃烧时各放出热量为395.39和393.3kJ·mol–1,则由石墨变为金刚石时体系必吸热。
“√”10.恒压下ΔH=q P及ΔH=H2–H1,因为H2与H1均为状态函数,故q P也是状态函数。
“×”11.反应放出的热量不一定是该反应的焓变。
“√”12.体系的焓变等于恒压反应热。
“×”13.反应H2(g)+S(g)→H2S(g)的Δr H mӨ就是H2S(g)的标准摩尔生成焓。
“×”14.由于CaCO3分解是吸热的,所以它的摩尔生成焓为负值。
“×”二、选择题1.根据热力学中的规定,下列物质中标准摩尔生成焓为零的有A\C 。
A.C(石墨) B.Br2(g) C.N2(g) D.P(红磷)2.已知A+B→M+N(Δr H mӨ)1=35 kJ·mol–12M+2N→2D(Δr H mӨ)2=–80 kJ·mol–1则A+B→D的(Δr H mӨ)3为 C (kJ·mol–1)。
C语言习题
第一章选择题1.一个C程序的执行是从。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。
A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句D) C程序的每行中只能写一条语句4.一个C语言程序是由。
A)一个主程序和若干个子程序组成B) 函数组成C) 若干过程组成D) 若干子程序组成第三章选择题1.若x、i、j、k都是int型变量,则计算下面表达式后,x 的值为。
x=(i=4,j=16,k=32)A) 4 B) 16 C) 32 D) 522.下列四组选项中,均不是C语言关键字的选项是。
A) define IF typeB) getc char p rintfC) include case scanfD) while go pow3.下列四组选项中,均是不合法的用户标识符的选项是。
A) W P_0 doB) b-a goto intC) float la0 _AD) -123 abc TEMP4.下列四组选项中,均是合法转义字符的选项是。
A) ‘\”’‘\\’‘\n’B) ‘\’‘\017’‘\”’C) ‘\018’‘\f’‘xab’D) ‘\\0’‘\101’‘xlf’5.下面正确的字符常量是。
A) “c”B) ‘\\’’C) ‘’D) ‘K’6.以下叙述不正确的是。
A) 在C程序中,逗号运算符的优先级最低B) 在C程序中,MAX和max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,二b中的值不变D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值7.以下叙述正确的是。
上机考试题库c语言
上机考试题库c语言一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. floatC. voidD. function2. 若有定义int a=5;,则以下哪个表达式的值不为5?A. a++B. a--C. ++aD. --a3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$24. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. &5. 以下哪个选项是C语言中的整型数据类型?A. intB. floatC. doubleD. char6. 在C语言中,以下哪个选项用于声明一个指针?A. *B. &C. %D. #7. 若有定义int a[5]={1,2,3,4,5};,则以下哪个表达式的值不为3?A. a[2]B. *(a+2)C. a+2D. *a8. 在C语言中,以下哪个选项表示逻辑“或”操作?A. &&B. ||C. !D. |9. 在C语言中,以下哪个选项用于声明一个字符数组?A. char a[5]B. int a[5]C. float a[5]D. double a[5]10. 若有定义char str[10]="Hello";,则以下哪个表达式的值不为'o'?A. str[4]B. *(str+4)C. str+4D. *(str+5)二、填空题(每题2分,共20分)1. 在C语言中,用于声明一个整型变量的关键字是______。
2. 若有定义int a=10;,则表达式a++的值是______。
3. C语言中,用于声明一个浮点型变量的关键字是______。
4. 在C语言中,用于声明一个字符型变量的关键字是______。
5. 若有定义int a[5]={1,2,3,4,5};,则表达式*(a+2)的值是______。
c试题5
else printf(“%d\n’’,m--);}
A)4 B)5 C) 6 D)7
19、若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是_______。
A)(exp= =0)B)(exp!=0)
C)(exp==1)D)(exp!=1)
a=d/100%9;
b=(-1)&& (-1);
printf(“%d,%d”,a,b); }
A) 6,1 B) 2,1 C) 6,0 D) 2,0
15、请阅读以下程序:
main( )
{int a=5,b=0,c=0;
if (a=b+c) printf(“* * *\n”);
else printf(“$ $ $\n”); }
…
}
A) void fun(int m, int x[ ]) B) void fun(int s, int h[41])
C) void fun(int p, int *s) D) void fun(int n, int a)
35、下列程序执行后的输出结果是
main()
{ int a[3][3], *p,i;
A) char<int<long int<=float<double
B) char=int<long int<=float<double
C) char<int<long int=float=double
D) char=int=long int<=float<double
6、若有代数式 ,则不正确的C语言表达式是__。
scanf(“%c%c”,&c1,&c2)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++程序设计模拟试卷(一)一、单项选择题1. 编写C++程序一般需经过的几个步骤依次是()A. 编辑、调试、编译、连接B. 编辑、编译、连接、运行C. 编译、调试、编辑、连接D. 编译、编辑、连接、运行答案:B解析:(P21)经过编辑、编译、连接和运行四个步骤。
编辑是将C++源程序输入计算机的过程,保存文件名为cpp。
编译是使用系统提供的编译器将源程序cpp生成机器语言的过程,目标文件为obj,由于没有得到系统分配的绝对地址,还不能直接运行。
连接是将目标文件obj转换为可执行程序的过程,结果为exe。
运行是执行exe,在屏幕上显示结果的过程。
2. 决定C++语言中函数的返回值类型的是()A. return语句中的表达式类型B. 调用该函数时系统随机产生的类型C. 调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型答案:D解析:(P51)函数的返回值类型由定义函数时的指定的数据类型决定的。
A项的表达式的值要转换成函数的定义时的返回类型。
3. 下面叙述不正确的是()A. 派生类一般都用公有派生B. 对基类成员的访问必须是无二义性的C. 赋值兼容规则也适用于多重继承的组合D. 基类的公有成员在派生类中仍然是公有的答案:D解析:(P136)继承方式有三种:公有、私有和保护。
多继承中,多个基类具有同名成员,在它们的子类中访问这些成员,就产生了二义性,但进行访问时,不能存在二义性。
赋值兼容规则是指派生类对象可以当作基类对象使用,只要存在继承关系,所以单继承或多继承都适用。
基类中的公有成员采用私有继承时,在派生类中变成了私有成员,所以D项错误。
4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()A. 类B. 对象C. 函数体D. 数据块答案:A解析:(P39)类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作。
5. 在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()A. 私有成员B. 公有成员C. 保护成员D. 保护成员或私有成员答案:A解析:(P133)在派生类中基类的保护或者基类公有都可以直接访问,基类的私有成员只能是基类的成员函数来访问。
所以选择A项。
6. 对基类和派生类的关系描述中,错误的是()A. 派生类是基类的具体化B. 基类继承了派生类的属性C. 派生类是基类定义的延续D. 派生类是基类的特殊化答案:B解析:(P129)派生类的成员一个是来自基类,一个来自本身,所以派生类是基类的扩展,也是基类的具体化和特殊化,派生类是对基类扩展。
B项基类不能继承派生类成员,所以错误。
7. 关于this指针使用说法正确的是()A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B. 保证基类私有成员在子类中可以被访问。
C. 保证基类保护成员在子类中可以被访问。
D. 保证基类公有成员在子类中可以被访问。
答案:A解析:(P86)this指针是隐藏的,可以使用该指针来访问调用对象中的数据。
基类的成员在派生类中能否访问,与继承方式有关,与this没有关系。
所以选择A 项。
8. 所谓多态性是指()A. 不同的对象调用不同名称的函数B. 不同的对象调用相同名称的函数C. 一个对象调用不同名称的函数D. 一个对象调用不同名称的对象答案:B解析:(P167)多态性有两种静态多态性和动态多态性,静态多态性是指调用同名函数,由于参数的不同调用不同的同名函数;动态多态性是指不同对象调用同名函数时,由于对象不同调用不同的同名函数。
多态性肯定具有相同的函数名,所以选择B项。
9. 一个函数功能不太复杂,但要求被频繁调用,则应把它定义为()A. 内联函数B. 重载函数C. 递归函数D. 嵌套函数答案:A解析:(P59)内联函数特征代码少,频繁调用,执行效率高。
重载函数解决统一接口的问题;递归是子程序调用,程序调用要耗费很多空间和时间,循环/迭代都比递归有效率得多,递归只是从形式上,逻辑比较简洁。
嵌套函数即反复调用,速度较慢。
所以选择A项。
10. 下面函数模板定义中不正确的是()A. AB. BC. CD. D答案:A解析:(P147)A项中F是一个返回Q类型的值,而return中用返回类型作为返回值错误。
所以选择A项。
11. 假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为()A. X,Y;Y,XB. X,Y;X,YC. Y,X;X,YD. Y,X;Y,X答案:A解析:(P130)派生类构造函数必须对这三类成员进行初始化,其执行顺序:调用基类构造函数;调用子对象的构造函数;派生类的构造函数体。
析构函数在执行过程中也要对基类和成员对象进行操作,但它的执行过程与构造函数正好相反,即对派生类新增普通成员进行清理;调用成员对象析构函数,对派生类新增的成员对象进行清理;调用基类析构函数,对基类进行清理,所以选择A项。
12. 适宜采用inline定义函数情况是()A. 函数体含有循环语句B. 函数体含有递归语句C. 函数代码少、频繁调用D. 函数代码多、不常调用答案:C解析:(P59)内联函数具有程序代码少、频繁调用和执行效率高的特征,所以选择C项。
13. 假定一个类的构造函数为A(int aa,int bb) {a=aa--;b=a*bb;},则执行Ax(4,5);语句后,x.a和x.b的值分别为()A. 3和15B. 5和4C. 4和20D. 20和5答案:C解析:(P75)a=4,因为后减,b的值与a、bb相关,b=4*5=20,而与aa没有任何关系。
14. 在类中说明的成员可以使用关键字的是()A. publicB. externC. cpuD. register答案:A解析:extern用于声明外部变量的。
register声明寄存器类型变量。
无cpu类型。
它们都不能声明类成员。
public声明为公有访问权限,所以选择A项。
15. 下列不能作为类的成员的是()A. 自身类对象的指针B. 自身类对象C. 自身类对象的引用D. 另一个类的对象答案:B解析:类的定义,如果有自身类对象,使得循环定义,B项错误。
在类中具有自身类的指针,可以实现链表的操作,当然也可以使用对象的引用。
类中可以有另一个类的对象,即成员对象。
所以选择B选项。
16. 使用地址作为实参传给形参,下列说法正确的是()A. 实参是形参的备份B. 实参与形参无联系C. 形参是实参的备份D. 实参与形参是同一对象答案:D解析:(P51)地址作为实参,表示实参与形参代表同一个对象。
如果实参是数值,形参也是普通变量,此时形参是实参的备份。
所以选择D项。
17. 下列程序的输出结果是()#include <iostream.h>void main(){int n[][3]={10,20,30,40,50,60};int (*p)[3];p=n;cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl;}A. 10,30,50B. 10,20,30C. 20,40,60D. 10,30,60答案:B解析:如果数组元素都是相同类型的指针,则称这个数组为指针数组。
指针数组一般用于处理二维数组。
声明的格式为:<数据类型><(*变量名)><[元素个数]>。
p表示指向数组n的行指针。
如果将指针的初始化(*p)[3]=b;地址的等价形式:p+i p[i]*(p+i)都表示b数组第i+1行的第1个元素的首地址。
*(p+i)+jp[i]+j &p[i][j]都表示b数组第i+1行、第j+1列元素的地址。
值的等价形式:*(*(p+i)+j) *(p[i]+j) p[i][j]都表示b数组第i+1、第j+1列元素的值。
所以题目分别访问p[0][0],p[0][1],p[0][2]。
18. 在C++中,使用流进行输入输出,其中用于屏幕输入()A. cinB. cerrC. coutD. clog答案:A解析:(P193)(1)标准输入流cin:istream类的对象。
(2)标准输出流cout:ostream 类的对象。
(3)非缓冲型标准出错流cerr:ostream类的对象。
(4)缓冲型标准出错流clog:ostream类的对象19. 假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()A. x.aB. x.a()C. x->aD. (*x).a()答案:B解析:(P41)对象访问成员的方式为:对象名.成员。
指针可以有两种:(*对象指针).成员或者对象指针->成员。
A选项是访问数据成员,B项是访问成员函数。
20. 关于对象概念的描述中,说法错误的是()A. 对象就是C语言中的结构变量B. 对象代表着正在创建的系统中的一个实体C. 对象是类的一个变量D. 对象之间的信息传递是通过消息进行的答案:A解析:(P37)A对象在C++中才有,包括数据和操作两项,而C中的变量只有数据,没有操作。
所以A项错误。
二、填空题1. C++的流库预定义了4个流,它们是cin、cout、clog和___。
答案:(P193)cerr[解析]cin、cout、clog和cerr分别用于标准输入、输出、标准错误流(缓冲)和标准错误流(非缓冲)。
2. 每个对象都是所属类的一个___。
答案:(P69)实例[解析]类是对象的抽象,对象是类的一个实例。
3. 在已经定义了整型指针ip后,为了得到一个包括10个整数的数组并由ip所指向,应使用语句___。
答案:(P78)int *ip=new int[10];[解析]new用来动态开辟空间。
常用来产生动态数组及对象构造函数。
4. 函数模板中紧随template之后尖括号内的类型参数都要冠以保留字___。
答案:(P145)class[解析]类模板的使用。
template <class T>,也可以引入多参数的如:template <classT1,class T2,...,class Tn>5. 定义类的动态对象数组时,系统只能够自动调用该类的___构造函数对其进行初始化。
答案:(P80)无参[解析]使用new创建对象数组,调用无参构造函数。
6. 表达式cout<<end1 还可表示为___。
答案:‘\n’[解析]endl与字符常量‘\n’等价。
7. 在C++中,访问一个指针所指向的对象的成员所用的指向运算符是___。