C--程序设计模拟试卷
- 格式:doc
- 大小:62.00 KB
- 文档页数:5
《C程序设计》模拟试卷一、单项选择题(每题2分,共40分):1.以下叙述中正确的是________。
A)用C程序实现的算法可以既没有输入也没有输出。
B)用C程序实现的算法可以没有输入但必须有输出。
C)用C程序实现的算法可以没有输出但必须有输入。
D)用C程序实现的算法必须要有输入和输出操作。
2.以下4组用户定义的标识符中,全部合法的一组是________。
A)_main B)If C)txt D)inteneclude -main REAL k_2sin turbo 3COM _0013.有以下程序:#include <stdio.h>void main(){ int m,n,p;scanf(“m=%dn=%dp=%d”,&m,&n,&p);printf(“%d%d%d\n”,m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值是456,p中的值是789,则正确的输入是________。
A)m=123n=456p=789 B)m=123 n=456 p=789C)m=123,n=456,p=789 D)123 456 7894.有以下程序:#include <stdio.h>void main(){ int x=102,y=012;printf(“%2d,%2d\n”,x,y);}执行后输出的结果是________。
A)10,01 B)02,12 C)102,10 D)02,105.有以下程序:#include <stdio.h>void main(){ int a=3,b=4,c=5,d=2;if(a>b)if(b>c)printf(“%d”,d++ +1);elseprintf(“%d”,++d +1);printf(“%d\n”,d);}程序运行后的输出结果是_____。
A)44 B)43 C)3 D)26.有以下程序:#include <stdio.h>void main(){ int i;for(i=0;i<3;i++)switch(i){ case 0: printf(“%d”,i);case 2: printf(“%d”,i);default: printf(“%d”,i);}}程序运行后输出的结果是________。
c语言程序设计模拟试题C语言程序设计模拟试题一、选择题(每题2分,共20分)1. C语言中,以下哪个不是合法的变量名?- A. 2variable- B. Variable2- C. variable_2- D. Variable2. 在C语言中,以下哪个选项是正确的字符串字面量? - A. "Hello, World"- B. 'Hello, World'- C. "Hello World"- D. {"Hello", "World"}3. 以下哪个不是C语言中的基本数据类型?- A. int- B. char- C. float- D. string4. 在C语言中,以下哪个不是运算符?- A. +- B. -- C. *- D. to5. 以下哪个语句是正确的C语言循环语句?- A. do { ... } while;- B. while { ... }- C. for { ... }- D. switch { ... }6. 以下哪个函数是C语言标准库中用于字符到整数的转换? - A. atoi()- B. itoa()- C. atof()- D. strtol()7. 在C语言中,以下哪个不是控制语句?- A. if- B. switch- C. continue- D. return8. 在C语言中,以下哪个是正确的函数声明?- A. int function_name();- B. function_name int;- C. int function_name = 0;- D. int function_name = function();9. 在C语言中,以下哪个是正确的数组声明?- A. int array[10];- B. int [10] array;- C. int array = 10;- D. int array[10] = {0};10. 在C语言中,以下哪个是正确的结构体声明?- A. struct Student { int age; char name[50]; };- B. struct { int age; char name[50]; } Student;- C. Student struct { int age; char name[50]; };- D. struct Student int age; char name[50];二、填空题(每空2分,共20分)1. 在C语言中,一个变量的声明必须在______。
C语言程序设计模拟题一、选择题1.设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是()A、把x和y按从大到小排列B、把x和y按从小到大排列C、无确定结果D、交换x和y中的值2.若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是()A、0 B、0.5 C、1 D、23.有以下程序#include<stdio.h>main(){char *s="ABC";do{printf("%d",*s%10);s++;}while(*s);}注意,字母A的ASCII码值为65。
程序运行后的输出结果是()A.5670 B.656667 C.567 D.ABC 4.有以下程序#include <stdio.h>main(){int i=5;do{if(i%3==1)if(i%5==2){printf("*%d",i);break;}i++;} while(i!=0);printf("\n");}程序的运行结果是()A.*7 B.*3*5 C.*5 D.*2*65.设i和x都是int类型,则for循环语句()。
for(i=0,x=0;i<=9&&x!=876;i++) scanf("%d",&x);A. 最多执行10次B. 最多执行9次C. 是无限循环D. 循环体一次也不执行6.下述for循环语句()。
int i,k;for(i=0,k=-1;k=1;i++,k++) printf("* * * *");A. 判断循环结束的条件非法B. 是无限循环C. 只循环一次D. 一次也不循环7. 引用共用体变量中的字符型变量,以下正确的是()A. a.chB. a.f C b.ch.8.以下共用体定义错误的是()A. B Cunion union data union data{ int i; {int i; {int i;char ch; char ch; char ch;float f; float f; float f;}a,b,c; } }union data a,b,c9.若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是()。
C语⾔程序设计模拟试卷(2)模拟试卷⼀⼀、选择题(每题1分,共15分) 在每⼩题列出的四个选项中只有⼀个是符合题⽬要求的,请在正确答案前点选,错选或未选均不得分。
1. 以下选项中不合法的⽤户标识是:正确答案A. _123B. printfC. A$D. Dim2. 在C 语⾔中,char 型数据在内存中的存储形式是:正确答案A. 补码B. 反码C. 原码D. ASCII 码正确答案:D3. 设x,y,z 为int 型变量,且x=3,y=4,z=5 ,则下⾯表达式中值为0 的是:正确答案A. 'x'&&'y'B. !((xC. x||y+z&&y-zD. x<=y正确答案:B4. 若有定义:int a=2,b=4,c; 执⾏语句c=a/b+2.6 ;后,c 的值为:正确答案A. 2.6D. 2正确答案:D5. 设a 为整型变量,不能确定表达数学关系10正确答案A. 10B. a==11|| a==12|| a==13|| a==14C. a>10&&a<15D. !(a<=10)&&!(a>=15)正确答案:C6. 若i 、j 已定义为int 型,则以下程序段中语句printf( “ %d ” ,i*j); 的执⾏次数是:for (i=3;i>0;i-- )for (j=0;j<4;j++ )printf( “ %d ” ,i*j);正确答案A. 12B. 15C. 16D. 20正确答案:A7. 若有输⼊语句“ scanf( "%d%d%d",&x,&y,&z); ”,则不能使x值为5,y 值为6,z值为7的输⼊是:正确答案A. 5 ,6 ,7< 回车>B. 5 6 7< 回车>C. 5 6 < 回车> 7< 回车>D. 5< 回车> ,6< 回车> ,7< 回车>正确答案:A8.执⾏以下程序段后,x ,y 和z 的值分别是:int x=10,y=20,z=30;if(x>y) z=x; x=y; y=z;正确答案:B9. 以下程序段x = -1;do{ x=x*x;} while(!x); 正确的说法是:正确答案A. 死循环B. 循环⼀次C. 循环两次D. 有语法错正确答案:B10. 以下正确的函数声明形式是:正确答案A. double fun(int x ,int y)B. double fun(int x ;int y)C. double fun(int x ,int y) ;D. double fun(int x ,y) ;正确答案:C11.若有定义char ch[8] ,则以下表达式中不能代表数组元素ch[1] 的地址是:正确答案A. &ch[0]+1B. &ch[1]C. &ch[0]++D. ch+1正确答案:C12. 若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为4 的表达式是:正确答案:C13. 若已有以下函数定义:float fun(float a, int b){int c;c=(int)a%b;return c;}则主调函数中语句“ printf("%f",fun(fun(fun(34,7),4),3)); ”的输出结果是:正确答案A. 2.000000B. 因参数类型与形参类型不⼀致,函数调⽤产⽣错误C. 2D. 因变量c 的类型与fun 函数的返回值类型不符,故输出值为随机值正确答案:A14. 已知:int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+2 ;则值为3 的表达式是:正确答案A. (*p)++B. *p++C. *++pD. ++*p正确答案:B15. 以下可作为函数fopen 中第⼀个参数的正确格式是:正确答案A. c:\user\file.txtB. "c:\user\file.txt"C. "c:\\user\\file.txt"⼆、填空题(共10题)1. 字符串存储时,末尾被系统⾃动加上字符。
C语言程序设计模拟题1.由C语言编写的代码程序()。
A.可直接执行B.是一个源程序C.经过编译即可执行D.经过编译解释才能执行【答案】B。
解析:C语言编写的代码程序是一个源程序,C语言编写的代码程序需要经过编译、连接、解释才能执行。
2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。
A.大写字母B.中划线C.数字字符D.下划线【答案】B。
解析:C语言的自定义标识符只能有字母、数字、下划线。
3.下列选项中,不能用作标识符的是()。
A._1234_B._1_2C.int_2_D.2_int_【答案】D。
解析:标识符只能以字母或下划线开头。
4.以下选项中合法的用户标识符是()。
A.longB._2TestC.3DmaxD.A.dat【答案】B。
解析:A为关键字,C开头只能是字母或下划线,D标识符中只能有字母、数字、下划线。
5.以下不能定义为用户标识符的是()。
A.MainB._0C._intD.sizeof【答案】D。
解析:sizeof为关键字,不能用作用户标识符。
6.下列定义变量的语句错误的是()。
A.int _int;B.double int_;C.char For;D.float US$;【答案】D。
解析:标识符只能有字母、数字、下划线。
7.在C语言中,合法的实型常数是()。
A.5E2.0B.E-3C.2E0D.1.3E【答案】C。
解析:实型常量e的前面要有数,e的后面为整数。
8.在C语言中,合法的实型常数是()。
A.1.2E0.5B.3.14159EC.5E-3D.E15【答案】C。
解析:实型常量e的前面要有数,e的后面为整数。
9.以下选项中,不能作为合法常量的是()。
A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0【答案】B。
解析:实型常量e的前面要有数,e的后面为整数。
10.以下不合法的数值常量是()。
A.011B.1e1C.8.0E0.5D.0xab【答案】C。
C语言程序设计模拟考试试卷及答案(一)一、单项选择题1.一个C程序的执行是从( )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( )。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_3.以下定义语句中正确的是( )。
A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;4.设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是( )。
A) a++; B) b++ C) c++; D) d++;5.以下4个选项中,不能作为一条C语句的是( )。
A) {;} B) a=0,b=0,c=0;C) if(a>0); D) if(b==0) m=1;n=2;6.有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。
A) a=a+b=b++ B) w%(int)a+b)C) (c+w)%(int)a D) w=a==b;7.设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。
A) p=1; B) *q=2; C) q=p; D) *p=5;8.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( )。
A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ;C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa);9.若有说明:char*language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C ”};则表达式*language[1]>*language[2]比较的是()。
《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(D)。
A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。
A) MAIN B) _HJ C)2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是(B)。
A) \r B) \n C)\b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。
A) 1, 1 B) 1, 2 C) 2, 2 D)2, 15、已知ch为字符型变量,下面表达式中正确的是(A)。
A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是(C)。
A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是(A)。
A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为(D)。
main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是(C)。
x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是(A)A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A ) A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是(A)A) char s[5]={"ABCD"};B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是(B )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是(B)int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。
c语言程序设计模拟题c语言程序设计模拟题一、选择题(1)能够将高级语言程序转换成目标语言程序的就是__c____。
a)调试程序b)解释程序c)编译程序d)编辑程序(2)__a____是构成c语言程序的基本单位。
a)函数b)过程c)子程序d)子例程(3)可以在c语言中用作用户标识符的就是__b___。
a)voidb)as_b3c)ford)2cdefine_123-abcdowordifcassig(4)若有以下类型说明语句:charw;intx;floaty,z;则表达式w*x+z-y的结果为__d___类型。
a)floatb)charc)intd)double(5)main(){floatx=123.456;printf(\}以上程序输出的结果是___d___。
a)123.4b)123.5c)123.45d)123.46(6)下面语句的输入结果就是___c___。
printf(\a)14b)8c)5d)输入项不合法,并无正常输入(7)以下程序的输入结果就是__b____。
main(){inta=0,b=0,c=0;if(++a>0|++b>0)++c;printf(\}a)a=0,b=0,c=0b)a=1,b=1,c=1c)a=1,b=0,c=1d)a=0,b=1,c=1(8)以下程序的输入结果就是__b____。
main(){inti;for(i=1;i+1;i++){if(i>4){printf(\}printf(\}a)55b)56c)程序错误,没有输出d)循环条件永远为真,死循环(9)下列程序的输出结果是___a___。
#definea100main(){inti=0,sum=0;do{if(i==(i/2)*2)continue;sum+=i;}while(++iprintf(\}a)2500b)2050c)4d)0(10)下列程序的输出结果是__d____。
main(){inti=3;switch(i){case1:case2:printf(\case3:case4:break;default:printf(\}}a)0b)3c)okd)没任何输入(11)以下程序执行后的输入结果就是__c____。
C语言程序设计模拟试题一(含答案)1、下列述叙中正确的是A) 显示器和打印机都是输出设备B) 显示器只能显示字符C) 通常的彩色显示器都有7种颜色D) 打印机只能打印字符和表格2、微型计算机中运算器的主要功能是进行A) 算术运算B) 逻辑运算C) 算术和逻辑运算D) 初等函数运算3、是DOS系统的最外层模块,通常称之为A) 引导程序B) 输入输出系统C) 命令处理系统D) 文件管理系统4、电子邮件是A) 网络信息检索服务B) 通过Web网页发布的公告信息C) 通过网络实时交互的信息传递方式D) 一种利用网络交换信息的非交互式服务5、和十进制数225相等的二进制数是A) 11101110 B) 11111110C) 10000000 D) 111111116、下列叙述中正确的是A) 指令由操作数和操作码两部分组成\B) 常用参数xxMB表示计算机的速度C) 计算机的一个字长总是等于两个字节D) 计算机语言是完成某一任务的指令集7、计算机的内存储器比外存储器A) 价格便宜B) 存储容量大C) 读写速度快D) 读写速度慢8、设当前盘为C盘,执行DOS命令"COPY B:\A.TXT PRN"之后,结果是A) B盘上的A.TXT文件被复制到C盘的PRN文件B) 屏幕上显示B盘上的A.TXT文件内容C) B盘上的A.TXT文件内容在打印机上输出D) B盘上的A.TXT文件被复制到B盘上的PRN文件9、要将当前盘当前目录下的两个文件X1.TXT和B1.TXT连接起来之后存入B盘当前目录下并且命名为Z.TXT,无论B 盘当前目录是什么,完成这件任务可以使用的命令是A) COPY A:X1.TXT+C:B1.TXT Z.TXTB) COPY X1.TXT+C:\\WS\\B1.TXT B:\\Z.TXTC) COPY A:X1.TXT+C:\\WS\\B1.TXTD) COPY X1.TXT+B1.TXT B:Z.TXT10、下列四组DOS命令中,功能等价的一组是A) COPY A:*.* B:与DISKCOPY A: B:B) COPY ABC.TXT+XYZ.TXT 与TYPE XYZ.TXT>>ABC.TXTC) COPY ABC.TXT+XYZ.TXT与COPY XYZ.TXT+ABC.TXTD) TYPE *.FOR>CON与COPY *.FOR CON11、设当前目录为D:\BB,现要把D:\AA目录下首字符是A的文本文件全部删除,应该使用命令A) DEL A*.TXT B) DEL \\AA\\A.TXTC) DEL \\AA\\A*.TXT D) DEL \\AA\\A?.TXT12、在Windows中,启动应用程序的正确方法是A) 用鼠标指向该应用程序图标B) 将该应用程序窗口最小化成图标C) 将该应用程序窗口还原D) 用鼠标双击该应用程序图标13、在Windows中,终止应用程序执行的正确方法是A) 将该应用程序窗口最小化成图标B) 用鼠标双击应用程序窗口右上角的还原按钮C) 用鼠标双击应用程序窗口中的标题栏D) 用鼠标双击应用程序窗口左上角的控制菜单框14、在微机系统中,对输入输出设备进行管理的基本程序模块(BIOS)存放在A) RAM中B) ROM中C) 硬盘中D) 寄存器中15、使计算机病毒传播范围最广的媒介是A) 硬磁盘B) 软磁盘C) 内部存储器D) 互联网16、设有int x=11; 则表达式(x++ * 1/3) 的值是A) 3 B) 4C) 11 D) 1217、下列程序的输出结果是main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d \n", d*y);}A) 3 B) 3.2C) 0 D) 3.0718、下列程序执行后的输出结果是(小数点后只写一位)main(){ double d; float f; ling l; int i;i=f=1=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);}A) 6 6 6.0 6.0 B) 6 6 6.7 6.7C) 6 6 6.0 6.7 D) 6 6 6.7 6.019、下列变量定义中合法的是A) short _a=1-.le-1; B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=1-e-3;20、设int x=1, y=1; 表达式(!x||y--)的值是A) 0 B) 1C) 2 D) -121. 与y=(x>0?1:x<0?-1:0);的功能相同的if语句是A) if (x>0) y=1;else if(x<0)y=-1;else y=0;B) if(x)if(x>0)y=1;else if(x<0)y=-1;else y=0;C) y=-1if(x)if(x>0)y=1;else if(x==0)y=0;else y=-1;D) y=0;if(x>=0)if(x>0)y=1;else y=-1;22. 以下循环体的执行次数是main(){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A) 3 B) 2C) 1 D) 023. 以下叙述正确的是A) do-while语句构成的循环不能用其它语句构成的循环来代替B) do-while语句构成的循环只能用break语句退出C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环D) 用do-while语句构成的循环,在while后的表达式为零时结束循环24. 下列程序执行后的输出结果是main(){ int x='f'; printf("%c \n",'A'+(x-'a'+1)); }A) G B) HC) I D) J25. 执行下面的程序段后,变量k中的值为int k=3, s[2];s[0]=k; k=s[1]*10;A) 不定值B) 33C) 30 D) 1026. 若已定义:int a[ ]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中0≤i≤9, 则对a数组元素不正确的引用上A} a[p-a] B} *(&a[i])C} p[i] D} a[10]27、下列程序执行后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; }main(){ int a,b[5];a=0; b[0]=3;func(&a,b); printf("%d \n,b[0]);}A) 6 B) 7C) 8 D) 928、下列程序的运行结果是#include <stdio.h>main(){ int a=2,c=5;printf("a=%d,b=%d\n",a,c); }A) a=%2,b=%5 B) a=2,b=5C) a=d, b=d D) a=%d,b=%d29、下列程序执行后的输出结果是main(){ int a[3][3], *p,i;p=&a[0][0];for(i=p; i<9; i++) p[i]=i+1;printf("%d \n",a[1][2]);}A) 3 B) 6C) 9 D) 随机数30、设有数组定义: char array [ ]="China"; 则数组array所占的空间为A) 4个字节B) 5个字节C) 6个字节D) 7个字节31、下列程序的输出结果是int b=2;int func(int *a){ b += *a; return(b);}main(){ int a=2, res=2;res += func(&a);printf("%d \n",res);}A) 4 B) 6C) 8 D) 1032、在以下四组中,每组有两个分别运算的函数,运算结果相同的是main(){ int i, j, m=0, n=0;for(i=p; i<2; i++)for(j=0; j<2; j++)if(j>=i) m=1; n++;printf("%d \n",n);}A) 4 B) 2C) 2 D) 033、下列程序的输出结果是struct abc{ int a, b, c; };main(){ struct abc s[2]={{1,2,3},{4,5,6}}; int t;t=s[0],a+s[1],b;printf("%d \n",t);}A) 5 B) 6C) 7 D) 834、设int b=2;表达式(b>>2)/(b>>1)的值是A) 0 B) 2C) 4 D) 835、在C程序中,可把整型数以二进制形式存放到文件中的函数是A) fprintf函数B) fread函数C) fwrite函数D) fputc函数36、下列程序执行后的输出结果是main(){ char x=0xFFFF; printf("%d \n",x--); } A) -32767 B) FFFEC) -1 D) -3276837、若有定义: float w;int a, b;则合法的switch语句是A) switch(w){ case 1.0: printf("*\\n");case 2.0: printf("**\\n");}B) switch(a);{ case 1 printf("*\\n");case 2 printf("**\\n");}C) switch(b){ case 1: printf("*\\n");default: printf("\\n");case 1+2: printf("**\\n");}D) switch(a+b);{ case 1: printf("*\\n");case 2: printf("**\\n");default: printf("\\n");}38、以下程序段的执行结果是int a, y;a=10; y=0;do{ a+=2; y+=a;printf("a=%d y=%d\n",a,y);if(y>20) break;{ while(a=14);A} a=12 y=12a=14 y=16a=16 y=20a=18 y=24B} a=12 y=12a=16 y=28C} a=12 y=12D} a=12 y=12a=14 y=26a=14 y=4439、若有以下调用语句,则不正确的fun函数的首部是main(){ …int a[50],n;…fun(n, &a[9]);…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)40、语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(说明:'\b'是退格符)A) a\\bre\\'hi\\'y\\\\\\bou B) a\\bre\\'hi\\'y\\bouC) re'hi'you D) abre'hi'y\\bou41、请选出正确的程序段A) int *p;scanf("%d",p);…B) int *s, k;*s=100;…C) int *s, k;char *p, c;s=&k;p=&c;*p='a';…D) int *s, k;char *p, e;s=&k;p=&c;s=p;*s=1;42、已知指针p的指向如下图所示,则执行语句*--p;后*p的值是A) 30 B) 20C) 19 D) 2943、设已有定义:char *st="how are you";下列程序段中正确的是A) char a[11], *p; strcpy(p=a+1,&st[4]);B) char a[11]; strcpy(++a, st);C) char a[11];strcpy(a, st);D) char a[], *p;strcpy(p=&a[1],st+2);44、下列程序执行后的输出结果是mai(){ char arr[2][4];strcpy(arr,"you"); strcpy(arr[1],"me");arr[0][3]='&';printf("%s \n",arr);}A) you&ne B) youC) me D) err45、下列程序执行后的输出结果是void func1(int i);void func2(int i);char st[]="hello,friend!";void func1(int i){ printf("%c",st[i]);if(i<3){i+=2;func2(i);}}void func2(int i){ printf("%c",st[i]);if(i<3){i+=2;func1(i);}}main(){ int i=0; func1(i); printf("\n");}A) hello B) helC) hlo D) hlm46、假定下列程序的可执行文件名为prg.exe,则在该程序所在的子目录下输入命令行: prg hello good<回车>后,程序的输出结果是main()int argc, char *argv[]){int i;if(argc<-0)return;for(i=1;i<argc;i++)printf("%c", *argv[i]);}A) hello good B) hgC) hel D) hellogood47、下列程序执行后的输出结果是#define MA(x) x*(x-1)main(){ int a=1,b=2;printf("%d \n",MA(1+a+b));}A) 6 B) 8C) 10 D) 1248、变量a所占内存字节数是union U{ char st[4];int i;long l;};struct A{ int c;union U u;}a;A) 4 B) 5C) 6 D) 849、执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是main(){char s[100];int c, i;scanf("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s \n",c,i,s);}A) 123,456,789 B) 1,456,789C) 1,23,456,789 D) 1,23,45650、执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是main(){char s[100];int c, i;scanf("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s \n",c,i,s); }A) 123,456,789 B) 1,456,789 C) 1,23,456,789 D) 1,23,456答案:ACCDD ACCDBCDDBD ACAABACDAA DABBCBABDA CDBCCCBABC BBCDD。
C语言程序设计课程模拟试卷一、单项选择题.把合适的选项编号填写在括号内.(每小题3分,共42分)1.在C语言中,每条复合语句的结束标记字符为( )。
A.] B.) C.> D.}2. 在C语言程序中,单行或行尾注释语句使用的标记符为()。
A。
*/ B. /* C. // D. **3。
C语言源程序文件的扩展名为().A。
cpp B. exe C。
obj D。
c4。
控制字符'\n’表示( )。
A. 回车B. 响铃 C。
换行 D。
换页5。
运算符优先级最高的是()。
A。
== B。
+ C. && D。
||6. x<=10的相反表达式为()。
A。
x〉=10 B. x>10C。
x!=10 D. x>07. 每次先进行循环条件的判断,然后再执行循环体的语句为( ).A. for和do B。
for和whileC. while和do D。
switch和break8。
假定对二维数组a[3][4]进行初始化的数据为{{3,5,6},{2,8},{7}},则a[1][1]被初始化为( )。
A。
6 B。
2 C. 8 D. 79。
对于一个二维字符数组a[M][N],存储每个字符串的长度至多为()。
A. MB. NC. M-1D. N-110. 假定p所指对象的值为25,p+1所指对象的值为42,则表达式*p++的值为( )。
A. 25B. 42C. 26 D。
4311。
已知“int a[6][5];”,则元素a[2][4]的地址比该数组的首地址大()。
A. 14个字节 B。
56个字节 C。
28个字节 D. 96个字节12. 在C语言中,用户定义的标识符分为4种作用域,下列选项中不属于这4种作用域的是( )。
A. 全局 B。
语句 C. 文件 D。
局部13. 在一个链表中,每个结点必然存在着一个指向自身结点类型的指针域,用来保存下一个结点的()。
A. 地址B. 值C. 名称D. 类型14. 在C语言中,为只写操作打开一个文本文件的方式为()。
《C 语言程序设计》模拟试卷3考试班级:一、判断题(2’×10=20’)1、C 语言源程序文件的扩展名均为.c 。
( )2、所谓常量,就是在程序运行过程中其值可以改变的量。
( )3、一个C 语言程序总是从main 函数开始执行。
( )4、若int i=10,j=2;则执行i*=j+8;后i 的值为28。
( )5、在C 语言中do-while 至少执行1次。
( )6、算术运算符中‘%’的优先级高于‘*’。
( )7、int a[10];该语句表明数组a 中的第十个元素为a[10]。
( ) 8、函数putchar()的作用是:输入一个字符。
( )9、C 语言程序区分大小写。
( )10、在函数调用中将数组名字作为实参时,实现的是单向的值传递。
() 二、单项选择题(2’×15=30’)1、以下定义字符常量PI 语句正确的为( )。
A 、define PI 3.14B 、define PI= 3.14C 、#define PI=3.14D 、#define PI 3.142、在C 语言中,要求运算量必须是整型的运算符是( )。
A 、!B 、++C 、!=D 、%3、下列四个选项中,均是不合法的用户标识符是( )。
A 、A P_0 doB 、float lao _AC 、b-a if intD 、_123 temp INT4、C 语言的三种基本结构是( )。
A 、顺序结构、逻辑结构、选择结构B 、顺序结构、选择结构、循环结构C 、逻辑结构、层次结构、网状结构D 、层次结构、顺序结构、循环结构 系部:班级:学号:姓名:5、下列有关函数的叙述中,不正确的是()。
A、函数可以有返回值,也可以有参数B、函数可以没有返回值,也可以有参数C、函数可以没有返回值,也可以没有参数D、函数必须有返回值,也必须有参数6、设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为()。
《 C程序设计》考试试题( 120分钟)(闭卷)一、单项选择题(每小题 2分,共60分)1. C语言规定:在一个源程序中,main函数的位置是 _________ 。
A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后2.下列四组选项中,均不是C语言关键字的选项是 _________ 。
A)define B)getc C)include D)whileIF char scanf gotype printf case pow3.设 int a=3;结果为0的表达式是 _________ 。
A)2%a B)a/=a C)!a D)~a4.执行下面程序片段的结果是 _________ 。
int x=23;do { printf("%d",x--);}while(!x);( A)打印出231 (B)打印出23( C)不打印任何内容(D)陷入死循环5. 设int a=0,b=5,c=2;选择可执行x++的语句是 _________ 。
A)if(a) x++; B)if(a=b) x++;C)if(a =< b) x++; D)if(!(b-c)) x++;6.以下程序的运行结果是 _________ 。
main(){ int k=4,a=3,b=2,c=1;printf("\n%d\n",k<a ? k:c<b ? c:a);A)4 B) 3 C) 2 D)17.以下程序的输出结果是 _________ 。
main( ){ int x=8,y=8; printf("%d%d\n",x--,--y);}A)8 8 B)7 7 C)7 8 D)8 78.C语言中,运算对象必须是整数的运算符是 _________ 。
A)% B)\ C)%和\ D) **9.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 _________ 。
C语言程序设计模拟试题1(附答案)《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是()。
A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是()。
A) MAIN B) _HJ C) 2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是()。
A) \r B) \n C) \b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。
A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 15、已知ch为字符型变量,下面表达式中正确的是()。
A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是()。
A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是()。
A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为()。
main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是()。
x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是()A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是()A) 数组的首地址 B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为()A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是( )A) char s[5]={"ABCD"}; B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是 ( )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是()int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。
《C 语言程序设计》试卷语言程序设计》试卷一、选择题(60分,每题2分)分)(1)下列叙述中错误的是()。
)下列叙述中错误的是()。
A )计算机不能直接执行用C 语言编写的源程序写的源程序B )C 程序经C 编译程序编译后,生成后缀为.obj 的文件是一个二进制文件的文件是一个二进制文件C )后缀为.obj 的文件,经连接程序生成后缀为.exe 的文件是一个二进制文件的文件是一个二进制文件D )后缀为.obj 和.exe 的二进制文件都可以直接运行可以直接运行(2)按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是()。
则,不能出现在标识符中的是()。
A )大写字母)大写字母B )连接符)连接符C )数字字符字字符D )下划线)下划线(3)以下叙述中错误的是()。
)以下叙述中错误的是()。
A )C 语言是一种结构化程序设计语言语言是一种结构化程序设计语言B )结构化程序有顺序、分支、循环三种基本结构组成种基本结构组成C )使用三种基本结构构成的程序只能解决简单问题解决简单问题D )结构化程序设计提倡模块化的设计方法(4)对于一个正常运行的C 程序,以下叙述中正确的是()。
述中正确的是()。
A )程序的执行总是从main 函数开始,在main 函数结束函数结束B )程序的执行总是从程序的第一个函数开始,在main 函数结束函数结束C )程序的执行总是从main 函数开始,在程序的最后一个函数中结束在程序的最后一个函数中结束D )程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束数开始,在程序的最后一个函数中结束 (5)若有代数式n x x e + ,(其中e 仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C 语言表达式是语言表达式是( )( )( )。
A) sqrt(abs(n^x+e^x))B)sqrt(fabs(pow(n,x)+pow(x,e)))C)sqrt(fabs(pow(n,x)+exp(x)))D)sqrt(fabs(pow(x,n)+exp(x)))(6) 设有定义:int k=0; ,以下选项的四个表达式中与其他三个表达式的值不相同的是( )。
《C语言程序设计》模拟题一、单项选择题1.下面程序运行的结果是void ss(char *s,char t) { while(*s) { if(*s= =t) *s=t-‘a’+’A’; s++;}}void main(){ char str1[100]=”abcddfefdbd”,c=’d’; ss(str1,c); printf("%s\n",str1);}A.ABCDDFEFDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd[答案]:B[一级属性]:[二级属性]:[难度]:[公开度]:2.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是A.地址传递B.单向值传递C.由实参传给形参,再由形参传给实参D.由用户指定传递方式[答案]:B[一级属性]:[二级属性]:[难度]:[公开度]:3.C语言中的标示符只能由字母,数字和下划线三种字符组成,且第一个字符( )A.必须是字母B.必须是下划线C.必须是字母或下划线D.可以是字母或数字或下划线中的任意一种[答案]:C[一级属性]:[二级属性]:[难度]:[公开度]:4.不能把字符串:"good!"赋给数组b的语句是A.char b[10]={’g’,’o’,’o’,’d’,’!’};B.char b[10];b="good!";C.char b[10];strcpy(b, "good!") ;D.char b[10]="good!";[答案]:B[一级属性]:[二级属性]:[公开度]:5.对for(表达式1;;表达式3)可以理解为A.for(表达式1;0;表达式3)B.for(表达式1;表达式1;表达式3)C.for(表达式1;1;表达式3)D.for(表达式1;表达式3;表达式3)[答案]:C[一级属性]:[二级属性]:[难度]:[公开度]:6.面向对象程序设计将数据与( ) 放在一起,作为一个相互依存不可分割的整体来处理.A.对数据的操作B.信息C. 数据隐藏D.数据抽象[答案]:A[一级属性]:[二级属性]:[难度]:[公开度]:7.若二维数组a有m列,则在a[i][j]前的元素个数为A.j*m+iB.A. i*m+jC.i*m+j-iD.i*m+j+1[答案]:B[一级属性]:[二级属性]:[难度]:[公开度]:8.若有int *p,a[10];p=a; ,则下列写法不正确的是A.p=a+2B.a++C.*(a+1)D.p++[答案]:B[一级属性]:[二级属性]:[公开度]:9.若有以下定义:char s[10]="include“,*p=s;,则不能代表字符‘u’的表达式为A.s[4]B.s+4C.*(p+4)D.p+=4,*p;[答案]:B[一级属性]:[二级属性]:[难度]:[公开度]:10.设c1,c2均是char型变量,则下面不正确的函数调用为A.scanf("c1=%cc2=%c”,&c1,&c2);B.getchar();C.putchar(c2);D.putchar(c1,c2);[答案]:D[一级属性]:[二级属性]:[难度]:[公开度]:11.说明一个结构体变量时,系统分配给它的内存是A.各成员所需内存量的总和B.结构体中第一个成员所需内存量C.成员中占内存量最大者所需的容量D.结构体中最后一成员所需内存量[答案]:A[一级属性]:[二级属性]:[难度]:[公开度]:12.下列数据中,合法的8进制常量是() .A.473B.931C.0abcD.10[答案]:D[一级属性]:[二级属性]:[公开度]:13.下面不正确的说法是:C语言规定A.实参可以是常量,变量或表达式B.形参可以是常量,变量或表达式C.实参传递给形参时,要求实参必须有确定的值D.形参应与其对应的实参类型可以不一致[答案]:B[一级属性]:[二级属性]:[难度]:[公开度]:14.下面程序的运行结果是( ).#include main() { int x,i; for (i=1;iA.39 81B.42 84C.26 68D.28 70[答案]:D[一级属性]:[二级属性]:[难度]:[公开度]:15.下面程序段的输出结果是char c1=’6’,c2=’0’; printf(”%c,%c,%d,%d\n”,c1,c2,c1-c2,c1+c2);A.因输出格式不合法,输出出错信息B.6,0,6,102C.6,0,7,6D.6,0,5,7[答案]:B[一级属性]:[二级属性]:[难度]:[公开度]:16.下面的循环结构中,不是无限循环的是A.for( i=1;;i++)B.i=1;while(i--)C.i=1;do{printf(”%d”,i); i++;} while(--i);D.for(i=0;i;i++)[答案]:D[一级属性]:[二级属性]:[公开度]:17.下面是对s的初始化,其中不正确的是A.char s[5]={"abc"};B.char s[5]={‘a’,’b’,’c’};C.char s[5]=””;D.char s[5]=”abced”;[答案]:D[一级属性]:[二级属性]:[难度]:[公开度]:18.下面说法中不正确的是A.一个C源程序可有一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成是函数D.在C程序中,注释语句只能位于一条语句的后面[答案]:D[一级属性]:[二级属性]:[难度]:[公开度]:19.下面四个选项当中,均是关键字的是( )A.auto,enum,includeB.switch,typedef,continueC.signed,union,scanfD.if,struct,type[答案]:B[一级属性]:[二级属性]:[难度]:[公开度]:20.已知ch是字符型变量,下面不正确的赋值语句为A.ch=’a+b’;B.ch=’\0’;C.ch=’7’+’9’;D.ch=5+9;[答案]:A[一级属性]:[二级属性]:[公开度]:21.以下正确的说法是A.定义函数时,形参的类型说明可以放在函数体内B.return后边的值不能为表达式C.如果函数值的类型和返回值类型不一致,以函数值类型为准D.如果形参与实参的类型不一致,以函数值类型为准[答案]:C[一级属性]:[二级属性]:[难度]:[公开度]:22.C语言规定,在一个源程序中,main函数的位置A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后[答案]:C[一级属性]:[二级属性]:[难度]:[公开度]:23.sizeof(double)是一个( )表达式.A.整型B.双精度C.不合法D.函数调用[答案]:A[一级属性]:[二级属性]:[难度]:[公开度]:24.不正确的定义语句是A.double x[5]={2.0,4.0,6.0,8.0,10.0};B.int y[5]={0,1,3,5,7,9};C.char c1[]={’1’,’2’,’3’,’4’,’5’};D.char c2[]={’\x10’,’\x0a’,’\x08’};[答案]:B[一级属性]:[二级属性]:[公开度]:25.对if语句中表达式的类型,下面正确的说法是A.必须是关系表达式B.必须是关系表达式或逻辑表达式C.可以是任意表达式D.必须是关系表达式或算术表达式[答案]:C[一级属性]:[二级属性]:[难度]:[公开度]:26.能正确表示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>0[答案]:D[一级属性]:[二级属性]:[难度]:[公开度]:27.若使用以为数组名作函数实参,则下面说法中正确的是A.在被调函数中,与该实参相对应的形参必须是同类型的数组名或指针变量B.实参数组类型与形参数组类型可以不匹配C.在被调函数中,不需要考虑形参数组的大小D.实参数组名与形参数组名必须一致[答案]:A[一级属性]:[二级属性]:[难度]:[公开度]:28.若有定义:int a[10],*p=a;,则p+5表示A.元素a[5]的地址B.元素a[5]的值C.元素a[6]的地址D.元素a[6]的值[答案]:A[一级属性]:[二级属性]:[公开度]:29.若有以下结构体定义,则正确的引用和定义是struct example { int x; int y;} v1;A.example.x=10B.example v2; v2.x=10;C.struct v2; v2.x=10;D.struct example v2={10,5};[答案]:B[一级属性]:[二级属性]:[难度]:[公开度]:30.设p1,p2是指向同一个字符串的指针变量,c为字符变量,则不能正确执行的赋值语句为A.c=*p1+*p2;B.p2=c;C.p1=p2;D.c=(*p1)*(*p2);[答案]:B[一级属性]:[二级属性]:[难度]:[公开度]:31.为了表示关系x>=y>=z,下面C语言表达式中正确的是A.(x>=y)&&(y>=z)B.(x>=y)and(y>=z)C.(x>=y>=z)D.(x>=y)&(y>=z)[答案]:A[一级属性]:[二级属性]:[难度]:[公开度]:32.下列数据中属于"字符串常量"的是( ).A.abgB."sdfk"C.‘dfk’D.‘a’[答案]:B[一级属性]:[二级属性]:[公开度]:33.下面程序的输出结果是void main() { int i=010,j=10; printf("%d,%d",i++,++j); }A.10,11B.11,11C.8,11D.8,10[答案]:C[一级属性]:[二级属性]:[难度]:[公开度]:34.下面程序的运行结果是void main() { int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf("%d,%d",a,b);}A.6,1B.2,1C.6,0D.2,0[答案]:B[一级属性]:[二级属性]:[难度]:[公开度]:35.下面程序段的运行结果是char c[]=”\t\b\\\0will\n”;printf("%d“,strlen(c));A.14B.3C.9D.字符串中有非法字符,输出值不确定[答案]:B[一级属性]:[二级属性]:[难度]:[公开度]:36.下面关于for循环的正确描述是A.for循环只能用于循环次数已经确定的情况B.for循环中是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环D.for循环的循环体可以包含多条语句,但必须用花括号括起来[答案]:D[一级属性]:[二级属性]:[难度]:[公开度]:37.下面是对象概念的描述中,( )是错误的.A.对象C就是C语言中的结构变量B.对象代表着正在创建的系统中一个实体C.对象是一个状态和操作的封装体D.对象之间的信息传递是通过消息进行的[答案]:A[一级属性]:[二级属性]:[难度]:[公开度]:38.下面说法中正确的是A.在C语言中,可以使用动态内存分配技术,定义元素个数可变的数组B.在C语言中,数组元素的个数可以不确定,允许随即变动C.在C语言中,数组元素的数据类型可以不一致D.在C语言中,定义数组后,就确定了它能容纳的相同数据类型元素的个数[答案]:D[一级属性]:[二级属性]:[难度]:[公开度]:39.一个C语言程序是由A.一个主程序或若干个子程序组成B.函数组成C.若干过程组成D.若干个子程序组成[答案]:B[一级属性]:[二级属性]:[难度]:[公开度]:40.以下关于运算符优先顺序的描述中正确的是A.关系运算符<算术运算符<赋值运算符<逻辑运算符B.逻辑运算符<关系运算符<算术运算符<赋值运算符C.赋值运算符<逻辑运算符<关系运算符<算术运算符D.算术运算符<关系运算符<赋值运算符<逻辑运算符[答案]:C[一级属性]:[难度]:[公开度]:41.C语言规定,函数返回值的类型是由A.return语句中的表达式类型所决定B.调用该函数时的主调函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型所决定[答案]:D[一级属性]:[二级属性]:[难度]:[公开度]:42.C语言中,函数的隐含存储类型是() .A.autoB.staticC.externD.register[答案]:A[一级属性]:[二级属性]:[难度]:[公开度]:43.变量的指针,其含义是指该变量的A.值B.地址C.名D.一个标志[答案]:B[一级属性]:[二级属性]:[难度]:[公开度]:44.程序段如下,则正确的执行结果是int k=0; while(k++<=2); printf(“%d\n",k);A.2B.3C.4D.无结果[答案]:C[一级属性]:[难度]:[公开度]:45.对于基类型相同的两个指针变量之间,不能进行的运算是A.<B.=C.+D.-[答案]:C[一级属性]:[二级属性]:[难度]:[公开度]:46.若x,i,j和k都是int型变量,则计算下面表达式后,x的值为( ).x = ( i=4, j=16, k=32)A.4BB.16CC.32DD.52[答案]:C[一级属性]:[二级属性]:[难度]:[公开度]:47.若用数组名作为函数调用的实参,传递给形参的是A.数组的首地址B.数组第一个元素的值C.数组中全部元素的值D.数组元素的个数[答案]:A[一级属性]:[二级属性]:[难度]:[公开度]:48.若有条件表达式(exp)?a++:b--,则以下表达式中完全等价于表达式(exp)的是A.(exp= =0)B.(exp!=0)C.(exp= =1)D.(exp!=1)[答案]:B[一级属性]:[难度]:[公开度]:49.若执行下面的程序段,则下面描述中正确的是int k=5; while(k=1) k--;A.while循环执行四次B.循环体执行一次C.循环体一次也不执行D.死循环[答案]:D[一级属性]:[二级属性]:[难度]:[公开度]:50.设x,y,z,t均为int型变量,则执行以下语句后,t的值为______.x=y=z=1;t=++x||++y&&++zA.不定值B.2C.1D.0[答案]:C[一级属性]:[二级属性]:[难度]:[公开度]:51.下列常量中,合法的C常量是A."x-y"B.‘105’C.‘Be’D.07ff[答案]:A[一级属性]:[二级属性]:[难度]:[公开度]:52.下列说法中正确的是A.结构体变量可以作为一个整体进行其值得输入和输出B.结构体成员项不可以是结构体C.结构体成员项可以是结构体或其他任何C语言的数据类型D.结构体变量和结构体是相同的概念[答案]:C[二级属性]:[难度]:[公开度]:53.下面程序的输出结果是void main{ int i=011,j=11; printf("%d,%d\n",++i,j--);}A.10,11B.12,10C.11,11D.10,9[答案]:A[一级属性]:[二级属性]:[难度]:[公开度]:54.下面程序的执行结果为void main() {int x=20,y; y=++x; y+=x; printf(”%d,”y); y=x--; y+=x; printf(”%d,”y); }A.42,41B.42,42C.40,41D.42,40[答案]:A[一级属性]:[二级属性]:[难度]:[公开度]:55.下面程序段的运行结果是char c[5]={‘a’,’b’,’\0’,’c’,’\0’};printf("%s",c);A.‘a’’b’B.abC.ab cD.abc[答案]:B[一级属性]:[二级属性]:[难度]:[公开度]:56.下面哪项是构成C语言的基本单位A.函数B.过程C.子程序D.子例程[一级属性]:[二级属性]:[难度]:[公开度]:57.下面说法正确的是,在C语言中A.实参和与其对应的形参各占用独立的存储单元B.实参和与其对应的形参共占用一个存储单元C.只有当实参和与其对应的形参同名时才共占用存储单元D.形参是虚拟的,不占用存储单元[答案]:A[一级属性]:[二级属性]:[难度]:[公开度]:58.下面说法中正确的是:在C语言程序中A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和调用均不可以嵌套D.函数的定义和调用均可以嵌套[答案]:B[一级属性]:[二级属性]:[难度]:[公开度]:59.一个变量的指针是指A.该变量的值B.该变量的地址C.该变量的变量名D.该变量的标志[答案]:B[一级属性]:[二级属性]:[难度]:[公开度]:60.以下说法中正确的是A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main函数中定义C.C语言程序总是从main函数开始执行D.C语言程序中的main函数必须放在程序的开始部分[一级属性]:[二级属性]:[难度]:[公开度]:二、判断题1.C语句以句号结束.[答案]:F2.‘’中只能放一个字符.[答案]:T3.const表示常变量.[答案]:T4.C程序的三种基本结构是:顺序,选择,函数. [答案]:F5.C程序可以有多个输入.[答案]:T6.C语句以分号结束.[答案]:T7.C语言数组中以列优先.[答案]:F8.double表示单精度实型.[答案]:F9.float型数据在内存中占2个字节.[答案]:F10.int表示整型.[答案]:T11.static是自动型变量.[答案]:F12.变量不能定义在函数之外.[答案]:F13.定义int a[][3]={1,2,3,4,5,6};是否正确?14.格式声明%d表示整型.[答案]:T15.函数递归就是调用该函数本身.[答案]:T16.函数体分为声明部分和执行部分[答案]:T17.库函数可以是系统提供的,也可以是用户自己编写的. [答案]:F18.如有:float a[10];定义是否正确?[答案]:T19.如有:int a[5]={1,2,3,4,5};那么a[1]=1?[答案]:F20.实参不能是表达式.[答案]:F21.实参可以是变量.[答案]:T22.数组的下标可以是常量,也可以是变量.[答案]:F23.数组元素不能作为函数的实参.[答案]:F24.数组中的元素的数据类型可以不相同.[答案]:F25.形参可以是数组名.[答案]:T26./*和*/不必成对使用.[答案]:F27.”"中只能放一个字符.[答案]:F28.C程序必须有一个或多个输出.[答案]:T29.C程序可以没有输出.[答案]:F30.C程序中,可以有一个主函数和若干个子函数组成. [答案]:T31.C语言数组下标习惯上从0开始.[答案]:T32.C语言中既有字符变量,也有字符常量.[答案]:F33.double型数据在内存中占8个字节.[答案]:T34.i++表示自身加1.[答案]:T35.m=max(a,max(b,c));书写正确吗?[答案]:T36.按变量的生存期可分为:动态存储和静态存储.[答案]:T37.变量可分为局部变量和全局变量.[答案]:T38.定义int a[2][]={1,2,3,4,5,6};是否正确?[答案]:F39.函数必须有返回值.[答案]:F40.函数递归调用一般用if-else实现.[答案]:T41.函数中的参数分为实参和形参.[答案]:T42.两个字符串所包含的字符个数相同时,才能比较字符串. [答案]:F43.如有:int a[3][4];定义是否正确?[答案]:T44.如有:int a[n];定义是否正确?[答案]:F45.实参传递给形参的可以是地址.[答案]:T46.实参可以是常量.[答案]:T47.数组的长度可以改变.[答案]:F48.数组元素可以作为函数的形参.[答案]:F49.所有的C程序都需要写在一个函数里. [答案]:F50.形参只能是变量.[答案]:F51.//表示程序结束.[答案]:F52.c=2*max(a,b);书写正确吗?[答案]:T53.C程序从主函数开始,从主函数结束. [答案]:T54.C程序可以没有输入.[答案]:T55.C语句以逗号结束.[答案]:F56.C语言数组中以行优先.[答案]:T57.C语言中字符变量用字符数组来表示.[答案]:T58.float表示双精度实型.[答案]:F59.int a,b;在定义时省略了auto.[答案]:T60.printf("%%d",1/3);输出0.333333.[答案]:F61.变量必须先定义,后使用.[答案]:T62.定义int a[2][]={{1,2},{3,4}};是否正确? [答案]:F63.多维数组名不能用作函数的形参.[答案]:F64.函数不可以嵌套定义,但可以嵌套调用. [答案]:T65.函数可以嵌套定义,但不能嵌套调用. [答案]:F66.可以在定义数组的同时赋初始值.[答案]:T67.确定性不是算法的特征.[答案]:F68.如有:int a[5]={1,2,3,4,5};定义是否正确? [答案]:T69.如有:int n=5;int a[n];定义是否正确? [答案]:F70.实参传递给形参的可以是数值.[答案]:T71.实参只能是变量.[答案]:F72.数组名可以作为函数的实参.[答案]:T73.数组中的下标用[]括起来.[答案]:T74.同一数组的元素具有相同的数组名. [答案]:T75.有穷性是算法的特征.[答案]:T三、问答题1.&&,||,!谁的优先级别最高?[答案]:!2.? :是什么运算符?[答案]:条件运算符.3.“++"和"="谁的优先级高?[答案]:"++"。
C语言程序设计模拟试题4 说明:1. 本卷共五大题,共6页。
2. 本试卷时间120分钟,满分100分。
一、项选择题(每小题2分,共20分, 每小题只有一个正确答案,请将你认为正确的答案填在对应的括号内。
)1. 组成C程序的基本单位是()。
A.函数B.标识符C.表达式D.语句2. 在C语言中,正确的字符类型的常量是()A.‘b‘ B.“ab” C.’ab’ D.”a”3. 在C语言中,逻辑值“真”是用()表示的。
A.预定义为真值的宏B.非零数C.正数D.非零整数4.下列描述中不正确的是()A.字符型数组中可以存放字符串B.可以对字符型数组进行整体输入、输出C.可以对整型数组进行整体输入、输出D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值5.设有如下定义:int x=1,y=-1;,则语句:printf(“%d\n”,(x--&++y));的输出结果是()A.1 B.0 C.-1 D.26.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是()A.c=b=a;B.(a=c)||(b=c);C.(a=c)&&(b=c);D.a=c=b;7.以下程序的输出结果是()A.10192 B. 9876C. 10990D.10109 1main(){int x=10,y=10,i;for(i=0;x>8;y=++i)printf(“%d %d”,x--,y);}8.以下程序的输出结果是()A.5 2 B.5 1 C.5 3 D.9 7main(){int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];for(i=0;i<4;i+=2) printf(“%d”,p[i]);}9.以下程序的输出结果是( )A.6B.6789C.’6’D.789{char a[10]={‘1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,0},*p;int i;i=8;p=a+i;printf(“%s\n”,p-3);}10.C语言提供的合法的数据类型关键字是( )A. DoubleB. shortC. integerD. Char二、读程序(每小题3分,共27分)1、以下程序的输出结果为:()main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}A.2,1B.2,0C.0.25,0D.程序有错2、以下程序的输出结果为:()#include "stdio.h"main(){int i;for(i=1;i<=5;i++){if(i%2)printf("*");elsecontinue;printf("#");}printf("$\n");}A.#*#*#$B.*#%*#$C.*#*#*#$D.*#*#*$3、有以下程序:#include "stdio.h"main(){char c[6];int i=0;for(;i<6;c[i]=getchar(),i++);for(i=0;i<6;putchar(c[i]),i++);}输入以下三行,每行输入都是在第一列上开始,<CR>代表一个回车键:a<CR>cdef<CR>程序输出结果为:()A.abcdefB. aC.aD.ab b bcdef c cddef4、以下程序的输出结果为:#include "stdio.h"main(){int c;while((c=getchar())!='\n'){switch(c-'2'){case 0:case 1:putchar(c+4);case 2:putchar(c+4);break;case 3:putchar(c+3);default:putchar(c+2);break;}}printf("\n");}每行输入在第一列上开始,<CR>代表一个回车键:2473<CR>程序输出结果为:()A.6696B. 668977C.666965D.6698555、以下程序的输出结果为:( )A.19,59,5B.29,59,5C.2,9,5,9,5D.17,4,8,5main(){int i=1,j=3;printf("%d",i++);i+=j++*2;printf("%d,%d",++i,++j)printf("%d,%d\n",i,j);}6、以下程序的输出结果为:( )main(){ int a=2,i;for (i=0;i<3;i++)printf("%4d",f(a++));}f(int a){ int b=0;static int c=3;b++;c++;return a+b+c;}A. 7 8 9B. 7 7 7C.8 9 10D.7 9 117、下列程序,分别选择3条printf语句行的正确输出结果。
《C程序设计基础》模拟考试题一、选择题(每题2分。
共23道选择题)1、关于C程序的叙述,错误的说法是(B)A、C程序总是从主函数开始执行B、C程序中定义的第一个函数是主函数C、在主函数中可以调用其他函数D、一个C程序可以包括多个函数2、C语言的基本数据类型包括(A)A、charB、s tructC、s tringD、typedef3、C语言的关键字是(A)A、whileB、p rintfC、m ainD、FILE4、错误的C标识符是(D)A、e2B、n ame_C、A_BD、2e5、在下列运算中,优先级最低的运算符是(B)A、= =B、=C、&&D、+6、设a、b和c都是int型变量,且a=7,b=8,c=9,则表达式(a*b)/c + 6 - 14%c的值是(B)A、6B、7C、8D、97、下列一维数组说明中,错误的是(C)A、int a[]={1,2,3};B、int a[5];C、int n=5, a[n];D、int a[5]={1,2,3};8、执行语句:printf(“a\nb”)输出的结果是(C)A、a\nbB、abC、第一行输出a,第二行输出bD、不能输出9、要表示年龄(age)在18到25之间,正确的表达式是(B)A、18<=age<=25B、18<=age && age<=25C、18<=age || age<=25D、18<=age and age<=2510、设有定义int a,*p;下列赋值语句中,正确的是(B)A、p=a;B、p=&a;C、p=*a;D、*p=&a;11、若已经定义char a[10]={“abcd”}, *p=a;则表达式*(p+1)的值是(C)A、abcdB、bcdC、bD、语法错误12、若已经定义struct stu{int a,b; } student; ,则下列叙述中正确的是(B)A、stu 是结构变量B、student 是结构变量C、student 是结构类型D、a和b是结构型变量13、设有定义int a[10], *p=a; 下列对数组元素a[1]的引用中,错误的是(B)A、p[1]B、*(++a)C、*(++ p)D、*(a+1)14、下列叙述中,错误的是(D)A、不同函数中可以使用相同的变量名B、全局变量和局部变量可以同名C、形式参数是局部变量D、main() 函数中定义的变量在整个程序中都可15、设有函数定义:void p(int x){printf(“%d”, x);} 则正确的函数调用是(A)A、p(3);B、a=p(3);C、printf("%d"; p(3));D、p(int x);16、有如下程序段union u{int a; int b; float c;}vu; vu.a=1; vu.b=2; vu.c=3;则vu.a的值是(D)A、1B、2C、3D、以上都不对17、设有如下定义:int x=2 ,y; int fun(int *a){return *a+1;}下列函数调用中,实际参数正确的是(B)A、y=fun(x);B、y= fun (&x);C、y=fun(*x);D、y=fun(a);18、设有宏定义#define N 3+2,则语句printf(“%d”, N*N);的输出结果为(A)A、11B、25C、10D、3;519、执行scanf(“%d+%d”,&a,&b);时,正确的键盘输入是(C)A、3,5B、3 5C、3+5D、3;520、执行if(a<=b){a=b;b=a;}else{a++;++b;}语句后,正确的说法是(C)A、当条件满足时变量a和b的值对换B、当条件满足时变量a和b的值不变C、当条件不满足时变量a和b的值各增加1D、当条件不满足时变量b的值增加1,a不增加21、设已定义int a=3, b=4; 执行if(a=b)printf(“aaa\n”);else printf(“bbb\n”);语句后,正确的说法是(A)A、输出aaaB、输出bbbC、编译时会出错D、运行时会出错22、设有说明语句int x=1, y=2; 则执行表达式x=y= = 3后,变量x的值是(A)A、0B、1C、2D、323、已定义float f=1.2;执行语句printf(“%d\n”,f);正确的说法是(D)A、输出 1.2B、输出 1C、语法错误D、可以输出,但不是1.2和1二、阅读题。
第一次作业一、单项选择题。
1. 编写C++程序一般需经过的几个步骤依次是()A. 编辑、调试、编译、连接B. 编辑、编译、连接、运行C. 编译、调试、编辑、连接D. 编译、编辑、连接、运行2. 决定C++语言中函数的返回值类型的是()A. return语句中的表达式类型B. 调用该函数时系统随机产生的类型C. 调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型3. 下面叙述不正确的是()A. 派生类一般都用公有派生B. 对基类成员的访问必须是无二义性的C. 赋值兼容规则也适用于多重继承的组合D. 基类的公有成员在派生类中仍然是公有的4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()A. 类B. 对象C. 函数体D. 数据块5. 在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()A. 私有成员B. 公有成员C. 保护成员D. 保护成员或私有成员6. 对基类和派生类的关系描述中,错误的是()A. 派生类是基类的具体化B. 基类继承了派生类的属性C. 派生类是基类定义的延续D. 派生类是基类的特殊化7. 关于this指针使用说法正确的是()A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B. 保证基类私有成员在子类中可以被访问。
C. 保证基类保护成员在子类中可以被访问。
D. 保证基类公有成员在子类中可以被访问。
8. 所谓多态性是指()A. 不同的对象调用不同名称的函数B. 不同的对象调用相同名称的函数C. 一个对象调用不同名称的函数D. 一个对象调用不同名称的对象9. 一个函数功能不太复杂,但要求被频繁调用,则应把它定义为()A. 内联函数B. 重载函数C. 递归函数D. 嵌套函数10. 在类中说明的成员可以使用关键字的是()A. publicB. externC. cpuD. register二、填空题。
1. C++的流库预定义了4个流,它们是cin、cout、clog和___。
2. 每个对象都是所属类的一个___。
3. 在已经定义了整型指针ip后,为了得到一个包括10个整数的数组并由ip所指向,应使用语句___。
4. 函数模板中紧随template之后尖括号内的类型参数都要冠以保留字___。
5. 定义类的动态对象数组时,系统只能够自动调用该类的___构造函数对其进行初始化。
6. 表达式cout<<end1 还可表示为___。
7. 在C++中,访问一个指针所指向的对象的成员所用的指向运算符是___。
8. 假如一个类的名称为MyClass,使用这个类的一个对象初始化该类的另一个对象时,可以调用___构造函数来完成此功能。
9. 对赋值运算符进行重载时,应声明为___函数。
10. 如果要把A类成员函数f()且返回值为void声明为类B的友元函数,则应在类B的定义中加入的语句___。
第二次作业一、单项选择题。
1. 静态成员函数没有()A. 返回值B. this指针C. 指针参数D. 返回类型2. 假定AB为一个类,则执行“AB a(2), b[3],*p[4];”语句时调用该类构造函数的次数为()A. 3B. 4C. 5D. 93. 有关多态性说法不正确的是()A. C++语言的多态性分为编译时的多态性和运行时的多态性B. 编译时的多态性可通过函数重载实现C. 运行时的多态性可通过模板和虚函数实现D. 实现运行时多态性的机制称为动态多态性4. 假定一个类的构造函数为“A(int i=4, int j=0) {a=i;b=j;}”, 则执行“A x (1);”语句后,x.a和x.b的值分别为()A. 1和0B. 1和4C. 4和0D. 4和15. 类MyA的拷贝初始化构造函数是()A. MyA()B. MyA(MyA*)C. MyA(MyA&)D. MyA(MyA)6. 在C++中,函数原型不能标识()A. 函数的返回类型B. 函数参数的个数C. 函数参数类型D. 函数的功能7. 友元关系不能()A. 提高程序的运行效率B. 是类与类的关系C. 是一个类的成员函数与另一个类的关系D. 继承8. 实现两个相同类型数加法的函数模板的声明是()A. add(T x,T y)B. T add(x,y)C. T add(T x,y)D. T add(T x,T y)9. 在int a=3,int *p=&a;中,*p的值是()A. 变量a的地址值B. 无意义C. 变量p的地址值D. 310. 下列不是描述类的成员函数的是()A. 构造函数B. 析构函数C. 友元函数D. 拷贝构造函数二、填空题。
1. 假设int a=1,b=2;则表达式(++a/b)*b--的值为___。
2. 抽象类中至少要有一个___函数。
3. 一个抽象类的派生类可以实例化的必要条件是实现了所有的___。
4. 下面程序的输出结果为___。
#include <iostream.h>void main(){int num=2,i=6;do{i--;num++;}while(--i);cout<<num<<endl;}5. 静态成员函数、友元函数、构造函数和析构函数中,不属于成员函数的是___。
6. 在用C++进行程序设计时,最好用___代替malloc。
7. 由const修饰的对象称为___。
8. 在C++程序设计中,建立继承关系倒挂的树应使用___继承。
9. 基类的公有成员在派生类中的访问权限由___决定。
10. 不同对象可以调用相同名称的函数,但执行完全不同行为的现象称为___。
第三次作业一、单项选择题。
1. 设有定义int i;double j=5;,则10+i+j值的数据类型是()A. intB. doubleC. floatD. 不确定2. 要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为()A. const char *p=“ABCD”;B. char *const p=“ABCD”;C. char const *p=“ABCD”;D. const char * const p=“ABCD”;3. 类的构造函数被自动调用执行的情况是在定义该类的()A. 成员函数时B. 数据成员时C. 对象时D. 友元函数时4. 已知类A是类B的友元,类B是类C的友元,则()A. 类A一定是类C的友元B. 类C一定是类A的友元C. 类C的成员函数可以访问类B的对象的任何成员D. 类A的成员函数可以访问类B的对象的任何成员5. 假定一个类的构造函数为“A(int i=4, int j=0) {a=i;b=j;}”, 则执行“A x (1);”语句后,x.a和x.b的值分别为()A. 1和0B. 1和4C. 4和0D. 4和16. 关于this指针使用说法正确的是()A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B. 保证基类私有成员在子类中可以被访问。
C. 保证基类保护成员在子类中可以被访问。
D. 保证基类公有成员在子类中可以被访问。
7. 所谓多态性是指()A. 不同的对象调用不同名称的函数B. 不同的对象调用相同名称的函数C. 一个对象调用不同名称的函数D. 一个对象调用不同名称的对象8. 友元关系不能()A. 提高程序的运行效率B. 是类与类的关系C. 是一个类的成员函数与另一个类的关系D. 继承9. 语句ofstream f(“TEMP.DAT”,ios::app|ios::binary)?的功能是建立流对象f,试图打开文件TEMP.DAT 并与之连接,并且()A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B. 若文件存在,将其置为空文件;若文件不存在,打开失败C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D. 若文件存在,打开失败;若文件不存在,建立一个新文件10. 构造函数不具备的特征是()A. 构造函数的函数名与类名相同B. 构造函数可以重载C. 构造函数可以设置默认参数D. 构造函数必须指定类型说明二、填空题。
1. 单目运算符作为类成员函数重载时,形参个数为___个。
2. 抽象类中至少要有一个___函数。
3. 设类A有成员函数void f(void);若要定义一个指向类成员函数的指针变量pf来指向f,该指针变量的声明语句是:___。
4. 执行下列程序double a=3.1415926,b=3.14;cout<<setprecision(5)<<a<<", "<<setprecision(5)<<b<<endl;程序的输出结果是___。
5. vector类中用于删除向量中的所有对象的方法是___。
6. 重载的运算符保持其原有的___、优先级和结合性不变。
7. 编译时的多态性通过___函数实现。
8. 基类的公有成员在派生类中的访问权限由___决定。
9. 假设类X的对象x是类Y的成员对象,则“Y Obj”语句执行时,先调用类___的构造函数。
10. 下列程序段的输出结果是___。
cout.setf(ios::showpos);cout<<509.3<<endl;第四次作业一、单项选择题。
1. 当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中()A. 都是虚函数B. 只有被重新说明时才是虚函数C. 只有被重新说明为virtual时才是虚函数D. 都不是虚函数2. 要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为()A. const char *p=“ABCD”;B. char *const p=“ABCD”;C. char const *p=“ABCD”;D. const char * const p=“ABCD”;3. 函数调用func((exp1,exp2),(exp3,exp4,exp5))中所含实参的个数为()A. 1B. 2C. 4D. 54. 设有函数模板template <class Q>Q Sum(Q x,Q y){return (x)+(y);}则下列语句中对该函数模板错误的使用是()A. Sum(10,2);B. Sum(5.0,6.7);C. Sum(15.2f,16.0f);D. Sum(“AB”,”CD”);5. 类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p->A::func()将()A. 调用类A中的函数func()B. 调用类B中的函数func()C. 根据p所指的对象类型而确定调用类A中或类B中的函数func()D. 既调用类A中函数,也调用类B中的函数6. 在面向对象的程序设计中,首先在问题域中识别出若干个()A. 函数B. 类C. 文件D. 过程7. 已知f1和f2是同一类的两个成员函数,但f1不能直接调用f2,这说明()A. f1和f2都是静态函数B. f1不是静态函数,f2是静态函数C. f1是静态函数,f2不是静态函数D. f1和f2都不是静态函数8. 下列有关模板和继承的叙述正确的是()A. 模板和继承都可以派生出一个类系B. 从类系的成员看,模板类系的成员比继承类系的成员较为稳定C. 从动态性能看,继承类系比模板类系具有更多的动态特性D. 相同类模板的不同实例一般没有联系,而派生类各种类之间有兄弟父子等关系9. 有关C++编译指令,以下叙述正确的是()A. C++每行可以写多条编译指令B. #include指令中的文件名可含有路径信息C. C++的编译指令可以以#或//开始D. C++中不管#if后的常量表达式是否为真,该部分都需要编译10. 在C++中不返回任何类型的函数应该说明为()A. intB. charC. voidD. double二、填空题。