sokaoti.com
大工19春《CC++语言程序设计》在线作业11答案

阅读以下程序

#include <stdio.h>

main()

{ int case; float printF;

printf(" 请输入 2 个数 : ");

scanf("%d %f",&case,&printF);

printf("%d %f\n",case,printF);

}

该程序编译时产生错误,其出错原因是

A) 定义语句出错, case 是关键字,不能用作用户自定义标识符

B) 定义语句出错, printF 不能用作用户自定义标识符

C) 定义语句无错, scanf 不能作为输入函数使用

D) 定义语句无错, printf 不能输出 case 的值


正确答案:A


有一个函数原型如下所示,abc(float x,float y);{……},则该函数的返回类型为()。

A.void

B.double

C.int

D.float


参考答案:C


以下程序段的输出结果是

int a=1234;

printf("%2d\n",a);

A.12

B.34

C.1234

D.提示出错、无结果


正确答案:C


下面程序的文件名为t.exe,在DOS下输入的命令行参数为:t to meet me<回车>

则程序输出的结果是

#include "stdio.h"

main(argc,argv)

int argc;char *argv[];

{ int i;

printf("%d\n",argc);}

A.3

B.4

C.2

D.以上答案都不正确


正确答案:B
解析:argc中存入的是命令行中字符串的个数。argv是一个指向字符型的指针数组的指针。


已知程序中已经定义了函数test,其原型是int test(int,int,int);,则下列重载形式中正确的是

A.char test (int,int,int);

B.double test(int,int,double);

C.int test(int,int,int=O);

D.float test(int,int,float=3.5F);


正确答案:B
解析:本题考核函数重载。所谓函数重载,是指同一个函数名可以对应着多个函数的实现。每种实现对应着一个函数仲,这些函数的名字相同,但是函数的参数的类型不同。这就是说,进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。不可以根据函数返回值类型来重载函数。A选项中定义只是函数的返回类型不同,不符合重载的条件,C选项也不符合。对于D选项,形参列表中带有默认参数,如果原型的最后一个也带有默认参数,则会造成不知道该调用哪个函数的错误。


大工19春C/C 语言程序设计在线作业1试卷总分:100 得分:0一、 单选题 (共 10 道试题,共 50 分)1.C语言中,下列合法的字符型常量是( )。A.AB.aC.12D.12正确答案:B2.用语句scanf(x=%f,y=%f,&x,&y);使x,y的值均为1.2,正确的输入是( )。A.1.2,1.2B.1.2 1.2C.x=1.2,y=1.2D.x=1.2 y=1.2正确答案:C3.设有定义:char a10=ABCD,*p=a;,则*(p+3)的值是( )。A.ABCDB.DC.0D.不确定正确答案:B4.下面合法的C语言标识符是( )。A.$abB.1_abC.printfD.abc正确答案:D5.程序段int a=1234;printf(%dn,a);的输出结果是()。A.12B.34C.1234D.提示出错无结果正确答案:C6.有一个函数原型如下所示,abc(float x,float y);,则该函数的返回类型为()。A.voidB.doubleC.intD.float正确答案:C7.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为()。A.1.4B.1C.2.0D.2正确答案:B8.执行下面的程序段后,输出结果是()。main()char a=english;printf(%c,a5);A.engliB.sC.englishD.sh正确答案:B9.下列语句书写正确的是()。A.printf “Good morning.”;B.scanf(“%d”,x);C.char x=”s”;D.char d = T;正确答案:D10.定义数组 float a23;选出不属于该数组的数据元素是()。A.a00B.a23C.a12D.a02正确答案:B二、 判断题 (共 10 道试题,共 50 分)1.C语言程序中使用数组时,可以不定义就使用。A.对B.错正确答案:B2.C语言程序的三种基本结构是顺序结构,选择结构,循环结构。A.对B.错正确答案:A3.设int a=1,则执行完循环while(a+5)后;a的值是6。A.对B.错正确答案:A4.设有定义int x; double v;,则10+x+v值的数据类型是double。A.对B.错正确答案:A5.设array为一个数组,则表达式sizeof(array)/sizeof(array0)的结果为array数组中元素个数。A.对B.错正确答案:A6.字符型数据在内存中的存储形式为原码。A.对B.错正确答案:B7.预处理命令在程序中都是以*符号开头的。A.对B.错正确答案:B8.dowhile结构中的语句至少执行次。A.对B.错正确答案:A9.设short int i=65535;, 执行语句 printf(“%d”,i) ;后的输出结果是-1。A.对B.错正确答案:A10.C+源程序文件的扩展名是.cpp。A.对B.错正确答案:A

