模拟题c语言答案

合集下载

c语言笔试模拟题以及答案

c语言笔试模拟题以及答案

1.一、单选题:(每题1.5分,共60分)1、 C语言程序的基本单位是_______.A. 语句B. 函数C. 程序行D. 字符答案: B2、 C语言程序由( )组成A. 子程序B. 过程C. 函数D. 主程序段程序答案: C3、算法的表示方法有________。

A. 自然语言,传统流程图,N-S流程图,伪代码,计算机语言B. 高级语言,汇编语言,机器语言C. C语言,QBASIC语言,InterDevD. 图形图像法,描述法,编程法E. 计算机语言答案: A4、以下程序的输出结果是main( ){ int k=17;printf(“%d,%o,%x \n”,k,k,k);}A. 17,021,0×11B. 17,17,17C. 17,0×11,021D. 17,21,11答案: D5、下列变量定义中合法的是A. short _a=1-.le-1;B. double b=1+5e2.5;C. long do=0xfdaL;D. float 2_and=1-e-3;答案: A6、 C语言中合法的字符常量是____A. ‘\084′B. ‘\X43′C. ‘ab’D. “\0″答案: B7、下面说法中正确的是( )A. int型和long型运算先将int型转换成unsigned型,再转换B. 两个float型运算结果为double型C. 只要表达式中存在double型,所有其他类型数据都必须转D. 表达式中的类型转换与运算顺序有关答案: C8、以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值答案: D9、设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A. n=(n*100+0.5)/100.0B. m=n*100+0.5,n=m/100.0C. n=n*100+0.5/100.0D. n=(n/100+0.5)*100.0答案: B10、下列运算符中优先级最高的是A. <B. +C. &&D. !=答案: B11、若变量已正确定义并赋值,下面符合C语言语法的表达式是A. a:=b+1B. a=b=c+2C. int 18.5%3D. a=a+7:c+b答案: B12、设CH是字符型变量,其值为’A',下列表达式的值是CH=(CH > =’A'&&CH < =’Z')?(CH+32):CHA. AB. aC. zD. Z答案: B13、表达式18/4*sqrt(4.0)/8值的数据类型为A. intB. floatC. doubleD. 不确定答案: C14、在C语言中,要求运算数必须是整型的运算符是A. /B. %C. !D. >答案: B15、以下说法中正确的是A. #define和printf都是C语句B. #define是C语句,而printf不是C. printf是C语句,但#define不是D. #define和printf都不是C语句答案: D16、下面程序的输出是main(){int a=-1,b=4,k;k=(a++<=0)&&(!(b–<=0));printf(“%d%d%d%\n”,k,a,b);}A. 0 0 3B. 0 1 2C. 1 0 3D. 1 1 2答案: C17、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行 (m=a > b)&&(n=c > d)后n的值是A. 1B. 2C. 3D. 4答案: B18、若有条件表达式 (exp)?a++:b–,则以下表达式中能完全等价于表达式(exp)的是A. (exp==0B. (exp!=0)C. (exp==1)D. (exp!=1)答案: B19、为表示关系X≥Y≥Z应使用C语言表达式:__A. (X > =Y)&&(Y > =Z)B. (X > =Y)and(Y > =Z)C. (X≥ Y≥ Z)D. (X≥ Y)&(Y≥ Z)答案: A20、能正确表示逻辑关系:”a ≥ =10或a ≤ 0″的C语言表达式是A. a > =10 or a< =0B. a > =0||a < =10C. a > =10 && a < =0D. a < =0 || a>=10答案: D21、下面的程序是______main(){ int x=3,y=0,z=0;if (x==y+z) printf(“****”);else printf(“####”);}A. 有语法错误不能过通过编译B. 输出****C. 可能通过编译,但是不能通过连接,因而不能运行D. 输出####答案: D22、执行下面语句后的输出为( )int i= -1;if (i < =0)printf(“****\n”)else printf(“%%%%\n”)A. ****B. %%%%C. %%%%CD. 有语法错,不能执行答案: D23、若运行以下程序时,从键盘输入 ADescriptor < CR > ( < CR > 表示回车),则下面程序的运行结果是#include <stdio.h>main(){char c;int v0=0,v1=0,v2=0;do{switch(c=getchar()){case ‘a’:case ‘A’:case ‘e’:case ‘E’:case ‘i’:case ‘I’:case ‘o’:case ‘O’:case ‘u’:case ‘U’:v1+=1;default:v0+=1;v2+=1;}}while(c!=’\n’);printf(“v0=%d,v1=%d,v2=%d\n”,v0,v1,v2);}A. v0=7,v1=4,v2=7B. v0=8,v1=4,v2=8C. v0=11,v1=4,v2=11D. v0=12,v1=4,v2=12答案: D24、以下程序的输出结果是main( ){ int n=4;while(n–)printf(“%d “,–n);}A. 2 0B. 3 1C. 3 2 1D. 2 1 0答案: A25、有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。

