c++程序设计作业.docx
- 文档编号:10306694
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:23
- 大小:23.81KB
c++程序设计作业.docx
《c++程序设计作业.docx》由会员分享,可在线阅读,更多相关《c++程序设计作业.docx(23页珍藏版)》请在冰豆网上搜索。
c++程序设计作业
《C语言程序设计》复习参考资料
1.一.选择题
1.以下关于运算符优先顺序的描述中正确的是( )。
A) 关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符
B) 逻辑运算符< 关系运算符< 算术运算符< 赋值运算符
C) 赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
D) 算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符
2.下列选项中合法的变量名是_________
A) #define B) int C) a594_3 D) abs(x)
3.以下正确的描述是( )。
A)break语句的作用是结束整个循环的执行
B)在C程序中,注释说明只能位于一条语句的后面
C) 在循环体内使用break语句或continue语句的作用相同
D) 从多层循环嵌套中退出时, 只能使用goto语句
4.以下说法正确的是( )
A).#define 和 printf 都是 C 语句。
B).#define 是C语句,而printf不是。
C).若程序中要调用数学函数,必须在文件开头输入语句#include“math.h”
D).#define 和 printf 都不是 C 语句。
5.下面的函数定义正确的是______________
A) float fun(floatx;floaty) {returnx*y;}
B) float fun(floatx,y) {returnx*y;}
C) float fun(x,y) {intx,y;returnx*y;}
D) int fun(intx,inty) {returnx*y;}
6.执行下面语句后的输出为( )
int i=-1;
if(i<=0)printf(“****\n”)
elseprintf(“%%%%\n”)
A).**** B).%%%%
C).%%%%c D). 有语法错误,不能正确执行
7.以下程序的输出结果是( )
voidmain()
{int k=17;
printf("%d,%o,%x\n",k,k,k);
}
A).17,21,11 B).17,17,17
C).17,0x11,021 D).17,21,1
8.以下不正确的叙述是( )
A)#define是宏定义命令
B)宏定义只是做简单的置换,不做正确性检查
C)宏定义是C语句,必须在行末加分号
D)printf是C语句,但#define不是。
9.一个C语言程序是由( )
A)一个主程序和若干子程序组成 B)若干子程序组成
C)若干过程组成 D) 函数组成
10.在C语言中,正确的结论是( )
A).对文件操作必须先关闭文件
B).对文件操作必须先打开文件
C).对文件操作顺序没有统一规定
D).以上都错
11.以下对二维数组a的正确说明是( )。
A) inta[3][]; B) floatfa(3,4);
C) chara[1][3]; D) floata(3)(5);
12.若有说明:
int a[3][2]={10};则下面正确的叙述是( )
A)只有元素a[0][0]可得到初值10
B)此说明语句不正确:
。
C)数组a中各元素都可得到初值,但其值一定为0。
D)数组a中每个元素均可得到初值10
13.以下叙述不正确的是( )。
A) 一个C源程序可由一个或多个函数组成
B) 一个C源程序必须包含一个main函数
C)C程序的基本组成单位是语句
D) 只能在循环体内和switch语句体内使用break语句
14.为了避免在嵌套的条件语句If一else中产生二义性,C语言规定else子句总是与( )配对。
A) 缩排位置相同的if B) 其之前最近的未配对的if
C)之后最近的if D)同一行上的if
1.能正确表示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)&&(a-b<=0)
16.已知x=5,ch='A',y=0则表达式(x> =y&&ch<'a'&&!
y) 的值是( )
A)0 B) 语法错 C)1 D)"假"
1.下列关于单目运算符++、--的叙述中正确的是( )
A)它们的运算对象可以是任何变量和常量
B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D)它们的运算对象可以是char型变量、int型变量和float型变量
18.下面的程序( )
voidmain()
{int x=3;
do{
printf(“%d\n”,x-=2);
}while(!
(--x));
}
A).输出的是1 B).输出的是1和-2
C).输出的是3和0 D).是死循环
19.如下程序:
voidmain()
{ inta=6;printf(“%d\n”,(a+=3,2*a)); }
执行后,输出结果是( )
A)9 B)6 C)2 D)18
20.若有以下说明和语句,请选出哪个是对C数组元素的正确引用( )
intc[4][5],(*cp)[5];cp=c;
A).cp+1 B).*(cp+3) C).*(cp+1)+3 D).*(*cp+2)
21.下面程序的输出是( )
main()
{int x=023;
printf("%d\n",--x);}
A).17 B).18 C).23 D).24
22.执行下列程序的结果是( )
main()
{floatx=1,y;y=++x*++x;printf(“%f\n”,y);}
A). 9.000000 B). 6.000000
C). 1.000000 D).程序有错误
23.下面程序的输出是( )
main()
{inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
printf("%d\n",*(p+2));}
A).3 B).4 C).1 D).2
24.执行下面程序中的输出语句后,a的值是( )
main()
{int a;
printf("%d\n",(a=3*5,a*4,a+5));}
A).65 B).20 C).15 D).10
25.下面程序的输出是( )
main()
{inta=-1,b=4,k;
k=(a++<=0)&&(!
(b--<=0));
printf("%d%d%d\n",k,a,b);}
A).003 B).012 C).103 D).112
26.设有如下的程序段:
char str[]="Hello";char *ptr;ptr=str;
执行完上面的程序段后,*(ptr+5)的值为( )
A).'0' B).'\0' C).不确定的值 D).'0'的地址
27.在宏定义#definePI3.14159中,用宏名PI代替一个( )
A).单精度数 B).双精度数 C).常量 D).字符串
28.若i是整型变量,pb是基本型为整型的指针变量,则正确的赋值表达式是( )
A). pb=&i B).pb=i C).*pb=&i D).*pb=*i
1.有以下程序段
intm=0,n=0; char c=’d’;
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若从键盘上输入:
6D6<回车>,则输出结果是( )
A)0,d,6 B)6,d,6 C)6,D,6 D)6,D,0
30.printf()函数中用到格式符%-7s,其中数字7表示输出的字符串占用7列。
如果字符串长度小于7,则输出按方式( )
A) 从左起输出该字串,右补空格
B) 按原字符长从左向右全部输出
C) 右对齐输出该字串,左补空格
D) 输出错误信息
31.以下能正确地定义整型变量a,b和c 并为其赋初值3的语句是( )
A)inta=3,b=3,c=3; B) inta,b,c=3;
C)a=3,b=3,c=3; D) a=b=c=3;
1.以下程序的输出结果是( )
voidmain()
{int x=6,y=6,i;
for(i=2;x>4;y=++i)
printf("%d,%d ",x--,y);
}
A)5,55,3 B)6,6 2,3 C)6,5 5,2 D)6,6 5,3
33.以下程序的输出结果是( )
voidmain()
{int w=4;
intfun(int k);
fun(w);
printf("\n");
}
fun(int k)
{if(k>0)fun(k-1);
printf("%d",k); }
A)4321 B)01234
C)12 34 D)43210
34.下面程序的输出是( )
main()
{int x=023;
printf("%d\n",--x);}
A).17 B).18 C).23 D).24
35.以下程序的输出结果是( )
main()
{charch[3][4]={"123","456","78"},*p[3];int i;
for(i=0;i<3;i++)p[i]=ch[i];
for(i=0;i<3;i++)printf("%s",p[i]);
}
A).123456780 B).123456780
C).12345678 D).147
36.下面程序的输出结果为( )
char *alpha[6]={"ABCD","EFGH","IJKL",
"MNOP","QRST","UVWX"};
char **p;
voidmain()
{int i;p=alpha;
for(i=0;i<4;i++)
printf("%c",(*p)[i]);
printf("\n");
}
A).EIMC B).ABCD C).EFGH D).AEIM
37.根据下面的定义,能打印出字母M的语句是( )
struct person {charname[9];intage;};
struct person class[10]={"John",17,"Paul",19,
"Mary",18,"Adam",16}
A).printf("%c\n",class[3].name);
B).printf("%c\n",class[3].name[1]);
C).printf("%c\n",class[2].name[1]);
D).printf("%c\n",class[2].name[0]);
1.有以下程序
voidmain()
{ int p[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<7&&p[i]%2) {k=k+p[i]; i++;}
printf("%d\n",k);
}
执行后输出结果是( )
A)58 B)56 C)45 D)24
1.以下程序的输出结果是( )
voidmain()
{int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p;
p=&x[1][1];
for(i=0;i<6;i+=3)
printf("%d",p[i]);
}
A)52 B)51 C)53 D)97
40.以下程序的输出结果是( )
#include
voidmain()
{char*a=”abcdefghi”;
void fun(char*s);
fun(a);
puts(a);
}
void fun(char*s)
{intx,y;
charc;
for(x=0,y=strlen(s)-1;x {c=s[y];s[y]=s[x];s[x]=c;} } A).ihgfedcba B).abcdefghi C).abcdedcba D).ihgfefghi 41.voidmain() {inti,a[]={5,6,9,11}; for(i=0;i<4;i++) {if(a[i]%2==0) continue; printf("%d ",a[i]); } } 执行后输出结果是( ) A)编译出错 B6 C)59 11 D)56911 42.以下对数组的定义正确的是( ) A) intx(10); B) intx[5]={0,1,2,3,4,5}; C) intn=10;x[n]; D) intx[]={0,1,2,3,4}; 43. 以下叙述中不正确的是( ) A) switch是多分支结构语句 B) continue语句的作用是使程序的执行流程跳出包含它的所有循环 C) break 语句只能用在循环体内和switch语句体内 D)在循环体内使用break语句和continue语句的作用不相同 44.如下程序: void main( ) { int i=1,j=2,k=3; if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k); } 执行后输出结果是( ) A)1,2,3 B)2,2,4 C)2,3,4 D)2,3,3 45.以下叙述中,不正确的是( ) A)算法应该具有有穷性、确定性以及有效性等特点 B) 算法可以用传统流程图、N-S流程图以及伪代码等形式来描述 C) 基本结构只有顺序、选择、循环3种结构 D)结构化程序设计的思想是自顶向下、逐步细化、模块化设计以及结构化编码 46.在C语言中,函数返回值的类型最终取决于( ) A) 函数定义时形参的类型 B)return语句中表达式值的类型 C)调用函数时主函数所传递的实参类型 D)函数定义时在函数首部所说明的函数类型 1.以下程序的输出结果是( ) voidmain() {int i; for(i='a';i<'i';i++,i++) printf("%c",i-32); printf("\n"); } A)编译不通过,无输出 B)aceg C)ACEG D)ABCDEFGI 48.若有以下的说明: struct person {char name[20]; int age; char sex; }a={"lining",20,'m'},*p=&a; 则对字符串lining的引用方式不可以是( ) A).(*p).name B).p.name C).a.name D).p->name 49.下面的程序输出是( ) int m=13; int fun2(int x,int y) {int m=3; return(x*y-m); } main() {int a=7,b=5;printf("%d\n",fun2(a,b)/m);} A).1 B).2 C).7 D).10 50.下面的程序输出是( ) main() {intx=100,a=10,b=20,ok1=5,ok2=0; if(a if(b! =15) if(! ok1) x=1; else if(ok2)x=10; x=-1; printf("%d\n",x);} A).-1 B).0 C).1 D).不确定的值 51.若有以下定义: int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为3的表达式是( ) A). p+=2,*(p++) B).p+=2,*++p C).p+=3,*p++ D).p+=2,++*p 52.下面程序的输出是( ) intaa[3][3]={{2},{4},{6}}; voidmain() {int i,*p=&aa[0][0]; for(i=0;i<2;i++) {if(i==0) aa[i][i+1]=*p+1; else ++p; printf("%d",*p);} } A).23 B).26 C).33 D).36 53.下面程序的输出是( ) void prtv(int *x) {printf("%d\n",++*x);} voidmain() {inta=25;prtv(&a);} A).23 B).24 C).25 D).26 1.以下程序的运行结果是( ) voidmain() {char a[10]={'1','2','3','4','5','6','7','8','9','\0'}; char *p; int i=8; p=a+i; printf("%s\n",p-2); } A)6 B)789 C)'6' D)678 55.执行以下3条语句之后,则k的值是_______ intx=4,y=7;x++;y+=2;k=y%x; A) 1 B) 2 C)4 D)3 56.以下程序段 for(k=0,m=4;m;m-=2) for(n=1;n< 4;n++) k++; 循环体语句” k++;” 执行的次数是______________ A)16 B)12 C) 6 D) 8 57.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为( ) A)char=int<1ong int<=float B)char< int <1ong int=float=double C)char D)char=int =1ong int<=float 58.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='d'十'1'一'3';后,c2中的值为( ) A)b B)68 C) 不确定的值 D)f 59.表达式18/4*sqrt(4.0)/8值的数据类型为: ( ) A) int B)float C)double D)不确定 60.能正确表示"当x 的取值在[1,10]和[50,60]范围内为真,否则为假"的表达式是( )。 A) (x>=1) &&(x<=10) &&(x> =50) &&(x<=60) B) (x>=1) ||(x<=10) ||(x>=50) ||(x<=50) C) (x>=1) &&(x<=10)||(x>=50) &&(x<=60) D) (x> =1)||(x< =10) && (x> =50)||(x<=60) 61.以下程序的输出结果是( ) #include main() {char*p1,*p2,str[50]="ABCDEFG"; p1="abcd";p2="efgh"; strcpy(str+1,p2+1);strcpy(str+3,p1+3); printf("%s",str); } A).AfghdEFG B).Abfhd C).Afghd D).Afgd 62.以下程序的输出结果是( ) main() {int i; for(i=1;i<6;i++) {if(i%2){printf("#");continue;} printf("*"); } printf("\n"); } A).#*#*# B).##### C).***** D).*#*#* 1.二.填空题 1.C语言源程序的扩展名为.c,可执行文件的扩展名为_______________。 .exe 2.数组int a[3][5];共定义了______个数组元素。 15 3.C程序由函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 程序设计 作业