阅读以下程序includemain(){Int Case;float printF;printf("请输入2个数:");scanf("%d

阅读以下程序 #include<stdio.h> main() {Int Case;float printF; printf("请输入2个数:"); scanf("%d %f",&Case,&printF); printf("%d%f\n",Case,printF); } 以下说法正确的是( )。

A.定义浯句出错,Case是关键字,不能用作用户自定义标识符,printF不能用作用户自定义标识符

B.定义语句出错,Int无法被识别

C.定义语句无错,scanf不能作为输入函数使用

D.定义语句无错,printf不能输出Case的值


正确答案:B
解析:C语亩足一种大小写敏感的语言,因此Int应为int,而Case printF则可以使用。


下面程序段的输出结果是()。includemain(){float x=1.236547;printf("%f\n",(int)(x*10

下面程序段的输出结果是( )。 #include<stdio.h> main() {float x=1.236547; printf("%f\n",(int)(x*1000+0.5)/(float)1000); }

A.1.237000

B.输出格式说明与输出项不匹配,输出无定值

C.1.236000

D.1.24


正确答案:A


下面程序段的运行结果是

char str[]="ABC",*p=str;

printf("%d\n",*(p+3));

A.67

B.0

C.字符′C′的地址

D.字符′C′


正确答案:B
解析:考查指向字符串的指针变量。在该题中,指针变量p指向的应该是该字符串中的首地址,p+3指向的是字符串结束标志'\0'的地址,因而*(p+3)的值为0。


下面程序的文件名为t.exe,在DOS下输入的命令行参数如下:t to meet me<回车>

则程序输出的结果是

#include "stdio.h"

main(argc,argv)

int argc;char *argv[];

{int i;

printf("%d\n",argc);}

A.3

B.4

C.2

D.以上答案都不正确


正确答案:B


程序段int a=1234;printf("%d\n",a);的输出结果是()。

A.12

B.34

C.1234

D.提示出错无结果


参考答案:C

更多 “大工19春《CC++语言程序设计》在线作业11答案” 相关考题
考题 下面程序的输出结果是( )。 char s()="ABCD",*p; main() { for(p=s;p<s+4;p++)printf("%s\n",p); )A.ABCD BCD CD DB.A B C DC.D C B AD.ABCD ABC AB A正确答案:A解析:p为指针型变量。第一次循环,p=s,p的值为字符数组s的首地址,输出字符串"ABCD"。p++,第二次循环,p的值为字符数组s的首地址加1,输出字符串"BCD"。p++,第三次循环,p的值为字符数组s的首地址加2,输出字符串"CD"。p++,第4次循环,p的值为字符数组s的首地址加3,输出字符串'D"。

考题 有以下程序的输出结果是( )char fun(char x , char y){ if(xmain( ){ int a=’9’,b=’8’,c=’7’;printf(“%c\n”,fun(fun(a,b),fun(b,c))); }A.函数调用出错B.8C.9D.7正确答案:D解析:函数fun(a,b)的结果是8,函数fun(b,c)的结果是7,将8,7代人函数中,f('8','7')的返回结果是7。

考题 下面程序段的输出结果是( )。 char str[]="ABC",*p=str; Printf("%d\n",*(p+3));A.67B.0C.字符'C'的地址D.字符'C'正确答案:B解析:本题考查指向字符串的指针变量。指针变量p指向的应该是该字符串中的首地址,p+3指向的是字符串结束标志"\0"的地址,因而*(p+3)的值为0。

考题 以下程序段的输出结果是______。 int a=1234; printf("%2d\n",a);A.12B.34C.1234D.提示出错正确答案:C

考题 下面的程序在编泽时产生错误,其出错原因是()。includemain(){int 1_case;float printF;下面的程序在编泽时产生错误,其出错原因是( )。 #include<stdio.h> main() {int 1_case;float printF; printf("请输入2个数:"); scanf ("%d%f",&1_case,&printF); printf("%d%f\n",1_case,printF); }A.定义语句出错,1_case不能作为变量名B.定义语句出错,printF不能用作用户自定义标识符C.定义语句无错,scanf不能作为输入函数使用D.定义语句无错,printf不能输出1_case的值正确答案:A解析:C语言变量名可由数字,字母,下划线构成,但首字符不能为数字。

考题 下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A.67 B.0 C.字符’C’的地址 D.字符’C’正确答案:B在本题中,程序段首先定义了一个字符型数组str,并将其初始化为“ABC”,然后定义一个字符型的指针变量p,使其指向数组str的首地址。然后程序运行输出语句,从输出语句的输出格式可以看出,要求输出的是一个十进制数值,而输出列表中的*(p+3)表示输出的是数组str中的第四个元素,从数组的初始化我们可以看出,其中只有三个字符元素,而输出语句则要求输出第四个元素。这里需要我们了解字符串在字符数组中的存储方式,字符串在字符数组中存储后,系统会自动给其添加一个结束标志’\0’,即0值。因此,在用字符数组存储字符串时,字符数组申请的空间应该是字符串的字符个数加1。根据上面的分析,我们可以知道输出的第四个元素是’\0’字符,它对应的十进制值是0,因此本题的正确答案是B。

考题 请读程序段: char str[]="ABCD",*p=str, printf("%d\n",*(p+4)); 程序段的输出结果是______。A.68B.0C.字符'D'的地址D.不确定的值正确答案:B解析:在对字符数组赋字符串值时,系统会自动在字符串的末尾加上一个字符串结束标志“\0”,故指向字符数组的指针p的*(p+4)的值为“\0”。由于“\0”的编码值就是0,所以本题输出为0。

考题 下面合法的C语言标识符是( )。A.$abB.1_abC.printfD.abc参考答案:D

考题 下面程序的文件名为t.exe,在DOS下输入的命令行参数为:t to meet me 则程序输出的结果是 i下面程序的文件名为t.exe,在DOS下输入的命令行参数为:t to meet me<回车>则程序输出的结果是#include "stdio.h"main(argc,argv)int argc;char *argv[ ];{ int i;printf("%d\n",argc);}A.3B.4C.2D.以上答案都不正确正确答案:B解析:argc中存入的是命令行中字符串的个数。argv是一个指向字符型的指针数组的指针。

考题 以下程序段的输出结果是()。      struct node         {int a;  float b;  char c[10];}  printf(“%d”,sizeof(struet node)) ;正确答案:16