C语言模拟试卷及答案

C语言模拟试卷及答案

《C语言程序设计》考试试卷(答案)一、填空题(每小空1分,共10分)1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。

2.一个C程序有且仅有一个main( )函数.3.C语言描述“x和y都大于或等于z"的表达式是x〉=z && y〉=z。

4.C语言可以用来实现循环的结构化语句是while、do while、for。

5.数组名表示数组在内存的首地址.6.int a=3,*p=&a;*p+2的值是5。

二、单项选择题(每小题2分,共70分)1._____是C语言合法的标识符。

(A)3_sy45 (B)su_m (C)@123 (D)3D642.一个程序的执行是从.(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束.(C)本程序的main函数开始,到本程序文件的最后一个函数结束.(D)本程序文件的第一个函数开始,到main函数结束。

3.以下叙述正确的是。

(A)在C程序中,main函数必须位于程序的最前面.(B)C程序每行中只能写一条语句.(C)C语言本是没有输入输出语句。

(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误.4.以下叙述不正确的是。

(A)逗号运算符的运算级最低。

(B)ABC和abc是两个不同的变量。

(C)若a和b类型相同,在执行a=b后,b的自身值不变。

(D)‘a’和“a”是完全等价的常量。

5.int x=3,y=2;则表达式x+=x*=y+8的值为。

(A)28 (B)30 (C)60(D)176.在c语言中,变量的隐含存储类别是。

(A)auto(B)static (C)extern (D)无存储类别7.执行下面两个语句后,输出的结果为_____。

char c1=98;printf(“%d %c”,c1,c1—32);(A)97 66 (B)98 b (C)b 66 (D)98 B8.执行下面语句后的结果为.y=10;x=y++;(A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11 (D)x=11,y=109.char w;int x;float y;double z;则表达式w*x+z—y值的数据类型是。

大一c语言模拟试题二和参考答案

大一c语言模拟试题二和参考答案

C语言测试题一、单项选择题(共30分,每题1分)1. 下列不正确的转义字符是A.\\B.\‘C.074D.\02. 不是C语言提供的合法关键字是A.switchB.cherC.caseD.default3.正确的标识符是()A.?a B.a=2 C.a.3 D.a_34.下列字符中属于键盘符号的是A.\B.\nC.\tD.\b.下列数据中属于“字符串常量”的A.ABCB.“ABC”C.‘ABC’D.‘A’6.c har型常量在内存中存放的是A.ASCII码B.BCD码C.内码值D.十进制代码值7.设a为5,执行下列语句后,b的值不为2的是()A.b=a/2B.b=6-(——a) C.b=a%2 D.b=a>3?2:28.在以下一组运算符中,优先级最高的运算符是()A.<=B.=C.%D.&&9.设整型变量i的值为3,则计算表达式i——i 后表达式的值是()A.0B.1C. 2D.表达式出错10.设整型变量a,b,c均为2,表达式a+++b+++c++的结果是()A.6B.9C.8D.表达式出错11.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()A.1B.2C.2.0D.2.512.设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果是()A.4B.3C.2D.113.设a为整型变量,不能正确表达数学关系:10<a<15的C语言表达式是()A.10<a<15B.a= =11 || a= =12 || a= =13 || a= =14C.a>10&&a<15D.!(a<=10)&&!(a>=15)14.若有以下定义:char a、 int b 、 float c 、double d,则表达式a*b+d-c值的类型为()A.floatB.intC.charD.double15.表达式“10!=9”的值是()A.trueB.非零值C.0D.116.循环语句 for (x=0,y=0;(y!=123)|| (x<4);x++);的循环执行()A.无限次B.不确定次C.4次D.3次17.在C语言中,下列说法中正确的是()A. 不能使用“do while”的循环B.“do while”的循环必须使用break语句退出循环C.“do while”的循环中,当条件为非0时将结束循环D.“do while”的循环中,当条件为0时将结束循环。

C语言答案

C语言答案

C语言答案C语言模拟题答案一、选择题:1、下列哪一个选项不是结构化程序三种基本结构的共同特点:D:有分支结构2、设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a,b和c的值分别是:B:2,0,33、若整型变量A、B、C、D中的值依次为:1、4、3、2。

则条件表达式DA:14、表示数学中的关系x<y<z,在c语言中所对应的表达式是:< p="">B:(x < y) && (y < z)5、在C语言中,设x为int型变量,则执行以下语句后,x的值为x=10; x=x+- -x;:C:186、在C语言中,执行下面语句后,输出的结果是int x=10,y=3; printf("%d\n",y=x/y);C:37、在C语言中,假定所有变量均已正确说明,下列程序段运行后x 的值是a=b=c=0;x=99;if(!a) x=9;else x=3;B:98、在C语言中,执行语句:for (i=1; i<4; i++);后,变量i的值是:B:49、设int k;则语句for(k=0;k=1;k++);和语句for(k=0;k==1;k++);执行的次数分别是:A:无限和010、执行语句printf("He question is in c:\\tools\book. exe" );其输出为:C:He question is in c:\toolook.exe11、函数float AAA(float x,int y){ float i,fc=1;while( y>0 ){fc *=x; y--;}return fc;}的功能是:A:求x的y次方12、对两个静态字符数组A和B进行如下初始化。

static char A[]="ABCDEF";static char B[]={'A','B','C','D','E','F'};则下列叙述正确的是:D:A数组长度比B数组长13、对于for(表达式1;;表达式3)可理解为:B:for(表达式1;1;表达式3)14、C语言中,FILE结构指针变量名stdin代表哪类文件。

c语言试题带答案

c语言试题带答案

C语言模拟题二C语言模拟题二一、单项选择题1.程序中定义以下宏#define S(a,b)a*b若定义int area;且令area=S(3+1,3+4),则变量area的值为_________A 10B 12C 21D 282.正确的标识符是_________A ifB a=2C a.3D a_33.表达式1&3&5&7的值为_________A 1B 3C 5D 74.语句printf(″s\\t″)的输出结果为_________A s\\tB s\tC s\D s5. 执行下列语句后,sum变量的值是_________int sum=0;for(int i=0;i<10;i++,sum+=i);A 45B 55C 0D 编译错误6.已知有共用体变量data1定义如下:union data{ int i;char ch;float f;} data1;则变量data1所占的内存存储空间可表示为_________A sizeof(int)B sizeof(char)C sizeof(float)Dsizeof(int)+sizeof(char)+sizeof(float)7.若fp是指向某文件的指针,且feof(fp)的返回值是非零值,则表示_________A 已读到此文件末尾B 未读到此文件的末尾C 此文件已关闭D此文件尚未被打开8.以下c语言函数声明中,不正确的是_________A void fun (int x,int y);B fun (int x,int y);C int fun (int x,y);D char *fun (char *s);9.若有语句if(x==0) y=5;则与条件x==0等价的表达式为_________A xB !xC x!=1D 以上都不对10.在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为A)ABCdef B)abcDEF C)abc D)DEF#includemain( ){ char ch;while((ch=getchar( ))!='\n'){ if(ch>='A' && ch<='Z')ch=ch+32;else if(ch>='a' && ch<='z')ch=ch-32;printf("%c",ch);}printf("\n");}11.下面不能正确进行字符串赋值操作的语句是_______A)char s[5]={"ABCDE"};B)char s[5]={'A'、'B'、'C'、'D'、'E'};C) char *s;s="ABCDEF";D)char *s;scanf("%s",s);12.若x=4,则x*=x+2的值为_________A 36B 24C 18D 2013.函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中,实参的个数为_________A 1B 2C 4D 514.设a为5,执行下列语句后,b的值不为2的是_________A b=a/2B b=6-(--a)C b=a%2D b=a<32?2:115.假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中正确的是_________A p2=**p1B p2=*&p1C p2=*p1D p2=&*p116.以下运算符中,运算对象必须是整型的是_________A /B %=C != D〈=17.以下关于typedef的叙述中错误的是_________A用typedef可以增加新的类型B用typedef可以定义各种类型名,但不能用来定义变量C用typedef只是将已有的类型用新的标识符来代表D使用typedef有利于程序的通用和移植18.若执行完成下列语句:int a=3,b=6,c;c=a∧b<<2;则变量c的二进制值为_________A 00011100B 00010100C 0001000D 0001101119.以下关于宏替换的叙述不正确的是_________A宏替换只是字符替换B宏名无类型C宏替换不占用运行时间D宏替换不占用编译时间20. 以下对枚举类型名的定义中正确的是_________A enum s={a,b,c}B enum s {a=9,b=2,c}C enum s={′a′,′b′,′c′}D enum s{′a′,′b′,′c′}二、判断题1.若有说明int c;则while (c=getchar());是错误的C语句。

C语言程序设计模拟题

C语言程序设计模拟题

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语言程序设计模拟考试试卷及答案(一)

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语言模拟考试题及答案

c语言模拟考试题及答案

c语言模拟考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. C语言中,哪个关键字用于声明一个变量?A. defineB. varC. letD. int答案:D3. 下列哪个选项是C语言中的整型常量?A. 0x1AB. 1.23C. 1e2D. "123"答案:A4. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. lengthof()5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. A和B答案:D6. C语言中,哪个关键字用于声明一个函数?A. functionB. defC. defineD. void答案:D7. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. copy()C. duplicate()D. copystr()答案:A8. 下列哪个选项是C语言中的浮点型常量?A. 3.14B. 3.14e2C. 3.14E2D. A和C答案:D9. 在C语言中,哪个关键字用于声明一个数组?B. listC. tableD. int[]答案:D10. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. A和B答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。

答案:#define2. C语言中,使用________函数可以将一个浮点数转换为字符串。

答案:sprintf3. 在C语言中,使用________关键字可以跳过当前循环的剩余部分,继续下一次循环。

答案:continue4. C语言中,使用________关键字可以立即退出循环。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

此答案为自己所出,若有不对之处请谅解,并希望能留言单选题(共60题,每题1分,共60分)1. 下列符号串中,属于C语言合法标识符的个数为(B)。

_1_2_3,a-b-c,float,9cd,a3b4A:1B:2C:3D:42. 下列能为字符变量 a 赋值的是:char a= (C)。

A:'ab'B:"a"C:'\0'D:"\0"3. 在下列字符序列中,合法的标识符是(B)。

A:P12.aB:stud_100C:$water.1D:88sum4. 下列用于printf函数的控制字符常量中,代表tab的字符常量是(B)。

A:'\b'B:'\t'C:'\r'D:'\f'5. 下列用于printf函数的控制字符常量中,代表退格的字符常量是(A)。

A:'\b'B:'\t'C:'\r'D:'\n'6. 如有以下程序:unsigned int a=6; int b=-20; char c; c=(a+b>6);则c的值为(C)。

(int转换为unsigned )A:6B:-14C:1D:07. 关于C语言,以下不正确的叙述是(B)。

A:在C语言程序设计中,逗号运算符的优先级最低B:在C语言程序设计中,var和VAR是两个相同的变量C:C语言也支持重载D:此处的两个语句int a; a=-13.06;在程序编译中将会提示出错8. 若有定义:int a=2,*p;float x=1, y=2;char e=‘w’;则以下用法不正确的是(B)。

A:printf("%c",e+a);B:p=&x;C:a *=y+x;D:x=y=e;9. int x=20; printf("%d\n",~x);以上程序片段的输出是(B)。

A:235B:-21C:-20D:-1110. 在C语言中,要求运算数必须是整型的运算符是(D)。

A:/B:++C:!=D:%11. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(结果保留两位小数)(A)。

A:2.50B:2.75C:3.50D:0.0012. 以下运算符中优先级最低的是(C)。

A:&&(第三)B:&(第一)C:||(第四)D:|(第二)13. 设有定义语句:char c1=1,c2=1;,则以下表达式中值为零的是(A)。

A:c1^c2B:c1&c2C:~c2D:c1|c214. 以下程序的输出结果是#include <stdio.h>void main(){unsigned char a,b;a=0x0a|3;b=0x0a&3;printf("%d %d\n",a,b);} (B)。

A:2 11B:11 2C:7 13D:13 715. 如果int i = 4, 则printf("%d", -i-- )的输出结果是__,i的值是。

(A)A:-4 3B:-3 3C:-3 4D:-4 416. 若x=2,y=3则x&y的结果是(B)。

A:1B:2C:3D:517. 下列程序的输出是(B)。

main(){int x;printf("%d\n",(x=3*5,x*2,x+10));}A:15B:25C:30D:4018. 若x,i,j和k都是int型变量,则计算下面表达式后,x的值为(C)。

x=(i=4,j=16,k=32)A:4B:16C:32D:其他值19. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)。

A:7B:8C:6D:220. 以下程序运行后的输出结果是(A)。

main(){int a,b;a=50;b=90;printf("%d\n",(a,b));}A:90B:50 90C:50D:其他21. 以下程序的运行结果是(A)。

void main(){int a=4; char ch=‘a’;printf( "%d\n",(a&2)&&(ch>‘A’)); }A:0B:1C:2D:322. 以下程序的输出是(D)。

#include <stdio.h>main( ){ inti,j=4;for(i=j; i<=2*j; i++)switch (i/j){ case 0 :case 1: printf("*"); break;case 2: printf("#"); break; }}A:*###B:**##C:***#D:****#23. 有如下程序片段:int i = 0;while(i++ <= 2);printf("%d", i--);则正确的执行结果是 (C)。

A:2B:3C:4D:以上都不是24. 有以下程序段main(){ int i=1,sum=0,n;scanf(“%d”,&n);do{ i+=2;sum+=i ;}while(i!=n);printf(“%d”,sum);}若使程序的输出值为15,则应该从键盘输入的n的值是 (D)。

A:1B:3C:5D:725. 以下程序的输出是(A)。

#include<stdio.h>void fun(int *p){int a=10;p=&a;++a;}void main(){int a=5;fun(&a);printf("%d\n",a);}A:5B:6C:10D:1126. 以下关于函数的说法中正确的是 (C)。

A:定义函数时,形参类型说明可放在函数体内B:return语句后边的值不能为表达式C:如果函数类型与返回值类型不一致,以函数类型为准D:如果形参与实参的类型不一致,以实参为准27. 已知有定义:int *p(); 则以下说法正确的是(C)。

A:指向int型的指针变量B:int型的指针数组C:一个函数,该函数的返回值是指向int型的指针变量D:一个指向函数的指针变量,该函数的返回值为int型28. 若有如下程序:void s(char *m,int n){*m=*m+3;n=n+3;printf("%c,%c,",*m,n);}void main(){char p=‘b’,q=‘B’;s(&q,p);printf("%c,%c\n",p,q);}则程序运行后的输出结果是 (A)。

A:E,e,b,EB:e,E,b,FC:E,e,e,ED:e,E,b,E29. C语言规定函数返回值的类型由 (A)。

A:在定义时所指定的函数类型所决定B:调用该函数时的主调函数类型所决定C:return语句中的表达式类型所决定D:调用该函数时系统临时决定30. 要在c语言中求正弦30度的值,可以调用库函数,可用格式为 (D)。

A:sin(30)B:sin(30.0)C:sin((double)30)D:sin(3.1415/6)31. 在C语言程序设计中,简单变量作为实参时,它和对应形参之间的数据的传递方式是 (B)。

A:地址传递B:单向值传递C:由实参传给形参,再由形参传给实参D:由用户指定传递方式32. 以下程序的输出为(C)。

int a=2;int f(int *a){return(*a)++;}void main(){int s=0;{int a=5;s+=f(&a);}s+=f(&a);printf("%d %d\n",a,s); }A:2 7B:2 10C:3 7D:3 1133. 以下程序输出结果是(D)。

#include <stdio.h>int *fun(){int a[4],k;for(k=0;k<4;k++)a[k]=k;return(a);}void main(){ int *p,j;p=NULL;p=fun();for(j=0;j<4;j++){printf("%d\n",*p);p++;} }A:输出0 0 0 0B:输出0 1 2 3C:输出1 1 1 1D:输出不确定值34. 以下程序的运行结果是(D)。

void fun(int *n){static int m=2;*n*=m-1; m+=2;}void main(){static int m=1;int i;for(i=1;i<4;i++)fun(&m);printf("%d\n",m);}A:8B:10C:11D:1535. 下面对typedef的叙述中不正确的是 (B)。

A:用typedef可以定义各种类型名,但不能用来定义变量B:typedef和#define都是在预编译时处理的C:用typedef只是将已存在的类型用一个新的标识符来代表D:使用typedef有利于程序的通用和移植36. 要使用内存分配函数malloc,需要引入的头文件是 (BC)。

A:stdio.hB:stdlib.hC:malloc.hD:memory.h37. 以下宏定义中,不会引起二义性的宏个数为(A)。

1)#define POWER(x) x*x2) #define POWER(x) (x)*(x)3) #define POWER(x) (x*x)4) #define POWER(x) ((x)*(x))(没有二义性)A:1个B:2个C:3个D:4个38. 若有二维数组定义语句:int a[4][5]; 则下面对元素a[2][3]不正确的引用方式是(B)。

A:*(&a[2][3])B:*(a+5*2+3) 可以换为(&a[0][0]+5*2+3)C:*(a[2]+3)D:*(*(a+2)+3)39. 若二维数组定义为a[m][n],则在a[i][j]之前的元素个数为 (B)。

(不知怎么下面是m,应该是n把,不清楚!!)A:j*m+iB:i*m+jC:i*m+j-1D:j*m+i-140. 有字符数组a[10]={‘A’,‘\0’}和b[10]={‘B’},则以下正确的输出语句是 (D)。

A:puts(a,b);B:printf("%s %s\n",a[],b[]);C:putchar(a,b);D:puts(a);puts(b);41. 下列程序的输出结果是(D)。

相关文档
最新文档